diff --git a/contrib/genpkglist.py b/contrib/genpkglist.py new file mode 100755 index 0000000..dcf8d58 --- /dev/null +++ b/contrib/genpkglist.py @@ -0,0 +1,302 @@ +#!/usr/bin/env python3 +import os +from collections import defaultdict + +from jinja2 import Template + +# This script is from the ffda Site +# yout can find the original at their repo: +# https://git.darmstadt.ccc.de/ffda/firmware/site/-/blob/master/contrib/genpkglist.py + + +# path to your gluon checkout, will be used to find targets and devices +GLUON_DIR = '/home/tom/git/Freifunk-Rhein-Neckar/firmware/gluon/' + + +class PackageList: + def __init__(self, name: str, pkgs: list): + self.name = name + self.pkgs = pkgs + + def __repr__(self): + return self.name + + def __lt__(self, other): + return self.name < other.name + + def render(self): + return Template(""" +INCLUDE_{{ name }} := \\ +{%- for pkg in pkgs %} + {{ pkg }}{% if not loop.last %} \{% endif %} +{%- endfor %} + +EXCLUDE_{{ name }} := \\ +{%- for pkg in pkgs %} + -{{ pkg }}{% if not loop.last %} \{% endif %} +{%- endfor %}""").render( + name=self.name, + pkgs=self.pkgs + ) + + +class Target: + def __init__(self, name): + self.name = name + self.devices = set() + self.pkglists = set() + self.excludes = defaultdict(set) + + def add_device(self, device: str): + self.devices.add(device) + + def add_pkglist(self, pkglist: PackageList): + self.pkglists.add(pkglist) + return self + + def exclude(self, devices: [str], pkglists: [PackageList]=None): + for device in devices: + assert(device in self.devices), "Device %s not in target %s" % (device, self.name) + if not pkglists: + self.excludes[device] = self.pkglists + else: + self.excludes[device] = self.excludes[device].union(pkglists) + + return self + + def render(self): + if not self.pkglists: + return """ +# no pkglists for target %s +""" % self.name + return Template(""" +ifeq ($(GLUON_TARGET),{{ target }}) + GLUON_SITE_PACKAGES += {% for pkglist in pkglists %}$(INCLUDE_{{ pkglist.name }}){% if not loop.last %} {% endif %}{% endfor %} +{% for device, exclude in excludes.items() %} + GLUON_{{ device }}_SITE_PACKAGES += {% for pkglist in exclude|sort %}$(EXCLUDE_{{ pkglist.name }}){% if not loop.last %} {% endif %}{% endfor %} +{%- endfor %} +endif""").render( + target=self.name, + pkglists=sorted(self.pkglists), + excludes=self.excludes + ) + + +targets = {} +targetdir = os.path.join(GLUON_DIR, 'targets') +for targetfile in os.listdir(targetdir): + if targetfile in ['generic', 'targets.mk'] or targetfile.endswith('.inc'): + continue + + target = Target(targetfile) + with open(os.path.join(targetdir, targetfile)) as handle: + for line in handle.readlines(): + if line.startswith('device'): + target.add_device(line.split('\'')[1]) + + targets[targetfile] = target + + +# +# package definitions +# + +pkglists = [] + +PKGS_USB = PackageList('USB', ['usbutils']) +pkglists.append(PKGS_USB) + +PKGS_USB_HID = PackageList('USB_HID', [ + 'kmod-usb-hid', + 'kmod-hid-generic' +]) +pkglists.append(PKGS_USB_HID) + +PKGS_USB_SERIAL = PackageList('USB_SERIAL', [ + 'kmod-usb-serial', + 'kmod-usb-serial-ftdi', + 'kmod-usb-serial-pl2303' +]) +pkglists.append(PKGS_USB_SERIAL) + +PKGS_USB_STORAGE = PackageList('USB_STORAGE', [ + 'block-mount', + 'blkid', + 'kmod-fs-ext4', + 'kmod-fs-ntfs', + 'kmod-fs-vfat', + 'kmod-usb-storage', + 'kmod-usb-storage-extras', # Card Readers + 'kmod-usb-storage-uas', # USB Attached SCSI (UAS/UASP) + 'kmod-nls-base', + 'kmod-nls-cp1250', # NLS Codepage 1250 (Eastern Europe) + 'kmod-nls-cp437', # NLS Codepage 437 (United States, Canada) + 'kmod-nls-cp850', # NLS Codepage 850 (Europe) + 'kmod-nls-cp852', # NLS Codepage 852 (Europe) + 'kmod-nls-iso8859-1', # NLS ISO 8859-1 (Latin 1) + 'kmod-nls-iso8859-13', # NLS ISO 8859-13 (Latin 7; Baltic) + 'kmod-nls-iso8859-15', # NLS ISO 8859-15 (Latin 9) + 'kmod-nls-iso8859-2', # NLS ISO 8859-2 (Latin 2) + 'kmod-nls-utf8' # NLS UTF-8 +]) +pkglists.append(PKGS_USB_STORAGE) + +PKGS_USB_NET = PackageList('USB_NET', [ + 'kmod-mii', + 'kmod-usb-net', + 'kmod-usb-net-asix', + 'kmod-usb-net-asix-ax88179', + 'kmod-usb-net-cdc-eem', + 'kmod-usb-net-cdc-ether', + 'kmod-usb-net-cdc-subset', + 'kmod-usb-net-dm9601-ether', + 'kmod-usb-net-hso', + 'kmod-usb-net-ipheth', + 'kmod-usb-net-mcs7830', + 'kmod-usb-net-pegasus', + 'kmod-usb-net-rndis', + 'kmod-usb-net-rtl8152', + 'kmod-usb-net-smsc95xx' +]) +pkglists.append(PKGS_USB_NET) + +PKGS_PCI = PackageList('PCI', ['pciutils']) +pkglists.append(PKGS_PCI) + +PKGS_PCI_NET = PackageList('PCI_NET', [ + 'kmod-bnx2' # Broadcom NetExtreme BCM5706/5708/5709/5716 +]) +pkglists.append(PKGS_PCI_NET) + +PKGS_TLS = PackageList('TLS', [ + 'ca-bundle', + 'libustream-mbedtls' +]) +pkglists.append(PKGS_TLS) + +# +# package assignment +# + +targets.get('ar71xx-generic'). \ + add_pkglist(PKGS_USB). \ + add_pkglist(PKGS_USB_NET). \ + add_pkglist(PKGS_USB_SERIAL). \ + add_pkglist(PKGS_USB_STORAGE). \ + add_pkglist(PKGS_TLS). \ + exclude([ # devices without usb ports + 'alfa-network-hornet-ub', + 'alfa-network-tube2h', + 'alfa-network-n2-n5', + 'allnet-all0315n', + 'avm-fritz-wlan-repeater-300e', + 'avm-fritz-wlan-repeater-450e', + 'd-link-dap-1330-rev-a1', + 'd-link-dir-825-rev-b1', + 'meraki-mr12', + 'meraki-mr16', + 'ocedo-koala', + 'openmesh-mr1750', + 'openmesh-mr600', + 'openmesh-mr900', + 'openmesh-om2p', + 'openmesh-om5p', + 'openmesh-om5p-ac', + 'tp-link-cpe210-v1.0', + 'tp-link-cpe210-v2.0', + 'tp-link-cpe210-v3.0', + 'tp-link-cpe510-v1.0', + 'tp-link-wbs210-v1.20', + 'tp-link-wbs510-v1.20', + 'tp-link-archer-c25-v1', + 'tp-link-archer-c58-v1', + 'tp-link-archer-c60-v1', + # 'tp-link-archer-c60-v2', # can be added later + 'tp-link-re355', + 'tp-link-re450', + 'ubiquiti-airgateway', + 'ubiquiti-airgateway-pro', + 'ubiquiti-bullet-m', + 'ubiquiti-rocket-m', + 'ubiquiti-nanostation-m', + 'ubiquiti-loco-m-xw', + 'ubiquiti-nanostation-m-xw', + 'ubiquiti-rocket-m-xw', + 'ubiquiti-rocket-m-ti', + 'ubiquiti-unifi', + 'ubiquiti-unifi-ap-pro', + 'ubiquiti-unifiap-outdoor', + 'ubiquiti-unifiap-outdoor+', + 'ubiquiti-ls-sr71', + 'ubiquiti-unifi-ac-lite', + # 'ubiquiti-unifi-ac-lr', + 'ubiquiti-unifi-ac-pro', + 'ubiquiti-unifi-ac-mesh'], pkglists=[PKGS_USB, PKGS_USB_NET, PKGS_USB_SERIAL, PKGS_USB_STORAGE]). \ + exclude([ # devices with less than 64M memory + 'linksys-wrt160nl', + 'tp-link-tl-wr710n-v1', + 'tp-link-tl-wr710n-v2.1', + 'tp-link-tl-wr842n-nd-v1', + 'tp-link-tl-wr842n-nd-v2', + 'tp-link-tl-wr1043n-nd-v1', + 'ubiquiti-airrouter']) + +for target in ['ar71xx-nand', 'ipq40xx', 'ipq806x', 'mpc85xx-generic', 'mvebu-cortexa9', 'ramips-mt7620', 'sunxi-cortexa7']: + targets.get(target). \ + add_pkglist(PKGS_USB). \ + add_pkglist(PKGS_USB_NET). \ + add_pkglist(PKGS_USB_SERIAL). \ + add_pkglist(PKGS_USB_STORAGE). \ + add_pkglist(PKGS_TLS) + +targets.get('mpc85xx-p1020').add_pkglist(PKGS_TLS) + +for target in ['brcm2708-bcm2708', 'brcm2708-bcm2709', 'brcm2708-bcm2710']: + targets.get(target). \ + add_pkglist(PKGS_USB). \ + add_pkglist(PKGS_USB_NET). \ + add_pkglist(PKGS_USB_SERIAL). \ + add_pkglist(PKGS_USB_STORAGE). \ + add_pkglist(PKGS_USB_HID). \ + add_pkglist(PKGS_TLS) + +targets.get('ramips-mt7621'). \ + add_pkglist(PKGS_USB). \ + add_pkglist(PKGS_USB_NET). \ + add_pkglist(PKGS_USB_SERIAL). \ + add_pkglist(PKGS_USB_STORAGE). \ + add_pkglist(PKGS_TLS). \ + exclude([ # devices without usb ports + # 'netgear-ex6150', # can be added later + 'ubnt-erx', + 'ubnt-erx-sfp'], pkglists=[PKGS_USB, PKGS_USB_NET, PKGS_USB_SERIAL, PKGS_USB_STORAGE]) + +targets.get('ramips-mt76x8'). \ + add_pkglist(PKGS_USB). \ + add_pkglist(PKGS_USB_NET). \ + add_pkglist(PKGS_USB_SERIAL). \ + add_pkglist(PKGS_USB_STORAGE). \ + add_pkglist(PKGS_TLS). \ + exclude([ # devices without usb ports + # 'gl.inet-vixmini', # can be added later + 'tp-link-archer-c50-v3', + # 'tp-link-tl-wa801nd-v5', # can be added later + 'tp-link-tl-wr841n-v13'], pkglists=[PKGS_USB, PKGS_USB_NET, PKGS_USB_SERIAL, PKGS_USB_STORAGE]) + +for target in ['x86-64', 'x86-generic', 'x86-geode']: + targets.get(target). \ + add_pkglist(PKGS_USB). \ + add_pkglist(PKGS_USB_NET). \ + add_pkglist(PKGS_USB_SERIAL). \ + add_pkglist(PKGS_USB_STORAGE). \ + add_pkglist(PKGS_PCI). \ + add_pkglist(PKGS_PCI_NET). \ + add_pkglist(PKGS_TLS) + + +if __name__ == '__main__': + for pkglist in pkglists: + print(pkglist.render()) + + for target in sorted(targets.values(), key=lambda x: x.name): + print(target.render()) diff --git a/site.mk b/site.mk index 33334fb..bab9a20 100644 --- a/site.mk +++ b/site.mk @@ -58,237 +58,273 @@ GLUON_SITE_PACKAGES := \ iwinfo \ respondd-module-airtime -############################ -# Additional package sets -############################# - -# USB Human Interface -USB_PKGS_HID := \ - kmod-usb-hid \ - kmod-hid-generic - -# USB Serial -USB_PKGS_SERIAL := \ - kmod-usb-serial \ - kmod-usb-serial-ftdi \ - kmod-usb-serial-pl2303 - -NO_USB_PKGS_SERIAL := \ - -kmod-usb-serial \ - -kmod-usb-serial-ftdi \ - -kmod-usb-serial-pl2303 - -# USB Storage -USB_PKGS_STORAGE := \ - block-mount \ - blkid \ - kmod-fs-ext4 \ - kmod-fs-ntfs \ - kmod-fs-vfat \ - kmod-usb-storage \ - kmod-usb-storage-extras \ - kmod-nls-base \ - kmod-nls-cp1250 \ - kmod-nls-cp1251 \ - kmod-nls-cp437 \ - kmod-nls-cp850 \ - kmod-nls-cp852 \ - kmod-nls-iso8859-1 \ - kmod-nls-iso8859-13 \ - kmod-nls-iso8859-15 \ - kmod-nls-iso8859-2 \ - kmod-nls-utf8 \ - swap-utils - -NO_USB_PKGS_STORAGE := \ - -block-mount \ - -blkid \ - -kmod-fs-exfat \ - -kmod-fs-ext4 \ - -kmod-fs-ntfs \ - -kmod-fs-vfat \ - -kmod-usb-storage \ - -kmod-usb-storage-extras \ - -kmod-nls-base \ - -kmod-nls-cp1250 \ - -kmod-nls-cp1251 \ - -kmod-nls-cp437 \ - -kmod-nls-cp850 \ - -kmod-nls-cp852 \ - -kmod-nls-iso8859-1 \ - -kmod-nls-iso8859-13 \ - -kmod-nls-iso8859-15 \ - -kmod-nls-iso8859-2 \ - -kmod-nls-utf8 \ - -swap-utils - -# USB Wired Ethernet Network -USB_PKGS_NET := \ - kmod-mii \ - kmod-usb-net \ - kmod-usb-net-asix \ - kmod-usb-net-asix-ax88179 \ - kmod-usb-net-cdc-eem \ - kmod-usb-net-cdc-ether \ - kmod-usb-net-cdc-subset \ - kmod-usb-net-dm9601-ether \ - kmod-usb-net-hso \ - kmod-usb-net-ipheth \ - kmod-usb-net-mcs7830 \ - kmod-usb-net-pegasus \ - kmod-usb-net-rndis \ - kmod-usb-net-rtl8152 \ - kmod-usb-net-smsc95xx - -NO_USB_PKGS_NET := \ - -kmod-mii \ - -kmod-usb-net \ - -kmod-usb-net-asix \ - -kmod-usb-net-asix-ax88179 \ - -kmod-usb-net-cdc-eem \ - -kmod-usb-net-cdc-ether \ - -kmod-usb-net-cdc-subset \ - -kmod-usb-net-dm9601-ether \ - -kmod-usb-net-hso \ - -kmod-usb-net-mcs7830 \ - -kmod-usb-net-pegasus \ - -kmod-usb-net-rtl8152 \ - -kmod-usb-net-smsc95xx - -# PCI-Express Network -PCIE_PACKAGES_NET := \ - kmod-bnx2 - - -# Group previous package sets -USB_PKGS_WITHOUT_HID := \ - usbutils \ - $(USB_PKGS_SERIAL) \ - $(USB_PKGS_STORAGE) \ - $(USB_PKGS_NET) - -NO_USB_PKGS_WITHOUT_HID := \ - -usbutils \ - $(NO_USB_PKGS_SERIAL) \ - $(NO_USB_PKGS_STORAGE) \ - $(NO_USB_PKGS_NET) - -USB_PKGS := \ - $(USB_PKGS_HID) \ - $(USB_PKGS_WITHOUT_HID) - -PCIE_PKGS := \ - pciutils \ - $(PCIE_PACKAGES_NET) - - -################################## -# Assign package sets to targets -################################## - -# Embedded Routers +# Additional package list generated by contrib/genpkglist.py +# (script from ffda - https://git.darmstadt.ccc.de/ffda/firmware/site/-/blob/master/contrib/genpkglist.py) + +INCLUDE_USB := \ + usbutils + +EXCLUDE_USB := \ + -usbutils + +INCLUDE_USB_HID := \ + kmod-usb-hid \ + kmod-hid-generic + +EXCLUDE_USB_HID := \ + -kmod-usb-hid \ + -kmod-hid-generic + +INCLUDE_USB_SERIAL := \ + kmod-usb-serial \ + kmod-usb-serial-ftdi \ + kmod-usb-serial-pl2303 + +EXCLUDE_USB_SERIAL := \ + -kmod-usb-serial \ + -kmod-usb-serial-ftdi \ + -kmod-usb-serial-pl2303 + +INCLUDE_USB_STORAGE := \ + block-mount \ + blkid \ + kmod-fs-ext4 \ + kmod-fs-ntfs \ + kmod-fs-vfat \ + kmod-usb-storage \ + kmod-usb-storage-extras \ + kmod-usb-storage-uas \ + kmod-nls-base \ + kmod-nls-cp1250 \ + kmod-nls-cp437 \ + kmod-nls-cp850 \ + kmod-nls-cp852 \ + kmod-nls-iso8859-1 \ + kmod-nls-iso8859-13 \ + kmod-nls-iso8859-15 \ + kmod-nls-iso8859-2 \ + kmod-nls-utf8 + +EXCLUDE_USB_STORAGE := \ + -block-mount \ + -blkid \ + -kmod-fs-ext4 \ + -kmod-fs-ntfs \ + -kmod-fs-vfat \ + -kmod-usb-storage \ + -kmod-usb-storage-extras \ + -kmod-usb-storage-uas \ + -kmod-nls-base \ + -kmod-nls-cp1250 \ + -kmod-nls-cp437 \ + -kmod-nls-cp850 \ + -kmod-nls-cp852 \ + -kmod-nls-iso8859-1 \ + -kmod-nls-iso8859-13 \ + -kmod-nls-iso8859-15 \ + -kmod-nls-iso8859-2 \ + -kmod-nls-utf8 + +INCLUDE_USB_NET := \ + kmod-mii \ + kmod-usb-net \ + kmod-usb-net-asix \ + kmod-usb-net-asix-ax88179 \ + kmod-usb-net-cdc-eem \ + kmod-usb-net-cdc-ether \ + kmod-usb-net-cdc-subset \ + kmod-usb-net-dm9601-ether \ + kmod-usb-net-hso \ + kmod-usb-net-ipheth \ + kmod-usb-net-mcs7830 \ + kmod-usb-net-pegasus \ + kmod-usb-net-rndis \ + kmod-usb-net-rtl8152 \ + kmod-usb-net-smsc95xx + +EXCLUDE_USB_NET := \ + -kmod-mii \ + -kmod-usb-net \ + -kmod-usb-net-asix \ + -kmod-usb-net-asix-ax88179 \ + -kmod-usb-net-cdc-eem \ + -kmod-usb-net-cdc-ether \ + -kmod-usb-net-cdc-subset \ + -kmod-usb-net-dm9601-ether \ + -kmod-usb-net-hso \ + -kmod-usb-net-ipheth \ + -kmod-usb-net-mcs7830 \ + -kmod-usb-net-pegasus \ + -kmod-usb-net-rndis \ + -kmod-usb-net-rtl8152 \ + -kmod-usb-net-smsc95xx + +INCLUDE_PCI := \ + pciutils + +EXCLUDE_PCI := \ + -pciutils + +INCLUDE_PCI_NET := \ + kmod-bnx2 + +EXCLUDE_PCI_NET := \ + -kmod-bnx2 + +INCLUDE_TLS := \ + ca-bundle \ + libustream-mbedtls + +EXCLUDE_TLS := \ + -ca-bundle \ + -libustream-mbedtls + ifeq ($(GLUON_TARGET),ar71xx-generic) - GLUON_SITE_PACKAGES += $(USB_PKGS_WITHOUT_HID) - - # lowmem or no usb port - GLUON_alfa-network-hornet-ub_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_alfa-network-tube2h_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_d-link-dir-615-h1_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_tp-link-tl-wr842n-nd-v1_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_tp-link-tl-wr842n-nd-v2_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) -opkg - GLUON_tp-link-tl-wr1043n-nd-v1_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) -opkg - GLUON_tp-link-wbs210-v1.20_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_tp-link-wbs510-v1.20_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_tp-link-cpe210-v1.0_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_tp-link-cpe510-v1.0_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_tp-link-re450_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_linksys-wrt160nl_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_meraki-mr12_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_meraki-mr16_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_netgear-wnr2200_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_openmesh-mr1750_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_openmesh-mr600_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_openmesh-mr900_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_openmesh-om2p_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_openmesh-om5p-ac_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_openmesh-om5p_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_ubiquiti-airgateway_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_ubiquiti-airgateway-pro_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_ubiquiti-airrouter_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_ubiquiti-bullet-m_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) -opkg - GLUON_ubiquiti-loco-m-xw_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) -opkg - GLUON_ubiquiti-ls-sr71_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_ubiquiti-nanostation-loco-m-xw_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) -opkg - GLUON_ubiquiti-nanostation-m_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) -opkg - GLUON_ubiquiti-nanostation-m-xw_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) -opkg - GLUON_ubiquiti-rocket-m-ti_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_ubiquiti-rocket-m-xw_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_ubiquiti-unifi-ac-lite_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_ubiquiti-unifi-ac-pro_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_ubiquiti-unifiap-outdoor_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_ubiquiti-unifiap-outdoor+_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_ubiquiti-unifi-ap-pro_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_ubiquiti-unifi_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) + GLUON_SITE_PACKAGES += $(INCLUDE_TLS) $(INCLUDE_USB) $(INCLUDE_USB_NET) $(INCLUDE_USB_SERIAL) $(INCLUDE_USB_STORAGE) + + GLUON_alfa-network-hornet-ub_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_alfa-network-tube2h_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_alfa-network-n2-n5_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_allnet-all0315n_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_avm-fritz-wlan-repeater-300e_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_avm-fritz-wlan-repeater-450e_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_d-link-dap-1330-rev-a1_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_d-link-dir-825-rev-b1_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_meraki-mr12_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_meraki-mr16_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_ocedo-koala_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_openmesh-mr1750_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_openmesh-mr600_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_openmesh-mr900_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_openmesh-om2p_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_openmesh-om5p_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_openmesh-om5p-ac_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_tp-link-cpe210-v1.0_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_tp-link-cpe210-v2.0_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_tp-link-cpe210-v3.0_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_tp-link-cpe510-v1.0_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_tp-link-wbs210-v1.20_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_tp-link-wbs510-v1.20_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_tp-link-archer-c25-v1_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_tp-link-archer-c58-v1_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_tp-link-archer-c60-v1_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_tp-link-re355_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_tp-link-re450_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_ubiquiti-airgateway_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_ubiquiti-airgateway-pro_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_ubiquiti-bullet-m_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_ubiquiti-rocket-m_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_ubiquiti-nanostation-m_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_ubiquiti-loco-m-xw_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_ubiquiti-nanostation-m-xw_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_ubiquiti-rocket-m-xw_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_ubiquiti-rocket-m-ti_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_ubiquiti-unifi_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_ubiquiti-unifi-ap-pro_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_ubiquiti-unifiap-outdoor_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_ubiquiti-unifiap-outdoor+_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_ubiquiti-ls-sr71_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_ubiquiti-unifi-ac-lite_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_ubiquiti-unifi-ac-pro_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_ubiquiti-unifi-ac-mesh_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_linksys-wrt160nl_SITE_PACKAGES += $(EXCLUDE_TLS) $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_tp-link-tl-wr710n-v1_SITE_PACKAGES += $(EXCLUDE_TLS) $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_tp-link-tl-wr710n-v2.1_SITE_PACKAGES += $(EXCLUDE_TLS) $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_tp-link-tl-wr842n-nd-v1_SITE_PACKAGES += $(EXCLUDE_TLS) $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_tp-link-tl-wr842n-nd-v2_SITE_PACKAGES += $(EXCLUDE_TLS) $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_tp-link-tl-wr1043n-nd-v1_SITE_PACKAGES += $(EXCLUDE_TLS) $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_ubiquiti-airrouter_SITE_PACKAGES += $(EXCLUDE_TLS) $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) endif +# no pkglists for target ar71xx-mikrotik + + ifeq ($(GLUON_TARGET),ar71xx-nand) - GLUON_SITE_PACKAGES += $(USB_PKGS_WITHOUT_HID) + GLUON_SITE_PACKAGES += $(INCLUDE_TLS) $(INCLUDE_USB) $(INCLUDE_USB_NET) $(INCLUDE_USB_SERIAL) $(INCLUDE_USB_STORAGE) + endif -ifeq ($(GLUON_TARGET),mpc85xx-generic) - GLUON_SITE_PACKAGES += $(USB_PKGS_WITHOUT_HID) +# no pkglists for target ar71xx-tiny + + +ifeq ($(GLUON_TARGET),brcm2708-bcm2708) + GLUON_SITE_PACKAGES += $(INCLUDE_TLS) $(INCLUDE_USB) $(INCLUDE_USB_HID) $(INCLUDE_USB_NET) $(INCLUDE_USB_SERIAL) $(INCLUDE_USB_STORAGE) + +endif + +ifeq ($(GLUON_TARGET),brcm2708-bcm2709) + GLUON_SITE_PACKAGES += $(INCLUDE_TLS) $(INCLUDE_USB) $(INCLUDE_USB_HID) $(INCLUDE_USB_NET) $(INCLUDE_USB_SERIAL) $(INCLUDE_USB_STORAGE) + +endif + +ifeq ($(GLUON_TARGET),brcm2708-bcm2710) + GLUON_SITE_PACKAGES += $(INCLUDE_TLS) $(INCLUDE_USB) $(INCLUDE_USB_HID) $(INCLUDE_USB_NET) $(INCLUDE_USB_SERIAL) $(INCLUDE_USB_STORAGE) + +endif + +ifeq ($(GLUON_TARGET),ipq40xx) + GLUON_SITE_PACKAGES += $(INCLUDE_TLS) $(INCLUDE_USB) $(INCLUDE_USB_NET) $(INCLUDE_USB_SERIAL) $(INCLUDE_USB_STORAGE) + endif ifeq ($(GLUON_TARGET),ipq806x) - GLUON_SITE_PACKAGES += $(USB_PKGS_WITHOUT_HID) + GLUON_SITE_PACKAGES += $(INCLUDE_TLS) $(INCLUDE_USB) $(INCLUDE_USB_NET) $(INCLUDE_USB_SERIAL) $(INCLUDE_USB_STORAGE) + endif -ifeq ($(GLUON_TARGET),ramips-mt7620) - GLUON_SITE_PACKAGES += $(USB_PKGS_WITHOUT_HID) +ifeq ($(GLUON_TARGET),mpc85xx-generic) + GLUON_SITE_PACKAGES += $(INCLUDE_TLS) $(INCLUDE_USB) $(INCLUDE_USB_NET) $(INCLUDE_USB_SERIAL) $(INCLUDE_USB_STORAGE) + endif -ifeq ($(GLUON_TARGET),ramips-mt7621) - GLUON_SITE_PACKAGES += $(USB_PKGS_WITHOUT_HID) +ifeq ($(GLUON_TARGET),mpc85xx-p1020) + GLUON_SITE_PACKAGES += $(INCLUDE_TLS) - # no usb port - GLUON_ubnt-erx_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) - GLUON_ubnt-erx-sfp_SITE_PACKAGES += $(NO_USB_PKGS_WITHOUT_HID) endif -ifeq ($(GLUON_TARGET),ramips-mt7628) - GLUON_SITE_PACKAGES += $(USB_PKGS_WITHOUT_HID) +ifeq ($(GLUON_TARGET),mvebu-cortexa9) + GLUON_SITE_PACKAGES += $(INCLUDE_TLS) $(INCLUDE_USB) $(INCLUDE_USB_NET) $(INCLUDE_USB_SERIAL) $(INCLUDE_USB_STORAGE) + endif -# x86 Generic Purpose Hardware -ifeq ($(GLUON_TARGET),x86-generic) - GLUON_SITE_PACKAGES += $(USB_PKGS) $(PCIE_PKGS) +ifeq ($(GLUON_TARGET),ramips-mt7620) + GLUON_SITE_PACKAGES += $(INCLUDE_TLS) $(INCLUDE_USB) $(INCLUDE_USB_NET) $(INCLUDE_USB_SERIAL) $(INCLUDE_USB_STORAGE) + endif -ifeq ($(GLUON_TARGET),x86-64) - GLUON_SITE_PACKAGES += $(USB_PKGS) $(PCIE_PKGS) +ifeq ($(GLUON_TARGET),ramips-mt7621) + GLUON_SITE_PACKAGES += $(INCLUDE_TLS) $(INCLUDE_USB) $(INCLUDE_USB_NET) $(INCLUDE_USB_SERIAL) $(INCLUDE_USB_STORAGE) + + GLUON_ubnt-erx_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_ubnt-erx-sfp_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) endif -# PCEngines ALIX Boards -ifeq ($(GLUON_TARGET),x86-geode) - GLUON_SITE_PACKAGES += $(USB_PKGS) $(PCIE_PKGS) +ifeq ($(GLUON_TARGET),ramips-mt76x8) + GLUON_SITE_PACKAGES += $(INCLUDE_TLS) $(INCLUDE_USB) $(INCLUDE_USB_NET) $(INCLUDE_USB_SERIAL) $(INCLUDE_USB_STORAGE) + + GLUON_tp-link-archer-c50-v3_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) + GLUON_tp-link-tl-wr841n-v13_SITE_PACKAGES += $(EXCLUDE_USB) $(EXCLUDE_USB_NET) $(EXCLUDE_USB_SERIAL) $(EXCLUDE_USB_STORAGE) endif -# Raspberry Pi A/B/B+ -ifeq ($(GLUON_TARGET),brcm2708-bcm2708) - GLUON_SITE_PACKAGES += $(USB_PKGS) +# no pkglists for target ramips-rt305x + + +ifeq ($(GLUON_TARGET),sunxi-cortexa7) + GLUON_SITE_PACKAGES += $(INCLUDE_TLS) $(INCLUDE_USB) $(INCLUDE_USB_NET) $(INCLUDE_USB_SERIAL) $(INCLUDE_USB_STORAGE) + endif -# Raspberry Pi 2 -ifeq ($(GLUON_TARGET),brcm2708-bcm2709) - GLUON_SITE_PACKAGES += $(USB_PKGS) +ifeq ($(GLUON_TARGET),x86-64) + GLUON_SITE_PACKAGES += $(INCLUDE_PCI) $(INCLUDE_PCI_NET) $(INCLUDE_TLS) $(INCLUDE_USB) $(INCLUDE_USB_NET) $(INCLUDE_USB_SERIAL) $(INCLUDE_USB_STORAGE) + endif -# Raspberry Pi 3 -ifeq ($(GLUON_TARGET),brcm2708-bcm2710) - GLUON_SITE_PACKAGES += $(USB_PKGS) +ifeq ($(GLUON_TARGET),x86-generic) + GLUON_SITE_PACKAGES += $(INCLUDE_PCI) $(INCLUDE_PCI_NET) $(INCLUDE_TLS) $(INCLUDE_USB) $(INCLUDE_USB_NET) $(INCLUDE_USB_SERIAL) $(INCLUDE_USB_STORAGE) + endif -# Banana Pi/Pro, Lamobo R1 -ifeq ($(GLUON_TARGET),sunxi) - GLUON_SITE_PACKAGES += $(USB_PKGS) +ifeq ($(GLUON_TARGET),x86-geode) + GLUON_SITE_PACKAGES += $(INCLUDE_PCI) $(INCLUDE_PCI_NET) $(INCLUDE_TLS) $(INCLUDE_USB) $(INCLUDE_USB_NET) $(INCLUDE_USB_SERIAL) $(INCLUDE_USB_STORAGE) + endif