summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--LICENCE2
-rw-r--r--Makefile18
-rw-r--r--adk/config/Makefile51
-rw-r--r--adk/config/lxdialog/check-lxdialog.sh17
-rw-r--r--adk/extlinux/extlinux.conf0
-rw-r--r--adk/tools/depmaker.c4
-rw-r--r--adk/tools/pkgmaker.c60
-rw-r--r--docs/running-openadk.txt30
-rw-r--r--mk/build.mk29
-rw-r--r--mk/host-bottom.mk14
-rw-r--r--mk/host.mk2
-rw-r--r--mk/image.mk115
-rw-r--r--mk/kernel-build.mk31
-rw-r--r--mk/kernel-vars.mk26
-rw-r--r--mk/linux-ver.mk54
-rw-r--r--mk/linux.mk3
-rw-r--r--mk/mirrors.mk1
-rw-r--r--mk/package.mk9
-rw-r--r--mk/perl.mk2
-rw-r--r--mk/pkg-bottom.mk10
-rw-r--r--mk/python.mk3
-rw-r--r--mk/python3.mk2
-rw-r--r--mk/vars.mk31
-rw-r--r--package/Config.in1
-rw-r--r--package/Config.in.options4
-rw-r--r--package/DirectFB/Makefile10
-rw-r--r--package/ImageMagick/Makefile6
-rw-r--r--package/adktest/Makefile2
-rwxr-xr-xpackage/adktest/files/adktest.init1
-rwxr-xr-xpackage/adktest/src/quit2
-rw-r--r--package/afboot-stm32/Makefile2
-rw-r--r--package/afboot-stm32/patches/patch-Makefile19
-rw-r--r--package/afpfs-ng/Makefile2
-rw-r--r--package/aircrack-ng/Makefile21
-rw-r--r--package/aircrack-ng/patches/patch-common_mak27
-rw-r--r--package/aircrack-ng/patches/patch-src_osdep_linux_c26
-rw-r--r--package/alsa-lib/Makefile7
-rw-r--r--package/alsa-utils/Makefile4
-rw-r--r--package/alsa-utils/files/amixer.init2
-rw-r--r--package/apr-util/Makefile3
-rw-r--r--package/arm-trusted-firmware/Makefile26
-rw-r--r--package/arm-trusted-firmware/patches/patch-plat_rockchip_rk3328_rk3328_def_h11
-rw-r--r--package/asterisk/Makefile69
-rw-r--r--package/asterisk/files/asterisk.init2
-rw-r--r--package/asterisk/patches/patch-main_dns_c11
-rw-r--r--package/asterisk/patches/patch-main_tcptls_c16
-rw-r--r--package/asterisk/patches/patch-res_stasis_control_c11
-rw-r--r--package/atk/Makefile16
-rw-r--r--package/autofs/Makefile14
-rw-r--r--package/autofs/patches/patch-configure_in12
-rw-r--r--package/automake/patches/patch-Makefile_in11
-rw-r--r--package/automake16/Makefile43
-rw-r--r--package/avahi/Makefile8
-rw-r--r--package/avahi/patches/patch-Makefile_am12
-rw-r--r--package/avahi/patches/patch-avahi-ui_Makefile_am19
-rw-r--r--package/avahi/patches/patch-configure_ac14
-rw-r--r--package/base-files/Makefile13
-rw-r--r--package/base-files/files/base-files.conffiles1
-rwxr-xr-xpackage/base-files/files/init.d/rcS1
-rw-r--r--package/base-files/files/profile1
-rwxr-xr-xpackage/base-files/src/etc/network/if-pre-up.d/04-wireless6
-rw-r--r--package/bash/Makefile4
-rw-r--r--package/bcm28xx-bootloader/Makefile59
-rwxr-xr-xpackage/bcm28xx-bootloader/files/vcdbgbin71804 -> 0 bytes
-rw-r--r--package/bcm28xx-bootloader/src/boot/bootcode.binbin52116 -> 52476 bytes
-rw-r--r--package/bcm28xx-bootloader/src/boot/fixup.datbin6637 -> 7269 bytes
-rw-r--r--package/bcm28xx-bootloader/src/boot/fixup4.datbin0 -> 5412 bytes
-rw-r--r--package/bcm28xx-bootloader/src/boot/fixup4cd.datbin0 -> 3180 bytes
-rw-r--r--package/bcm28xx-bootloader/src/boot/fixup4db.datbin0 -> 8397 bytes
-rw-r--r--package/bcm28xx-bootloader/src/boot/fixup4x.datbin0 -> 8399 bytes
-rw-r--r--package/bcm28xx-bootloader/src/boot/fixup_cd.datbin2608 -> 3180 bytes
-rw-r--r--package/bcm28xx-bootloader/src/boot/fixup_db.datbin9799 -> 10242 bytes
-rw-r--r--package/bcm28xx-bootloader/src/boot/fixup_x.datbin9797 -> 10244 bytes
-rw-r--r--package/bcm28xx-bootloader/src/boot/start.elfbin2835108 -> 2979264 bytes
-rw-r--r--package/bcm28xx-bootloader/src/boot/start4.elfbin0 -> 2254944 bytes
-rw-r--r--package/bcm28xx-bootloader/src/boot/start4cd.elfbin0 -> 808060 bytes
-rw-r--r--package/bcm28xx-bootloader/src/boot/start4db.elfbin0 -> 3751752 bytes
-rw-r--r--package/bcm28xx-bootloader/src/boot/start4x.elfbin0 -> 3002536 bytes
-rw-r--r--package/bcm28xx-bootloader/src/boot/start_cd.elfbin674884 -> 808060 bytes
-rw-r--r--package/bcm28xx-bootloader/src/boot/start_db.elfbin4978980 -> 4823624 bytes
-rw-r--r--package/bcm28xx-bootloader/src/boot/start_x.elfbin3921988 -> 3726216 bytes
-rw-r--r--package/bcm28xx-utils/Makefile32
-rw-r--r--package/bcm28xx-utils/patches/patch-CMakeLists_txt16
-rw-r--r--package/bcm28xx-vc/Makefile84
-rw-r--r--package/bcm28xx-vc/patches/patch-host_applications_android_apps_vidtex_CMakeLists_txt10
-rw-r--r--package/bcm28xx-vc/patches/patch-host_applications_linux_apps_dtmerge_dtmerge_c10
-rw-r--r--package/bcm28xx-vc/patches/patch-host_applications_linux_apps_gencmd_CMakeLists_txt11
-rw-r--r--package/bcm28xx-vc/patches/patch-host_applications_linux_apps_raspicam_CMakeLists_txt11
-rw-r--r--package/bcm28xx-vc/patches/patch-host_applications_linux_apps_smem_CMakeLists_txt11
-rw-r--r--package/bcm28xx-vc/patches/patch-host_applications_linux_libs_bcm_host_CMakeLists_txt19
-rw-r--r--package/bcm28xx-vc/patches/patch-host_applications_linux_libs_sm_CMakeLists_txt11
-rw-r--r--package/bcm28xx-vc/patches/patch-interface_khronos_CMakeLists_txt17
-rw-r--r--package/bcm28xx-vc/patches/patch-interface_mmal_CMakeLists_txt11
-rw-r--r--package/bcm28xx-vc/patches/patch-interface_vcos_CMakeLists_txt11
-rw-r--r--package/bcm28xx-vc/patches/patch-interface_vcos_pthreads_CMakeLists_txt11
-rw-r--r--package/bcm28xx-vc/patches/patch-interface_vmcs_host_linux_vcfiled_CMakeLists_txt9
-rw-r--r--package/bcm28xx-vc/patches/patch-interface_vmcs_host_vc_vchi_tvservice_c18
-rw-r--r--package/bcm28xx-vc/src/host_applications/linux/libs/bcm_host/bcm_host.pc.in10
-rw-r--r--package/bcm28xx-vc/src/interface/khronos/egl/egl.pc.in11
-rw-r--r--package/bcm28xx-vc/src/interface/khronos/glxx/glesv2.pc.in10
-rw-r--r--package/bind/Makefile64
-rw-r--r--package/bind/files/bind/named.conf (renamed from package/bind/files/bind/named.conf.example)0
-rw-r--r--package/bind/patches/patch-bin_rndc_Makefile_am18
-rw-r--r--package/binutils/Makefile1
-rw-r--r--package/bison/Makefile4
-rw-r--r--package/bison/patches/patch-lib_fseterr_c11
-rw-r--r--package/bison/patches/patch-lib_vasnprintf_c28
-rw-r--r--package/bitlbee/Makefile5
-rw-r--r--package/bitlbee/patches/patch-lib_Makefile10
-rw-r--r--package/bitlbee/patches/patch-protocols_Makefile8
-rw-r--r--package/bitlbee/patches/patch-protocols_jabber_Makefile8
-rw-r--r--package/bitlbee/patches/patch-protocols_msn_Makefile19
-rw-r--r--package/bitlbee/patches/patch-protocols_oscar_Makefile24
-rw-r--r--package/bitlbee/patches/patch-protocols_twitter_Makefile8
-rw-r--r--package/bluez/Makefile5
-rw-r--r--package/bluez/patches/patch-tools_csr_usb_c10
-rw-r--r--package/bluez/patches/patch-tools_hciattach_bcm43xx_c32
-rw-r--r--package/boost/Makefile32
-rw-r--r--package/boost/patches/patch-boost_atomic_detail_caps_gcc_atomic_hpp12
-rw-r--r--package/brcm-bluetooth/files/hci3
-rw-r--r--package/brcm-bluetooth/src/BCM4345C5.hcdbin0 -> 45667 bytes
-rw-r--r--package/brcmfmac-firmware/Makefile6
-rw-r--r--package/brcmfmac-firmware/src/BCM43430A1.hcdbin36264 -> 0 bytes
-rw-r--r--package/brcmfmac-firmware/src/BCM4345C0.hcdbin55096 -> 0 bytes
l---------package/brcmfmac-firmware/src/brcm/BCM-0a5c-6410.hcd1
-rw-r--r--package/brcmfmac-firmware/src/brcm/BCM-0bb4-0306.hcdbin0 -> 54734 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcm/BCM43430A1.hcdbin0 -> 30049 bytes
l---------package/brcmfmac-firmware/src/brcm/BCM43430A1.raspberrypi,3-model-b.hcd1
l---------package/brcmfmac-firmware/src/brcm/BCM43430A1.raspberrypi,model-zero-2-w.hcd1
l---------package/brcmfmac-firmware/src/brcm/BCM43430A1.raspberrypi,model-zero-w.hcd1
-rw-r--r--package/brcmfmac-firmware/src/brcm/BCM43430B0.hcdbin0 -> 44376 bytes
l---------package/brcmfmac-firmware/src/brcm/BCM43430B0.raspberrypi,model-zero-2-w.hcd1
-rw-r--r--package/brcmfmac-firmware/src/brcm/BCM4345C0.hcdbin0 -> 63806 bytes
l---------package/brcmfmac-firmware/src/brcm/BCM4345C0.raspberrypi,3-model-a-plus.hcd1
l---------package/brcmfmac-firmware/src/brcm/BCM4345C0.raspberrypi,3-model-b-plus.hcd1
l---------package/brcmfmac-firmware/src/brcm/BCM4345C0.raspberrypi,4-compute-module.hcd1
l---------package/brcmfmac-firmware/src/brcm/BCM4345C0.raspberrypi,4-model-b.hcd1
l---------package/brcmfmac-firmware/src/brcm/BCM4345C0.raspberrypi,5-model-b.hcd1
-rw-r--r--package/brcmfmac-firmware/src/brcm/BCM4345C5.hcdbin0 -> 55676 bytes
l---------package/brcmfmac-firmware/src/brcm/BCM4345C5.raspberrypi,4-compute-module.hcd1
l---------package/brcmfmac-firmware/src/brcm/BCM4345C5.raspberrypi,400.hcd1
-rw-r--r--package/brcmfmac-firmware/src/brcm/bcm43xx-0.fw (renamed from package/brcmfmac-firmware/src/bcm43xx-0.fw)bin96224 -> 96224 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcm/bcm43xx_hdr-0.fw (renamed from package/brcmfmac-firmware/src/bcm43xx_hdr-0.fw)bin180 -> 180 bytes
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43012-sdio.bin1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43012-sdio.clm_blob1
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43143-sdio.bin (renamed from package/brcmfmac-firmware/src/brcmfmac43143-sdio.bin)bin385067 -> 385067 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43143.bin (renamed from package/brcmfmac-firmware/src/brcmfmac43143.bin)bin397312 -> 397312 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43236b.bin (renamed from package/brcmfmac-firmware/src/brcmfmac43236b.bin)bin348160 -> 348160 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43241b0-sdio.binbin0 -> 459988 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43241b4-sdio.bin (renamed from package/brcmfmac-firmware/src/brcmfmac43241b4-sdio.bin)bin403855 -> 403855 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43241b5-sdio.bin (renamed from package/brcmfmac-firmware/src/brcmfmac43241b5-sdio.bin)bin408682 -> 408682 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43242a.bin (renamed from package/brcmfmac-firmware/src/brcmfmac43242a.bin)bin479232 -> 479232 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac4329-sdio.bin (renamed from package/brcmfmac-firmware/src/brcmfmac4329-sdio.bin)bin253748 -> 253748 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac4329-sdio.solidrun,cubox-i-dl.binbin0 -> 253748 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac4329-sdio.solidrun,cubox-i-dl.txt70
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac4329-sdio.solidrun,cubox-i-q.binbin0 -> 253748 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac4329-sdio.solidrun,cubox-i-q.txt70
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac4329-sdio.txt (renamed from package/brcmfmac-firmware/src/brcmfmac4329-sdio.txt)0
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac4330-sdio.Prowise-PT301.txt89
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac4330-sdio.binbin0 -> 223581 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac4330-sdio.solidrun,cubox-i-dl.bin (renamed from package/brcmfmac-firmware/src/brcmfmac4330-sdio.bin)bin222126 -> 222126 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac4330-sdio.solidrun,cubox-i-dl.txt118
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac4330-sdio.solidrun,cubox-i-q.binbin0 -> 222126 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac4330-sdio.solidrun,cubox-i-q.txt118
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac4330-sdio.txt (renamed from package/brcmfmac-firmware/src/brcmfmac4330-sdio.txt)0
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac4334-sdio.bin (renamed from package/brcmfmac-firmware/src/brcmfmac4334-sdio.bin)bin451566 -> 451566 bytes
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43340-sdio.bin1
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43340-sdio.meegopad-t08.txt98
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43340-sdio.pov-tab-p1006w-data.txt98
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43340-sdio.predia-basic.txt98
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac4335-sdio.bin (renamed from package/brcmfmac-firmware/src/brcmfmac4335-sdio.bin)bin569291 -> 569291 bytes
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43362-sdio.bin1
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43362-sdio.cubietech,cubietruck.txt45
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43362-sdio.lemaker,bananapro.txt1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac4339-sdio.bin1
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.AP6212.txt44
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.Hampoo-D2D3_Vi8A1.txt48
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.MUR1DX.txt44
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.bin1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.clm_blob1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.bin1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.clm_blob1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-2-w.bin1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-2-w.txt1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.bin1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.clm_blob1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-plus.txt1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-ultra.txt1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-zero.txt1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.sinovoip,bpi-m3.txt1
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.txt64
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43430a0-sdio.binbin0 -> 382455 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43430a0-sdio.ilife-S806.txt47
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43430a0-sdio.jumper-ezpad-mini3.txt49
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43430b0-sdio.raspberrypi,model-zero-2-w.bin1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43430b0-sdio.raspberrypi,model-zero-2-w.clm_blob1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43430b0-sdio.raspberrypi,model-zero-2-w.txt1
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43436-sdio.binbin0 -> 416101 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43436-sdio.clm_blobbin0 -> 11209 bytes
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43436-sdio.raspberrypi,model-zero-2-w.bin1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43436-sdio.raspberrypi,model-zero-2-w.clm_blob1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43436-sdio.raspberrypi,model-zero-2-w.txt1
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43436-sdio.txt93
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43436s-sdio.binbin0 -> 442211 bytes
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43436s-sdio.raspberrypi,model-zero-2-w.bin1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43436s-sdio.raspberrypi,model-zero-2-w.txt1
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43436s-sdio.txt67
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.AW-CM256SM.txt66
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.bin1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.clm_blob1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.pine64,pinebook-pro.txt1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.pine64,pinephone-pro.txt1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.pine64,quartz64-b.txt1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.bin1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.clm_blob1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.bin1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.clm_blob1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.bin1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.clm_blob1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.txt1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.bin1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.clm_blob1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,5-model-b.bin1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,5-model-b.clm_blob1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,5-model-b.txt1
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.txt98
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.binbin0 -> 495898 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.clm_blobbin0 -> 7163 bytes
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.raspberrypi,4-compute-module.bin1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.raspberrypi,4-compute-module.clm_blob1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.raspberrypi,4-compute-module.txt1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.raspberrypi,400.bin1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.raspberrypi,400.clm_blob1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.raspberrypi,400.txt1
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.txt97
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac4350-pcie.bin (renamed from package/brcmfmac-firmware/src/brcmfmac4350-pcie.bin)bin626140 -> 626140 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac4350c2-pcie.bin (renamed from package/brcmfmac-firmware/src/brcmfmac4350c2-pcie.bin)bin623304 -> 623304 bytes
l---------package/brcmfmac-firmware/src/brcm/brcmfmac4354-sdio.bin1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac4354-sdio.clm_blob1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac4356-pcie.bin1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac4356-pcie.clm_blob1
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac4356-pcie.gpd-win-pocket.txt121
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.AP6356S.txt122
l---------package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.bin1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.clm_blob1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.firefly,firefly-rk3399.txt1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.khadas,vim2.txt1
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.txt126
l---------package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.vamrs,rock960.txt1
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43569.bin (renamed from package/brcmfmac-firmware/src/brcmfmac43569.bin)bin557056 -> 557056 bytes
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43570-pcie.bin1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac43570-pcie.clm_blob1
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac4358-pcie.binbin0 -> 634361 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43602-pcie.ap.bin (renamed from package/brcmfmac-firmware/src/brcmfmac43602-pcie.ap.bin)bin595472 -> 595472 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac43602-pcie.bin (renamed from package/brcmfmac-firmware/src/brcmfmac43602-pcie.bin)bin635449 -> 635449 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac4366b-pcie.binbin0 -> 1105361 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac4366c-pcie.binbin0 -> 1120971 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac4371-pcie.bin (renamed from package/brcmfmac-firmware/src/brcmfmac4371-pcie.bin)bin623448 -> 623448 bytes
l---------package/brcmfmac-firmware/src/brcm/brcmfmac4373-sdio.bin1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac4373-sdio.clm_blob1
-rw-r--r--package/brcmfmac-firmware/src/brcm/brcmfmac4373.binbin0 -> 479232 bytes
l---------package/brcmfmac-firmware/src/brcm/brcmfmac54591-pcie.bin1
l---------package/brcmfmac-firmware/src/brcm/brcmfmac54591-pcie.clm_blob1
-rw-r--r--package/brcmfmac-firmware/src/brcmfmac43241b0-sdio.binbin455745 -> 0 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcmfmac43340-sdio.binbin397378 -> 0 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcmfmac43362-sdio.binbin219557 -> 0 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcmfmac4339-sdio.binbin493599 -> 0 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcmfmac43430-sdio.binbin388739 -> 0 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcmfmac43430-sdio.txt59
-rw-r--r--package/brcmfmac-firmware/src/brcmfmac43455-sdio.binbin600487 -> 0 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcmfmac43455-sdio.clm_blobbin14036 -> 0 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcmfmac43455-sdio.txt92
-rw-r--r--package/brcmfmac-firmware/src/brcmfmac4354-sdio.binbin591837 -> 0 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcmfmac4356-pcie.binbin623012 -> 0 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcmfmac43570-pcie.binbin550333 -> 0 bytes
-rw-r--r--package/brcmfmac-firmware/src/brcmfmac4366b-pcie.binbin989401 -> 0 bytes
-rw-r--r--package/brcmfmac-firmware/src/cypress/cyfmac43012-sdio.binbin0 -> 490686 bytes
-rw-r--r--package/brcmfmac-firmware/src/cypress/cyfmac43012-sdio.clm_blobbin0 -> 4692 bytes
-rw-r--r--package/brcmfmac-firmware/src/cypress/cyfmac43340-sdio.binbin0 -> 409717 bytes
-rw-r--r--package/brcmfmac-firmware/src/cypress/cyfmac43362-sdio.binbin0 -> 202623 bytes
-rw-r--r--package/brcmfmac-firmware/src/cypress/cyfmac4339-sdio.binbin0 -> 574096 bytes
-rw-r--r--package/brcmfmac-firmware/src/cypress/cyfmac43430-sdio.binbin0 -> 399344 bytes
-rw-r--r--package/brcmfmac-firmware/src/cypress/cyfmac43430-sdio.clm_blobbin0 -> 4733 bytes
-rw-r--r--package/brcmfmac-firmware/src/cypress/cyfmac43455-sdio-minimal.binbin0 -> 548728 bytes
-rw-r--r--package/brcmfmac-firmware/src/cypress/cyfmac43455-sdio-standard.binbin0 -> 637406 bytes
-rw-r--r--package/brcmfmac-firmware/src/cypress/cyfmac43455-sdio.binbin0 -> 637406 bytes
-rw-r--r--package/brcmfmac-firmware/src/cypress/cyfmac43455-sdio.clm_blobbin0 -> 2676 bytes
-rw-r--r--package/brcmfmac-firmware/src/cypress/cyfmac4354-sdio.binbin0 -> 601704 bytes
-rw-r--r--package/brcmfmac-firmware/src/cypress/cyfmac4354-sdio.clm_blobbin0 -> 5750 bytes
-rw-r--r--package/brcmfmac-firmware/src/cypress/cyfmac4356-pcie.binbin0 -> 616174 bytes
-rw-r--r--package/brcmfmac-firmware/src/cypress/cyfmac4356-pcie.clm_blobbin0 -> 5750 bytes
-rw-r--r--package/brcmfmac-firmware/src/cypress/cyfmac4356-sdio.binbin0 -> 580258 bytes
-rw-r--r--package/brcmfmac-firmware/src/cypress/cyfmac4356-sdio.clm_blobbin0 -> 5750 bytes
-rw-r--r--package/brcmfmac-firmware/src/cypress/cyfmac43570-pcie.binbin0 -> 558388 bytes
-rw-r--r--package/brcmfmac-firmware/src/cypress/cyfmac43570-pcie.clm_blobbin0 -> 5750 bytes
-rw-r--r--package/brcmfmac-firmware/src/cypress/cyfmac4373-sdio.binbin0 -> 563834 bytes
-rw-r--r--package/brcmfmac-firmware/src/cypress/cyfmac4373-sdio.clm_blobbin0 -> 4684 bytes
-rw-r--r--package/brcmfmac-firmware/src/cypress/cyfmac54591-pcie.binbin0 -> 615882 bytes
-rw-r--r--package/brcmfmac-firmware/src/cypress/cyfmac54591-pcie.clm_blobbin0 -> 5764 bytes
-rw-r--r--package/btrfs-progs/Makefile37
-rw-r--r--package/busybox/Config.in.manual218
-rw-r--r--package/busybox/Makefile6
-rw-r--r--package/busybox/config/Config.in1079
-rw-r--r--package/busybox/config/archival/Config.in554
-rw-r--r--package/busybox/config/console-tools/Config.in219
-rw-r--r--package/busybox/config/coreutils/Config.in1270
-rw-r--r--package/busybox/config/debianutils/Config.in86
-rw-r--r--package/busybox/config/e2fsprogs/Config.in52
-rw-r--r--package/busybox/config/e2fsprogs/old_e2fsprogs/Config.in69
-rw-r--r--package/busybox/config/editors/Config.in265
-rw-r--r--package/busybox/config/findutils/Config.in193
-rw-r--r--package/busybox/config/init/Config.in215
-rw-r--r--package/busybox/config/klibc-utils/Config.in3
-rw-r--r--package/busybox/config/libbb/Config.in475
-rw-r--r--package/busybox/config/loginutils/Config.in419
-rw-r--r--package/busybox/config/mailutils/Config.in48
-rw-r--r--package/busybox/config/miscutils/Config.in1169
-rw-r--r--package/busybox/config/modutils/Config.in304
-rw-r--r--package/busybox/config/networking/Config.in1451
-rw-r--r--package/busybox/config/networking/udhcp/Config.in266
-rw-r--r--package/busybox/config/printutils/Config.in22
-rw-r--r--package/busybox/config/procps/Config.in331
-rw-r--r--package/busybox/config/runit/Config.in123
-rw-r--r--package/busybox/config/selinux/Config.in103
-rw-r--r--package/busybox/config/shell/Config.in657
-rw-r--r--package/busybox/config/sysklogd/Config.in212
-rw-r--r--package/busybox/config/util-linux/Config.in1512
-rw-r--r--package/busybox/config/util-linux/volume_id/Config.in203
-rwxr-xr-xpackage/busybox/extract_config.sh56
-rw-r--r--package/busybox/files/ntpd.init2
-rw-r--r--package/busybox/patches/009-disable-Oz.patch20
-rw-r--r--package/bzip2/Makefile11
-rw-r--r--package/bzr/Makefile41
-rw-r--r--package/c-ares/Makefile8
-rw-r--r--package/ca-certificates/Makefile6
-rw-r--r--package/ca-certificates/patches/patch-Makefile5
-rw-r--r--package/ca-certificates/patches/patch-mozilla_Makefile11
-rw-r--r--package/ca-certificates/patches/patch-sbin_Makefile9
-rw-r--r--package/ccid/Makefile13
-rw-r--r--package/ccid/patches/patch-configure21
-rw-r--r--package/ccid/patches/patch-ltmain_sh11
-rw-r--r--package/cdrkit/patches/patch-Makefile465
-rw-r--r--package/cdrkit/patches/patch-genisoimage_genisoimage_h11
-rw-r--r--package/cfgfs/Makefile4
-rw-r--r--package/cfgfs/src/fwcf.sh58
-rw-r--r--package/cherokee/Makefile12
-rw-r--r--package/cherrypy/Makefile8
-rw-r--r--package/chocolate-doom/Makefile32
-rw-r--r--package/cifs-utils/Makefile5
-rw-r--r--package/cifs-utils/patches/patch-Makefile_am21
-rw-r--r--package/cifs-utils/patches/patch-cifs_idmap_c16
-rw-r--r--package/cifs-utils/patches/patch-configure_ac33
-rw-r--r--package/cifs-utils/patches/patch-mount_cifs_c24
-rw-r--r--package/cifs-utils/patches/patch-mtab_c10
-rw-r--r--package/clamav/Makefile12
-rw-r--r--package/clamav/patches/patch-clamdscan_proto_c6
-rw-r--r--package/clamav/patches/patch-libclamav_mbox_c11
-rw-r--r--package/cmake/Makefile6
-rw-r--r--package/collectd/Makefile4
-rw-r--r--package/coreutils/Makefile5
-rw-r--r--package/coreutils/patches/patch-Makefile_am27
-rw-r--r--package/coreutils/patches/patch-configure_ac14
-rw-r--r--package/coreutils/patches/patch-man_local_mk16
-rw-r--r--package/cpio/Makefile4
-rw-r--r--package/cpio/patches/patch-gnu_stdio_in_h13
-rw-r--r--package/cpio/patches/patch-src_filetypes_h8
-rw-r--r--package/crda/Makefile53
-rw-r--r--package/crda/patches/patch-Makefile11
-rw-r--r--package/cryptodev-linux/Makefile2
-rw-r--r--package/cryptsetup/Makefile51
-rw-r--r--package/cups/Makefile29
-rw-r--r--package/cups/patches/patch-Makedefs_in10
-rw-r--r--package/cups/patches/patch-configure14
-rw-r--r--package/curl/Makefile64
-rw-r--r--package/cxxtools/Makefile39
-rw-r--r--package/dansguardian/Makefile41
-rw-r--r--package/dansguardian/files/dansguardian.init33
-rw-r--r--package/dansguardian/files/dansguardian.postinst6
-rw-r--r--package/dansguardian/patches/patch-src_ImageContainer_cpp10
-rw-r--r--package/dansguardian/patches/patch-src_SocketArray_cpp10
-rw-r--r--package/dansguardian/patches/patch-src_UDSocket_cpp10
-rw-r--r--package/daq/Makefile4
-rw-r--r--package/davfs2/Makefile8
-rw-r--r--package/davfs2/patches/patch-configure_ac11
-rw-r--r--package/davfs2/patches/patch-src_Makefile_am12
-rw-r--r--package/davfs2/patches/patch-src_Makefile_in12
-rw-r--r--package/dbus-python/Makefile26
-rw-r--r--package/dbus-python/patches/patch-configure11
-rw-r--r--package/dbus/Makefile21
-rw-r--r--package/deco/Makefile1
-rw-r--r--package/dhcp/Makefile6
-rw-r--r--package/dhcp/patches/patch-bind_Makefile_in13
-rw-r--r--package/dhcp/patches/patch-common_discover_c13
-rw-r--r--package/dillo/Makefile2
-rw-r--r--package/dillo/patches/patch-dpi_https_c14
-rw-r--r--package/dnsmasq/Makefile4
-rw-r--r--package/dosfstools/Makefile9
-rw-r--r--package/drbd-utils/Makefile39
-rw-r--r--package/drbd-utils/files/drbd.conf21
-rw-r--r--package/drbd-utils/files/drbd.conffiles1
-rw-r--r--package/dropbear/Makefile13
-rw-r--r--package/dropbear/files/dropbear.init12
-rw-r--r--package/dropbear/files/dropbear.service11
-rw-r--r--package/dropbear/patches/patch-Makefile_in35
-rw-r--r--package/dropbear/patches/patch-svr-authpubkey_c109
-rw-r--r--package/dropbear/patches/patch-svr-main_c15
-rw-r--r--package/dtc/Makefile7
-rw-r--r--package/dtc/patches/patch-Makefile11
-rw-r--r--package/e2fsprogs/Makefile24
-rw-r--r--package/elinks/Makefile75
-rw-r--r--package/elinks/patches/patch-Makefile_lib11
-rw-r--r--package/elinks/patches/patch-src_network_ssl_ssl_c16
-rw-r--r--package/esmtp/Makefile29
-rw-r--r--package/ethtool/Makefile6
-rw-r--r--package/expat/Makefile10
-rw-r--r--package/fetchmail/Makefile6
-rw-r--r--package/fetchmail/patches/patch-config_h_in13
-rw-r--r--package/fetchmail/patches/patch-configure_ac10
-rw-r--r--package/fetchmail/patches/patch-fetchmail_c15
-rw-r--r--package/fetchmail/patches/patch-mxget_c127
-rw-r--r--package/fetchmail/patches/patch-socket_c38
-rw-r--r--package/ffmpeg/Makefile32
-rw-r--r--package/ffmpeg/patches/patch-libavcodec_arm_synth_filter_vfp_S93
-rw-r--r--package/file/Makefile10
-rw-r--r--package/firefox/Makefile54
-rw-r--r--package/flac/Makefile7
-rw-r--r--package/flashrom/Makefile30
-rw-r--r--package/flatbuffers/Makefile39
-rw-r--r--package/flex/Makefile2
-rw-r--r--package/fltk/Makefile4
-rw-r--r--package/fluxbox/Makefile2
-rw-r--r--package/fluxbox/patches/patch-util_fluxbox-remote_cc11
-rw-r--r--package/fmt/Makefile5
-rw-r--r--package/font-adobe-100dpi/Makefile4
-rw-r--r--package/font-adobe-75dpi/Makefile4
-rw-r--r--package/font-util/Makefile4
-rw-r--r--package/font-util/patches/patch-fontutil_pc_in13
-rw-r--r--package/fontconfig/Makefile9
-rw-r--r--package/fping/Makefile4
-rw-r--r--package/fprobe/patches/patch-src_fprobe_c20
-rw-r--r--package/freeglut/Makefile4
-rw-r--r--package/freeglut/patches/patch-src_fg_gl2_c23
-rw-r--r--package/freeglut/patches/patch-src_fg_gl2_h23
-rw-r--r--package/freeglut/patches/patch-src_fg_version_h16
-rw-r--r--package/freeradius-server/Makefile37
-rw-r--r--package/freeradius-server/files/radiusd.conf8
-rw-r--r--package/freeradius-server/patches/patch-acinclude_m4164
-rw-r--r--package/freeradius-server/patches/patch-scripts_libtool_mk14
-rw-r--r--package/freeradius-server/patches/patch-src_include_threads_h33
-rw-r--r--package/freeradius-server/patches/patch-src_main_tls_c16
-rw-r--r--package/freeswitch/Makefile18
-rw-r--r--package/freeswitch/patches/patch-libs_srtp_crypto_hash_hmac_ossl_c22
-rw-r--r--package/freetype/Makefile20
-rw-r--r--package/freetype/patches/patch-builds_unix_freetype-config_in16
-rw-r--r--package/freetype/patches/patch-builds_unix_freetype2_in15
-rw-r--r--package/fribidi/Makefile8
-rw-r--r--package/fstrcmp/Makefile24
-rw-r--r--package/fstrcmp/patches/patch-Makefile_in11
-rw-r--r--package/fuse/Makefile8
-rw-r--r--package/fuse/patches/patch-include_fuse_kernel_h16
-rw-r--r--package/fuse3/Makefile47
-rw-r--r--package/fuse3/patches/patch-util_install_helper_sh22
-rw-r--r--package/fuse3/patches/patch-util_meson_build12
-rw-r--r--package/fwupdate/Makefile6
-rw-r--r--package/fwupdate/files/fwupdate.postinst3
-rw-r--r--package/fwupdate/files/fwupdate.service9
-rwxr-xr-xpackage/fwupdate/src/fwupdate45
-rwxr-xr-xpackage/fwupdate/src/fwvalidate50
-rw-r--r--package/gatling/Makefile12
-rw-r--r--package/gatling/patches/patch-GNUmakefile16
-rw-r--r--package/gatling/patches/patch-http_c19
-rw-r--r--package/gcc/Makefile2
-rw-r--r--package/gcr/Makefile19
-rw-r--r--package/gdb/Makefile16
-rw-r--r--package/gdb/patches/patch-gdb_configure96
-rw-r--r--package/gdb/patches/patch-gdb_riscv-tdep_c12
-rw-r--r--package/gdbm/Makefile4
-rw-r--r--package/gdbserver/Makefile18
-rw-r--r--package/gdk-pixbuf/Makefile4
-rw-r--r--package/genimage/Makefile4
-rw-r--r--package/gettext/Makefile1
-rw-r--r--package/git/Makefile16
-rw-r--r--package/glib/Makefile71
-rw-r--r--package/glib/patches/patch-glib_gnulib_meson_build12
-rw-r--r--package/glib/patches/patch-meson_build10
-rw-r--r--package/glibc/Makefile30
-rw-r--r--package/glu/Makefile6
-rw-r--r--package/gmediaserver/Makefile4
-rw-r--r--package/gmediaserver/patches/patch-src_metadata_c78
-rw-r--r--package/gmp/patches/patch-longlong_h11
-rw-r--r--package/gnupg/Makefile6
-rw-r--r--package/gnupg/patches/patch-doc_Makefile_in6
-rw-r--r--package/gnupg/patches/patch-g10_options_h11
-rw-r--r--package/gnupg/patches/patch-include_cipher_h11
-rw-r--r--package/gnupg/patches/patch-include_iobuf_h11
-rw-r--r--package/gnupg/patches/patch-include_memory_h11
-rw-r--r--package/gnupg/patches/patch-include_mpi_h11
-rw-r--r--package/gnupg2/Makefile11
-rw-r--r--package/gnupg2/patches/patch-Makefile_in23
-rw-r--r--package/gnutls/Makefile11
-rw-r--r--package/gpgme/Makefile4
-rw-r--r--package/gpm/patches/patch-src_headers_daemon_h11
-rw-r--r--package/gpsd/Makefile6
-rw-r--r--package/gpsd/patches/patch-SConstruct12
-rw-r--r--package/gpsd/patches/patch-gpsmon_c13
-rw-r--r--package/gptfdisk/Makefile4
-rw-r--r--package/grep/Makefile9
-rw-r--r--package/grub/Makefile9
-rw-r--r--package/grub/files/grub-dual.cfg12
-rw-r--r--package/grub/files/grub.cfg6
-rw-r--r--package/grub/patches/patch-grub-core_Makefile_am10
-rw-r--r--package/gst-plugins-base/Makefile11
-rw-r--r--package/gst-plugins-good/Makefile11
-rw-r--r--package/gstreamer/Makefile19
-rw-r--r--package/gzip/Makefile4
-rw-r--r--package/harfbuzz/Makefile22
-rw-r--r--package/harfbuzz/patches/patch-Makefile_in11
-rw-r--r--package/harfbuzz/patches/patch-src_harfbuzz_pc_in18
-rw-r--r--package/haveged/Makefile10
-rw-r--r--package/hdparm/Makefile4
-rw-r--r--package/heimdal/Makefile12
-rw-r--r--package/heimdal/patches/heimdal_tinfo.patch23
-rw-r--r--package/heimdal/patches/patch-cf_check-compile-et_m417
-rw-r--r--package/heimdal/patches/patch-lib_com_err_Makefile_am11
-rw-r--r--package/heimdal/patches/patch-lib_krb5_crypto-rand_c30
-rw-r--r--package/heimdal/patches/patch-lib_roken_roken_h_in11
-rw-r--r--package/heimdal/src/cf/roken-h-process.pl184
-rw-r--r--package/heyu/Makefile10
-rw-r--r--package/heyu/patches/patch-tty_c12
-rw-r--r--package/heyu/patches/patch-x10state_c12
-rw-r--r--package/hostapd/Makefile7
-rw-r--r--package/htop/Makefile8
-rw-r--r--package/httping/Makefile20
-rw-r--r--package/hugo/Makefile37
-rw-r--r--package/hush/Makefile4
-rw-r--r--package/hush/files/config155
-rw-r--r--package/hwdata/Makefile51
-rw-r--r--package/hwdata/patches/patch-hwdata_pc_in10
-rw-r--r--package/hwids/Makefile61
-rw-r--r--package/icecast/Makefile5
-rw-r--r--package/icu4c/Makefile10
-rw-r--r--package/ipmitool/Makefile12
-rw-r--r--package/iproute2/Makefile4
-rw-r--r--package/iptables-snmp/Makefile30
-rw-r--r--package/iptables-snmp/patches/patch-Makefile_in11
-rw-r--r--package/iptables-snmp/patches/patch-iptables-snmp_c12
-rw-r--r--package/iptables-snmp/patches/patch-libiptc_libip6tc_c11
-rw-r--r--package/iptables/Makefile10
-rw-r--r--package/iptraf-ng/Makefile32
-rw-r--r--package/iptraf-ng/patches/patch-Makefile11
-rw-r--r--package/iptraf/patches/patch-src_Makefile9
-rw-r--r--package/iptraf/patches/patch-src_isdntab_c10
-rw-r--r--package/iptraf/patches/patch-src_packet_c40
-rw-r--r--package/irssi/Makefile4
-rw-r--r--package/iw/Makefile4
-rw-r--r--package/jack/Makefile2
-rw-r--r--package/jack2/Makefile11
-rw-r--r--package/jack2/patches/patch-wscript23
-rw-r--r--package/kbd/Makefile6
-rw-r--r--package/kexec-tools/Makefile8
-rw-r--r--package/keychain/Makefile8
-rw-r--r--package/kismet/Makefile51
-rw-r--r--package/kismet/patches/patch-configure_in12
-rw-r--r--package/kismet/patches/patch-dumpfile_tuntap_h18
-rw-r--r--package/kmod/Makefile5
-rw-r--r--package/knxd/Makefile13
-rw-r--r--package/knxd/patches/patch-tools_version_sh10
-rw-r--r--package/kodi/Makefile96
-rw-r--r--package/kodi/files/kodi.init4
-rw-r--r--package/kodi/patches/patch-CMakeLists_txt27
-rw-r--r--package/kodi/patches/patch-cmake_KodiConfig_cmake_in20
-rw-r--r--package/kodi/patches/patch-tools_depends_native_TexturePacker_CMakeLists_txt20
-rw-r--r--package/kodi/patches/patch-tools_depends_native_TexturePacker_src_decoder_GifHelper_cpp15
-rw-r--r--package/kodi/patches/patch-xbmc_cores_AudioEngine_Sinks_AESinkALSA_cpp30
-rw-r--r--package/kodi/patches/patch-xbmc_platform_linux_CPUInfoLinux_cpp31
-rw-r--r--package/lame/Makefile4
-rw-r--r--package/lftp/Makefile4
-rw-r--r--package/lftp/patches/patch-src_FileCopy_cc11
-rw-r--r--package/lftp/patches/patch-src_NetAccess_cc11
-rw-r--r--package/lftp/patches/patch-src_ResMgr_cc11
-rw-r--r--package/lftp/patches/patch-src_Speedometer_cc11
-rw-r--r--package/lftp/patches/patch-src_lftp_ssl_cc38
-rw-r--r--package/libX11/Makefile4
-rw-r--r--package/libX11/patches/patch-src_util_Makefile_in13
-rw-r--r--package/libXrandr/Makefile2
-rw-r--r--package/libaio/Makefile28
-rw-r--r--package/libao/Makefile4
-rw-r--r--package/libargon2/Makefile40
-rw-r--r--package/libass/Makefile4
-rw-r--r--package/libassuan/Makefile4
-rw-r--r--package/libatomic/Makefile31
-rw-r--r--package/libbsd/Makefile27
-rw-r--r--package/libcap-ng/Makefile28
-rw-r--r--package/libcap-ng/patches/patch-INSTALL521
-rw-r--r--package/libcap-ng/patches/patch-autogen_sh9
-rw-r--r--package/libcap/Makefile10
-rw-r--r--package/libcap/patches/patch-Make_Rules49
-rw-r--r--package/libcap/patches/patch-Makefile14
-rw-r--r--package/libcap/patches/patch-libcap_Makefile22
-rw-r--r--package/libcap/patches/patch-libcap__makenames_c11
-rw-r--r--package/libcap/patches/patch-libcap_libcap_pc_in6
-rw-r--r--package/libcap/patches/patch-progs_Makefile12
-rw-r--r--package/libcdada/Makefile31
-rw-r--r--package/libcdada/patches/patch-configure_ac22
-rw-r--r--package/libcdio/Makefile12
-rw-r--r--package/libcec/Makefile17
-rw-r--r--package/libcec/patches/libcec-00-imx6-support.patch879
-rw-r--r--package/libcec/patches/patch-src_cec-client_CMakeLists_txt10
-rw-r--r--package/libdisplay-info/Makefile31
-rw-r--r--package/libdrm/Makefile17
-rw-r--r--package/libedit/Makefile26
-rw-r--r--package/libedit/patches/patch-src_sys_h11
-rw-r--r--package/libepoxy/Makefile18
-rw-r--r--package/libesmtp/Makefile38
-rw-r--r--package/libesmtp/patches/patch-Makefile_am12
-rw-r--r--package/libesmtp/patches/patch-crammd5_Makefile_am12
-rw-r--r--package/libesmtp/patches/patch-login_Makefile_am12
-rw-r--r--package/libesmtp/patches/patch-meson_build42
-rw-r--r--package/libesmtp/patches/patch-meson_options_txt7
-rw-r--r--package/libesmtp/patches/patch-ntlm_Makefile_am12
-rw-r--r--package/libesmtp/patches/patch-ntlm_meson_build11
-rw-r--r--package/libesmtp/patches/patch-plain_Makefile_am12
-rw-r--r--package/libevdev/Makefile25
-rw-r--r--package/libevent/Makefile6
-rw-r--r--package/libfastjson/Makefile4
-rw-r--r--package/libffi/Makefile11
-rw-r--r--package/libffi/patches/patch-include_Makefile_am9
-rw-r--r--package/libffi/patches/patch-libffi_pc_in16
-rw-r--r--package/libgc/Makefile6
-rw-r--r--package/libgc/patches/patch-os_dep_c39
-rw-r--r--package/libgcc/Makefile2
-rw-r--r--package/libgcrypt/Makefile5
-rw-r--r--package/libgpg-error/Makefile20
-rw-r--r--package/libgpg-error/patches/0001-core-Fix-regression-on-arm64-due-to-invalid-use-of-v.patch56
-rw-r--r--package/libgpg-error/patches/patch-configure31
-rw-r--r--package/libgpg-error/src/src/syscfg/lock-obj-pub.xtensa-unknown-linux-gnu.h24
-rw-r--r--package/libgtk3/Makefile10
-rw-r--r--package/libinih/Makefile36
-rw-r--r--package/libinput/Makefile39
-rw-r--r--package/libjansson/Makefile8
-rw-r--r--package/libksba/Makefile4
-rw-r--r--package/libmd/Makefile25
-rw-r--r--package/libmicrohttpd/Makefile6
-rw-r--r--package/libmpdclient/Makefile4
-rw-r--r--package/libmpdclient/patches/patch-src_socket_c10
-rw-r--r--package/libmpdclient/patches/patch-src_sync_c11
-rw-r--r--package/libmspack/Makefile26
-rw-r--r--package/libnettle/Makefile4
-rw-r--r--package/libnl/patches/patch-autogen_sh7
-rw-r--r--package/libnl/patches/patch-lib_utils_c6
-rw-r--r--package/libnl/patches/patch-src_lib_utils_c8
-rw-r--r--package/libowfat/Makefile15
-rw-r--r--package/libowfat/patches/patch-GNUmakefile28
-rw-r--r--package/libp11/Makefile10
-rw-r--r--package/libp11/patches/patch-ltmain_sh11
-rw-r--r--package/libpcap/Makefile4
-rw-r--r--package/libpciaccess/Makefile4
-rw-r--r--package/libptytty/Makefile32
-rw-r--r--package/libptytty/patches/patch-CMakeLists_txt13
-rw-r--r--package/libressl/Makefile14
-rw-r--r--package/libressl/patches/patch-Makefile_in11
-rw-r--r--package/libseat/Makefile31
-rw-r--r--package/libshout/Makefile4
-rw-r--r--package/libsndfile/Makefile4
-rw-r--r--package/libssh/Makefile7
-rw-r--r--package/libssh/patches/patch-CompilerChecks_cmake32
-rw-r--r--package/libssh/patches/patch-cmake_Modules_DefineCompilerFlags_cmake14
-rw-r--r--package/libssh/patches/patch-include_libssh_libssh_h8
-rw-r--r--package/libssh2/Makefile4
-rw-r--r--package/libtasn1/Makefile4
-rw-r--r--package/libtiff/Makefile8
-rw-r--r--package/libtiff/patches/patch-libtiff-4_pc_in14
-rw-r--r--package/libtirpc/Makefile9
-rw-r--r--package/libtirpc/patches/patch-Makefile_am54
-rw-r--r--package/libtirpc/patches/patch-configure_ac23
-rw-r--r--package/libtirpc/patches/patch-src_clnt_bcast_c15
-rw-r--r--package/libtirpc/patches/patch-src_clnt_fd_locks_h11
-rw-r--r--package/libtirpc/patches/patch-src_svc_auth_c12
-rw-r--r--package/libtorrent/Makefile11
-rw-r--r--package/libtorrent/patches/patch-configure_ac18
-rw-r--r--package/libtorrent/patches/patch-scripts_ax_check_zlib_m411
-rw-r--r--package/libudfread/Makefile28
-rwxr-xr-xpackage/libunistring/Makefile4
-rw-r--r--package/liburcu/Makefile27
-rw-r--r--package/libuv/Makefile29
-rw-r--r--package/libuv/patches/patch-libuv_pc_in12
-rw-r--r--package/libvncserver/Makefile33
-rw-r--r--package/libvpx/Makefile16
-rw-r--r--package/libvpx/patches/patch-configure18
-rw-r--r--package/libwebp/Makefile14
-rw-r--r--package/libwebsockets/Makefile31
-rw-r--r--package/libx264/Makefile2
-rw-r--r--package/libx265/Makefile6
-rw-r--r--package/libxcb/Makefile10
-rw-r--r--package/libxcrypt/Makefile30
-rw-r--r--package/libxcvt/Makefile30
-rw-r--r--package/libxkbcommon/Makefile35
-rw-r--r--package/libxml2/Makefile34
-rw-r--r--package/libxml2/patches/patch-Makefile_am14
-rw-r--r--package/libxml2/patches/patch-configure_ac96
-rw-r--r--package/libxml2/patches/patch-python_Makefile_am12
-rw-r--r--package/libxslt/Makefile12
-rw-r--r--package/lighttpd/Makefile18
-rw-r--r--package/linux-atm/Makefile10
-rw-r--r--package/linux-atm/patches/patch-ltmain_sh11
-rw-r--r--package/linux-atm/patches/patch-src_Makefile_am7
-rw-r--r--package/linux-atm/patches/patch-src_Makefile_in8
-rw-r--r--package/linux-atm/patches/patch-src_qgen_Makefile_in40
-rw-r--r--package/linux-atm/patches/patch-src_sigd_Makefile_in6
-rw-r--r--package/linux-atm/patches/patch-src_switch_Makefile_in6
-rw-r--r--package/linux-atm/patches/patch-src_switch_debug_Makefile_in6
-rw-r--r--package/linux-atm/patches/patch-src_switch_tcp_Makefile_in6
-rw-r--r--package/lirc/Makefile5
-rw-r--r--package/logitechmediaserver/Makefile8
-rw-r--r--package/logitechmediaserver/patches/patch-Slim_Utils_OS_Linux_pm13
-rw-r--r--package/logrotate/Makefile11
-rw-r--r--package/logrotate/patches/patch-Makefile36
-rw-r--r--package/ltp/Makefile21
-rw-r--r--package/ltp/patches/patch-Makefile11
-rw-r--r--package/ltp/patches/patch-runtest_mm8
-rw-r--r--package/ltp/patches/patch-runtest_sched13
-rw-r--r--package/ltp/patches/patch-runtest_syscalls11
-rw-r--r--package/ltp/patches/patch-testcases_kernel_syscalls_fanotify_fanotify02_c10
-rw-r--r--package/ltp/patches/patch-testcases_kernel_syscalls_fanotify_fanotify04_c10
-rw-r--r--package/ltp/patches/patch-testcases_kernel_syscalls_pkeys_pkey01_c35
-rw-r--r--package/ltp/patches/patch-testcases_kernel_syscalls_pkeys_pkey_h53
-rw-r--r--package/lttng-tools/Makefile9
-rw-r--r--package/lttng-tools/patches/patch-configure_ac19
-rw-r--r--package/lttng-tools/patches/patch-src_bin_lttng-sessiond_thread_c11
-rw-r--r--package/lttng-tools/patches/patch-src_common_fd-handle_c20
-rw-r--r--package/lttng-tools/patches/patch-src_common_shm_c20
-rw-r--r--package/luajit/Makefile12
-rw-r--r--package/lvm/Makefile15
-rw-r--r--package/lvm/files/lvm.conf4
-rw-r--r--package/lvm/patches/0001-configure-support-builds-without-versioning.patch273
-rw-r--r--package/lvm/patches/patch-Makefile_in20
-rw-r--r--package/lvm/patches/patch-conf_Makefile_in23
-rw-r--r--package/lvm/patches/patch-configure_in45
-rw-r--r--package/lvm/patches/patch-lib_mm_memlock_c76
-rw-r--r--package/lvm/patches/patch-libdm_Makefile_in49
-rw-r--r--package/lvm/patches/patch-make_tmpl_in28
-rw-r--r--package/lvm/patches/patch-scripts_Makefile_in12
-rw-r--r--package/lvm/patches/patch-tools_Makefile_in48
-rw-r--r--package/lvm/patches/patch-tools_lvmcmdline_c34
-rw-r--r--package/lynx/Makefile13
-rw-r--r--package/lynx/patches/patch-WWW_Library_Implementation_HTTP_c11
-rw-r--r--package/lynx/patches/patch-WWW_Library_Implementation_HTUtils_h34
-rw-r--r--package/lynx/patches/patch-makefile_in11
-rw-r--r--package/lynx/patches/patch-src_chrtrans_makeuctb_c10
-rw-r--r--package/lz4/Makefile4
-rw-r--r--package/lz4/patches/patch-lib_liblz4_pc_in10
-rw-r--r--package/lzip/Makefile4
-rw-r--r--package/lzip/patches/patch-configure14
-rw-r--r--package/m4/Makefile4
-rw-r--r--package/m4/patches/0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch166
-rw-r--r--package/m4/patches/patch-lib_vasnprintf_c28
-rw-r--r--package/make/Makefile6
-rw-r--r--package/make/patches/patch-configure_ac14
-rw-r--r--package/mariadb/Makefile19
-rw-r--r--package/mbedtls/Makefile12
-rw-r--r--package/mbedtls/patches/patch-Makefile35
-rw-r--r--package/mc/Makefile12
-rw-r--r--package/mc/patches/patch-lib_tty_tty-ncurses_c42
-rw-r--r--package/mdadm/Makefile7
-rw-r--r--package/mdadm/patches/patch-Makefile32
-rw-r--r--package/mesa-demos/Makefile25
-rw-r--r--package/mesa/Makefile34
-rw-r--r--package/mesa/patches/patch-src_mapi_glapi_glapi_gentable_c14
-rw-r--r--package/meson/Makefile14
-rw-r--r--package/meson/src/cross-compilation.conf.in8
-rw-r--r--package/meson/src/host-compilation.conf.in12
-rw-r--r--package/mgetty/Makefile11
-rw-r--r--package/mgetty/patches/patch-Makefile77
-rw-r--r--package/mgetty/patches/patch-g3_Makefile12
-rw-r--r--package/mgetty/patches/patch-g3_g3cat_c38
-rw-r--r--package/mgetty/patches/patch-g3_pbm2g3_c38
-rw-r--r--package/mgetty/patches/patch-logfile_c17
-rw-r--r--package/midori/Makefile49
-rw-r--r--package/midori/patches/patch-CMakeLists_txt13
-rw-r--r--package/minijail/Makefile38
-rw-r--r--package/minijail/patches/patch-common_mk15
-rw-r--r--package/minijail/patches/patch-libminijail_c12
-rw-r--r--package/mksh/Makefile8
-rw-r--r--package/mongrel2/Makefile8
-rw-r--r--package/mongrel2/patches/patch-Makefile36
-rw-r--r--package/mongrel2/patches/patch-tools_m2sh_Makefile14
-rw-r--r--package/monit/Makefile8
-rw-r--r--package/monit/patches/patch-configure49
-rw-r--r--package/monit/patches/patch-libmonit_configure49
-rw-r--r--package/mopd/Makefile1
-rw-r--r--package/mopd/src/Makefile2
-rw-r--r--package/mosquitto/Makefile6
-rw-r--r--package/motion/Makefile18
-rw-r--r--package/motion/patches/patch-config_h33
-rw-r--r--package/motion/patches/patch-configure20
-rw-r--r--package/motion/patches/patch-motion_init-Debian11
-rw-r--r--package/motion/patches/patch-motion_init-FreeBSD_sh11
-rw-r--r--package/mpc/Makefile11
-rw-r--r--package/mpd/Makefile120
-rw-r--r--package/mpd/files/mpd.conf1
-rw-r--r--package/mpfr/patches/patch-src_mpfr-longlong_h11
-rw-r--r--package/mpg123/Makefile15
-rw-r--r--package/mpg123/patches/patch-configure_ac11
-rw-r--r--package/mplayer/Makefile7
-rw-r--r--package/mplayer/patches/patch-stream_asf_streaming_c27
-rw-r--r--package/mtdev/Makefile26
-rw-r--r--package/mtr/Makefile11
-rw-r--r--package/mtr/patches/501-dns.patch511
-rw-r--r--package/mtr/patches/patch-curses_c21
-rw-r--r--package/mtr/patches/patch-report_c30
-rw-r--r--package/musl/Makefile8
-rw-r--r--package/mutt/Makefile4
-rw-r--r--package/mympd/Makefile33
-rw-r--r--package/mympd/files/mympd.init31
-rw-r--r--package/mympd/files/mympd.postinst7
-rw-r--r--package/mympd/patches/patch-src_compile_time_h_in13
-rw-r--r--package/mympd/patches/patch-src_main_c21
-rw-r--r--package/nano/Makefile6
-rw-r--r--package/ncurses/Makefile13
-rw-r--r--package/neon/Makefile8
-rw-r--r--package/netcat-openbsd/Makefile30
-rw-r--r--package/netcat-openbsd/src/Makefile20
-rw-r--r--package/netcat-openbsd/src/atomicio.c67
-rw-r--r--package/netcat-openbsd/src/atomicio.h39
-rw-r--r--package/netcat-openbsd/src/nc.1582
-rw-r--r--package/netcat-openbsd/src/netcat.c2305
-rw-r--r--package/netcat-openbsd/src/socks.c400
-rw-r--r--package/netperf/Makefile1
-rw-r--r--package/nfs-utils/Makefile12
-rw-r--r--package/nfs-utils/files/nfsd.exports2
-rw-r--r--package/nfs-utils/patches/patch-support_export_hostname_c20
-rw-r--r--package/nfs-utils/patches/patch-support_include_conffile_h11
-rw-r--r--package/nfs-utils/patches/patch-support_reexport_fsidd_c10
-rw-r--r--package/nfs-utils/patches/patch-support_reexport_reexport_c10
-rw-r--r--package/nfs-utils/patches/patch-tools_Makefile_am10
-rw-r--r--package/nfs-utils/patches/patch-tools_rpcgen_Makefile_am28
-rw-r--r--package/nfs-utils/patches/patch-tools_rpcgen_rpc_cout_c10
-rw-r--r--package/nfs-utils/patches/patch-tools_rpcgen_rpc_main_c38
-rw-r--r--package/nfs-utils/patches/patch-utils_mountd_v4root_c11
-rw-r--r--package/nfs-utils/patches/patch-utils_statd_rmtcall_c13
-rw-r--r--package/nginx/Makefile7
-rw-r--r--package/nginx/files/nginx.conf5
-rw-r--r--package/nginx/files/nginx.postinst3
-rw-r--r--package/nginx/patches/patch-auto_cc_conf28
-rw-r--r--package/nginx/patches/patch-auto_os_darwin10
-rw-r--r--package/nginx/patches/patch-auto_os_linux14
-rw-r--r--package/nginx/patches/patch-auto_unix58
-rw-r--r--package/nginx/patches/patch-src_os_unix_ngx_errno_c8
-rw-r--r--package/ninja/patches/patch-configure_py8
-rw-r--r--package/nmap/Makefile12
-rw-r--r--package/nodejs/Makefile28
-rw-r--r--package/nodejs/patches/patch-deps_v8_src_base_debug_stack_trace_posix_cc11
-rw-r--r--package/nodejs/patches/patch-deps_v8_src_log-utils_h11
-rw-r--r--package/nut/Makefile6
-rw-r--r--package/olsrd/Makefile13
-rw-r--r--package/olsrd/patches/patch-lib_pud_Makefile11
-rw-r--r--package/olsrd/patches/patch-lib_pud_src_gpsdclient_c98
-rw-r--r--package/olsrd/patches/patch-lib_pud_src_gpsdclient_h16
-rw-r--r--package/olsrd/patches/patch-src_cfgparser_local_mk17
-rw-r--r--package/open-iscsi/Makefile30
-rw-r--r--package/open-iscsi/patches/patch-usr_Makefile19
-rw-r--r--package/open-iscsi/patches/patch-usr_idbm_c10
-rw-r--r--package/open-iscsi/patches/patch-usr_iscsi_sysfs_c10
-rw-r--r--package/open-iscsi/patches/patch-usr_log_h17
-rw-r--r--package/open-iscsi/patches/patch-usr_mgmt_ipc_c35
-rw-r--r--package/openldap/Makefile6
-rw-r--r--package/openldap/patches/patch-libraries_libldap_tls_o_c67
-rw-r--r--package/openobex/Makefile4
-rw-r--r--package/openocd/Makefile4
-rw-r--r--package/opensc/Makefile9
-rw-r--r--package/opensips/Makefile17
-rw-r--r--package/openssh/Makefile20
-rw-r--r--package/openssl-pkcs11/Makefile30
-rw-r--r--package/openssl-pkcs11/patches/patch-ltmain_sh11
-rw-r--r--package/openssl/Makefile117
-rw-r--r--package/openssl/patches/patch-Configurations_unix-Makefile_tmpl20
-rw-r--r--package/openswan/Makefile16
-rw-r--r--package/openswan/patches/patch-Makefile_inc23
-rw-r--r--package/openswan/patches/patch-include_arpa_nameser_h128
-rw-r--r--package/openswan/patches/patch-lib_libalgoparse_kernel_alg_c11
-rw-r--r--package/openswan/patches/patch-lib_libalgoparse_klips_interface_c11
-rw-r--r--package/openswan/patches/patch-lib_libipsecconf_keywords_c11
-rw-r--r--package/openswan/patches/patch-lib_libipsecconf_oeconns_c11
-rw-r--r--package/openswan/patches/patch-lib_libopenswan_kernel_alg_c11
-rw-r--r--package/openswan/patches/patch-lib_liboswlog_oswlog_c11
-rw-r--r--package/openvpn/Makefile10
-rw-r--r--package/openvpn/patches/patch-src_openvpn_ssl_openssl_c29
-rw-r--r--package/opkg/Makefile5
-rw-r--r--package/opus/Makefile4
-rw-r--r--package/owfs/Makefile6
-rw-r--r--package/p5-anyevent/Makefile4
-rw-r--r--package/p5-html-parser/Makefile6
-rw-r--r--package/p5-parse-yapp/Makefile42
-rw-r--r--package/p5-sub-name/Makefile6
-rw-r--r--package/p5-xml-parser-expat/Makefile4
-rw-r--r--package/p5-xml-parser/Makefile4
-rw-r--r--package/p5-yaml-xs/Makefile6
-rw-r--r--package/p8-platform/Makefile29
-rw-r--r--package/pango/Makefile20
-rw-r--r--package/parted/Makefile6
-rw-r--r--package/pciutils/Makefile3
-rw-r--r--package/pcre/Makefile4
-rw-r--r--package/pcre2/Makefile40
-rw-r--r--package/pdnsd/Makefile41
-rw-r--r--package/pdnsd/files/pdnsd.conf36
-rw-r--r--package/pdnsd/files/pdnsd.conffiles1
-rw-r--r--package/pdnsd/files/pdnsd.init34
-rw-r--r--package/pdnsd/files/pdnsd.postinst3
-rw-r--r--package/perf/Makefile6
-rw-r--r--package/perl/Makefile7
-rw-r--r--package/php/Makefile35
-rw-r--r--package/php/files/php.init4
-rw-r--r--package/picocom/Makefile4
-rw-r--r--package/picocom/patches/patch-Makefile18
-rw-r--r--package/picocom/patches/patch-linenoise-1_0_Makefile11
-rw-r--r--package/pinentry/Makefile26
-rw-r--r--package/pkgconf/Makefile15
-rw-r--r--package/platform/Makefile26
-rw-r--r--package/pmacct/Makefile11
-rw-r--r--package/pmacct/patches/patch-configure41
-rw-r--r--package/popt/Makefile15
-rw-r--r--package/popt/patches/patch-Makefile_am11
-rw-r--r--package/popt/patches/patch-ltmain_sh11
-rw-r--r--package/ppp/patches/patch-pppd_plugins_rp-pppoe_plugin_c15
-rw-r--r--package/protobuf-c/Makefile33
-rw-r--r--package/protobuf/Makefile6
-rw-r--r--package/pulseaudio/Makefile49
-rw-r--r--package/pulseaudio/patches/patch-Makefile_am11
-rw-r--r--package/pulseaudio/patches/patch-configure_ac55
-rw-r--r--package/py-spidev/Makefile6
-rw-r--r--package/pycurl/Makefile14
-rw-r--r--package/pycurl/patches/patch-setup_py12
-rw-r--r--package/pyrex/Makefile38
-rw-r--r--package/python-mako/Makefile33
-rw-r--r--package/python-setuptools/Makefile33
-rw-r--r--package/python2/Makefile150
-rw-r--r--package/python2/files/patch-Lib_distutils_sysconfig_py10
-rw-r--r--package/python2/files/python-config.patch21
-rw-r--r--package/python2/patches/0001-2.7-bpo-33127-Compatibility-patch-for-LibreSSL-2.7.0.patch79
-rw-r--r--package/python2/patches/patch-Makefile_pre_in40
-rw-r--r--package/python2/patches/patch-configure_ac22
-rw-r--r--package/python2/patches/patch-setup_py115
-rw-r--r--package/python3-jinja2/Makefile34
-rw-r--r--package/python3/Makefile61
-rw-r--r--package/python3/patches/patch-setup_py11
-rw-r--r--package/qingy/Makefile1
-rw-r--r--package/quagga/Makefile7
-rw-r--r--package/radvd/Makefile4
-rw-r--r--package/rdesktop/Makefile16
-rw-r--r--package/readline/Makefile7
-rw-r--r--package/rpcbind/Makefile11
-rw-r--r--package/rpcbind/files/rpcbind.init4
-rw-r--r--package/rpcbind/patches/patch-src_security_c50
-rw-r--r--package/rrdtool/Makefile10
-rw-r--r--package/rsync/Makefile17
-rw-r--r--package/rsyslog/Makefile12
-rw-r--r--package/rtorrent/Makefile2
-rw-r--r--package/ruby/Makefile17
-rw-r--r--package/ruby/patches/patch-configure16
-rw-r--r--package/rxvt-unicode/Makefile14
-rw-r--r--package/s6-linux-utils/Makefile34
-rw-r--r--package/s6-portable-utils/Makefile33
-rw-r--r--package/s6/Makefile39
-rw-r--r--package/samba/Makefile27
-rw-r--r--package/samba/files/cache.txt9
-rw-r--r--package/samba/files/samba.init5
-rw-r--r--package/samba/patches/patch-nsswitch_wins_c17
-rw-r--r--package/samba/patches/patch-source3_lib_util_c18
-rw-r--r--package/sane-backends/Makefile12
-rw-r--r--package/sane-backends/patches/patch-Makefile_in12
-rw-r--r--package/sane-backends/patches/patch-backend_canon630u-common_c12
-rw-r--r--package/sane-backends/patches/patch-backend_epson2-commands_c10
-rw-r--r--package/sane-backends/patches/patch-backend_genesys_c10
-rw-r--r--package/sane-backends/patches/patch-backend_genesys_h10
-rw-r--r--package/sane-backends/patches/patch-backend_genesys_low_c10
-rw-r--r--package/sane-backends/patches/patch-backend_hp3900_rts8822_c10
-rw-r--r--package/sane-backends/patches/patch-backend_hp5400_sanei_c10
-rw-r--r--package/sane-backends/patches/patch-backend_hp5590_low_c10
-rw-r--r--package/sane-backends/patches/patch-backend_kvs20xx_opt_c10
-rw-r--r--package/sane-backends/patches/patch-backend_microtek_c11
-rw-r--r--package/sane-backends/patches/patch-backend_pixma_bjnp_c22
-rw-r--r--package/sane-backends/patches/patch-backend_pixma_common_h13
-rw-r--r--package/sane-backends/patches/patch-backend_pixma_imageclass_c12
-rw-r--r--package/sane-backends/patches/patch-backend_rts88xx_lib_c10
-rw-r--r--package/sane-backends/patches/patch-backend_sm3600-scanutil_c11
-rw-r--r--package/sane-backends/patches/patch-backend_umax1220u-common_c12
-rw-r--r--package/sane-backends/patches/patch-backend_xerox_mfp_c10
-rw-r--r--package/sane-backends/patches/patch-configure90
-rw-r--r--package/sane-backends/patches/patch-configure_in11
-rw-r--r--package/sane-backends/patches/patch-include_sane_sanei_tcp_h10
-rw-r--r--package/sane-backends/patches/patch-include_sane_sanei_udp_h10
-rw-r--r--package/scons/Makefile14
-rw-r--r--package/screen/Makefile6
-rw-r--r--package/sdl/Makefile65
-rw-r--r--package/sdl2-mixer/Makefile29
-rw-r--r--package/sdl2-net/Makefile29
-rw-r--r--package/sdl2/Makefile33
-rw-r--r--package/section.lst1
-rw-r--r--package/serdisplib/Makefile5
-rw-r--r--package/serdisplib/patches/patch-Makefile_in12
-rw-r--r--package/serdisplib/patches/patch-configure22
-rw-r--r--package/serdisplib/patches/patch-include_serdisplib_serdisp_control_h12
-rw-r--r--package/serdisplib/patches/patch-src_Makefile_in12
-rw-r--r--package/serdisplib/patches/patch-src_serdisp_connect_c21
-rw-r--r--package/serdisplib/patches/patch-src_serdisp_connect_usb_c39
-rw-r--r--package/serdisplib/patches/patch-src_serdisp_control_c48
-rw-r--r--package/serdisplib/patches/patch-src_serdisp_tools_c30
-rw-r--r--package/shadow/Makefile32
-rw-r--r--package/shairport-sync/Makefile2
-rwxr-xr-xpackage/simpleinit/files/rc3
-rw-r--r--package/siproxd/Makefile4
-rw-r--r--package/sipsak/Makefile12
-rw-r--r--package/sipsak/patches/patch-configure9009
-rw-r--r--package/sipsak/patches/patch-configure_ac10
-rw-r--r--package/sipsak/patches/patch-header_f_c11
-rw-r--r--package/sipsak/patches/patch-header_f_h9
-rw-r--r--package/smartmontools/Makefile4
-rw-r--r--package/sngrep/Makefile4
-rw-r--r--package/snort/Makefile4
-rw-r--r--package/socat/Makefile4
-rw-r--r--package/sofia-sip/Makefile28
-rw-r--r--package/spandsp/Makefile30
-rw-r--r--package/spdlog/Makefile31
-rw-r--r--package/sqlite/Makefile15
-rw-r--r--package/squid/Makefile41
-rw-r--r--package/squid/patches/patch-configure_ac11
-rw-r--r--package/squid/patches/patch-include_SquidNew_h26
-rw-r--r--package/squid/patches/patch-libltdl_aclocal_m414
-rw-r--r--package/squid/patches/patch-src_Makefile_am11
-rw-r--r--package/squid/patches/patch-src_Makefile_in11
-rw-r--r--package/strace/Makefile9
-rw-r--r--package/strace/patches/riscv32.patch282
-rw-r--r--package/stress-ng/Makefile2
-rw-r--r--package/strongswan/Makefile4
-rw-r--r--package/strongswan/patches/patch-src_libstrongswan_plugins_openssl_openssl_plugin_c10
-rw-r--r--package/strongswan/patches/patch-src_libstrongswan_plugins_openssl_openssl_plugin_c.orig24
-rw-r--r--package/strongswan/patches/patch-src_libstrongswan_plugins_openssl_openssl_rsa_private_key_c11
-rw-r--r--package/strongswan/patches/patch-src_libstrongswan_plugins_openssl_openssl_rsa_public_key_c11
-rw-r--r--package/strongswan/patches/patch-src_libstrongswan_plugins_openssl_openssl_x_diffie_hellman_c6
-rw-r--r--package/strongswan/patches/patch-src_starter_netkey_c18
-rw-r--r--package/subversion/Makefile9
-rw-r--r--package/sudo/Makefile4
-rw-r--r--package/sudo/patches/patch-Makefile_in11
-rw-r--r--package/sudo/patches/patch-lib_util_Makefile_in15
-rw-r--r--package/supl/Makefile35
-rw-r--r--package/supl/patches/patch-configure11
-rw-r--r--package/supl/patches/patch-src_Makefile16
-rw-r--r--package/supl/patches/patch-src_supl-client_c40
-rw-r--r--package/supl/patches/patch-src_supl_c46
-rw-r--r--package/supl/patches/patch-src_supl_h19
-rw-r--r--package/sysdig/Makefile48
-rw-r--r--package/syslog-ng/Makefile13
-rw-r--r--package/syslog-ng/patches/patch-CMakeLists_txt10
-rw-r--r--package/sysstat/Makefile10
-rw-r--r--package/sysstat/patches/patch-Makefile79
-rw-r--r--package/systemd/Makefile138
-rw-r--r--package/systemd/files/systemd.postinst27
-rw-r--r--package/systemd/files/wired.network5
-rw-r--r--package/systemd/patches/patch-units_getty@_service_m411
-rw-r--r--package/systemd/patches/patch-units_serial-getty@_service_m411
-rw-r--r--package/sysvinit/Makefile29
-rw-r--r--package/sysvinit/patches/patch-src_Makefile13
-rw-r--r--package/taglib/Makefile6
-rw-r--r--package/taglib/patches/patch-taglib_pc_cmake19
-rw-r--r--package/talloc/Makefile7
-rw-r--r--package/tar/Makefile4
-rw-r--r--package/tcpdump/Makefile8
-rw-r--r--package/tcsh/Makefile4
-rw-r--r--package/tcsh/patches/patch-Makefile_in18
-rw-r--r--package/tcsh/patches/patch-sh_h23
-rw-r--r--package/tcsh/patches/patch-sh_proc_c11
-rw-r--r--package/tinyproxy/Makefile21
-rw-r--r--package/tinyproxy/files/tinyproxy.conf22
-rw-r--r--package/tinyproxy/files/tinyproxy.init4
-rw-r--r--package/tinyproxy/patches/patch-Makefile_am10
-rw-r--r--package/tinyproxy/patches/patch-configure_ac27
-rw-r--r--package/tinyxml2/Makefile33
-rw-r--r--package/tmux/Makefile7
-rw-r--r--package/tmux/patches/patch-configure_ac22
-rw-r--r--package/tntnet/Makefile68
-rw-r--r--package/tntnet/files/mime.conf22
-rw-r--r--package/tntnet/files/tntnet.conffiles3
-rw-r--r--package/tntnet/files/tntnet.init27
-rw-r--r--package/tntnet/files/tntnet.postinst6
-rw-r--r--package/tntnet/files/tntnet.properties31
-rw-r--r--package/tntnet/files/tntnet.xml49
-rw-r--r--package/tntnet/patches/patch-framework_common_gnutls_cpp10
-rw-r--r--package/toolbox/src/Makefile2
-rw-r--r--package/tor/Makefile8
-rw-r--r--package/trafshow/Makefile31
-rw-r--r--package/trafshow/patches/patch-Makefile_in54
-rw-r--r--package/trafshow/patches/patch-domain_resolver_c680
-rw-r--r--package/trafshow/patches/patch-session_c11
-rw-r--r--package/transmission/Makefile12
-rw-r--r--package/trinity/Makefile28
-rw-r--r--package/trinity/patches/patch-Makefile10
-rw-r--r--package/trinity/patches/patch-syscalls_prctl_c11
-rw-r--r--package/tvheadend/Makefile9
-rw-r--r--package/tvheadend/patches/patch-configure22
-rw-r--r--package/tvheadend/patches/patch-configure.orig11
-rw-r--r--package/twm/Makefile4
-rw-r--r--package/tzdata/Makefile4
-rw-r--r--package/tzdata/patches/patch-Makefile20
-rw-r--r--package/u-boot-h8300/Makefile3
-rw-r--r--package/u-boot-h8300/patches/dtc.patch11
-rw-r--r--package/u-boot-h8300/patches/patch-include_image_h13
-rw-r--r--package/u-boot/Makefile53
-rw-r--r--package/u-boot/files/boot.script.bpizero4
-rw-r--r--package/u-boot/files/boot.script.imx66
-rw-r--r--package/u-boot/files/boot.script.rockpi44
-rw-r--r--package/u-boot/files/fw_env.config2
-rwxr-xr-xpackage/u-boot/files/uboot_print_env5
-rwxr-xr-xpackage/u-boot/files/uboot_set_env5
-rw-r--r--package/u-boot/patches/patch-configs_bananapi_m2_p2_zero_defconfig18
-rw-r--r--package/u-boot/patches/patch-configs_rock-pi-4-rk3399_defconfig11
-rw-r--r--package/u-boot/patches/patch-configs_rock-pi-4c-rk3399_defconfig11
-rw-r--r--package/u-boot/patches/patch-tools_Makefile11
-rw-r--r--package/u-boot/src/bl31.elfbin0 -> 365344 bytes
-rw-r--r--package/uacme/Makefile30
-rw-r--r--package/uclibc-ng-test/Makefile15
-rw-r--r--package/uclibc-ng/Makefile14
-rw-r--r--package/udp-broadcast-relay/Makefile8
-rw-r--r--package/udp-broadcast-relay/patches/patch-main_c32
-rw-r--r--package/urlgrabber/Makefile38
-rw-r--r--package/urlgrabber/patches/patch-setup_py24
-rw-r--r--package/util-linux/Makefile13
-rw-r--r--package/v4l-utils/Makefile18
-rw-r--r--package/v4l-utils/patches/patch-utils_rds_rds-saa6588_c15
-rw-r--r--package/valgrind/Makefile17
-rw-r--r--package/vilistextum/Makefile2
-rw-r--r--package/vim/Makefile22
-rw-r--r--package/vlc/Makefile27
-rw-r--r--package/vlc/patches/patch-Makefile_am11
-rw-r--r--package/vlc/patches/patch-bin_Makefile_am11
-rw-r--r--package/vlc/patches/patch-configure_ac129
-rw-r--r--package/vlc/patches/patch-include_vlc_fixups_h15
-rw-r--r--package/vlc/patches/patch-modules_codec_avcodec_audio_c11
-rw-r--r--package/vlc/patches/patch-modules_codec_avcodec_encoder_c92
-rw-r--r--package/vlc/patches/patch-modules_codec_avcodec_vaapi_c11
-rw-r--r--package/vlc/patches/patch-modules_codec_avcodec_video_c51
-rw-r--r--package/vlc/patches/patch-modules_demux_avformat_demux_c46
-rw-r--r--package/vlc/patches/patch-src_posix_error_c13
-rw-r--r--package/vlc/patches/patch-src_posix_thread_c11
-rw-r--r--package/vnstat/Makefile10
-rw-r--r--package/w3m/Makefile2
-rw-r--r--package/wayland-protocols/Makefile33
-rw-r--r--package/wayland-protocols/patches/patch-meson_build11
-rw-r--r--package/wayland-protocols/patches/patch-wayland-protocols_pc_in10
-rw-r--r--package/wayland/Makefile53
-rw-r--r--package/webkitgtk/Makefile18
-rw-r--r--package/webkitgtk/patches/patch-Source_PlatformGTK_cmake7
-rw-r--r--package/weechat/Makefile21
-rw-r--r--package/weston/Makefile60
-rw-r--r--package/wifidog/Makefile1
-rw-r--r--package/wolfssl/Makefile10
-rw-r--r--package/wpa_supplicant/Makefile10
-rw-r--r--package/wput/Makefile1
-rw-r--r--package/x11vnc/Makefile19
-rw-r--r--package/x11vnc/patches/patch-src_util_c12
-rw-r--r--package/x11vnc/patches/patch-src_util_h15
-rw-r--r--package/xawtv/Makefile8
-rw-r--r--package/xcb-proto/Makefile29
-rw-r--r--package/xcb-proto/patches/patch-xcb-proto_pc_in14
-rw-r--r--package/xdm/Makefile9
-rw-r--r--package/xenomai/Makefile49
-rw-r--r--package/xf86-input-evdev/Makefile4
-rw-r--r--package/xf86-input-mouse/Makefile4
-rw-r--r--package/xf86-video-modesetting/Makefile29
-rw-r--r--package/xfsprogs/Makefile10
-rw-r--r--package/xfsprogs/patches/patch-io_Makefile13
-rw-r--r--package/xfsprogs/patches/patch-libxfs_Makefile14
-rw-r--r--package/xfsprogs/patches/patch-quota_Makefile13
-rw-r--r--package/xfsprogs/patches/patch-spaceman_Makefile13
-rw-r--r--package/xkeyboard-config/Makefile14
-rw-r--r--package/xkeyboard-config/patches/patch-Makefile_am10
-rw-r--r--package/xkeyboard-config/patches/patch-configure_ac13
-rw-r--r--package/xkeyboard-config/patches/patch-rules_Makefile_am10
-rw-r--r--package/xkeyboard-config/patches/patch-rules_base_extras_xml_in855
-rw-r--r--package/xkeyboard-config/patches/patch-rules_base_xml_in7654
-rw-r--r--package/xkeyboard-config/patches/patch-rules_evdev_extras_xml_in855
-rw-r--r--package/xkeyboard-config/patches/patch-rules_evdev_xml_in7654
-rw-r--r--package/xorg-server/Makefile28
-rw-r--r--package/xorg-server/patches/patch-configure11
-rw-r--r--package/xorg-server/patches/patch-hw_xfree86_common_compiler_h69
-rw-r--r--package/xorg-server/patches/patch-include_misc_h13
-rw-r--r--package/xorgproto/Makefile30
-rw-r--r--package/xsm/Makefile2
-rw-r--r--package/xterm/Makefile10
-rw-r--r--package/xterm/patches/patch-xterm_io_h11
-rw-r--r--package/xwayland/Makefile39
-rw-r--r--package/xwayland/patches/patch-hw_xwayland_xwayland-glx_c12
-rw-r--r--package/xwayland/patches/patch-include_misc_h51
-rw-r--r--package/xz/Makefile6
-rw-r--r--package/yajl/Makefile7
-rw-r--r--package/ympd/Makefile29
-rw-r--r--package/ympd/files/ympd.init29
-rw-r--r--package/ympd/files/ympd.postinst3
-rw-r--r--package/zile/Makefile9
-rw-r--r--package/zlib-ng/Makefile29
-rw-r--r--package/zlib/Makefile6
-rw-r--r--package/zsh/Makefile4
-rw-r--r--package/zstd/Makefile38
-rw-r--r--package/zstd/patches/patch-lib_Makefile11
-rw-r--r--package/zstd/patches/patch-programs_Makefile11
-rw-r--r--rules.mk1
-rwxr-xr-xscripts/config.guess1765
-rwxr-xr-xscripts/config.sub2736
-rwxr-xr-xscripts/create.sh8
-rwxr-xr-xscripts/flash-uboot.sh22
-rwxr-xr-xscripts/flash.sh26
-rwxr-xr-xscripts/gen_initramfs_list.sh328
-rwxr-xr-xscripts/install.sh75
-rwxr-xr-xscripts/kflash.py1566
-rwxr-xr-xscripts/nsim.sh11
-rw-r--r--scripts/patch_git.sh32
-rwxr-xr-xscripts/prereq.sh80
-rw-r--r--scripts/update-patches-git27
-rw-r--r--target/Makefile2
-rw-r--r--target/aarch64/Makefile39
-rw-r--r--target/aarch64/kernel/raspberry-pi3p-6410
-rw-r--r--target/aarch64/kernel/raspberry-pi4-641874
-rw-r--r--target/aarch64/kernel/raspberry-pi5149
-rw-r--r--target/aarch64/kernel/rockpi4-plus863
-rw-r--r--target/aarch64/rockpi4-plus/extlinux.conf4
-rw-r--r--target/aarch64/rockpi4-plus/genimage-dual.cfg34
-rw-r--r--target/aarch64/rockpi4-plus/genimage.cfg45
-rw-r--r--target/aarch64/systems/raspberry-pi3p-6426
-rw-r--r--target/aarch64/systems/raspberry-pi4-6426
-rw-r--r--target/aarch64/systems/raspberry-pi526
-rw-r--r--target/aarch64/systems/rockpi4-plus27
-rw-r--r--target/alpha/kernel/qemu-alpha1
-rw-r--r--target/arc/Makefile34
-rw-r--r--target/arc/kernel/qemu-arc3
-rw-r--r--target/arc/kernel/synopsys-hsdk7
-rw-r--r--target/arc/kernel/synopsys-nsim7
-rw-r--r--target/arc/systems/qemu-arc8
-rw-r--r--target/arc/uclibc-ng.config26
-rw-r--r--target/arch.lst2
-rw-r--r--target/arm/Makefile85
-rw-r--r--target/arm/banana-p2-zero/extlinux.conf4
-rw-r--r--target/arm/banana-p2-zero/genimage.cfg35
-rw-r--r--target/arm/kernel/banana-p2-zero323
-rw-r--r--target/arm/kernel/qemu-arm-realview-eb-mpcore1
-rw-r--r--target/arm/kernel/qemu-arm-spitz6
-rw-r--r--target/arm/kernel/qemu-arm-terrier6
-rw-r--r--target/arm/kernel/qemu-arm-versatilepb3
-rw-r--r--target/arm/kernel/qemu-arm-vexpress-a924
-rw-r--r--target/arm/kernel/raspberry-pi3p25
-rw-r--r--target/arm/kernel/raspberry-pi442
-rw-r--r--target/arm/kernel/solidrun-imx615
-rw-r--r--target/arm/kernel/st-stm32f4291
-rw-r--r--target/arm/kernel/st-stm32f746g28
-rw-r--r--target/arm/kernel/synology-ds414115
-rw-r--r--target/arm/st-stm32f746g/extlinux.conf4
-rw-r--r--target/arm/st-stm32f746g/genimage.cfg27
-rw-r--r--target/arm/systems/banana-p2-zero25
-rw-r--r--target/arm/systems/qemu-arm-xilinx-zynq1
-rw-r--r--target/arm/systems/raspberry-pi3p27
-rw-r--r--target/arm/systems/raspberry-pi427
-rw-r--r--target/arm/systems/st-stm32f746g14
-rw-r--r--target/arm/systems/synology-ds41420
-rw-r--r--target/arm/uclibc-ng-nommu.config234
-rw-r--r--target/arm/uclibc-ng.config16
-rw-r--r--target/avr32/Makefile5
-rw-r--r--target/avr32/patches/4.4.302/revert-futex.patch22
-rw-r--r--target/avr32/systems/atmel-ngw1001
-rw-r--r--target/bfin/Makefile2
-rw-r--r--target/bfin/uclibc-ng-nommu.config (renamed from target/bfin/uclibc-ng.config)0
-rw-r--r--target/c6x/uclibc-ng-nommu.config254
-rw-r--r--target/c6x/uclibc-ng.config243
-rw-r--r--target/config/Config.in6
-rw-r--r--target/config/Config.in.abi13
-rw-r--r--target/config/Config.in.binfmt21
-rw-r--r--target/config/Config.in.binutils56
-rw-r--r--target/config/Config.in.compiler76
-rw-r--r--target/config/Config.in.cpu141
-rw-r--r--target/config/Config.in.elf2flt19
-rw-r--r--target/config/Config.in.endian1
-rw-r--r--target/config/Config.in.gdb18
-rw-r--r--target/config/Config.in.kernelfmt20
-rw-r--r--target/config/Config.in.libc38
-rw-r--r--target/config/Config.in.libs2
-rw-r--r--target/config/Config.in.qemuopts8
-rw-r--r--target/config/Config.in.rootfs20
-rw-r--r--target/config/Config.in.runtime94
-rw-r--r--target/config/Config.in.threads3
-rw-r--r--target/config/Config.in.toolchain1
-rw-r--r--target/config/Config.in.tools10
-rw-r--r--target/csky/kernel/qemu-csky1
-rw-r--r--target/h8300/systems/hitachi-edosk26742
-rw-r--r--target/h8300/uclibc-ng-nommu.config (renamed from target/h8300/uclibc-ng.config)0
-rw-r--r--target/hppa/Makefile1
-rw-r--r--target/hppa/kernel/qemu-hppa1
-rw-r--r--target/kvx/Makefile61
-rw-r--r--target/kvx/kernel/generic-kvx3311
-rw-r--r--target/kvx/kernel/qemu-kvx3311
-rw-r--r--target/kvx/systems/qemu-kvx7
-rw-r--r--target/kvx/uclibc-ng.config248
-rw-r--r--target/linux/Config.in1
-rw-r--r--target/linux/Config.in.kernelcfg27
-rw-r--r--target/linux/Config.in.kernelversion124
-rw-r--r--target/linux/arch.lst2
-rw-r--r--target/linux/config/Config.in.arc5
-rw-r--r--target/linux/config/Config.in.audio26
-rw-r--r--target/linux/config/Config.in.block71
-rw-r--r--target/linux/config/Config.in.bluetooth12
-rw-r--r--target/linux/config/Config.in.bus1
-rw-r--r--target/linux/config/Config.in.compression19
-rw-r--r--target/linux/config/Config.in.cpu4
-rw-r--r--target/linux/config/Config.in.crypto57
-rw-r--r--target/linux/config/Config.in.ethernet44
-rw-r--r--target/linux/config/Config.in.fs25
-rw-r--r--target/linux/config/Config.in.fsopts3
-rw-r--r--target/linux/config/Config.in.graphics48
-rw-r--r--target/linux/config/Config.in.i2c20
-rw-r--r--target/linux/config/Config.in.input8
-rw-r--r--target/linux/config/Config.in.kernel88
-rw-r--r--target/linux/config/Config.in.m68k14
-rw-r--r--target/linux/config/Config.in.misc3
-rw-r--r--target/linux/config/Config.in.part5
-rw-r--r--target/linux/config/Config.in.rtc11
-rw-r--r--target/linux/config/Config.in.serial44
-rw-r--r--target/linux/config/Config.in.usb40
-rw-r--r--target/linux/config/Config.in.watchdog9
-rw-r--r--target/linux/config/Config.in.wireless14
-rw-r--r--target/linux/patches/3.16.81/startup.patch37
-rw-r--r--target/linux/patches/3.16.85/bsd-compatibility.patch (renamed from target/linux/patches/3.16.81/bsd-compatibility.patch)0
-rw-r--r--target/linux/patches/3.16.85/cleankernel.patch (renamed from target/linux/patches/3.16.81/cleankernel.patch)0
-rw-r--r--target/linux/patches/3.16.85/cris-header.patch (renamed from target/linux/patches/3.16.81/cris-header.patch)0
-rw-r--r--target/linux/patches/3.16.85/cris-initramfs.patch (renamed from target/linux/patches/3.16.81/cris-initramfs.patch)0
-rw-r--r--target/linux/patches/3.16.85/defaults.patch (renamed from target/linux/patches/3.16.81/defaults.patch)0
-rw-r--r--target/linux/patches/3.16.85/export-symbol-for-exmap.patch (renamed from target/linux/patches/3.16.81/export-symbol-for-exmap.patch)0
-rw-r--r--target/linux/patches/3.16.85/fblogo.patch (renamed from target/linux/patches/3.16.81/fblogo.patch)0
-rw-r--r--target/linux/patches/3.16.85/gemalto.patch (renamed from target/linux/patches/3.16.81/gemalto.patch)0
-rw-r--r--target/linux/patches/3.16.85/initramfs-nosizelimit.patch (renamed from target/linux/patches/3.16.81/initramfs-nosizelimit.patch)0
-rw-r--r--target/linux/patches/3.16.85/lemote-rfkill.patch (renamed from target/linux/patches/3.16.81/lemote-rfkill.patch)0
-rw-r--r--target/linux/patches/3.16.85/microblaze-ethernet.patch (renamed from target/linux/patches/3.16.81/microblaze-ethernet.patch)0
-rw-r--r--target/linux/patches/3.16.85/mkpiggy.patch (renamed from target/linux/patches/3.16.81/mkpiggy.patch)0
-rw-r--r--target/linux/patches/3.16.85/mtd-rootfs.patch (renamed from target/linux/patches/3.16.81/mtd-rootfs.patch)0
-rw-r--r--target/linux/patches/3.16.85/nfsv3-tcp.patch (renamed from target/linux/patches/3.16.81/nfsv3-tcp.patch)0
-rw-r--r--target/linux/patches/3.16.85/non-static.patch (renamed from target/linux/patches/3.16.81/non-static.patch)0
-rw-r--r--target/linux/patches/3.16.85/ppc64-missing-zlib.patch (renamed from target/linux/patches/3.16.81/ppc64-missing-zlib.patch)0
-rw-r--r--target/linux/patches/3.16.85/relocs.patch (renamed from target/linux/patches/3.16.81/relocs.patch)0
-rw-r--r--target/linux/patches/3.16.85/sgidefs.patch (renamed from target/linux/patches/3.16.81/sgidefs.patch)0
-rw-r--r--target/linux/patches/3.16.85/sortext.patch (renamed from target/linux/patches/3.16.81/sortext.patch)0
-rw-r--r--target/linux/patches/3.16.85/startup.patch25
-rw-r--r--target/linux/patches/3.16.85/wlan-cf.patch (renamed from target/linux/patches/3.16.81/wlan-cf.patch)0
-rw-r--r--target/linux/patches/3.16.85/xargs.patch (renamed from target/linux/patches/3.16.81/xargs.patch)0
-rw-r--r--target/linux/patches/4.14.168/startup.patch34
-rw-r--r--target/linux/patches/4.14.334/alpha-remove-coff.patch (renamed from target/linux/patches/4.14.168/alpha-remove-coff.patch)0
-rw-r--r--target/linux/patches/4.14.334/arm-nommu.patch (renamed from target/linux/patches/4.14.168/arm-nommu.patch)0
-rw-r--r--target/linux/patches/4.14.334/arm-thumb2.patch (renamed from target/linux/patches/4.14.168/arm-thumb2.patch)0
-rw-r--r--target/linux/patches/4.14.334/h8300.patch (renamed from target/linux/patches/4.14.168/h8300.patch)0
-rw-r--r--target/linux/patches/4.14.334/initramfs-nosizelimit.patch (renamed from target/linux/patches/4.14.168/initramfs-nosizelimit.patch)0
-rw-r--r--target/linux/patches/4.14.334/microblaze-sigaltstack.patch (renamed from target/linux/patches/4.14.168/microblaze-sigaltstack.patch)0
-rw-r--r--target/linux/patches/4.14.334/or1k-more-ram.patch (renamed from target/linux/patches/4.14.168/or1k-more-ram.patch)0
-rw-r--r--target/linux/patches/4.14.334/startup.patch25
-rw-r--r--target/linux/patches/4.14.334/vdso2.patch (renamed from target/linux/patches/4.14.168/vdso2.patch)0
-rw-r--r--target/linux/patches/4.16.17/startup.patch9
-rw-r--r--target/linux/patches/4.19.136/startup.patch34
-rw-r--r--target/linux/patches/4.19.310/arc.patch (renamed from target/linux/patches/4.19.136/arc.patch)0
-rw-r--r--target/linux/patches/4.19.310/arm-nommu.patch81
-rw-r--r--target/linux/patches/4.19.310/darwin-dtc.patch (renamed from target/linux/patches/4.19.136/darwin-dtc.patch)0
-rw-r--r--target/linux/patches/4.19.310/darwin-file2alias.patch (renamed from target/linux/patches/4.19.136/darwin-file2alias.patch)0
-rw-r--r--target/linux/patches/4.19.310/fec-coldfire.patch (renamed from target/linux/patches/4.19.136/fec-coldfire.patch)0
-rw-r--r--target/linux/patches/4.19.310/or1k-more-ram.patch (renamed from target/linux/patches/4.19.136/or1k-more-ram.patch)0
-rw-r--r--target/linux/patches/4.19.310/relocs.patch (renamed from target/linux/patches/4.19.136/relocs.patch)0
-rw-r--r--target/linux/patches/4.19.310/startup.patch25
-rw-r--r--target/linux/patches/4.19.310/vdso2.patch24
-rw-r--r--target/linux/patches/4.4.211/startup.patch34
-rw-r--r--target/linux/patches/4.4.302/coldfire-sighandler.patch (renamed from target/linux/patches/4.4.211/coldfire-sighandler.patch)0
-rw-r--r--target/linux/patches/4.4.302/crisv32.patch (renamed from target/linux/patches/4.4.211/crisv32.patch)0
-rw-r--r--target/linux/patches/4.4.302/crisv32_ethernet_driver.patch (renamed from target/linux/patches/4.4.211/crisv32_ethernet_driver.patch)0
-rw-r--r--target/linux/patches/4.4.302/h8300-net.patch81
-rw-r--r--target/linux/patches/4.4.302/h8300.patch (renamed from target/linux/patches/4.4.211/h8300.patch)0
-rw-r--r--target/linux/patches/4.4.302/initramfs-nosizelimit.patch (renamed from target/linux/patches/4.4.211/initramfs-nosizelimit.patch)0
-rw-r--r--target/linux/patches/4.4.302/ld-or1k.patch (renamed from target/linux/patches/4.4.211/ld-or1k.patch)0
-rw-r--r--target/linux/patches/4.4.302/macsonic.patch (renamed from target/linux/patches/4.4.211/macsonic.patch)0
-rw-r--r--target/linux/patches/4.4.302/mips-xz.patch (renamed from target/linux/patches/4.4.211/mips-xz.patch)0
-rw-r--r--target/linux/patches/4.4.302/patch-realtime (renamed from target/linux/patches/4.4.211/patch-realtime)0
-rw-r--r--target/linux/patches/4.4.302/startup.patch25
-rw-r--r--target/linux/patches/4.4.302/use-libgcc-for-sh.patch (renamed from target/linux/patches/4.4.211/use-libgcc-for-sh.patch)0
-rw-r--r--target/linux/patches/4.4.302/versatile-nommu.patch (renamed from target/linux/patches/4.4.211/versatile-nommu.patch)0
-rw-r--r--target/linux/patches/4.9.211/startup.patch34
-rw-r--r--target/linux/patches/4.9.287/alpha-remove-coff.patch (renamed from target/linux/patches/4.9.211/alpha-remove-coff.patch)0
-rw-r--r--target/linux/patches/4.9.287/arm-nommu.patch (renamed from target/linux/patches/4.9.211/arm-nommu.patch)0
-rw-r--r--target/linux/patches/4.9.287/arm-thumb2.patch (renamed from target/linux/patches/4.9.211/arm-thumb2.patch)0
-rw-r--r--target/linux/patches/4.9.287/crisv32_ethernet_driver.patch (renamed from target/linux/patches/4.9.211/crisv32_ethernet_driver.patch)0
-rw-r--r--target/linux/patches/4.9.287/h8300.patch (renamed from target/linux/patches/4.9.211/h8300.patch)0
-rw-r--r--target/linux/patches/4.9.287/hppa-remove-debug.patch (renamed from target/linux/patches/4.9.211/hppa-remove-debug.patch)0
-rw-r--r--target/linux/patches/4.9.287/initramfs-nosizelimit.patch (renamed from target/linux/patches/4.9.211/initramfs-nosizelimit.patch)0
-rw-r--r--target/linux/patches/4.9.287/ld-or1k.patch (renamed from target/linux/patches/4.9.211/ld-or1k.patch)0
-rw-r--r--target/linux/patches/4.9.287/macsonic.patch (renamed from target/linux/patches/4.9.211/macsonic.patch)0
-rw-r--r--target/linux/patches/4.9.287/microblaze-sigaltstack.patch (renamed from target/linux/patches/4.9.211/microblaze-sigaltstack.patch)0
-rw-r--r--target/linux/patches/4.9.287/or1k-more-ram.patch (renamed from target/linux/patches/4.9.211/or1k-more-ram.patch)0
-rw-r--r--target/linux/patches/4.9.287/patch-realtime (renamed from target/linux/patches/4.9.211/patch-realtime)0
-rw-r--r--target/linux/patches/4.9.287/sh2.patch (renamed from target/linux/patches/4.9.211/sh2.patch)0
-rw-r--r--target/linux/patches/4.9.287/startup.patch25
-rw-r--r--target/linux/patches/4.9.287/stm32.patch12
-rw-r--r--target/linux/patches/4.9.287/vdso2.patch (renamed from target/linux/patches/4.9.211/vdso2.patch)0
-rw-r--r--target/linux/patches/5.10.213/arc.patch (renamed from target/linux/patches/5.4.53/arc.patch)0
-rw-r--r--target/linux/patches/5.10.213/darwin-dtc.patch (renamed from target/linux/patches/5.4.53/darwin-dtc.patch)0
-rw-r--r--target/linux/patches/5.10.213/darwin-file2alias.patch (renamed from target/linux/patches/5.4.53/darwin-file2alias.patch)0
-rw-r--r--target/linux/patches/5.10.213/dtc-noyaml.patch (renamed from target/linux/patches/5.4.53/dtc-noyaml.patch)0
-rw-r--r--target/linux/patches/5.10.213/nds32-ag101p.patch64
-rw-r--r--target/linux/patches/5.10.213/or1k-more-ram.patch (renamed from target/linux/patches/5.4.53/or1k-more-ram.patch)0
-rw-r--r--target/linux/patches/5.10.213/relocs.patch (renamed from target/linux/patches/5.4.53/relocs.patch)0
-rw-r--r--target/linux/patches/5.10.213/startup.patch25
-rw-r--r--target/linux/patches/5.15.152/darwin-dtc.patch26
-rw-r--r--target/linux/patches/5.15.152/darwin-file2alias.patch14
-rw-r--r--target/linux/patches/5.15.152/dtc-noyaml.patch16
-rw-r--r--target/linux/patches/5.15.152/enable-ethernet-bpi-m2-plus.patch15
-rw-r--r--target/linux/patches/5.15.152/nds32-ag101p.patch64
-rw-r--r--target/linux/patches/5.15.152/or1k-more-ram.patch12
-rw-r--r--target/linux/patches/5.15.152/relocs.patch2698
-rw-r--r--target/linux/patches/5.15.152/rockchip-115200.patch12
-rw-r--r--target/linux/patches/5.15.152/startup.patch25
-rw-r--r--target/linux/patches/5.4.272/arc.patch12
-rw-r--r--target/linux/patches/5.4.272/arm-nommu.patch81
-rw-r--r--target/linux/patches/5.4.272/darwin-dtc.patch26
-rw-r--r--target/linux/patches/5.4.272/darwin-file2alias.patch14
-rw-r--r--target/linux/patches/5.4.272/dtc-noyaml.patch16
-rw-r--r--target/linux/patches/5.4.272/macsonic.patch11
-rw-r--r--target/linux/patches/5.4.272/or1k-more-ram.patch12
-rw-r--r--target/linux/patches/5.4.272/relocs.patch2698
-rw-r--r--target/linux/patches/5.4.272/sh4.patch11
-rw-r--r--target/linux/patches/5.4.272/startup.patch25
-rw-r--r--target/linux/patches/5.4.53/startup.patch21
-rw-r--r--target/linux/patches/59aeb16c7f1254f1383476956dda0766d10c918a/disable-gcc-plugins.patch22
-rw-r--r--target/linux/patches/59aeb16c7f1254f1383476956dda0766d10c918a/localversion.patch18
-rw-r--r--target/linux/patches/6.1.82/armnommu-fix-thread-registers.patch57
-rw-r--r--target/linux/patches/6.1.82/armnommu-versatile.patch101
-rw-r--r--target/linux/patches/6.1.82/board-rockpi4-0003-arm64-dts-pcie.patch35
-rw-r--r--target/linux/patches/6.1.82/enable-ethernet-bpi-m2-plus.patch15
-rw-r--r--target/linux/patches/6.1.82/hppa-cross-compile.patch12
-rw-r--r--target/linux/patches/6.1.82/macsonic.patch11
-rw-r--r--target/linux/patches/6.1.82/nios2.patch12
-rw-r--r--target/linux/patches/6.1.82/riscv32.patch49
-rw-r--r--target/linux/patches/6.1.82/riscv64-flat.patch19
-rw-r--r--target/linux/patches/6.1.82/rockchip-115200.patch12
-rw-r--r--target/linux/patches/6.1.82/rockchip-pcie-timeout.patch16
-rw-r--r--target/linux/patches/6.6.22/armnommu-fix-thread-registers.patch57
-rw-r--r--target/linux/patches/6.6.22/armnommu-versatile.patch101
-rw-r--r--target/linux/patches/6064a9bdf48cefbccc4f6472dd04251f0dec1931/startup.patch9
-rw-r--r--target/linux/patches/b6bfece0d9ddf21e1526fead81340ef02f98f6ad/defconfig.patch18
-rw-r--r--target/linux/patches/d5066442e39dd9bf4ba6431ffb3f99e3d5085d3f/defconfig.patch54
-rw-r--r--target/linux/patches/eb06d31da3e2025a2e578d8de9843e24b68137a6/defconfig.patch36
-rw-r--r--target/linux/patches/stable-4.4-rockpi4/serial-baudrate.patch23
-rw-r--r--target/lm32/Makefile2
-rw-r--r--target/lm32/kernel/qemu-lm3270
-rw-r--r--target/lm32/uclibc-ng-nommu.config212
-rw-r--r--target/lm32/uclibc-ng.config221
-rw-r--r--target/loongarch/Makefile62
-rw-r--r--target/loongarch/QEMU_EFI.fdbin0 -> 3801088 bytes
-rw-r--r--target/loongarch/kernel/qemu-loongarch10
-rw-r--r--target/loongarch/systems/qemu-loongarch8
-rw-r--r--target/m68k/Makefile10
-rw-r--r--target/m68k/kernel/aranym-m68k1
-rw-r--r--target/m68k/kernel/qemu-m68k-mcf52081
-rw-r--r--target/m68k/kernel/qemu-m68k-q8001
-rw-r--r--target/m68k/kernel/qemu-m68k-virt3
-rw-r--r--target/m68k/systems/qemu-m68k-mcf52083
-rw-r--r--target/m68k/systems/qemu-m68k-virt10
-rw-r--r--target/m68k/uclibc-ng-nommu.config229
-rw-r--r--target/m68k/uclibc-ng.config31
-rw-r--r--target/microblaze/kernel/qemu-microblaze-ml6051
-rw-r--r--target/microblaze/kernel/qemu-microblaze-s3adsp18001
-rw-r--r--target/microblaze/uclibc-ng.config20
-rw-r--r--target/mips/Makefile4
-rw-r--r--target/mips/kernel/qemu-mips1
-rw-r--r--target/mips/systems/imgtec-ci201
-rw-r--r--target/mips/uclibc-ng.config24
-rw-r--r--target/mips64/kernel/qemu-mips641
-rw-r--r--target/nios2/Makefile3
-rw-r--r--target/nios2/kernel/qemu-nios25
-rw-r--r--target/or1k/kernel/qemu-or1k1
-rw-r--r--target/or1k/uclibc-ng.config20
-rw-r--r--target/ppc/Makefile3
-rw-r--r--target/ppc/kernel/qemu-ppc-bamboo1
-rw-r--r--target/ppc/kernel/qemu-ppc-macppc1
-rw-r--r--target/ppc/kernel/qemu-ppc-mpc8544ds1
-rw-r--r--target/ppc/uclibc-ng.config21
-rw-r--r--target/riscv32/Makefile21
-rw-r--r--target/riscv32/kernel/qemu-riscv329
-rw-r--r--target/riscv32/uclibc-ng-nommu.config226
-rw-r--r--target/riscv32/uclibc-ng.config22
-rw-r--r--target/riscv64/Makefile37
-rw-r--r--target/riscv64/kernel/qemu-riscv649
-rw-r--r--target/riscv64/kernel/sipeed-maix-bit9
-rw-r--r--target/riscv64/systems/sipeed-maix-bit7
-rw-r--r--target/riscv64/uclibc-ng-nommu.config226
-rw-r--r--target/riscv64/uclibc-ng.config19
-rw-r--r--target/s390/Makefile13
-rw-r--r--target/s390/systems/qemu-s3901
-rw-r--r--target/sh/kernel/numato-mimasv21
-rw-r--r--target/sh/kernel/qemu-sh1
-rw-r--r--target/sh/uclibc-ng-nommu.config235
-rw-r--r--target/sh/uclibc-ng.config20
-rw-r--r--target/sparc/kernel/qemu-sparc1
-rw-r--r--target/sparc/uclibc-ng.config20
-rw-r--r--target/x86/Makefile5
-rw-r--r--target/x86/kernel/qemu-x861
-rw-r--r--target/x86/kernel/vbox-x864
-rw-r--r--target/x86/systems/vbox-x869
-rw-r--r--target/x86/uclibc-ng.config20
-rw-r--r--target/x86_64/Makefile9
-rw-r--r--target/x86_64/generic-x86_64/genimage-dual.cfg36
-rw-r--r--target/x86_64/generic-x86_64/genimage-efi-dual.cfg37
-rw-r--r--target/x86_64/generic-x86_64/genimage-efi.cfg30
-rw-r--r--target/x86_64/generic-x86_64/genimage.cfg30
-rw-r--r--target/x86_64/kernel/asus-p5bvm7
-rw-r--r--target/x86_64/kernel/lenovo-x2006
-rw-r--r--target/x86_64/qemu-x86_64/genimage-efi-dual.cfg11
-rw-r--r--target/x86_64/qemu-x86_64/genimage-efi.cfg9
-rw-r--r--target/xtensa/kernel/qemu-xtensa3
-rw-r--r--target/xtensa/uclibc-ng-nommu.config229
-rw-r--r--target/xtensa/uclibc-ng.config23
-rw-r--r--tasks/002-mpd6
-rw-r--r--tasks/003-kodi29
-rw-r--r--tasks/004-development12
-rw-r--r--tasks/008-nas29
-rw-r--r--toolchain/Makefile2
-rw-r--r--toolchain/binutils/Makefile9
-rw-r--r--toolchain/binutils/Makefile.inc56
-rw-r--r--toolchain/binutils/patches/2.20.1/newer-gcc.patch24
-rw-r--r--toolchain/binutils/patches/2.28/lm32.patch24
-rw-r--r--toolchain/binutils/patches/2.35/crisv32.patch12
-rw-r--r--toolchain/binutils/patches/2.37/0001-i386-Allow-GOT32-relocations-against-ABS-symbols.patch47
-rw-r--r--toolchain/binutils/patches/2.37/nds32-uclibc.patch15
-rw-r--r--toolchain/binutils/patches/2.38/0001-binutils-2.38-vs.-ppc32-linux-kernel.patch55
-rw-r--r--toolchain/binutils/patches/2.38/nds32-uclibc.patch15
-rw-r--r--toolchain/binutils/patches/2.41/lm32.patch24
-rw-r--r--toolchain/binutils/patches/2.42/j2.patch584
-rw-r--r--toolchain/binutils/patches/2.42/kvx.patch29
-rw-r--r--toolchain/elf2flt/Makefile24
-rw-r--r--toolchain/elf2flt/Makefile.inc8
-rw-r--r--toolchain/elf2flt/patches/26dfb54a59c8c0106418a0c46ccb4288d9e066fd/0001-riscv32.patch42
-rw-r--r--toolchain/elf2flt/patches/26dfb54a59c8c0106418a0c46ccb4288d9e066fd/0002-lm32.patch167
-rw-r--r--toolchain/elf2flt/patches/26dfb54a59c8c0106418a0c46ccb4288d9e066fd/0003-sh2.patch52
-rw-r--r--toolchain/elf2flt/patches/3051fec89bbd30de6f952dc3100712feff3ca076/0001-.rofixup-fix.patch33
-rw-r--r--toolchain/elf2flt/patches/453398f917d167f8c308c8f997270c48ae8f8b12/0004-elf2flt.c-add-new-relocation-types-for-xtensa.patch188
-rw-r--r--toolchain/elf2flt/patches/453398f917d167f8c308c8f997270c48ae8f8b12/0005-elf2flt-add-riscv-64-bits-support.patch137
-rw-r--r--toolchain/elf2flt/patches/453398f917d167f8c308c8f997270c48ae8f8b12/0008-remove_BFD_VMA_FMT.patch125
-rw-r--r--toolchain/elf2flt/patches/v2021.08/0001-elf2flt-handle-binutils-2.34.patch377
-rw-r--r--toolchain/elf2flt/patches/v2021.08/0002-elf2flt.ld-reinstate-32-byte-alignment-for-.data-sec.patch81
-rw-r--r--toolchain/elf2flt/patches/v2021.08/0003-elf2flt-add-riscv-64-bits-support.patch103
-rw-r--r--toolchain/elf2flt/patches/v2021.08/0004-elf2flt-create-a-common-helper-function.patch76
-rw-r--r--toolchain/elf2flt/patches/v2021.08/0005-elf2flt-fix-fatal-error-regression-on-m68k-xtensa-ri.patch74
-rw-r--r--toolchain/elf2flt/patches/v2021.08/0006-elf2flt-xtensa-fix-text-relocations.patch25
-rw-r--r--toolchain/elf2flt/patches/v2021.08/0007-riscv32.patch56
-rw-r--r--toolchain/elf2flt/patches/v2021.08/0008-remove_BFD_VMA_FMT.patch97
-rw-r--r--toolchain/elf2flt/patches/v2021.08/0009-riscv.patch11
-rw-r--r--toolchain/elf2flt/patches/v2024.02/0001-sh2.patch43
-rw-r--r--toolchain/elf2flt/patches/v2024.02/0002-h8300.patch20
-rw-r--r--toolchain/elf2flt/patches/v2024.02/0003-riscv64-alignment.patch12
-rw-r--r--toolchain/gcc/Makefile37
-rw-r--r--toolchain/gcc/Makefile.inc68
-rw-r--r--toolchain/gcc/patches/10.5.0/add-crtreloc.frv (renamed from toolchain/gcc/patches/8.4.0/add-crtreloc.frv)0
-rw-r--r--toolchain/gcc/patches/10.5.0/c6x-disable-multilib.patch (renamed from toolchain/gcc/patches/8.4.0/c6x-disable-multilib.patch)0
-rw-r--r--toolchain/gcc/patches/10.5.0/ia64-fix-libgcc.patch (renamed from toolchain/gcc/patches/7.4.0/ia64-fix-libgcc.patch)0
-rw-r--r--toolchain/gcc/patches/10.5.0/j2.patch346
-rw-r--r--toolchain/gcc/patches/10.5.0/nios2-softfp.patch (renamed from toolchain/gcc/patches/7.4.0/nios2-softfp.patch)0
-rw-r--r--toolchain/gcc/patches/10.5.0/revert-sparc.patch283
-rw-r--r--toolchain/gcc/patches/11.4.0/add-crtreloc.frv12
-rw-r--r--toolchain/gcc/patches/11.4.0/c6x-disable-multilib.patch10
-rw-r--r--toolchain/gcc/patches/11.4.0/csky.patch12
-rw-r--r--toolchain/gcc/patches/11.4.0/ia64-fix-libgcc.patch (renamed from toolchain/gcc/patches/8.4.0/ia64-fix-libgcc.patch)0
-rw-r--r--toolchain/gcc/patches/11.4.0/nios2-softfp.patch (renamed from toolchain/gcc/patches/8.4.0/nios2-softfp.patch)0
-rw-r--r--toolchain/gcc/patches/11.4.0/revert.sparc283
-rw-r--r--toolchain/gcc/patches/12.3.0/csky.patch12
-rw-r--r--toolchain/gcc/patches/12.3.0/nios2-softfp.patch14
-rw-r--r--toolchain/gcc/patches/13.2.0/csky.patch12
-rw-r--r--toolchain/gcc/patches/13.2.0/nios2-softfp.patch14
-rw-r--r--toolchain/gcc/patches/4.5.4/gcc.lm322
-rw-r--r--toolchain/gcc/patches/7.5.0/add-crtreloc.frv (renamed from toolchain/gcc/patches/7.4.0/add-crtreloc.frv)0
-rw-r--r--toolchain/gcc/patches/7.5.0/c6x-disable-multilib.patch (renamed from toolchain/gcc/patches/7.4.0/c6x-disable-multilib.patch)0
-rw-r--r--toolchain/gcc/patches/7.5.0/disable-split-stack-nothread.patch (renamed from toolchain/gcc/patches/7.4.0/disable-split-stack-nothread.patch)0
-rw-r--r--toolchain/gcc/patches/7.5.0/ia64-fix-libgcc.patch17
-rw-r--r--toolchain/gcc/patches/7.5.0/j2.patch (renamed from toolchain/gcc/patches/7.4.0/j2.patch)0
-rw-r--r--toolchain/gcc/patches/7.5.0/m68k-coldfire-pr68467.patch (renamed from toolchain/gcc/patches/7.4.0/m68k-coldfire-pr68467.patch)0
-rw-r--r--toolchain/gcc/patches/7.5.0/m68k-musl.patch (renamed from toolchain/gcc/patches/7.4.0/m68k-musl.patch)0
-rw-r--r--toolchain/gcc/patches/7.5.0/microblaze.patch (renamed from toolchain/gcc/patches/7.4.0/microblaze.patch)0
-rw-r--r--toolchain/gcc/patches/7.5.0/musl-s390x.patch (renamed from toolchain/gcc/patches/7.4.0/musl-s390x.patch)0
-rw-r--r--toolchain/gcc/patches/7.5.0/nios2-softfp.patch14
-rw-r--r--toolchain/gcc/patches/8.4.0/0002-xtensa-fix-PR-target-91880.patch49
-rw-r--r--toolchain/gcc/patches/8.5.0/add-crtreloc.frv12
-rw-r--r--toolchain/gcc/patches/8.5.0/c6x-disable-multilib.patch10
-rw-r--r--toolchain/gcc/patches/8.5.0/ia64-fix-libgcc.patch17
-rw-r--r--toolchain/gcc/patches/8.5.0/j2.patch (renamed from toolchain/gcc/patches/8.4.0/j2.patch)0
-rw-r--r--toolchain/gcc/patches/8.5.0/m68k-musl.patch (renamed from toolchain/gcc/patches/8.4.0/m68k-musl.patch)0
-rw-r--r--toolchain/gcc/patches/8.5.0/musl-s390x.patch (renamed from toolchain/gcc/patches/8.4.0/musl-s390x.patch)0
-rw-r--r--toolchain/gcc/patches/8.5.0/nios2-softfp.patch14
-rw-r--r--toolchain/gcc/patches/9.4.0/or1k.patch (renamed from toolchain/gcc/patches/9.3.0/or1k.patch)0
-rw-r--r--toolchain/gdb/Makefile1
-rw-r--r--toolchain/gdb/Makefile.inc20
-rw-r--r--toolchain/glibc/Makefile12
-rw-r--r--toolchain/glibc/Makefile.inc14
-rw-r--r--toolchain/glibc/patches/2.26/0001-Do-not-use-__builtin_types_compatible_p-in-C-mode-bu.patch50
-rw-r--r--toolchain/glibc/patches/2.26/0002-Do-not-use-generic-selection-in-C-mode.patch56
-rw-r--r--toolchain/glibc/patches/2.26/0003-Provide-a-C-version-of-issignaling-that-does-not-use.patch225
-rw-r--r--toolchain/glibc/patches/2.26/0004-Fix-the-C-version-of-issignaling-when-__NO_LONG_DOUB.patch47
-rw-r--r--toolchain/glibc/patches/2.26/0005-Provide-a-C-version-of-iszero-that-does-not-use-__MA.patch210
-rw-r--r--toolchain/glibc/patches/2.26/0006-Let-fpclassify-use-the-builtin-when-optimizing-for-s.patch63
-rw-r--r--toolchain/glibc/patches/2.38/0001-m68k-fix-__mpn_lshift-and-__mpn_rshift-for-non-68020.patch46
-rw-r--r--toolchain/glibc/patches/2.38/0004-ARC-Add-support-for-ARCv3-processors.patch4036
-rw-r--r--toolchain/glibc/patches/2.38/m68k-m68040.patch59
-rw-r--r--toolchain/gmp/Makefile.inc4
-rw-r--r--toolchain/linux-headers/Makefile5
-rw-r--r--toolchain/mpfr/Makefile.inc4
-rw-r--r--toolchain/musl/Makefile.inc6
-rw-r--r--toolchain/newlib/Makefile.inc13
-rw-r--r--toolchain/newlib/patches/3.1.0/fix-tooldir.patch12
-rw-r--r--toolchain/newlib/patches/git/fix-tooldir.patch12
-rw-r--r--toolchain/newlib/patches/newlib-xtensa/fix-tooldir.patch12
-rw-r--r--toolchain/uclibc-ng/Makefile32
-rw-r--r--toolchain/uclibc-ng/Makefile.inc10
1621 files changed, 53059 insertions, 50170 deletions
diff --git a/LICENCE b/LICENCE
index 22271fc64..66c722728 100644
--- a/LICENCE
+++ b/LICENCE
@@ -1,4 +1,4 @@
-OpenADK is Copyright © 2008-2016 Waldemar Brodkorb <wbx@openadk.org>
+OpenADK is Copyright © 2008-2020 Waldemar Brodkorb <wbx@openadk.org>
All rights reserved.
This licence file covers all of the OpenADK meta distribution
diff --git a/Makefile b/Makefile
index c7954e646..04d2c8b88 100644
--- a/Makefile
+++ b/Makefile
@@ -4,5 +4,21 @@
# GNU make and BSD make compatible make file wrapper
MAKECMDGOALS+= ${.TARGETS}
-all v allmodconfig allnoconfig allyesconfig help pkg-help dev-help targethelp kernelconfig savekconfig image menuconfig defconfig oldconfig download clean cleankernel cleansystem cleandir distclean hostclean hostpackage fetch package extract patch dep menu newpackage host-update-patches update-patches info:
+PHONY_TARGETS= all v \
+ allmodconfig allnoconfig allyesconfig \
+ help pkg-help dev-help targethelp \
+ kernelconfig savekconfig \
+ image \
+ menuconfig defconfig oldconfig \
+ download \
+ clean cleankernel cleansystem cleandir distclean hostclean \
+ hostpackage fetch package extract patch \
+ dep menu \
+ newpackage \
+ host-update-patches update-patches \
+ info
+
+${PHONY_TARGETS}:
@./scripts/prereq.sh ${MAKECMDGOALS}
+
+.PHONY: ${PHONY_TARGETS}
diff --git a/adk/config/Makefile b/adk/config/Makefile
index 480c31447..a328fbf59 100644
--- a/adk/config/Makefile
+++ b/adk/config/Makefile
@@ -8,58 +8,11 @@ include ${ADK_TOPDIR}/rules.mk
endif
CP=cp -fpR
-HOST_CFLAGS+=-DKBUILD_NO_NLS -w
+HOST_CFLAGS+= -DKBUILD_NO_NLS -w ${CURSES_CFLAGS}
+LIBS= ${CURSES_LIBS}
all: ncurses conf mconf
-LIBS=
-ifeq (/usr/lib/libtinfo.so, $(wildcard /usr/lib/libtinfo.so))
-LIBS= -ltinfo
-endif
-
-ifeq (/usr/include/ncursesw/curses.h, $(wildcard /usr/include/ncursesw/curses.h))
-HOST_CFLAGS+= -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>"
-LIBS+= -lncursesw
-else
-ifeq (/usr/include/ncurses/ncurses.h, $(wildcard /usr/include/ncurses/ncurses.h))
-HOST_CFLAGS+= -I/usr/include/ncurses -DCURSES_LOC="<ncurses.h>"
-LIBS+= -lncurses
-else
-ifeq (/usr/include/ncurses/curses.h, $(wildcard /usr/include/ncurses/curses.h))
-HOST_CFLAGS+= -I/usr/include/ncurses -DCURSES_LOC="<ncurses/curses.h>"
-LIBS+= -lncurses
-else
-ifeq (/usr/include/ncurses.h, $(wildcard /usr/include/ncurses.h))
-HOST_CFLAGS+= -DCURSES_LOC="<ncurses.h>"
-LIBS+= -lncurses
-else
-ifeq (/usr/local/include/ncurses/ncurses.h, $(wildcard /usr/local/include/ncurses/ncurses.h))
-HOST_CFLAGS+= -I/usr/local/include/ncurses -DCURSES_LOC="<ncurses.h>"
-LIBS+= -lncurses
-else
-ifeq (/usr/local/include/ncurses/curses.h, $(wildcard /usr/local/include/ncurses/curses.h))
-HOST_CFLAGS+= -I/usr/local/include/ncurses -DCURSES_LOC="<ncurses/curses.h>"
-LIBS+= -lncurses
-else
-ifeq (/usr/local/opt/ncurses/include/ncursesw/ncurses.h, $(wildcard /usr/local/opt/ncurses/include/ncursesw/ncurses.h))
-HOST_CFLAGS+= -I/usr/local/opt/ncurses/include -DCURSES_LOC="<ncursesw/ncurses.h>"
-LIBS+= -L/usr/local/opt/ncurses/lib -Wl,-rpath -Wl,/usr/local/opt/ncurses/lib -lncursesw
-else
-ifeq (/usr/pkg/include/ncurses.h, $(wildcard /usr/pkg/include/ncurses.h))
-HOST_CFLAGS+= -I/usr/pkg/include -DCURSES_LOC="<ncurses.h>"
-LIBS+= -L/usr/pkg/lib -Wl,-rpath -Wl,/usr/pkg/lib -lncurses
-else
-HOST_CFLAGS+= -DCURSES_LOC="<curses.h>"
-LIBS= -lcurses
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-
CONF_SRC =conf.c
MCONF_SRC =mconf.c $(wildcard lxdialog/*.c)
SHARED_SRC=zconf.tab.c
diff --git a/adk/config/lxdialog/check-lxdialog.sh b/adk/config/lxdialog/check-lxdialog.sh
index fcef0f59d..5075ebf2d 100644
--- a/adk/config/lxdialog/check-lxdialog.sh
+++ b/adk/config/lxdialog/check-lxdialog.sh
@@ -4,7 +4,9 @@
# What library to link
ldflags()
{
- for ext in so a dylib ; do
+ pkg-config --libs ncursesw 2>/dev/null && exit
+ pkg-config --libs ncurses 2>/dev/null && exit
+ for ext in so a dll.a dylib ; do
for lib in ncursesw ncurses curses ; do
$cc -print-file-name=lib${lib}.${ext} | grep -q /
if [ $? -eq 0 ]; then
@@ -19,10 +21,17 @@ ldflags()
# Where is ncurses.h?
ccflags()
{
- if [ -f /usr/include/ncurses/ncurses.h ]; then
+ if pkg-config --cflags ncursesw 2>/dev/null; then
+ echo '-DCURSES_LOC="<ncurses.h>" -DNCURSES_WIDECHAR=1'
+ elif pkg-config --cflags ncurses 2>/dev/null; then
+ echo '-DCURSES_LOC="<ncurses.h>"'
+ elif [ -f /usr/include/ncursesw/curses.h ]; then
+ echo '-I/usr/include/ncursesw -DCURSES_LOC="<curses.h>"'
+ echo ' -DNCURSES_WIDECHAR=1'
+ elif [ -f /usr/include/ncurses/ncurses.h ]; then
echo '-I/usr/include/ncurses -DCURSES_LOC="<ncurses.h>"'
elif [ -f /usr/include/ncurses/curses.h ]; then
- echo '-I/usr/include/ncurses -DCURSES_LOC="<ncurses/curses.h>"'
+ echo '-I/usr/include/ncurses -DCURSES_LOC="<curses.h>"'
elif [ -f /usr/include/ncurses.h ]; then
echo '-DCURSES_LOC="<ncurses.h>"'
else
@@ -36,7 +45,7 @@ trap "rm -f $tmp" 0 1 2 3 15
# Check if we can link to ncurses
check() {
- $cc -xc - -o $tmp 2>/dev/null <<'EOF'
+ $cc -x c - -o $tmp 2>/dev/null <<'EOF'
#include CURSES_LOC
main() {}
EOF
diff --git a/adk/extlinux/extlinux.conf b/adk/extlinux/extlinux.conf
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/adk/extlinux/extlinux.conf
diff --git a/adk/tools/depmaker.c b/adk/tools/depmaker.c
index 7b04b3781..609d95a6a 100644
--- a/adk/tools/depmaker.c
+++ b/adk/tools/depmaker.c
@@ -133,7 +133,6 @@ static char *parse_line(char *package, char *pkgvar, char *string, int checksym,
}
strncat(depvar, dep, strlen(dep)-5);
if ((strncmp(depvar, "bc", 2) == 0) ||
- (strncmp(depvar, "bzip2", 5) == 0) ||
(strncmp(depvar, "file", 4) == 0) ||
(strncmp(depvar, "gawk", 4) == 0) ||
(strncmp(depvar, "grep", 4) == 0) ||
@@ -277,6 +276,8 @@ int main() {
tmp = parse_line(pkgdirp->d_name, dpkg, stringtmp, 1, 0, 2, &prefix);
} else if (strncmp("MUSL", dpkg, 4) == 0) {
tmp = parse_line(pkgdirp->d_name, dpkg, stringtmp, 1, 0, 2, &prefix);
+ } else if (strncmp("GLIBC", dpkg, 5) == 0) {
+ tmp = parse_line(pkgdirp->d_name, dpkg, stringtmp, 1, 0, 2, &prefix);
} else {
tmp = parse_line(pkgdirp->d_name, dpkg, stringtmp, 1, 0, 1, &prefix);
}
@@ -339,6 +340,7 @@ int main() {
}
}
} else if (strncmp(buf, "HOST_BUILDDEP", 13) == 0) {
+ //printf("DEBUG: HOST_BUILDDEP found for %s\n", pkgdirp->d_name);
asprintf(&string, "%s-host", pkgdirp->d_name);
// check retval; string for NULL
tmp = parse_line(string, NULL, buf, 2, 0, 0, &hprefix);
diff --git a/adk/tools/pkgmaker.c b/adk/tools/pkgmaker.c
index 451300548..30a0d11ca 100644
--- a/adk/tools/pkgmaker.c
+++ b/adk/tools/pkgmaker.c
@@ -19,6 +19,7 @@
#include <ctype.h>
#include <dirent.h>
+#include <errno.h>
#include <fcntl.h>
#include <stdlib.h>
#include <stdio.h>
@@ -290,22 +291,44 @@ static char *tolowerstr(char *string) {
static char *toupperstr(char *string) {
+ static char *sdup = NULL;
+ static int sduplen = 0;
int i;
- char *str;
-
+
+ if (!string) {
+ free(sdup);
+ sduplen = 0;
+ return NULL;
+ }
+
+ if (sduplen <= strlen(string)) {
+ sduplen = strlen(string) + 1;
+ sdup = realloc(sdup, sduplen);
+ if (!sdup)
+ fatal_error("%s: memory allocation failed: %s\n",
+ __func__, strerror(errno));
+ }
+
/* transform to uppercase variable name */
- str = strdup(string);
- for (i=0; i<(int)strlen(str); i++) {
- if (str[i] == '+')
- str[i] = 'X';
- if (str[i] == '-')
- str[i] = '_';
- /* remove negation here, useful for package host depends */
- if (str[i] == '!')
- str[i] = '_';
- str[i] = toupper(str[i]);
+ for (i = 0; i < strlen(string) + 1; i++) {
+ switch (string[i]) {
+ case '+':
+ sdup[i] = 'X';
+ break;
+ case '-':
+ sdup[i] = '_';
+ break;
+ case '!':
+ sdup[i] = '_';
+ break;
+ case '\0':
+ sdup[i] = '\0';
+ break;
+ default:
+ sdup[i] = toupper(string[i]);
+ }
}
- return(str);
+ return sdup;
}
@@ -463,10 +486,12 @@ int main() {
icfg = fopen(runtime, "a");
if (icfg == NULL)
continue;
- if (strncmp("busybox", sname, 7) == 0)
- fprintf(icfg, "config ADK_RUNTIME_START_%s_%s\n", toupperstr(sname), toupperstr(sname2));
- else
+ if (strncmp("busybox", sname, 7) == 0) {
+ fprintf(icfg, "config ADK_RUNTIME_START_%s", toupperstr(sname));
+ fprintf(icfg, "_%s\n", toupperstr(sname2));
+ } else {
fprintf(icfg, "config ADK_RUNTIME_START_%s\n", toupperstr(sname));
+ }
fprintf(icfg, "\tprompt \"Start %s on boot\"\n", sname2);
fprintf(icfg, "\ttristate\n");
if (strncmp("busybox", sname, 7) == 0)
@@ -813,7 +838,7 @@ int main() {
if (result == 1) {
val = strtok_r(hvalue, " ", &saveptr);
while (val != NULL) {
- fprintf(cfg, "\tselect ADK_KERNEL_%s\n", toupperstr(val));
+ fprintf(cfg, "\tselect ADK_LINUX_KERNEL_%s\n", toupperstr(val));
val = strtok_r(NULL, " ", &saveptr);
}
}
@@ -1282,6 +1307,7 @@ int main() {
fatal_error("removing file failed.");
}
}
+ toupperstr(NULL);
closedir(pkglistdir);
return(0);
}
diff --git a/docs/running-openadk.txt b/docs/running-openadk.txt
index a0676bbce..205b0d292 100644
--- a/docs/running-openadk.txt
+++ b/docs/running-openadk.txt
@@ -60,8 +60,6 @@ OpenADK is generated while producing the +base-files+ package. The main job
the default inittab does is to start the +/etc/init.d/rcS+ shell script, and
start one or more +getty+ programs (which provides a login prompt).
-Support for systemd and s6 is very experimental at the moment.
-
/dev management
~~~~~~~~~~~~~~~
@@ -73,19 +71,21 @@ hardware devices, even if they are properly recognized by the Linux
kernel.
In OpenADK you can choose between different types of device managements.
-OpenADK defaults to *dynamic device nodes using devtmpfs and mdev*. This method
-relies on the _devtmpfs_ virtual filesystem in the kernel, which is enabled by
-default for all OpenADK generated kernels, and 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+ 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.
+OpenADK defaults to *static device nodes using devtmpfs*. That is the simplest
+way available. Most users might like to change it to *dynamic device nodes
+using devtmpfs and mdev*. This method relies on the _devtmpfs_ virtual
+filesystem in the kernel, which is enabled by default for all OpenADK generated
+kernels, and 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+ 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.
initscripts
~~~~~~~~~~~
diff --git a/mk/build.mk b/mk/build.mk
index c34b71c01..1fe387598 100644
--- a/mk/build.mk
+++ b/mk/build.mk
@@ -24,7 +24,6 @@ DEFCONFIG= ADK_DEBUG=n \
ADK_USE_CCACHE=n \
ADK_RUNTIME_START_SERVICES=n \
ADK_PACKAGE_BASE_FILES=y \
- ADK_PACKAGE_DBUS_WITH_SYSTEMD=n \
ADK_PACKAGE_KEXECINIT=n \
ADK_PACKAGE_CLASSPATH=n \
ADK_PACKAGE_LM_SENSORS_DETECT=n \
@@ -160,6 +159,8 @@ endif
ifeq ($(strip $(ADK_HAVE_DOT_CONFIG)),y)
include $(ADK_TOPDIR)/rules.mk
+include $(ADK_TOPDIR)/mk/kernel-vars.mk
+
all: world
${ADK_TOPDIR}/package/Depends.mk: ${ADK_TOPDIR}/.config $(wildcard ${ADK_TOPDIR}/package/*/Makefile) $(ADK_TOPDIR)/adk/tools/depmaker
@@ -232,9 +233,8 @@ targethelp:
$(MAKE) -C target targethelp
kernelconfig:
- ${KERNEL_MAKE_ENV} ${MAKE} -C "${LINUX_DIR}" \
+ ${MAKE} -C "${LINUX_DIR}" \
ARCH=$(ADK_TARGET_KARCH) \
- ${KERNEL_MAKE_OPTS} \
menuconfig
ifeq ($(ADK_TARGET_LINUX_KERNEL_USE_CUSTOMCONFIG),y)
@@ -459,6 +459,19 @@ defconfig: .menu $(CONFIG)/conf
@if [ ! -z "$(ADK_TARGET_MMU)" ];then \
printf "# ADK_TARGET_WITH_MMU is not set\n" \
>> $(ADK_TOPDIR)/.defconfig; \
+ printf "BUSYBOX_NOMMU=y\n" \
+ >> $(ADK_TOPDIR)/.defconfig; \
+ fi
+ @if [ ! -z "$(ADK_TARGET_THREADS)" ];then \
+ if [ "$(ADK_TARGET_THREADS)" = "nptl" ];then \
+ printf "ADK_TARGET_WITH_NPTL=y\n" >> $(ADK_TOPDIR)/.defconfig; \
+ fi; \
+ if [ "$(ADK_TARGET_THREADS)" = "lt" ];then \
+ printf "ADK_TARGET_WITH_LT=y\n" >> $(ADK_TOPDIR)/.defconfig; \
+ fi; \
+ if [ "$(ADK_TARGET_THREADS)" = "none" ];then \
+ printf "ADK_TARGET_WITHOUT_THREADS=y\n" >> $(ADK_TOPDIR)/.defconfig; \
+ fi; \
fi
@if [ ! -z "$(ADK_TARGET_LIBC)" ];then \
libc=$$(echo "$(ADK_TARGET_LIBC)"|sed -e "s/-/_/"); \
@@ -552,11 +565,17 @@ allconfig:
|sed -e "s#^config \(.*\)#\1=y#" \
>> $(ADK_TOPDIR)/all.config; \
fi
+ @if [ ! -z "$(ADK_TARGET_OS)" ];then \
+ grep "^config" target/config/Config.in.os \
+ |grep -i "_$(ADK_TARGET_OS)$$" \
+ |sed -e "s#^config \(.*\)#\1=y#" \
+ >> $(ADK_TOPDIR)/all.config; \
+ fi
@if [ ! -z "$(ADK_TARGET_ARCH)" ];then \
grep "^config" target/config/Config.in.arch.choice \
- |grep -i "$(ADK_TARGET_ARCH)"\$$ \
+ |grep -i "$(ADK_TARGET_OS)_ARCH_$(ADK_TARGET_ARCH)$$" \
|sed -e "s#^config \(.*\)#\1=y#" \
- >> $(ADK_TOPDIR)/all.config; \
+ >> $(ADK_TOPDIR)/all.config; \
fi
@for symbol in ${DEFCONFIG}; do \
echo $$symbol >> $(ADK_TOPDIR)/all.config; \
diff --git a/mk/host-bottom.mk b/mk/host-bottom.mk
index 29cfc57ea..f7e635f15 100644
--- a/mk/host-bottom.mk
+++ b/mk/host-bottom.mk
@@ -56,9 +56,17 @@ endif
ifeq (${HOST_CONFIG_STYLE},cmake)
@$(CMD_TRACE) "configuring cmake.. "
cd ${WRKBUILD}; PATH='${HOST_PATH}' \
- cmake -Wno-dev -DCMAKE_INSTALL_PREFIX:PATH=/usr \
+ cmake -Wno-dev -DCMAKE_INSTALL_PREFIX:PATH=$(STAGING_HOST_DIR)/usr \
${HOST_CMAKE_FLAGS} ${WRKSRC} $(MAKE_TRACE)
endif
+ifeq (${HOST_CONFIG_STYLE},meson)
+ @$(CMD_TRACE) "configuring meson.. "
+ cd ${WRKSRC}; PATH='${HOST_PATH}' \
+ meson --prefix $(STAGING_HOST_DIR)/usr \
+ --pkg-config-path $(STAGING_HOST_DIR)/usr/lib/pkgconfig \
+ --buildtype release $(HOST_MESON_FLAGS) \
+ $(WRKSRC) $(WRKBUILD) $(MAKE_TRACE)
+endif
ifeq (${HOST_CONFIG_STYLE},perl)
@$(CMD_TRACE) "configuring perl module.. "
cd ${WRKBUILD}; \
@@ -77,7 +85,9 @@ endif
host-build:
${_HOST_BUILD_COOKIE}: ${_HOST_CONFIGURE_COOKIE}
@$(CMD_TRACE) "compiling.. "
-ifneq (${HOST_STYLE},manual)
+ifneq ($(filter meson,${HOST_STYLE}),)
+ PATH='$(HOST_PATH)' ninja -v -C $(WRKBUILD) $(MAKE_TRACE)
+else ifneq (${HOST_STYLE},manual)
cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -j${ADK_MAKE_JOBS} -f ${MAKE_FILE} \
${HOST_MAKE_FLAGS} ${HOST_ALL_TARGET} $(MAKE_TRACE)
endif
diff --git a/mk/host.mk b/mk/host.mk
index 9ff38ac6f..33c437836 100644
--- a/mk/host.mk
+++ b/mk/host.mk
@@ -15,7 +15,7 @@ HOST_AUTOTOOL_ENV+= PATH='${HOST_PATH}' \
HOST_CONFIGURE_ENV?= PATH='${HOST_PATH}' \
${COMMON_ENV} \
${HOST_ENV} \
- PKG_CONFIG_LIBDIR='${STAGING_HOST_DIR}/usr/lib/pkgconfig:${STAGING_HOST_DIR}/usr/share/pkgconfig' \
+ PKG_CONFIG_LIBDIR='${STAGING_HOST_DIR}/usr/lib/pkgconfig:${STAGING_HOST_DIR}/usr/share/pkgconfig:${STAGING_HOST_DIR}/usr/lib/${GNU_HOST_NAME}/pkgconfig' \
PKG_CONFIG_SYSROOT_DIR='${STAGING_HOST_DIR}' \
PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1
diff --git a/mk/image.mk b/mk/image.mk
index 1cd343701..601b0352b 100644
--- a/mk/image.mk
+++ b/mk/image.mk
@@ -78,12 +78,6 @@ image-prepare-post:
-rm -f ${TARGET_DIR}/bin/sh
ln -sf ${BINSH} ${TARGET_DIR}/bin/sh
-ifeq ($(ADK_RUNTIME_INIT_SYSTEMD),y)
- ln -fs ../usr/${ADK_TARGET_LIBC_PATH}/systemd/systemd $(TARGET_DIR)/sbin/init
- ln -fs ../usr/bin/systemctl $(TARGET_DIR)/sbin/halt
- ln -fs ../usr/bin/systemctl $(TARGET_DIR)/sbin/poweroff
- ln -fs ../usr/bin/systemctl $(TARGET_DIR)/sbin/reboot
-endif
test -z $(GIT) || \
$(GIT) log -1|head -1|sed -e 's#commit ##' \
> $(TARGET_DIR)/etc/.adkgithash
@@ -104,7 +98,7 @@ ifneq ($(ADK_TARGET_ARCH_AARCH64)$(ADK_TARGET_ARCH_X86_64)$(ADK_TARGET_ARCH_PPC6
test ! -d ${TARGET_DIR}/usr/lib || rm -rf ${TARGET_DIR}/usr/lib/
(cd ${TARGET_DIR}/usr ; ln -sf ${ADK_TARGET_LIBC_PATH} lib)
endif
-ifeq ($(ADK_TARGET_ARCH_S390),y)
+ifeq ($(ADK_TARGET_ARCH_LOONGARCH)$(ADK_TARGET_ARCH_S390),y)
(cd ${TARGET_DIR}/; ln -sf lib lib64)
endif
@@ -161,33 +155,7 @@ ${FW_DIR}/${ROOTFSUSERTARBALL}: ${TARGET_DIR}/.adk
$(CPIO) --quiet -o -Hustar --owner=0:0 | $(XZ) -c >$@
${STAGING_TARGET_DIR}/${INITRAMFS}_list: ${TARGET_DIR}/.adk
-ifeq ($(ADK_TARGET_LINUX_KERNEL_NEW),y)
- PATH='${HOST_PATH}' $(BASH) ${LINUX_DIR}/usr/gen_initramfs_list.sh -u squash -g squash \
- ${TARGET_DIR}/ >$@
- ( \
- echo "nod /dev/console 0644 0 0 c 5 1"; \
- echo "nod /dev/tty 0644 0 0 c 5 0"; \
- for i in 0 1 2 3 4; do \
- echo "nod /dev/tty$$i 0644 0 0 c 4 $$$$i"; \
- done; \
- echo "nod /dev/null 0644 0 0 c 1 3"; \
- echo "nod /dev/ram 0655 0 0 b 1 1"; \
- echo "nod /dev/ttyS0 0660 0 0 c 4 64"; \
- echo "nod /dev/ttyS1 0660 0 0 c 4 65"; \
- echo "nod /dev/ttyB0 0660 0 0 c 11 0"; \
- echo "nod /dev/ttyB1 0660 0 0 c 11 1"; \
- echo "nod /dev/ttyAMA0 0660 0 0 c 204 64"; \
- echo "nod /dev/ttyAMA1 0660 0 0 c 204 65"; \
- echo "nod /dev/ttySC0 0660 0 0 c 204 8"; \
- echo "nod /dev/ttySC1 0660 0 0 c 204 9"; \
- echo "nod /dev/ttySC2 0660 0 0 c 204 10"; \
- echo "nod /dev/ttyBF0 0660 0 0 c 204 64"; \
- echo "nod /dev/ttyBF1 0660 0 0 c 204 65"; \
- echo "nod /dev/ttyUL0 0660 0 0 c 204 187"; \
- echo "nod /dev/ttyUL1 0660 0 0 c 204 188"; \
- ) >>$@
-else
- PATH='${HOST_PATH}' $(BASH) ${LINUX_DIR}/scripts/gen_initramfs_list.sh -u squash -g squash \
+ PATH='${HOST_PATH}' $(BASH) ${SCRIPT_DIR}/gen_initramfs_list.sh -u squash -g squash \
${TARGET_DIR}/ >$@
( \
echo "nod /dev/console 0644 0 0 c 5 1"; \
@@ -195,10 +163,15 @@ else
for i in 0 1 2 3 4; do \
echo "nod /dev/tty$$i 0644 0 0 c 4 $$$$i"; \
done; \
- echo "nod /dev/null 0644 0 0 c 1 3"; \
+ echo "nod /dev/null 0666 0 0 c 1 3"; \
+ echo "nod /dev/zero 0666 0 0 c 1 5"; \
+ echo "nod /dev/kmsg 0644 0 0 c 1 11"; \
echo "nod /dev/ram 0655 0 0 b 1 1"; \
+ echo "nod /dev/mem 0665 0 0 c 1 1"; \
+ echo "nod /dev/random 0666 0 0 c 1 8"; \
+ echo "nod /dev/urandom 0666 0 0 c 1 9"; \
echo "nod /dev/ttyS0 0660 0 0 c 4 64"; \
- echo "nod /dev/ttyS1 0660 0 0 c 4 65"; \
+ echo "nod /dev/ttysclp0 0660 0 0 c 4 65"; \
echo "nod /dev/ttyB0 0660 0 0 c 11 0"; \
echo "nod /dev/ttyB1 0660 0 0 c 11 1"; \
echo "nod /dev/ttyAMA0 0660 0 0 c 204 64"; \
@@ -210,8 +183,9 @@ else
echo "nod /dev/ttyBF1 0660 0 0 c 204 65"; \
echo "nod /dev/ttyUL0 0660 0 0 c 204 187"; \
echo "nod /dev/ttyUL1 0660 0 0 c 204 188"; \
+ echo "nod /dev/ttyGF0 0660 0 0 c 254 0"; \
+ echo "slink /init /sbin/init 755 0 0"; \
) >>$@
-endif
${FW_DIR}/${INITRAMFS}: ${STAGING_TARGET_DIR}/${INITRAMFS}_list
${LINUX_DIR}/usr/gen_init_cpio ${STAGING_TARGET_DIR}/${INITRAMFS}_list | \
@@ -261,6 +235,7 @@ createinitramfs: ${STAGING_TARGET_DIR}/${INITRAMFS}_list
echo 'CONFIG_INITRAMFS_ROOT_UID=0'; \
echo 'CONFIG_INITRAMFS_ROOT_GID=0'; \
echo 'CONFIG_INITRAMFS_IS_LARGE=n'; \
+ echo 'CONFIG_INITRAMFS_PRESERVE_MTIME=n'; \
) >> ${LINUX_DIR}/.config
ifeq ($(ADK_LINUX_KERNEL_COMP_XZ),y)
echo "CONFIG_RD_BZIP2=n" >> ${LINUX_DIR}/.config
@@ -269,6 +244,7 @@ ifeq ($(ADK_LINUX_KERNEL_COMP_XZ),y)
echo "CONFIG_RD_LZ4=n" >> ${LINUX_DIR}/.config
echo "CONFIG_RD_LZO=n" >> ${LINUX_DIR}/.config
echo "CONFIG_RD_XZ=y" >> ${LINUX_DIR}/.config
+ echo "CONFIG_RD_ZSTD=n" >> ${LINUX_DIR}/.config
echo "CONFIG_INITRAMFS_COMPRESSION_XZ=y" >> ${LINUX_DIR}/.config
echo "CONFIG_XZ_DEC_X86=n" >> ${LINUX_DIR}/.config
echo "CONFIG_XZ_DEC_POWERPC=n" >> ${LINUX_DIR}/.config
@@ -277,6 +253,17 @@ ifeq ($(ADK_LINUX_KERNEL_COMP_XZ),y)
echo "CONFIG_XZ_DEC_ARMTHUMB=n" >> ${LINUX_DIR}/.config
echo "CONFIG_XZ_DEC_SPARC=n" >> ${LINUX_DIR}/.config
echo "CONFIG_XZ_DEC_TEST=n" >> ${LINUX_DIR}/.config
+ echo "CONFIG_XZ_DEC_MICROLZMA=n" >> ${LINUX_DIR}/.config
+endif
+ifeq ($(ADK_LINUX_KERNEL_COMP_ZSTD),y)
+ echo "CONFIG_RD_XZ=n" >> ${LINUX_DIR}/.config
+ echo "CONFIG_RD_BZIP2=n" >> ${LINUX_DIR}/.config
+ echo "CONFIG_RD_GZIP=n" >> ${LINUX_DIR}/.config
+ echo "CONFIG_RD_LZO=n" >> ${LINUX_DIR}/.config
+ echo "CONFIG_RD_LZ4=n" >> ${LINUX_DIR}/.config
+ echo "CONFIG_RD_LZMA=n" >> ${LINUX_DIR}/.config
+ echo "CONFIG_RD_ZSTD=y" >> ${LINUX_DIR}/.config
+ echo "CONFIG_INITRAMFS_COMPRESSION_ZSTD=y" >> ${LINUX_DIR}/.config
endif
ifeq ($(ADK_LINUX_KERNEL_COMP_LZ4),y)
echo "CONFIG_RD_XZ=n" >> ${LINUX_DIR}/.config
@@ -285,6 +272,7 @@ ifeq ($(ADK_LINUX_KERNEL_COMP_LZ4),y)
echo "CONFIG_RD_LZO=n" >> ${LINUX_DIR}/.config
echo "CONFIG_RD_LZ4=y" >> ${LINUX_DIR}/.config
echo "CONFIG_RD_LZMA=n" >> ${LINUX_DIR}/.config
+ echo "CONFIG_RD_ZSTD=n" >> ${LINUX_DIR}/.config
echo "CONFIG_INITRAMFS_COMPRESSION_LZ4=y" >> ${LINUX_DIR}/.config
endif
ifeq ($(ADK_LINUX_KERNEL_COMP_LZMA),y)
@@ -294,6 +282,7 @@ ifeq ($(ADK_LINUX_KERNEL_COMP_LZMA),y)
echo "CONFIG_RD_LZO=n" >> ${LINUX_DIR}/.config
echo "CONFIG_RD_LZ4=n" >> ${LINUX_DIR}/.config
echo "CONFIG_RD_LZMA=y" >> ${LINUX_DIR}/.config
+ echo "CONFIG_RD_ZSTD=n" >> ${LINUX_DIR}/.config
echo "CONFIG_INITRAMFS_COMPRESSION_LZMA=y" >> ${LINUX_DIR}/.config
endif
ifeq ($(ADK_LINUX_KERNEL_COMP_LZO),y)
@@ -303,6 +292,7 @@ ifeq ($(ADK_LINUX_KERNEL_COMP_LZO),y)
echo "CONFIG_RD_LZMA=n" >> ${LINUX_DIR}/.config
echo "CONFIG_RD_LZ4=n" >> ${LINUX_DIR}/.config
echo "CONFIG_RD_LZO=y" >> ${LINUX_DIR}/.config
+ echo "CONFIG_RD_ZSTD=n" >> ${LINUX_DIR}/.config
echo "CONFIG_INITRAMFS_COMPRESSION_LZO=y" >> ${LINUX_DIR}/.config
endif
ifeq ($(ADK_LINUX_KERNEL_COMP_GZIP),y)
@@ -312,6 +302,7 @@ ifeq ($(ADK_LINUX_KERNEL_COMP_GZIP),y)
echo "CONFIG_RD_LZMA=n" >> ${LINUX_DIR}/.config
echo "CONFIG_RD_LZ4=n" >> ${LINUX_DIR}/.config
echo "CONFIG_RD_GZIP=y" >> ${LINUX_DIR}/.config
+ echo "CONFIG_RD_ZSTD=n" >> ${LINUX_DIR}/.config
echo "CONFIG_INITRAMFS_COMPRESSION_GZIP=y" >> ${LINUX_DIR}/.config
endif
ifeq ($(ADK_LINUX_KERNEL_COMP_BZIP2),y)
@@ -321,6 +312,7 @@ ifeq ($(ADK_LINUX_KERNEL_COMP_BZIP2),y)
echo "CONFIG_RD_LZO=n" >> ${LINUX_DIR}/.config
echo "CONFIG_RD_LZ4=n" >> ${LINUX_DIR}/.config
echo "CONFIG_RD_BZIP2=y" >> ${LINUX_DIR}/.config
+ echo "CONFIG_RD_ZSTD=n" >> ${LINUX_DIR}/.config
echo "CONFIG_INITRAMFS_COMPRESSION_BZIP2=y" >> ${LINUX_DIR}/.config
endif
ifeq ($(ADK_LINUX_KERNEL_COMPRESS_NONE),y)
@@ -330,10 +322,15 @@ ifeq ($(ADK_LINUX_KERNEL_COMPRESS_NONE),y)
echo "CONFIG_RD_LZMA=n" >> ${LINUX_DIR}/.config
echo "CONFIG_RD_LZ4=n" >> ${LINUX_DIR}/.config
echo "CONFIG_RD_GZIP=n" >> ${LINUX_DIR}/.config
+ echo "CONFIG_RD_ZSTD=n" >> ${LINUX_DIR}/.config
endif
@-rm $(LINUX_DIR)/usr/initramfs_data.cpio* 2>/dev/null
- env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \
- -j${ADK_MAKE_JOBS} $(ADK_TARGET_KERNEL) $(MAKE_TRACE)
+ifneq ($(ADK_TARGET_KERNEL_APPEND_DTB),)
+ ${KERNEL_MAKE} zImage dtbs $(MAKE_TRACE)
+ (cd $(LINUX_DIR)/arch/$(ADK_TARGET_ARCH)/boot && \
+ cat dts/${ADK_TARGET_KERNEL_APPEND_DTB}.dtb >> zImage)
+endif
+ ${KERNEL_MAKE} $(ADK_TARGET_KERNEL) $(MAKE_TRACE)
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
${FW_DIR}/${ROOTFSISO}: ${TARGET_DIR} kernel-package
@@ -352,12 +349,19 @@ GENCFG:=$(ADK_TOPDIR)/adk/genimage/$(ADK_TARGET_GENIMAGE_FILENAME)
else
GENCFG:=$(ADK_TOPDIR)/target/$(ADK_TARGET_ARCH)/$(ADK_TARGET_SYSTEM)/$(ADK_TARGET_GENIMAGE_FILENAME)
endif
+ifeq (,$(wildcard $(ADK_TOPDIR)/target/$(ADK_TARGET_ARCH)/$(ADK_TARGET_SYSTEM)/$(ADK_TARGET_EXTLINUX_FILENAME)))
+EXTLINUX:=$(ADK_TOPDIR)/adk/extlinux/$(ADK_TARGET_EXTLINUX_FILENAME)
+else
+EXTLINUX:=$(ADK_TOPDIR)/target/$(ADK_TARGET_ARCH)/$(ADK_TARGET_SYSTEM)/$(ADK_TARGET_EXTLINUX_FILENAME)
+endif
${FW_DIR}/${GENIMAGE}: ${TARGET_DIR} kernel-package
@rm -rf ${FW_DIR}/temp
@mkdir -p ${FW_DIR}/temp
@$(CP) $(KERNEL) $(FW_DIR)/kernel
- @dd if=/dev/zero of=${FW_DIR}/cfgfs.img bs=16384 count=1 $(MAKE_TRACE)
+ @dd if=/dev/zero of=${FW_DIR}/cfgfs.img bs=16384 count=1024 $(MAKE_TRACE)
+ @mkdir -p ${FW_DIR}/extlinux
+ @$(CP) $(EXTLINUX) $(FW_DIR)/extlinux
ifeq ($(ADK_RUNTIME_FIX_PERMISSION),y)
echo '#!/bin/sh' > $(ADK_TOPDIR)/scripts/fakeroot.sh
echo "chown -R 0:0 $(TARGET_DIR)" >> $(ADK_TOPDIR)/scripts/fakeroot.sh
@@ -367,18 +371,41 @@ ifeq ($(ADK_RUNTIME_FIX_PERMISSION),y)
PATH='$(HOST_PATH)' $(FAKEROOT) $(ADK_TOPDIR)/scripts/fakeroot.sh
rm $(ADK_TOPDIR)/scripts/fakeroot.sh $(STAGING_TARGET_DIR)/scripts/permissions.sh
endif
- PATH='${HOST_PATH}' $(FAKEROOT) mke2img \
- -G 4 \
+ifeq ($(ADK_TARGET_DUAL_BOOT),y)
+ $(CP) $(FW_DIR)/kernel $(TARGET_DIR)
+ -$(CP) $(FW_DIR)/*.dtb $(TARGET_DIR)
+ mkdir $(TARGET_DIR)/extlinux
+ $(CP) $(EXTLINUX) $(TARGET_DIR)/extlinux
+ $(SED) "s#root=.*#root=/dev/$(ADK_TARGET_ROOTDEV)p1#" $(TARGET_DIR)/extlinux/extlinux.conf
+ PATH='${HOST_PATH}' $(FAKEROOT) mkfs.ext2 \
+ -d "$(TARGET_DIR)" \
+ -r 1 -N 0 -m 5 -L "rootfs1" \
+ $(FW_DIR)/rootfs1.ext "64M" $(MAKE_TRACE)
+ $(SED) "s#root=.*#root=/dev/$(ADK_TARGET_ROOTDEV)p2#" $(TARGET_DIR)/extlinux/extlinux.conf
+ PATH='${HOST_PATH}' $(FAKEROOT) mkfs.ext2 \
-d "$(TARGET_DIR)" \
- -o $(FW_DIR)/rootfs.ext $(MAKE_TRACE)
+ -r 1 -N 0 -m 5 -L "rootfs2" \
+ $(FW_DIR)/rootfs2.ext "64M" $(MAKE_TRACE)
PATH='${HOST_PATH}' genimage \
--config "$(GENCFG)" \
--tmppath "${FW_DIR}/temp" \
--rootpath "$(TARGET_DIR)" \
--inputpath "$(FW_DIR)" \
--outputpath "$(FW_DIR)" $(MAKE_TRACE)
+else
+ PATH='${HOST_PATH}' $(FAKEROOT) mkfs.ext2 \
+ -d "$(TARGET_DIR)" \
+ -r 1 -N 0 -m 5 -L "rootfs" \
+ $(FW_DIR)/rootfs.ext "64M" $(MAKE_TRACE)
+ PATH='${HOST_PATH}' genimage \
+ --config "$(GENCFG)" \
+ --tmppath "${FW_DIR}/temp" \
+ --rootpath "$(TARGET_DIR)" \
+ --inputpath "$(FW_DIR)" \
+ --outputpath "$(FW_DIR)" $(MAKE_TRACE)
+endif
ifeq ($(ADK_TARGET_DUAL_BOOT),y)
- (cd ${TARGET_DIR}; find . | grep -v ./boot/ | sed -n '/^\.\//s///p' | sort | \
+ (cd ${TARGET_DIR}; find . | sed -n '/^\.\//s///p' | sort | \
PATH='${HOST_PATH}' $(CPIO) -o --quiet -Hustar --owner=0:0 | \
${XZ} -c > ${FW_DIR}/openadk.tar.xz)
(cd ${FW_DIR}; PATH='${HOST_PATH}' sha256sum openadk.tar.xz \
diff --git a/mk/kernel-build.mk b/mk/kernel-build.mk
index e63802371..29458abf0 100644
--- a/mk/kernel-build.mk
+++ b/mk/kernel-build.mk
@@ -17,15 +17,13 @@ KERNEL_FILE:=$(ADK_TARGET_KERNEL)
KERNEL_TARGET:=$(ADK_TARGET_KERNEL)
ifeq ($(ADK_TARGET_KERNEL_LINUXBIN),y)
KERNEL_FILE:=vmlinux
-KERNEL_TARGET:=$(ADK_TARGET_KERNEL)
endif
ifeq ($(ADK_TARGET_KERNEL_ZIMAGE),y)
KERNEL_FILE:=vmlinux
-KERNEL_TARGET:=$(ADK_TARGET_KERNEL)
endif
-ifeq ($(ADK_TARGET_KERNEL_VMLINUX_BOOTP),y)
-KERNEL_FILE:=bootpfile
-KERNEL_TARGET:=bootpfile
+ifeq ($(ADK_TARGET_KERNEL_VMLINUX_EFI),y)
+KERNEL_FILE:=vmlinux.efi
+KERNEL_TARGET:=all
endif
ifeq ($(ADK_TARGET_KERNEL_VMLINUX_GZ),y)
KERNEL_FILE:=vmlinux
@@ -37,7 +35,6 @@ KERNEL_TARGET:=all
endif
ifeq ($(ADK_TARGET_KERNEL_IMAGE),y)
KERNEL_FILE:=vmlinux
-KERNEL_TARGET:=$(ADK_TARGET_KERNEL)
endif
ifeq ($(ADK_TARGET_KERNEL_SIMPLEIMAGE),y)
KERNEL_FILE:=vmlinux.bin
@@ -72,23 +69,28 @@ $(LINUX_DIR)/.config: $(LINUX_DIR)/.prepared
$(START_TRACE) "target/$(ADK_TARGET_ARCH)-kernel-configure.. "
echo "-${KERNEL_RELEASE}" >${LINUX_DIR}/localversion
ifeq ($(ADK_TARGET_LINUX_KERNEL_USE_DEFCONFIG),y)
- ${KERNEL_MAKE_ENV} $(MAKE) -C "${LINUX_DIR}" ${KERNEL_MAKE_OPTS} $(ADK_TARGET_KERNEL_DEFCONFIG) $(MAKE_TRACE)
+ ${KERNEL_MAKE} $(ADK_TARGET_LINUX_KERNEL_DEFCONFIG) $(MAKE_TRACE)
else ifeq ($(ADK_TARGET_LINUX_KERNEL_USE_CUSTOMCONFIG),y)
@if [ ! -f $(ADK_TOPDIR)/$(ADK_TARGET_LINUX_KERNEL_CUSTOMCONFIG_PATH) ];then \
echo "no kernel configuration found in $(ADK_TOPDIR)/$(ADK_TARGET_LINUX_KERNEL_CUSTOMCONFIG_PATH)"; \
exit 1; \
fi
- ${KERNEL_MAKE_ENV} $(MAKE) -C "${LINUX_DIR}" ${KERNEL_MAKE_OPTS} KCONFIG_ALLCONFIG=$(ADK_TOPDIR)/$(ADK_TARGET_LINUX_KERNEL_CUSTOMCONFIG_PATH) allnoconfig $(MAKE_TRACE)
+ ${KERNEL_MAKE} KCONFIG_ALLCONFIG=$(ADK_TOPDIR)/$(ADK_TARGET_LINUX_KERNEL_CUSTOMCONFIG_PATH) allnoconfig $(MAKE_TRACE)
else
$(CP) $(BUILD_DIR)/.kernelconfig $(LINUX_DIR)/mini.config
- ${KERNEL_MAKE_ENV} $(MAKE) -C "${LINUX_DIR}" ${KERNEL_MAKE_OPTS} KCONFIG_ALLCONFIG=mini.config allnoconfig $(MAKE_TRACE)
+ ${KERNEL_MAKE} KCONFIG_ALLCONFIG=mini.config allnoconfig $(MAKE_TRACE)
endif
$(CMD_TRACE) " done"
$(END_TRACE)
$(LINUX_DIR)/$(KERNEL_FILE): $(LINUX_DIR)/.config
$(START_TRACE) "target/$(ADK_TARGET_ARCH)-kernel-compile.. "
- ${KERNEL_MAKE_ENV} $(MAKE) -C "${LINUX_DIR}" ${KERNEL_MAKE_OPTS} -j${ADK_MAKE_JOBS} $(KERNEL_TARGET) $(MAKE_TRACE)
+ifneq ($(ADK_TARGET_KERNEL_APPEND_DTB),)
+ ${KERNEL_MAKE} zImage dtbs $(MAKE_TRACE)
+ (cd $(LINUX_DIR)/arch/$(ADK_TARGET_ARCH)/boot && \
+ cat dts/${ADK_TARGET_KERNEL_APPEND_DTB}.dtb >> zImage)
+endif
+ ${KERNEL_MAKE} $(KERNEL_TARGET) $(MAKE_TRACE)
$(CMD_TRACE) " done"
$(END_TRACE)
@@ -98,13 +100,11 @@ install:
ifneq ($(KERNEL_MODULES_USED),)
$(START_TRACE) "target/$(ADK_TARGET_ARCH)-kernel-modules-install.. "
rm -rf $(LINUX_BUILD_DIR)/modules
- ${KERNEL_MAKE_ENV} $(MAKE) -C "${LINUX_DIR}" ${KERNEL_MAKE_OPTS} \
- DEPMOD=$(ADK_DEPMOD) \
+ ${KERNEL_MAKE} DEPMOD=$(ADK_DEPMOD) \
INSTALL_MOD_PATH=$(LINUX_BUILD_DIR)/modules \
modules_install $(MAKE_TRACE)
$(CMD_TRACE) " done"
$(END_TRACE)
-ifeq ($(ADK_RUNTIME_DEV_UDEV),)
$(START_TRACE) "target/$(ADK_TARGET_ARCH)-kernel-modules-create-packages.. "
rm -f ${PACKAGE_DIR}/kmod-*
PATH='${HOST_PATH}' ${BASH} ${SCRIPT_DIR}/make-module-ipkgs.sh \
@@ -115,13 +115,14 @@ ifeq ($(ADK_RUNTIME_DEV_UDEV),)
"${PACKAGE_DIR}"
$(CMD_TRACE) " done"
$(END_TRACE)
-endif
$(START_TRACE) "target/${ADK_TARGET_ARCH}-kernel-modules-install-packages.. "
- for pkg in $(PACKAGE_DIR)/kmod-*; do \
+ -for pkg in $(PACKAGE_DIR)/kmod-*; do \
[[ -e "$$pkg" ]] && $(PKG_INSTALL) $$pkg; \
done
$(CMD_TRACE) " done"
$(END_TRACE)
+ $(CP) $(LINUX_BUILD_DIR)/modules/lib/modules/$(KERNEL_VERSION)/modules.{order,builtin} \
+ $(TARGET_DIR)/lib/modules/$(KERNEL_VERSION)/
endif
clean:
diff --git a/mk/kernel-vars.mk b/mk/kernel-vars.mk
index dc176d291..475353d6f 100644
--- a/mk/kernel-vars.mk
+++ b/mk/kernel-vars.mk
@@ -1,7 +1,15 @@
# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.
-KERNEL_MAKE_OPTS:= V=1 \
+KERNEL_MAKE_OPTS:= CC="$(TARGET_CC)"
+ifeq ($(ADK_TARGET_BINFMT_FDPIC),y)
+KERNEL_MAKE_OPTS:= CC="$(TARGET_CC) -mno-fdpic"
+endif
+ifeq ($(ADK_TARGET_ARCH_MICROBLAZE),y)
+KERNEL_MAKE_OPTS:= CC="$(TARGET_CC) -fno-tree-loop-distribute-patterns"
+endif
+
+KERNEL_MAKE_OPTS+= V=1 \
ARCH="$(ADK_TARGET_KARCH)" \
CROSS_COMPILE="$(TARGET_CROSS)" \
HOSTCC="${HOST_CC}" \
@@ -9,13 +17,6 @@ KERNEL_MAKE_OPTS:= V=1 \
SHELL='${SHELL}' \
CONFIG_SHELL='${SHELL}'
-ifeq ($(ADK_TARGET_BINFMT_FDPIC),y)
-KERNEL_MAKE_OPTS+= CC="$(TARGET_CC) -mno-fdpic"
-else
-KERNEL_MAKE_OPTS+= CC="$(TARGET_CC)"
-endif
-
-
# regex for relocs needs pcre
ifeq ($(OS_FOR_BUILD),Darwin)
KERNEL_MAKE_OPTS+= HOSTLDFLAGS='-lpcreposix -Wl,-no_pie'
@@ -24,14 +25,17 @@ endif
# non-Linux platforms need elf.h
ifneq ($(OS_FOR_BUILD),Linux)
KERNEL_MAKE_OPTS+= HOSTCFLAGS='$(HOST_CPPFLAGS) ${HOST_CFLAGS}'
-KERNEL_MAKE_OPTS+= HOST_EXTRACFLAGS='-I${LINUX_DIR}/tools/include -I${LINUX_DIR}/usr/include -I${LINUX_DIR}/security/selinux/include -I${ADK_TOPDIR}/adk/include -DKBUILD_NO_NLS'
+KERNEL_MAKE_OPTS+= HOST_EXTRACFLAGS='-I${LINUX_DIR}/tools/include -I${LINUX_DIR}/usr/include -I${LINUX_DIR}/security/selinux/include -I${ADK_TOPDIR}/adk/include -I${LINUX_DIR}/scripts/dtc/libfdt -DKBUILD_NO_NLS'
else
KERNEL_MAKE_OPTS+= HOSTCFLAGS='${HOST_CFLAGS}'
endif
-ifeq ($(ADK_TARGET_SYSTEM_BANANA_PRO)$(ADK_TARGET_SYSTEM_ORANGE_PI0),y)
-KERNEL_MAKE_OPTS+= LOADADDR=0x40008000
+ifneq ($(ADK_TARGET_KERNEL_LOADADDR),)
+KERNEL_MAKE_OPTS+= LOADADDR=$(ADK_TARGET_KERNEL_LOADADDR)
endif
KERNEL_MAKE_ENV:= PATH="${TOOLCHAIN_DIR}/usr/bin:${STAGING_HOST_DIR}/usr/bin:$$PATH"
LINUX_BUILD_DIR:= $(BUILD_DIR)/$(ADK_TARGET_OS)-$(ADK_TARGET_ARCH)
+
+# wrapper to simplify calling make in kernel tree
+KERNEL_MAKE:= env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) -j${ADK_MAKE_JOBS}
diff --git a/mk/linux-ver.mk b/mk/linux-ver.mk
index 584f27726..55f8d1709 100644
--- a/mk/linux-ver.mk
+++ b/mk/linux-ver.mk
@@ -15,41 +15,65 @@ KERNEL_FILE_VER:= $(ADK_TARGET_LINUX_KERNEL_GIT)
KERNEL_RELEASE:= 1
KERNEL_VERSION:= $(ADK_TARGET_LINUX_KERNEL_GIT_VER)-$(KERNEL_RELEASE)
endif
+ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_6_6),y)
+KERNEL_FILE_VER:= 6.6.22
+KERNEL_RELEASE:= 1
+KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
+KERNEL_HASH:= 23e3e7b56407250f5411bdab95763d0bc4e3a19dfa431d951df7eacabd61a2f4
+endif
+ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_6_1),y)
+KERNEL_FILE_VER:= 6.1.82
+KERNEL_RELEASE:= 1
+KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
+KERNEL_HASH:= d150d2d9d416877668d8b56f75759f166168d192419eefaa942ed67225cbec06
+endif
+ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_5_15),y)
+KERNEL_FILE_VER:= 5.15.152
+KERNEL_RELEASE:= 1
+KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
+KERNEL_HASH:= f0805225f4a5b24d0bba9302c2c2f261c04f737ac5dd931da9b112e9f3e4a47e
+endif
+ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_5_10),y)
+KERNEL_FILE_VER:= 5.10.213
+KERNEL_RELEASE:= 1
+KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
+KERNEL_HASH:= 84cf30223239ec3333a5f7b2a7fba2042bba70d1582a139f7543956af871ad80
+endif
ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_5_4),y)
-KERNEL_FILE_VER:= 5.4.53
+KERNEL_FILE_VER:= 5.4.272
KERNEL_RELEASE:= 1
KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
-KERNEL_HASH:= faa7b6f99220d5726f0eaee74a6394f0a3b89be1a75254f3804630211f3d6d21
+KERNEL_HASH:= 3599d5959a403e64be407d7f05e56cb270d6ddd154e89a596609919ab1e2e366
endif
ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_4_19),y)
-KERNEL_FILE_VER:= 4.19.136
+KERNEL_FILE_VER:= 4.19.310
KERNEL_RELEASE:= 1
KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
-KERNEL_HASH:= 91f93b432db62a0e2c71b0764eb2b099027b2ba2f331f4fb982db2524dd6163e
+KERNEL_HASH:= 95ec94c4ab8f46d8a54430893f9bd653c46b0f1587d216818aa8f52fd313de69
endif
ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_4_14),y)
-KERNEL_FILE_VER:= 4.14.168
+KERNEL_FILE_VER:= 4.14.334
KERNEL_RELEASE:= 1
KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
-KERNEL_HASH:= db5777d3a12a85bc8c130b7b250bab2283f9d964b725e5de3c216b495eeb31fe
+KERNEL_HASH:= 8a1d520cfa71e9faebae9d8c24101f5bffe48fcb897dede4cecad5af67c34a45
endif
ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_4_9),y)
-KERNEL_FILE_VER:= 4.9.211
+KERNEL_FILE_VER:= 4.9.287
KERNEL_RELEASE:= 1
KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
-KERNEL_HASH:= 2597608d5d974cfdc015eaf6a4197b36f19d722b8a309b57e741fb02e311b1be
+KERNEL_HASH:= d44128674702529dd26214d6cd1c19542c37c5cc516f352bebbb78f0a9ed97c2
endif
ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_4_4),y)
-KERNEL_FILE_VER:= 4.4.211
+KERNEL_FILE_VER:= 4.4.302
KERNEL_RELEASE:= 1
KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
-KERNEL_HASH:= 77df6c3c5c512516db444264242cef5370550ed58ef3f198632858b917f9d8b8
+KERNEL_HASH:= 35017bb40b604e0b577fc2b87e727632b46608a2ba3a4f5858b9177f58f376b3
endif
ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_3_16),y)
-KERNEL_FILE_VER:= 3.16.81
+KERNEL_FILE_VER:= 3.16.85
KERNEL_RELEASE:= 1
KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
-KERNEL_HASH:= 24c21bc7cbd311282362b2e3ebc13417d725b0409ba14d6f9b6f1cf23a9fcbb3
+KERNEL_HASH:= 80b1598d389c94e83fdf15d99c7da452aeb3093fbf8ed7c91584c06c09fc1fa6
endif
ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_2_6_32),y)
KERNEL_FILE_VER:= 2.6.32.70
@@ -57,9 +81,3 @@ KERNEL_RELEASE:= 1
KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
KERNEL_HASH:= d7d0ee4588711d4f85ed67b65d447b4bbbe215e600a771fb87a62524b6341c43
endif
-ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_3_10_NDS32),y)
-KERNEL_FILE_VER:= 3.10-nds32
-KERNEL_RELEASE:= 1
-KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
-KERNEL_HASH:= 2f3e06924b850ca4d383ebb6baed154e1bb20440df6f38ca47c33950ec0e05c5
-endif
diff --git a/mk/linux.mk b/mk/linux.mk
index 37f7b8684..920c1749b 100644
--- a/mk/linux.mk
+++ b/mk/linux.mk
@@ -9,7 +9,8 @@ PKG_GIT:= $(ADK_TARGET_LINUX_KERNEL_GIT_TYPE)
PKG_SITES:= $(ADK_TARGET_LINUX_KERNEL_GIT_REPO)
else
PKG_VERSION:= $(KERNEL_FILE_VER)
-PKG_SITES:= ${MASTER_SITE_KERNEL:=kernel/v5.x/} \
+PKG_SITES:= ${MASTER_SITE_KERNEL:=kernel/v6.x/} \
+ ${MASTER_SITE_KERNEL:=kernel/v5.x/} \
${MASTER_SITE_KERNEL:=kernel/v4.x/} \
${MASTER_SITE_KERNEL:=kernel/v3.x/} \
${MASTER_SITE_KERNEL:=kernel/v3.0/testing/} \
diff --git a/mk/mirrors.mk b/mk/mirrors.mk
index a3b36be0b..a8dc27f6a 100644
--- a/mk/mirrors.mk
+++ b/mk/mirrors.mk
@@ -55,6 +55,7 @@ MASTER_SITE_MYSQL?= \
http://mysql.easynet.be/ \
MASTER_SITE_GNOME?= \
+ https://download.gnome.org/sources/ \
ftp://ftp.gnome.org/pub/GNOME/sources/ \
ftp://ftp.linux.org.uk/mirrors/ftp.gnome.org/sources/ \
ftp://ftp.acc.umu.se/pub/GNOME/sources/ \
diff --git a/mk/package.mk b/mk/package.mk
index 96add5789..2a3e1f414 100644
--- a/mk/package.mk
+++ b/mk/package.mk
@@ -224,15 +224,6 @@ endif
ifneq (${ADK_INSTALL_PACKAGE_NETWORK_SCRIPTS},y)
-@rm -rf $${IDIR_$(1)}/etc/network
endif
-ifeq (${ADK_RUNTIME_INIT_SYSTEMD},y)
- @for file in $$$$(ls ./files/*.service 2>/dev/null); do \
- fname=$$$$(echo $$$$file| sed -e "s#.*/##"); \
- mkdir -p $$(IDIR_$(1))/usr/lib/systemd/system && cp $$$$file $$(IDIR_$(1))/usr/lib/systemd/system/$$$$fname; \
- mkdir -p $$(IDIR_$(1))/etc/systemd/system/multi-user.target.wants; \
- ln -sf ../../../../usr/lib/systemd/system/$$$$fname \
- $$(IDIR_$(1))/etc/systemd/system/multi-user.target.wants; \
- done
-endif
endif
@mkdir -p $${PACKAGE_DIR} '$${STAGING_PKG_DIR}/stamps' \
'$${STAGING_TARGET_DIR}/scripts'
diff --git a/mk/perl.mk b/mk/perl.mk
index c28a4aef3..faaf078a9 100644
--- a/mk/perl.mk
+++ b/mk/perl.mk
@@ -1,4 +1,4 @@
-PERL_VERSION=5.24.1
+PERL_VERSION=5.38.0
PERL_ARCHNAME:=$(ADK_TARGET_CPU_ARCH)-linux
PERL_SITEDIR:=/usr/lib/perl5/site_perl/$(PERL_VERSION)
PERL_INCDIR:=/usr/lib/perl5/$(PERL_VERSION)/$(PERL_ARCHNAME)/CORE
diff --git a/mk/pkg-bottom.mk b/mk/pkg-bottom.mk
index b46e381de..abc1e1604 100644
--- a/mk/pkg-bottom.mk
+++ b/mk/pkg-bottom.mk
@@ -53,10 +53,11 @@ ifneq ($(filter manual,${CONFIG_STYLE}),)
else ifneq ($(filter meson,${CONFIG_STYLE}),)
@$(CMD_TRACE) "configuring meson.. "
(cd ${WRKSRC} && $(MESON_ENV) \
- meson --prefix /usr --libdir lib \
+ meson setup --prefix /usr --libdir lib \
--cross-file $(STAGING_HOST_DIR)/etc/meson/cross-compilation.conf \
+ --build.pkg-config-path $(STAGING_HOST_DIR)/usr/lib/pkgconfig \
--buildtype release $(MESON_FLAGS) \
- $(WRKSRC) $(WRKBUILD))
+ $(WRKSRC) $(WRKBUILD)) $(MAKE_TRACE)
else ifneq ($(filter cmake,${CONFIG_STYLE}),)
@$(CMD_TRACE) "configuring cmake.. "
sed -e "s#@@TARGET_CC@@#$(TARGET_CC_NO_CCACHE)#" \
@@ -115,6 +116,7 @@ else ifeq ($(strip ${CONFIG_STYLE}),)
--disable-dependency-tracking \
--disable-libtool-lock \
--disable-nls \
+ --disable-silent-rules \
${CONFIGURE_LIB} \
${CONFIGURE_ARGS} $(MAKE_TRACE)
else
@@ -138,7 +140,7 @@ ${_BUILD_COOKIE}: ${_CONFIGURE_COOKIE}
@env ${MAKE_ENV} ${MAKE} pre-build $(MAKE_TRACE)
@$(CMD_TRACE) "compiling.. "
ifneq ($(filter meson,${BUILD_STYLE}),)
- PATH='$(HOST_PATH)' ninja -v -C $(WRKBUILD)
+ PATH='$(HOST_PATH)' ninja -v -C $(WRKBUILD) $(MAKE_TRACE)
else ifneq ($(filter manual,${BUILD_STYLE}),)
env ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} do-build $(MAKE_TRACE)
else ifeq ($(strip ${BUILD_STYLE}),)
@@ -212,7 +214,7 @@ endif
ifeq (,$(filter nostaging,${PKG_OPTS}))
@-cd ${WRKINST}; \
find usr ! -type d 2>/dev/null | \
- grep -E -v -e '^usr/share' -e '^usr/src' -e '^usr/doc' -e '^usr/local' -e '^usr/man' -e '^usr/info' \
+ grep -E -v -e '^usr/src' -e '^usr/doc' -e '^usr/local' -e '^usr/man' -e '^usr/info' \
-e '^usr/lib/libc.so' -e '^usr/bin/[a-z0-9-]+-config*' -e '^usr/lib/.*\.la$$' \
-e '^/usr/lib/libpthread_nonshared.a' | \
tee '${STAGING_PKG_DIR}/${PKG_NAME}' | \
diff --git a/mk/python.mk b/mk/python.mk
deleted file mode 100644
index 56008760a..000000000
--- a/mk/python.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-PYTHON_VERSION=2.7
-PYTHON_LIBDIR:=$(STAGING_HOST_DIR)/usr/lib
-PYTHON:=${STAGING_HOST_DIR}/usr/bin/python
diff --git a/mk/python3.mk b/mk/python3.mk
index d1e18d904..c2e9f7a27 100644
--- a/mk/python3.mk
+++ b/mk/python3.mk
@@ -1,3 +1,3 @@
-PYTHON_VERSION=3.8
+PYTHON_VERSION=3.11
PYTHON_LIBDIR:=$(STAGING_HOST_DIR)/usr/lib
PYTHON:=${STAGING_HOST_DIR}/usr/bin/python3
diff --git a/mk/vars.mk b/mk/vars.mk
index e476b8938..d99634443 100644
--- a/mk/vars.mk
+++ b/mk/vars.mk
@@ -142,7 +142,7 @@ TARGET_CFLAGS+= -mcpu=$(ADK_TARGET_GCC_CPU)
TARGET_CXXFLAGS+= -mcpu=$(ADK_TARGET_GCC_CPU)
endif
-# for archiectures where gcc --with-arch matches -march=
+# for architectures where gcc --with-arch matches -march=
ifneq ($(ADK_TARGET_GCC_ARCH),)
TARGET_CFLAGS+= -march=$(ADK_TARGET_GCC_ARCH)
TARGET_CXXFLAGS+= -march=$(ADK_TARGET_GCC_ARCH)
@@ -171,9 +171,9 @@ endif
endif
ifeq ($(ADK_TARGET_BINFMT_FLAT),y)
-TARGET_LDFLAGS+= -Wl,-elf2flt
-TARGET_CFLAGS+= -Wl,-elf2flt
-TARGET_CXXFLAGS+= -Wl,-elf2flt
+TARGET_LDFLAGS+= -Wl,-elf2flt=-r
+TARGET_CFLAGS+= -Wl,-elf2flt=-r
+TARGET_CXXFLAGS+= -Wl,-elf2flt=-r
endif
ifeq ($(ADK_TARGET_BINFMT_FLAT_SEP_DATA),y)
@@ -198,6 +198,13 @@ ifneq ($(ADK_TARGET_USE_LD_BIND_NOW),)
TARGET_LDFLAGS+= -Wl,-z,now
endif
+ifeq ($(ADK_TARGET_ARCH_RISCV64)$(ADK_TARGET_ARCH_RISCV32),y)
+ifeq ($(ADK_TARGET_BINFMT_FLAT),y)
+TARGET_CFLAGS+= -fPIC
+TARGET_CXXFLAGS+= -fPIC
+endif
+endif
+
# needed for musl ppc
ifeq ($(ADK_TARGET_ARCH_PPC),y)
ifeq ($(ADK_TARGET_LIB_MUSL),y)
@@ -205,11 +212,17 @@ TARGET_LDFLAGS+= -Wl,--secure-plt
endif
endif
+ifneq ($(ADK_TARGET_BINFMT_ELF)$(ADK_TARGET_WITH_MMU),y)
ifeq ($(ADK_TARGET_USE_STATIC_LIBS_ONLY)$(ADK_TARGET_USE_STATIC_AND_SHARED_LIBS),y)
TARGET_CFLAGS+= -static
TARGET_CXXFLAGS+= -static
TARGET_LDFLAGS+= -static
endif
+else
+TARGET_CFLAGS+= -fpie
+TARGET_CXXFLAGS+= -fpie
+TARGET_LDFLAGS+= -fpie -pie
+endif
ifneq ($(ADK_TARGET_USE_SSP),)
TARGET_CFLAGS+= -fstack-protector-all --param=ssp-buffer-size=4
@@ -236,16 +249,14 @@ endif
# special architecture optimization flags
ifeq ($(ADK_TARGET_ARCH_XTENSA),y)
-ifeq ($(ADK_TARGET_BIG_ENDIAN),)
ifeq ($(ADK_TARGET_LIB_NEWLIB),)
TARGET_CFLAGS+= -mlongcalls -mauto-litpools
TARGET_CXXFLAGS+= -mlongcalls -mauto-litpools
endif
endif
-endif
ifeq ($(ADK_TARGET_ARCH_MICROBLAZE),y)
-TARGET_CFLAGS+= -mxl-barrel-shift
-TARGET_CXXFLAGS+= -mxl-barrel-shift
+TARGET_CFLAGS+= -mxl-barrel-shift -fno-tree-loop-distribute-patterns
+TARGET_CXXFLAGS+= -mxl-barrel-shift -fno-tree-loop-distribute-patterns
endif
endif
@@ -282,8 +293,8 @@ endif
# workaround gcc bug for m68k/coldfire
ifeq ($(ADK_TARGET_CPU_CF),y)
-TARGET_CFLAGS+= -fno-dwarf2-cfi-asm
-TARGET_CXXFLAGS+= -fno-dwarf2-cfi-asm
+TARGET_CFLAGS+= -fno-dwarf2-cfi-asm -mxgot
+TARGET_CXXFLAGS+= -fno-dwarf2-cfi-asm -mxgot
endif
ifeq ($(ADK_TARGET_ARCH_ARM),y)
diff --git a/package/Config.in b/package/Config.in
index fd578b8c9..248d66fff 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -26,6 +26,7 @@ source package/Config.in.auto.app.chat
source package/Config.in.auto.app.crypto
source package/Config.in.auto.app.debug
source package/Config.in.auto.app.editor
+source package/Config.in.auto.app.games
source package/Config.in.auto.app.p2p
endmenu
diff --git a/package/Config.in.options b/package/Config.in.options
index 39e6a0b96..a806da895 100644
--- a/package/Config.in.options
+++ b/package/Config.in.options
@@ -47,7 +47,7 @@ config ADK_LEAVE_ETC_ALONE
config ADK_INSTALL_PACKAGE_INIT_SCRIPTS
bool "ship custom init-scripts along with packages"
- default y if !ADK_RUNTIME_INIT_SYSTEMD
+ default y
depends on !ADK_LEAVE_ETC_ALONE
help
Turning this option to false will prevent the ADK from
@@ -59,7 +59,7 @@ config ADK_INSTALL_PACKAGE_INIT_SCRIPTS
config ADK_INSTALL_PACKAGE_NETWORK_SCRIPTS
bool "ship custom network-scripts along with packages"
- default y if !ADK_RUNTIME_INIT_SYSTEMD
+ default y
depends on !ADK_LEAVE_ETC_ALONE
help
Turning this option to false will prevent the ADK from
diff --git a/package/DirectFB/Makefile b/package/DirectFB/Makefile
index e669ee059..c3fec321b 100644
--- a/package/DirectFB/Makefile
+++ b/package/DirectFB/Makefile
@@ -4,16 +4,16 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= DirectFB
-PKG_VERSION:= 1.6.3
-PKG_RELEASE:= 3
-PKG_EXTRAVER:= 1.6-0
-PKG_HASH:= 7a96aced0f69b2ec0810e9923068e61c21e6b19dd593e09394c872414df75e70
+PKG_VERSION:= 1.7.7
+PKG_EXTRAVER:= 1.7-7
+PKG_RELEASE:= 1
+PKG_HASH:= b785c638dc31b8fe3a7c81be1475c89b2255ab3d67b777c747d3fbc52f8027a3
PKG_DESCR:= thin graphic library for framebuffer devices
PKG_SECTION:= libs/image
PKG_DEPENDS:= libpng libjpeg-turbo libfreetype
PKG_BUILDDEP:= libpng libjpeg-turbo freetype
PKG_URL:= http://www.directfb.org/
-PKG_SITES:= http://directfb.org/downloads/Core/DirectFB-1.6/
+PKG_SITES:= https://distfiles.openadk.org/
PKG_LIBNAME:= directfb
PKG_OPTS:= dev
diff --git a/package/ImageMagick/Makefile b/package/ImageMagick/Makefile
index 2981a2930..aca4f647f 100644
--- a/package/ImageMagick/Makefile
+++ b/package/ImageMagick/Makefile
@@ -4,10 +4,10 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= ImageMagick
-PKG_VERSION:= 7.0.5
-PKG_EXTRAVER:= 10
+PKG_VERSION:= 7.1.1
+PKG_EXTRAVER:= 29
PKG_RELEASE:= 1
-PKG_HASH:= 0058fcde533986334458a5c99600b1b9633182dd9562cbad4ba618c5ccf2a28f
+PKG_HASH:= f140465fbeb0b4724cba4394bc6f6fb32715731c1c62572d586f4f1c8b9b0685
PKG_DESCR:= image processing and converting utility
PKG_SECTION:= mm/image
PKG_BUILDDEP:= libpng libjpeg-turbo libtiff fontconfig
diff --git a/package/adktest/Makefile b/package/adktest/Makefile
index 3e1ad35c3..b6571a199 100644
--- a/package/adktest/Makefile
+++ b/package/adktest/Makefile
@@ -5,7 +5,7 @@ include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= adktest
PKG_VERSION:= 0.1
-PKG_RELEASE:= 10
+PKG_RELEASE:= 11
PKG_DESCR:= helper tools and scripts for qemu testing
PKG_SECTION:= base/tests
PKG_URL:= http://openadk.org/
diff --git a/package/adktest/files/adktest.init b/package/adktest/files/adktest.init
index e1fe9a8c2..3969eb585 100755
--- a/package/adktest/files/adktest.init
+++ b/package/adktest/files/adktest.init
@@ -17,6 +17,7 @@ start)
fi
echo "Starting test script ..."
if [ -x /run.sh ];then
+ mount -o remount,rw /
/run.sh
quit
else
diff --git a/package/adktest/src/quit b/package/adktest/src/quit
index 74c5f01b8..00468d36a 100755
--- a/package/adktest/src/quit
+++ b/package/adktest/src/quit
@@ -1,7 +1,7 @@
#!/bin/sh
arch=$(uname -m)
case $arch in
- arc|blackfin|m68k|metag|openrisc|riscv64|s390x|sh4eb)
+ arc|blackfin|kvx|m68k|metag|riscv64|s390x|sh4eb)
poweroff
;;
*)
diff --git a/package/afboot-stm32/Makefile b/package/afboot-stm32/Makefile
index 127b9c21a..49a01a9c0 100644
--- a/package/afboot-stm32/Makefile
+++ b/package/afboot-stm32/Makefile
@@ -4,7 +4,7 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= afboot-stm32
-PKG_VERSION:= 8e9e03159ce47629d40dbed4c50c1879b69bb197
+PKG_VERSION:= 3566acd582e5536fb60864281788a30f5527df2d
PKG_RELEASE:= 1
PKG_DESCR:= bootloader for stm32 devices
PKG_SECTION:= base/boot
diff --git a/package/afboot-stm32/patches/patch-Makefile b/package/afboot-stm32/patches/patch-Makefile
new file mode 100644
index 000000000..c063052c9
--- /dev/null
+++ b/package/afboot-stm32/patches/patch-Makefile
@@ -0,0 +1,19 @@
+--- afboot-stm32-3566acd582e5536fb60864281788a30f5527df2d.orig/Makefile 2021-12-31 07:02:01.000000000 +0100
++++ afboot-stm32-3566acd582e5536fb60864281788a30f5527df2d/Makefile 2021-12-31 12:02:33.236273664 +0100
+@@ -7,13 +7,14 @@ OBJDUMP = $(CROSS_COMPILE)objdump
+ SIZE = $(CROSS_COMPILE)size
+ GDB = $(CROSS_COMPILE)gdb
+ OPENOCD = openocd
+-KERNEL_ADDR?=0x08008000
++KERNEL_ADDR?=0x0800C000
+ DTB_ADDR?=0x08004000
+
+ CFLAGS := -mthumb -mcpu=cortex-m4
+ CFLAGS += -ffunction-sections -fdata-sections
+ CFLAGS += -Os -std=gnu99 -Wall
+-LINKERFLAGS := -nostartfiles --gc-sections
++CFLAGS += -mno-fdpic -fno-builtin
++LINKERFLAGS := --gc-sections
+
+ obj-y += gpio.o mpu.o qspi.o start_kernel.o
+ obj-f4 += $(obj-y) usart-f4.o
diff --git a/package/afpfs-ng/Makefile b/package/afpfs-ng/Makefile
index 96380df46..28cbb57ba 100644
--- a/package/afpfs-ng/Makefile
+++ b/package/afpfs-ng/Makefile
@@ -11,7 +11,6 @@ PKG_DESCR:= client for apple filing protocol
PKG_SECTION:= net/fs
PKG_DEPENDS:= libgcrypt
PKG_BUILDDEP:= fuse libgcrypt readline
-PKG_URL:= https://sites.google.com/site/alexthepuffin/home
PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=afpfs-ng/}
PKG_LIBNAME:= libafpclient
PKG_OPTS:= dev
@@ -29,6 +28,7 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,AFPFS_NG,afpfs-ng,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,LIBAFPCLIENT,libafpclient,$(PKG_VERSION)-${PKG_RELEASE},${PKGSS_LIBAFPCLIENT},${PKGSD_LIBAFPCLIENT},${PKGSC_LIBAFPCLIENT},$(PKG_OPTS)))
+TARGET_CFLAGS+= -fcommon
AUTOTOOL_STYLE:= autoreconf
CONFIGURE_ARGS+= --enable-gcrypt
CONFIGURE_ENV+= ac_cv_func_malloc_0_nonnull=yes
diff --git a/package/aircrack-ng/Makefile b/package/aircrack-ng/Makefile
index 40437b144..154e19922 100644
--- a/package/aircrack-ng/Makefile
+++ b/package/aircrack-ng/Makefile
@@ -4,31 +4,28 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= aircrack-ng
-PKG_VERSION:= 1.2
+PKG_VERSION:= 1.7
PKG_RELEASE:= 1
-PKG_HASH:= d93ac16aade5b4d37ab8cdf6ce4b855835096ccf83deb65ffdeff6d666eaff36
+PKG_HASH:= 05a704e3c8f7792a17315080a21214a4448fd2452c1b0dd5226a3a55f90b58c3
PKG_DESCR:= set of tools for auditing wireless networks
PKG_SECTION:= net/wifi
-PKG_DEPENDS:= libpcap libnl libressl
-PKG_BUILDDEP:= libpcap libnl libressl
-PKG_NEEDS:= threads
+PKG_DEPENDS:= libpcap libnl libressl zlib
+PKG_BUILDDEP:= libpcap libnl libressl zlib
+PKG_NEEDS:= threads c++
PKG_URL:= http://www.aircrack-ng.org/
PKG_SITES:= http://download.aircrack-ng.org/
# do not build parallel, otherwise libosdep.a may not be ready when compiling airtun-ng
PKG_NOPARALLEL:= 1
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}-rc4.tar.gz
-WRKDIST= ${WRKDIR}/${PKG_NAME}-${PKG_VERSION}-rc4
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,AIRCRACK_NG,${PKG_NAME},$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-CONFIG_STYLE:= manual
-
-XAKE_FLAGS+= CC="$(TARGET_CC)" \
- TOOL_PREFIX="$(TARGET_CROSS)" \
- OSNAME="Linux" prefix="/usr"
+AUTOTOOL_STYLE:= autogen
+XAKE_FLAGS+= V=1
+CONFIGURE_ARGS+= --with-libpcap-include='$(STAGING_TARGET_DIR)/usr/include'
aircrack-ng-install:
$(INSTALL_DIR) $(IDIR_AIRCRACK_NG)/usr/bin
diff --git a/package/aircrack-ng/patches/patch-common_mak b/package/aircrack-ng/patches/patch-common_mak
deleted file mode 100644
index 9a8bf9c3c..000000000
--- a/package/aircrack-ng/patches/patch-common_mak
+++ /dev/null
@@ -1,27 +0,0 @@
---- aircrack-ng-1.2-rc4.orig/common.mak 2015-12-31 20:42:10.000000000 +0100
-+++ aircrack-ng-1.2-rc4/common.mak 2017-06-06 21:16:36.954790985 +0200
-@@ -1,6 +1,6 @@
- PKG_CONFIG ?= pkg-config
-
--NEWSSE = true
-+NEWSSE = false
- # Newer version of the core can be enabled via SIMDCORE
- # but should be automatically flipped on thru autodetection
- SIMDCORE = false
-@@ -231,16 +231,6 @@ ifeq ($(GCC_OVER49), 0)
- GCC_OVER49 = $(shell expr 4.9 \<= `$(CC) -dumpversion | awk -F. '{ print $1$2 }'`)
- endif
-
--ifeq ($(GCC_OVER49), 0)
-- ifeq ($(GCC_OVER41), 1)
-- COMMON_CFLAGS += -fstack-protector
-- endif
--endif
--
--ifeq ($(GCC_OVER49), 1)
-- COMMON_CFLAGS += -fstack-protector-strong
--endif
--
- ifeq ($(GCC_OVER45), 1)
- CFLAGS += -Wno-unused-but-set-variable -Wno-array-bounds
- endif
diff --git a/package/aircrack-ng/patches/patch-src_osdep_linux_c b/package/aircrack-ng/patches/patch-src_osdep_linux_c
deleted file mode 100644
index 1811eb90a..000000000
--- a/package/aircrack-ng/patches/patch-src_osdep_linux_c
+++ /dev/null
@@ -1,26 +0,0 @@
- When search for wireless-tools, also check $PATH
---- aircrack-ng-1.2-rc4.orig/src/osdep/linux.c 2016-02-15 00:34:57.000000000 +0100
-+++ aircrack-ng-1.2-rc4/src/osdep/linux.c 2017-06-06 20:36:32.460367791 +0200
-@@ -263,6 +263,7 @@ static char * wiToolsPath(const char * t
- "/usr/local/bin",
- "/tmp"
- };
-+ char *envpath, *token;
-
- // Also search in other known location just in case we haven't found it yet
- nbelems = sizeof(paths) / sizeof(char *);
-@@ -273,6 +274,14 @@ static char * wiToolsPath(const char * t
- return path;
- }
-
-+ /* search again in $PATH */
-+ for (envpath = getenv("PATH"); ; envpath = NULL) {
-+ if ((token = strtok(envpath, ":")) == NULL)
-+ break;
-+ if ((path = searchInside(token, tool)) != NULL)
-+ return path;
-+ }
-+
- return NULL;
- }
-
diff --git a/package/alsa-lib/Makefile b/package/alsa-lib/Makefile
index bf7f496d1..bbafdfd70 100644
--- a/package/alsa-lib/Makefile
+++ b/package/alsa-lib/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= alsa-lib
-PKG_VERSION:= 1.1.4
+PKG_VERSION:= 1.2.11
PKG_RELEASE:= 1
-PKG_HASH:= 82f50a09487079755d93e4c9384912196995bade6280bce9bfdcabf094bfb515
+PKG_HASH:= 9f3f2f69b995f9ad37359072fbc69a3a88bfba081fc83e9be30e14662795bb4d
PKG_DESCR:= sound library
PKG_SECTION:= libs/audio
PKG_URL:= http://www.alsa-project.org/
@@ -28,7 +28,8 @@ endif
HOST_STYLE:= auto
HOST_CONFIGURE_ARGS+= --disable-python
CONFIGURE_ARGS+= --disable-python \
- --without-versioned
+ --without-versioned \
+ --disable-topology
alsa-lib-install:
${INSTALL_DIR} ${IDIR_ALSA_LIB}/usr/lib
diff --git a/package/alsa-utils/Makefile b/package/alsa-utils/Makefile
index cabc1ca31..2caa08f05 100644
--- a/package/alsa-utils/Makefile
+++ b/package/alsa-utils/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= alsa-utils
-PKG_VERSION:= 1.1.4
+PKG_VERSION:= 1.2.11
PKG_RELEASE:= 1
-PKG_HASH:= a7831044de92c5bf33bf3365a3f36e49397f4191e934df460ae1ca15138c9d9d
+PKG_HASH:= 9ac6ca3a883f151e568dcf979b8d2e5cbecc51b819bb0e6bb8a2e9b34cc428a7
PKG_DESCR:= mixer/player/record utilities
PKG_SECTION:= mm/audio
PKG_DEPENDS:= alsa-lib
diff --git a/package/alsa-utils/files/amixer.init b/package/alsa-utils/files/amixer.init
index 884b2acf2..58813a96c 100644
--- a/package/alsa-utils/files/amixer.init
+++ b/package/alsa-utils/files/amixer.init
@@ -11,7 +11,7 @@ autostart)
exec sh $0 start
;;
start)
- for shell in $(ls /etc/amixer.d/*.sh); do
+ for shell in $(ls /etc/amixer.d/*.sh 2>/dev/null); do
./$shell >/dev/null
done
;;
diff --git a/package/apr-util/Makefile b/package/apr-util/Makefile
index 7046779ac..3ee12d26b 100644
--- a/package/apr-util/Makefile
+++ b/package/apr-util/Makefile
@@ -23,7 +23,8 @@ $(eval $(call PKG_template,APR_UTIL,apr-util,${PKG_VERSION}-${PKG_RELEASE},${PKG
CONFIGURE_ARGS+= --without-berkeley-db \
--with-apr=${STAGING_TARGET_DIR}/usr \
- --with-expat=${STAGING_TARGET_DIR}/usr
+ --with-expat=${STAGING_TARGET_DIR}/usr \
+ --without-iconv
XAKE_FLAGS+= apr_builddir=${STAGING_TARGET_DIR}/usr/share/build-1 \
apr_builders=${STAGING_TARGET_DIR}/usr/share/build-1
diff --git a/package/arm-trusted-firmware/Makefile b/package/arm-trusted-firmware/Makefile
new file mode 100644
index 000000000..10bb72a25
--- /dev/null
+++ b/package/arm-trusted-firmware/Makefile
@@ -0,0 +1,26 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= arm-trusted-firmware
+PKG_VERSION:= 6952ce49c29be021eb07159c2f472e9e23633135
+PKG_GIT:= hash
+PKG_RELEASE:= 1
+PKG_DESCR:= ARM Trusted Firmware
+PKG_SECTION:= base/boot
+PKG_SITES:= https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,ARM_TRUSTED_FIRMWARE,arm-trusted-firmware,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+TARGET_LDFLAGS:=
+XAKE_FLAGS+= V=1
+ALL_TARGET:= bl31
+CONFIG_STYLE:= manual
+INSTALL_STYLE:= manual
+
+arm-trusted-firmware-install:
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/arm-trusted-firmware/patches/patch-plat_rockchip_rk3328_rk3328_def_h b/package/arm-trusted-firmware/patches/patch-plat_rockchip_rk3328_rk3328_def_h
new file mode 100644
index 000000000..cbe6a2b07
--- /dev/null
+++ b/package/arm-trusted-firmware/patches/patch-plat_rockchip_rk3328_rk3328_def_h
@@ -0,0 +1,11 @@
+--- arm-trusted-firmware-6952ce49c29be021eb07159c2f472e9e23633135.orig/plat/rockchip/rk3328/rk3328_def.h 2022-12-19 22:36:56.000000000 +0100
++++ arm-trusted-firmware-6952ce49c29be021eb07159c2f472e9e23633135/plat/rockchip/rk3328/rk3328_def.h 2022-12-25 03:14:08.860679511 +0100
+@@ -103,7 +103,7 @@
+ /**************************************************************************
+ * UART related constants
+ **************************************************************************/
+-#define RK3328_BAUDRATE 1500000
++#define RK3328_BAUDRATE 115200
+ #define RK3328_UART_CLOCK 24000000
+
+ /******************************************************************************
diff --git a/package/asterisk/Makefile b/package/asterisk/Makefile
index 2504e1abc..8a3198231 100644
--- a/package/asterisk/Makefile
+++ b/package/asterisk/Makefile
@@ -4,24 +4,26 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= asterisk
-PKG_VERSION:= 1.8.28.2
-PKG_RELEASE:= 2
-PKG_HASH:= 7b3d84a3403fce590377808eaa4b08b6320666ca0e37eba0ad578b66211b13c8
+PKG_VERSION:= 20.6.0
+PKG_RELEASE:= 1
+PKG_HASH:= d70109e9b4c52fba6d0080b20cadc0aaee4060a0ad28bff4e376bf8b393e9400
PKG_DESCR:= open source pbx
PKG_SECTION:= net/voip
-PKG_DEPENDS:= libncurses libcurl libressl
-PKG_BUILDDEP:= ncurses zlib curl popt libressl
+PKG_DEPENDS:= libncurses libcurl libressl libedit libuuid libjansson
+PKG_DEPENDS+= libxml2 libsqlite libxslt
+PKG_BUILDDEP:= ncurses zlib curl popt libressl libedit util-linux libjansson
+PKG_BUILDDEP+= libxml2 sqlite libxslt
PKG_NEEDS:= threads c++
PKG_URL:= http://www.asterisk.org/
PKG_SITES:= http://downloads.asterisk.org/pub/telephony/asterisk/releases/
-PKG_NOPARALLEL:= 1
+#PKG_NOPARALLEL:= 1
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
PKG_LIBC_DEPENDS:= uclibc-ng glibc
PKG_SUBPKGS:= ASTERISK ASTERISK_VOICEMAIL ASTERISK_SOUNDS
-PKG_SUBPKGS+= ASTERISK_CHAN_SKINNY ASTERISK_CHAN_IAX2 ASTERISK_CODEC_SPEEX ASTERISK_CODEC_GSM
+PKG_SUBPKGS+= ASTERISK_CHAN_IAX2 ASTERISK_CODEC_SPEEX ASTERISK_CODEC_GSM
PKG_SUBPKGS+= ASTERISK_PBX_DUNDI ASTERISK_RES_AGI
PKGSD_ASTERISK_VOICEMAIL:= voicemail support
PKGSN_ASTERISK_VOICEMAIL:= asterisk
@@ -31,10 +33,6 @@ PKGSD_ASTERISK_PBX_DUNDI:= PBX dundi support
PKGSN_ASTERISK_PBX_DUNDI:= asterisk
PKGSD_ASTERISK_RES_AGI:= res agi support
PKGSN_ASTERISK_RES_AGI:= asterisk
-PKGSD_ASTERISK_CHAN_MGCP:= Media Gateway Control Protocol implementation
-PKGSN_ASTERISK_CHAN_MGCP:= asterisk
-PKGSD_ASTERISK_CHAN_SKINNY:= skinny client control protocol implementation
-PKGSN_ASTERISK_CHAN_SKINNY:= asterisk
PKGSD_ASTERISK_CHAN_IAX2:= support for the Inter Asterisk Protocol
PKGSN_ASTERISK_CHAN_IAX2:= asterisk
PKGSD_ASTERISK_CODEC_SPEEX:= speex/PCM16 Codec translator
@@ -49,8 +47,6 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,ASTERISK,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,ASTERISK_VOICEMAIL,asterisk-voicemail,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_ASTERISK_VOICEMAIL},${PKG_SECTION}))
$(eval $(call PKG_template,ASTERISK_SOUNDS,asterisk-sounds,$(PKG_VERSION)-${PKG_RELEASE},${PKGSS_ASTERISK_SOUNDS},${PKGSD_ASTERISK_SOUNDS},${PKG_SECTION}))
-#$(eval $(call PKG_template,ASTERISK_CHAN_MGCP,asterisk-chan-mgcp,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_ASTERISK_CHAN_MGCP},${PKG_SECTION}))
-$(eval $(call PKG_template,ASTERISK_CHAN_SKINNY,asterisk-chan-skinny,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_ASTERISK_CHAN_SKINNY},${PKG_SECTION}))
$(eval $(call PKG_template,ASTERISK_CHAN_IAX2,asterisk-chan-iax2,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_ASTERISK_CHAN_IAX2},${PKG_SECTION}))
$(eval $(call PKG_template,ASTERISK_CODEC_SPEEX,asterisk-codec-speex,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_ASTERISK_CODEC_SPEEX},${PKG_SECTION}))
$(eval $(call PKG_template,ASTERISK_CODEC_GSM,asterisk-codec-gsm,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_ASTERISK_CODEC_GSM},${PKG_SECTION}))
@@ -59,16 +55,16 @@ $(eval $(call PKG_template,ASTERISK_RES_AGI,asterisk-res-agi,$(PKG_VERSION)-${PK
CONFIGURE_ARGS= --with-z=${STAGING_TARGET_DIR}/usr \
--with-ncurses=${STAGING_TARGET_DIR}/usr \
+ --with-libedit=${STAGING_TARGET_DIR}/usr \
+ --with-jansson=${STAGING_TARGET_DIR}/usr \
--with-ssl=${STAGING_TARGET_DIR}/usr \
--disable-xmldoc \
--without-tonezone \
--without-asound \
- --without-curses \
--without-gtk2 \
--without-h323 \
--without-iksemel \
--without-imap \
- --without-nbs \
--without-netsnmp \
--without-newt \
--without-openais \
@@ -78,12 +74,6 @@ CONFIGURE_ARGS= --with-z=${STAGING_TARGET_DIR}/usr \
--without-pri \
--without-pwlib \
--without-tds \
- --without-termcap \
- --without-tinfo \
- --without-vpb \
- --without-misdn \
- --without-isdnnet \
- --without-suppserv \
--without-postgres
ifneq (${ADK_PACKAGE_ASTERISK_CODEC_GSM},)
@@ -123,10 +113,10 @@ pre-configure:
pre-build:
$(MAKE) -C $(WRKBUILD)/menuselect
-post-build:
- cd ${WRKBUILD}/sounds ; \
- tar xzf asterisk-core-sounds-en-gsm-1.4.25.tar.gz ; \
- rm asterisk-core-sounds-en-gsm-1.4.25.tar.gz
+#post-build:
+# cd ${WRKBUILD}/sounds ; \
+# tar xzf asterisk-core-sounds-en-gsm-1.4.25.tar.gz ; \
+# rm asterisk-core-sounds-en-gsm-1.4.25.tar.gz
do-install:
$(CP) $(WRKINST)/* $(IDIR_ASTERISK)
@@ -189,38 +179,19 @@ asterisk-sounds-install:
asterisk-voicemail-install:
${INSTALL_DIR} $(IDIR_ASTERISK_VOICEMAIL)/etc/asterisk
${INSTALL_DIR} $(IDIR_ASTERISK_VOICEMAIL)/usr/lib/asterisk/modules
- ${INSTALL_DATA} $(WRKBUILD)/configs/voicemail.conf.sample \
+ ${INSTALL_DATA} $(WRKBUILD)/configs/samples/voicemail.conf.sample \
$(IDIR_ASTERISK_VOICEMAIL)/etc/asterisk/voicemail.conf
${CP} $(WRKBUILD)/apps/*voicemail.so \
$(IDIR_ASTERISK_VOICEMAIL)/usr/lib/asterisk/modules/
${INSTALL_BIN} $(WRKBUILD)/res/res_adsi.so \
$(IDIR_ASTERISK_VOICEMAIL)/usr/lib/asterisk/modules/
- ${INSTALL_DIR} $(IDIR_ASTERISK_VOICEMAIL)/usr/lib/asterisk/sounds
- $(CP) $(WRKBUILD)/sounds/vm-*.gsm \
- $(IDIR_ASTERISK_VOICEMAIL)/usr/lib/asterisk/sounds/
-
-asterisk-chan-mgcp-install:
- ${INSTALL_DIR} $(IDIR_ASTERISK_CHAN_MGCP)/etc/asterisk
- ${INSTALL_DATA} $(WRKBUILD)/configs/mgcp.conf.sample \
- $(IDIR_ASTERISK_CHAN_MGCP)/etc/asterisk/mgcp.conf
- ${INSTALL_DIR} $(IDIR_ASTERISK_CHAN_MGCP)/usr/lib/asterisk/modules
- ${INSTALL_BIN} $(WRKBUILD)/channels/chan_mgcp.so \
- $(IDIR_ASTERISK_CHAN_MGCP)/usr/lib/asterisk/modules/
-
-asterisk-chan-skinny-install:
- ${INSTALL_DIR} $(IDIR_ASTERISK_CHAN_SKINNY)/etc/asterisk
- ${INSTALL_DATA} $(WRKBUILD)/configs/skinny.conf.sample \
- $(IDIR_ASTERISK_CHAN_SKINNY)/etc/asterisk/skinny.conf
- ${INSTALL_DIR} $(IDIR_ASTERISK_CHAN_SKINNY)/usr/lib/asterisk/modules
- ${INSTALL_BIN} $(WRKBUILD)/channels/chan_skinny.so \
- $(IDIR_ASTERISK_CHAN_SKINNY)/usr/lib/asterisk/modules/
asterisk-chan-iax2-install:
${INSTALL_DIR} $(IDIR_ASTERISK_CHAN_IAX2)/etc/asterisk
${INSTALL_DIR} $(IDIR_ASTERISK_CHAN_IAX2)/usr/lib/asterisk/modules
- ${INSTALL_DATA} $(WRKBUILD)/configs/iax.conf.sample \
+ ${INSTALL_DATA} $(WRKBUILD)/configs/samples/iax.conf.sample \
$(IDIR_ASTERISK_CHAN_IAX2)/etc/asterisk/iax.conf
- ${INSTALL_DATA} $(WRKBUILD)/configs/iaxprov.conf.sample \
+ ${INSTALL_DATA} $(WRKBUILD)/configs/samples/iaxprov.conf.sample \
$(IDIR_ASTERISK_CHAN_IAX2)/etc/asterisk/iaxprov.conf
${INSTALL_BIN} $(WRKBUILD)/channels/chan_iax2.so \
$(IDIR_ASTERISK_CHAN_IAX2)/usr/lib/asterisk/modules/
@@ -237,7 +208,7 @@ asterisk-codec-gsm-install:
asterisk-pbx-dundi-install:
${INSTALL_DIR} $(IDIR_ASTERISK_PBX_DUNDI)/etc/asterisk
- ${INSTALL_DATA} $(WRKBUILD)/configs/dundi.conf.sample \
+ ${INSTALL_DATA} $(WRKBUILD)/configs/samples/dundi.conf.sample \
$(IDIR_ASTERISK_PBX_DUNDI)/etc/asterisk/dundi.conf
${INSTALL_DIR} $(IDIR_ASTERISK_PBX_DUNDI)/usr/lib/asterisk/modules
${INSTALL_BIN} $(WRKBUILD)/pbx/pbx_dundi.so \
@@ -252,7 +223,7 @@ asterisk-res-agi-install:
asterisk-meetme-install:
${INSTALL_DIR} ${IDIR_ASTERISK_MEETME}/etc/asterisk/
${INSTALL_DIR} ${IDIR_ASTERISK_MEETME}/usr/lib/asterisk/modules
- ${INSTALL_DATA} ${WRKBUILD}/configs/meetme.conf.sample \
+ ${INSTALL_DATA} ${WRKBUILD}/configs/samples/meetme.conf.sample \
${IDIR_ASTERISK_MEETME}/etc/asterisk/meetme.conf
${INSTALL_BIN} ${WRKBUILD}/apps/app_meetme.so \
${IDIR_ASTERISK_MEETME}/usr/lib/asterisk/modules
diff --git a/package/asterisk/files/asterisk.init b/package/asterisk/files/asterisk.init
index 9dfbed4a1..9f3e2aa5c 100644
--- a/package/asterisk/files/asterisk.init
+++ b/package/asterisk/files/asterisk.init
@@ -11,7 +11,7 @@ autostart)
exec sh $0 start
;;
start)
- for dir in run log spool lib; do
+ for dir in run log spool lib keys; do
[ -d /var/$dir/asterisk ] || mkdir -p /var/$dir/asterisk
done
/usr/sbin/asterisk
diff --git a/package/asterisk/patches/patch-main_dns_c b/package/asterisk/patches/patch-main_dns_c
deleted file mode 100644
index 0c3684d52..000000000
--- a/package/asterisk/patches/patch-main_dns_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- asterisk-1.8.20.1.orig/main/dns.c 2012-06-15 17:56:08.000000000 +0200
-+++ asterisk-1.8.20.1/main/dns.c 2013-03-05 14:49:01.000000000 +0100
-@@ -45,6 +45,8 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revisi
- #include "asterisk/dns.h"
- #include "asterisk/endian.h"
-
-+#undef HAVE_RES_NINIT
-+
- #define MAX_SIZE 4096
-
- #ifdef __PDP_ENDIAN
diff --git a/package/asterisk/patches/patch-main_tcptls_c b/package/asterisk/patches/patch-main_tcptls_c
deleted file mode 100644
index bf1c21c25..000000000
--- a/package/asterisk/patches/patch-main_tcptls_c
+++ /dev/null
@@ -1,16 +0,0 @@
---- asterisk-1.8.28.2.orig/main/tcptls.c 2014-06-13 07:06:27.000000000 +0200
-+++ asterisk-1.8.28.2/main/tcptls.c 2016-09-25 20:47:30.313327069 +0200
-@@ -753,9 +753,12 @@ static int __ssl_setup(struct ast_tls_co
- cfg->ssl_ctx = SSL_CTX_new(SSLv2_client_method());
- } else
- #endif
-+#ifndef OPENSSL_NO_SSL3_METHOD
- if (ast_test_flag(&cfg->flags, AST_SSL_SSLV3_CLIENT)) {
- cfg->ssl_ctx = SSL_CTX_new(SSLv3_client_method());
-- } else if (ast_test_flag(&cfg->flags, AST_SSL_TLSV1_CLIENT)) {
-+ } else
-+#endif
-+ if (ast_test_flag(&cfg->flags, AST_SSL_TLSV1_CLIENT)) {
- cfg->ssl_ctx = SSL_CTX_new(TLSv1_client_method());
- } else {
- /* SSLv23_client_method() sends SSLv2, this was the original
diff --git a/package/asterisk/patches/patch-res_stasis_control_c b/package/asterisk/patches/patch-res_stasis_control_c
new file mode 100644
index 000000000..5c80756e0
--- /dev/null
+++ b/package/asterisk/patches/patch-res_stasis_control_c
@@ -0,0 +1,11 @@
+--- asterisk-20.6.0.orig/res/stasis/control.c 2024-01-25 17:19:33.000000000 +0100
++++ asterisk-20.6.0/res/stasis/control.c 2024-02-05 15:20:24.824145190 +0100
+@@ -25,6 +25,8 @@
+
+ #include "asterisk.h"
+
++#include <signal.h>
++
+ #include "asterisk/stasis_channels.h"
+ #include "asterisk/stasis_app.h"
+
diff --git a/package/atk/Makefile b/package/atk/Makefile
index d199dec57..ad6335f1b 100644
--- a/package/atk/Makefile
+++ b/package/atk/Makefile
@@ -4,13 +4,13 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= atk
-PKG_VERSION:= 2.20.0
-PKG_EXTRAVER:= 2.20
+PKG_VERSION:= 2.36.0
+PKG_EXTRAVER:= 2.36
PKG_RELEASE:= 1
-PKG_HASH:= 493a50f6c4a025f588d380a551ec277e070b28a82e63ef8e3c06b3ee7c1238f0
+PKG_HASH:= fb76247e369402be23f1f5c65d38a9639c1164d934e40f6a9cf3c9e96b652788
PKG_DESCR:= accessibility toolkit library
PKG_SECTION:= libs/misc
-PKG_BUILDDEP:= glib
+PKG_BUILDDEP:= glib meson-host
PKG_URL:= http://www.gnome.org/
PKG_SITES:= $(MASTER_SITE_GNOME:=atk/$(PKG_EXTRAVER)/)
PKG_LIBNAME:= libatk
@@ -20,6 +20,14 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,LIBATK,libatk,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
+
+MESON_FLAGS+= -Dintrospection=false
+
libatk-install:
$(INSTALL_DIR) $(IDIR_LIBATK)/usr/lib
$(CP) $(WRKINST)/usr/lib/libatk-*.so* $(IDIR_LIBATK)/usr/lib
diff --git a/package/autofs/Makefile b/package/autofs/Makefile
index 9fd28a258..63d41c44f 100644
--- a/package/autofs/Makefile
+++ b/package/autofs/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= autofs
-PKG_VERSION:= 5.1.3
+PKG_VERSION:= 5.1.9
PKG_RELEASE:= 1
-PKG_HASH:= e96eebfe3ed5fb1a30f4510f538198affde223e370c6dc2bed9780309272b1bf
+PKG_HASH:= 87e6af6a03794b9462ea519781e50e7d23b5f7c92cd59e1142c85d2493b3c24b
PKG_DESCR:= automount filesystems
PKG_SECTION:= net/fs
PKG_DEPENDS:= libtirpc
@@ -17,12 +17,14 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,AUTOFS,autofs,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
-AUTOTOOL_STYLE:= autoreconf
CONFIGURE_ARGS+= --with-libtirpc
autofs-install:
- $(INSTALL_DIR) $(IDIR_AUTOFS)/usr/bin
- $(INSTALL_BIN) $(WRKINST)/usr/bin/autofs \
- $(IDIR_AUTOFS)/usr/bin
+ $(INSTALL_DIR) $(IDIR_AUTOFS)/usr/lib/autofs
+ $(CP) $(WRKINST)/usr/lib/autofs/*.so \
+ $(IDIR_AUTOFS)/usr/lib/autofs
+ $(INSTALL_DIR) $(IDIR_AUTOFS)/usr/sbin
+ $(INSTALL_BIN) $(WRKINST)/usr/sbin/automount \
+ $(IDIR_AUTOFS)/usr/sbin
include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/autofs/patches/patch-configure_in b/package/autofs/patches/patch-configure_in
deleted file mode 100644
index bf4fe87a8..000000000
--- a/package/autofs/patches/patch-configure_in
+++ /dev/null
@@ -1,12 +0,0 @@
---- autofs-5.1.3.orig/configure.in 2017-05-24 04:16:59.000000000 +0200
-+++ autofs-5.1.3/configure.in 2017-06-25 22:09:22.834510245 +0200
-@@ -124,8 +124,7 @@ AC_SUBST(flagdir)
- #
- # Use libtirpc
- #
--AF_WITH_LIBTIRPC()
--AC_SUBST(TIRPCLIB)
-+PKG_CHECK_MODULES([TIRPC], [tirpc])
-
- #
- # Optional include dmalloc
diff --git a/package/automake/patches/patch-Makefile_in b/package/automake/patches/patch-Makefile_in
new file mode 100644
index 000000000..24682ad19
--- /dev/null
+++ b/package/automake/patches/patch-Makefile_in
@@ -0,0 +1,11 @@
+--- automake-1.15.1.orig/Makefile.in 2017-06-18 19:35:04.000000000 +0200
++++ automake-1.15.1/Makefile.in 2020-10-31 08:38:23.322590385 +0100
+@@ -710,7 +710,7 @@ update_mans = \
+ $(AM_V_GEN): \
+ && $(MKDIR_P) doc \
+ && $(extend_PATH) \
+- && $(PERL) $(srcdir)/doc/help2man --output=$@
++ && $(PERL) $(srcdir)/doc/help2man --no-discard-stderr --output=$@
+
+ amhello_sources = \
+ doc/amhello/configure.ac \
diff --git a/package/automake16/Makefile b/package/automake16/Makefile
new file mode 100644
index 000000000..a8df601a1
--- /dev/null
+++ b/package/automake16/Makefile
@@ -0,0 +1,43 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= automake16
+PKG_VERSION:= 1.16.3
+PKG_EXTRAVER:= 1.16
+PKG_RELEASE:= 1
+PKG_HASH:= ff2bf7656c4d1c6fdda3b8bebb21f09153a736bcba169aaf65eab25fa113bf3a
+PKG_DESCR:= tool for automatically generating makefiles
+PKG_SECTION:= dev/tools
+PKG_BUILDDEP:= m4-host autoconf-host autoconf
+HOST_BUILDDEP:= autoconf-host
+PKG_URL:= http://www.gnu.org/software/automake/
+PKG_SITES:= $(MASTER_SITE_GNU:=automake/)
+PKG_OPTS:= noscripts
+
+DISTFILES:= automake-${PKG_VERSION}.tar.xz
+
+WRKDIST= ${WRKDIR}/automake-$(PKG_VERSION)
+
+include $(ADK_TOPDIR)/mk/host.mk
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call HOST_template,AUTOMAKE16,automake16,$(PKG_VERSION)-$(PKG_RELEASE)))
+$(eval $(call PKG_template,AUTOMAKE16,automake16,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+XAKE_FLAGS+= PERL="/usr/bin/perl"
+
+automake16-install:
+ $(INSTALL_DIR) $(IDIR_AUTOMAKE16)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/automake $(IDIR_AUTOMAKE16)/usr/bin/automake16
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/aclocal $(IDIR_AUTOMAKE16)/usr/bin/aclocal16
+ $(INSTALL_DIR) $(IDIR_AUTOMAKE16)/usr/share/aclocal-$(PKG_EXTRAVER)
+ $(CP) $(WRKINST)/usr/share/aclocal-$(PKG_EXTRAVER) \
+ $(IDIR_AUTOMAKE16)/usr/share
+ $(INSTALL_DIR) $(IDIR_AUTOMAKE16)/usr/share/automake-$(PKG_EXTRAVER)
+ $(CP) $(WRKINST)/usr/share/automake-$(PKG_EXTRAVER) \
+ $(IDIR_AUTOMAKE16)/usr/share
+
+include $(ADK_TOPDIR)/mk/host-bottom.mk
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/avahi/Makefile b/package/avahi/Makefile
index a5b7cd081..94b894c5b 100644
--- a/package/avahi/Makefile
+++ b/package/avahi/Makefile
@@ -4,12 +4,12 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= avahi
-PKG_VERSION:= 0.6.32
+PKG_VERSION:= 0.8
PKG_RELEASE:= 1
-PKG_HASH:= d54991185d514a0aba54ebeb408d7575b60f5818a772e28fa0e18b98bc1db454
+PKG_HASH:= 060309d7a333d38d951bc27598c677af1796934dbd98e1024e7ad8de798fedda
PKG_DESCR:= multicast dns daemon and dns-sd server
PKG_SECTION:= net/dns
-PKG_BUILDDEP:= libdaemon expat gdbm glib
+PKG_BUILDDEP:= libdaemon expat gdbm glib libevent
PKG_NEEDS:= c++ intl
PKG_URL:= http://avahi.org/
PKG_SITES:= https://github.com/lathiat/avahi/releases/download/v$(PKG_VERSION)/
@@ -31,12 +31,12 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,AVAHI,avahi,$(PKG_VERSION)-$(PKG_RELEASE),$(PKGSS_AVAHI),$(PKG_DESCR),$(PKG_SECTION)))
$(eval $(call PKG_template,LIBAVAHI,libavahi,$(PKG_VERSION)-$(PKG_RELEASE),,$(PKGSD_LIBAVAHI),$(PKGSC_LIBAVAHI),$(PKG_OPTS)))
-AUTOTOOL_STYLE:= autoreconf
CONFIGURE_ARGS+= --enable-glib \
--enable-libdaemon \
--enable-dbus \
--disable-qt3 \
--disable-qt4 \
+ --disable-qt5 \
--disable-gtk \
--disable-gtk3 \
--disable-python \
diff --git a/package/avahi/patches/patch-Makefile_am b/package/avahi/patches/patch-Makefile_am
deleted file mode 100644
index ff5160336..000000000
--- a/package/avahi/patches/patch-Makefile_am
+++ /dev/null
@@ -1,12 +0,0 @@
---- avahi-0.6.31.orig/Makefile.am 2011-12-30 22:26:44.000000000 +0100
-+++ avahi-0.6.31/Makefile.am 2014-03-04 09:57:29.000000000 +0100
-@@ -75,8 +75,7 @@ SUBDIRS = \
- avahi-compat-howl \
- avahi-autoipd \
- avahi-ui \
-- avahi-ui-sharp \
-- po
-+ avahi-ui-sharp
-
- DX_INPUT = \
- $(srcdir)/avahi-common/address.h \
diff --git a/package/avahi/patches/patch-avahi-ui_Makefile_am b/package/avahi/patches/patch-avahi-ui_Makefile_am
deleted file mode 100644
index c1744d9d0..000000000
--- a/package/avahi/patches/patch-avahi-ui_Makefile_am
+++ /dev/null
@@ -1,19 +0,0 @@
---- avahi-0.6.31.orig/avahi-ui/Makefile.am 2012-02-14 23:22:16.000000000 +0100
-+++ avahi-0.6.31/avahi-ui/Makefile.am 2014-03-04 09:45:16.000000000 +0100
-@@ -79,9 +79,6 @@ libavahi_ui_gtk3_la_CFLAGS += -DDATABASE
- endif
-
- bin_PROGRAMS = bssh
--desktop_DATA += bssh.desktop bvnc.desktop
--@INTLTOOL_DESKTOP_RULE@
--
- bssh_SOURCES = bssh.c
-
- if HAVE_GTK3
-@@ -108,6 +105,4 @@ endif # HAVE_GLIB
- endif
- endif
-
--@INTLTOOL_DESKTOP_RULE@
--
- CLEANFILES = $(desktop_DATA) $(desktop_DATA_in)
diff --git a/package/avahi/patches/patch-configure_ac b/package/avahi/patches/patch-configure_ac
deleted file mode 100644
index 53f1aea23..000000000
--- a/package/avahi/patches/patch-configure_ac
+++ /dev/null
@@ -1,14 +0,0 @@
---- avahi-0.6.31.orig/configure.ac 2012-02-14 22:44:25.484742099 +0100
-+++ avahi-0.6.31/configure.ac 2014-06-15 20:50:12.072045207 +0200
-@@ -412,11 +412,9 @@ if test "x$have_kqueue" = "xyes" ; then
- AC_DEFINE([HAVE_KQUEUE], 1, [Enable BSD kqueue() usage])
- fi
-
--IT_PROG_INTLTOOL([0.35.0])
- GETTEXT_PACKAGE=avahi
- AC_SUBST([GETTEXT_PACKAGE])
- AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
--AM_GLIB_GNU_GETTEXT
-
- avahilocaledir='${prefix}/${DATADIRNAME}/locale'
- AC_SUBST(avahilocaledir)
diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index 95f22f6f0..9b3191ae7 100644
--- a/package/base-files/Makefile
+++ b/package/base-files/Makefile
@@ -6,7 +6,7 @@ include $(ADK_TOPDIR)/mk/rootfs.mk
PKG_NAME:= base-files
PKG_VERSION:= 1.1
-PKG_RELEASE:= 27
+PKG_RELEASE:= 29
PKG_SECTION:= base/apps
PKG_DESCR:= basic files and scripts
@@ -40,7 +40,6 @@ do-install:
ln -sf ../run $(IDIR_BASE_FILES)/var/run
chmod 600 $(IDIR_BASE_FILES)/etc/shadow
chmod 1777 ${IDIR_BASE_FILES}/tmp
-ifeq ($(ADK_RUNTIME_INIT_SYSTEMD),)
echo $(ADK_RUNTIME_TMPFS_SIZE) > $(IDIR_BASE_FILES)/etc/tmpfs
mkdir -p $(IDIR_BASE_FILES)/etc/init.d
cp ./files/init.d/* $(IDIR_BASE_FILES)/etc/init.d
@@ -64,7 +63,6 @@ ifeq (${ADK_TARGET_ROOTFS_NFSROOT},y)
else
(cd $(IDIR_BASE_FILES)/etc; ln -sf ../tmp/resolv.conf .)
endif
-endif
ifeq ($(ADK_RUNTIME_DEV_MDEV),y)
$(CP) ./files/rcdev.mdev $(IDIR_BASE_FILES)/etc/init.d/rcdev
$(SED) "s#@ADK_RUNTIME_DEV_MDEV_LOGGING@#"$(ADK_RUNTIME_DEV_MDEV_LOGGING_LINE)"#g" $(IDIR_BASE_FILES)/etc/init.d/rcdev
@@ -91,9 +89,6 @@ endif
$(SED) 's#@SPEED@#$(ADK_RUNTIME_CONSOLE_SERIAL_SPEED)#' $(IDIR_BASE_FILES)/etc/inittab
$(SED) 's#@AUTOLOGIN@#$(ADK_RUNTIME_GETTY_SERIAL_AUTOLOGIN_STANZA)#' $(IDIR_BASE_FILES)/etc/inittab
endif
-ifeq ($(ADK_RUNTIME_INIT_SYSVINIT),y)
- cp ./files/inittab.sysvinit $(IDIR_BASE_FILES)/etc/inittab
-endif
ifeq ($(ADK_RUNTIME_MOUNT_DEBUGFS),y)
echo debugfs /sys/kernel/debug debugfs defaults 0 0 >> $(IDIR_BASE_FILES)/etc/fstab
echo null::sysinit:/bin/mount -a -t debugfs >> $(IDIR_BASE_FILES)/etc/inittab
@@ -225,9 +220,9 @@ endif
ifeq ($(ADK_RUNTIME_ADDUSER),y)
mkdir -p ${IDIR_BASE_FILES}/$(ADK_RUNTIME_USER_HOME)
- printf "$(ADK_RUNTIME_USER_NAME):x:100:100:$(ADK_RUNTIME_USER_NAME):$(ADK_RUNTIME_USER_HOME):$(ADK_RUNTIME_USER_SHELL)" >> ${IDIR_BASE_FILES}/etc/passwd
- printf "$(ADK_RUNTIME_USER_NAME):$(ADK_RUNTIME_USER_PASSWORD):16514:0:::::" >> ${IDIR_BASE_FILES}/etc/shadow
- printf "$(ADK_RUNTIME_USER_NAME):x:100:" >> ${IDIR_BASE_FILES}/etc/group
+ printf "$(ADK_RUNTIME_USER_NAME):x:100:100:$(ADK_RUNTIME_USER_NAME):$(ADK_RUNTIME_USER_HOME):$(ADK_RUNTIME_USER_SHELL)\n" >> ${IDIR_BASE_FILES}/etc/passwd
+ printf "$(ADK_RUNTIME_USER_NAME):$(ADK_RUNTIME_USER_PASSWORD):16514:0:::::\n" >> ${IDIR_BASE_FILES}/etc/shadow
+ printf "$(ADK_RUNTIME_USER_NAME):x:100:\n" >> ${IDIR_BASE_FILES}/etc/group
endif
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/base-files/files/base-files.conffiles b/package/base-files/files/base-files.conffiles
index 2ee449379..4845c1855 100644
--- a/package/base-files/files/base-files.conffiles
+++ b/package/base-files/files/base-files.conffiles
@@ -1,4 +1,3 @@
-/etc/mdev.conf
/etc/inittab
/etc/banner
/etc/group
diff --git a/package/base-files/files/init.d/rcS b/package/base-files/files/init.d/rcS
index db03a76e5..9015a71ac 100755
--- a/package/base-files/files/init.d/rcS
+++ b/package/base-files/files/init.d/rcS
@@ -17,6 +17,7 @@ fi
mkdir -p /var/log
mkdir -p /var/run
mkdir -p /var/tmp
+mkdir -p /var/lock
touch /var/log/lastlog
touch /var/log/wtmp
diff --git a/package/base-files/files/profile b/package/base-files/files/profile
index c89b12c92..22bf8655d 100644
--- a/package/base-files/files/profile
+++ b/package/base-files/files/profile
@@ -1,6 +1,7 @@
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
export TERM=linux
export EDITOR=/bin/vi
+export M4=/usr/bin/m4
if [[ $(id -u) = 0 ]]; then
export PS1='`whoami`@`hostname`:`pwd` # '
else
diff --git a/package/base-files/src/etc/network/if-pre-up.d/04-wireless b/package/base-files/src/etc/network/if-pre-up.d/04-wireless
index fa68058bf..ef070c5bc 100755
--- a/package/base-files/src/etc/network/if-pre-up.d/04-wireless
+++ b/package/base-files/src/etc/network/if-pre-up.d/04-wireless
@@ -81,6 +81,8 @@ case "$IF_WIRELESS_MODE" in
cat /etc/hostapd.conf.post >> /tmp/hostapd.conf
;;
sta)
+ # need to wait for wlan drivers to settle down
+ sleep 1
ip link set up dev ${IFACE}
[ $IF_WIRELESS_EXTENSION -eq 1 ] && {
[ -x /usr/sbin/iwconfig ] || {
@@ -96,9 +98,9 @@ case "$IF_WIRELESS_MODE" in
}
driver=nl80211
[ $sec -eq 2 ] && {
- iw dev ${IFACE} connect $IF_WIRELESS_SSID key d:0:$IF_WIRELESS_PASSPHRASE
+ iw dev ${IFACE} connect "$IF_WIRELESS_SSID" key d:0:$IF_WIRELESS_PASSPHRASE
} || {
- iw dev ${IFACE} connect $IF_WIRELESS_SSID
+ iw dev ${IFACE} connect "$IF_WIRELESS_SSID" 2>/dev/null
}
}
[ $wpa2 -eq 1 ] && {
diff --git a/package/bash/Makefile b/package/bash/Makefile
index 821dbffe8..bfed5373c 100644
--- a/package/bash/Makefile
+++ b/package/bash/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= bash
-PKG_VERSION:= 5.0
+PKG_VERSION:= 5.2.21
PKG_RELEASE:= 1
-PKG_HASH:= b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
+PKG_HASH:= c8e31bdc59b69aaffc5b36509905ba3e5cbb12747091d27b4b977f078560d5b8
PKG_DESCR:= bourne-again shell
PKG_SECTION:= base/shells
PKG_URL:= http://www.gnu.org/software/bash/
diff --git a/package/bcm28xx-bootloader/Makefile b/package/bcm28xx-bootloader/Makefile
index 4ea08bf74..83a594ad0 100644
--- a/package/bcm28xx-bootloader/Makefile
+++ b/package/bcm28xx-bootloader/Makefile
@@ -5,31 +5,25 @@ include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= bcm28xx-bootloader
# not cloned, local src directory used
-PKG_VERSION:= 784fe6cebd9e5726c0c7b9e449f7cdbf2cf6959d
-PKG_RELEASE:= 1
+PKG_VERSION:= 1e403e23baab5673f0494a200f57cd01287d5b1a
+PKG_RELEASE:= 3
PKG_DESCR:= bootloader for bcm28xx
PKG_SECTION:= base/boot
PKG_URL:= https://github.com/raspberrypi/firmware
PKG_SITES:= https://github.com/raspberrypi/firmware.git
-PKG_SYSTEM_DEPENDS:= raspberry-pi raspberry-pi0 raspberry-pi2 raspberry-pi3 raspberry-pi3-64 raspberry-pi3p raspberry-pi3p-64
+PKG_SYSTEM_DEPENDS:= raspberry-pi raspberry-pi0 raspberry-pi2 raspberry-pi3 raspberry-pi3-64 raspberry-pi4 raspberry-pi4-64 raspberry-pi5
PKG_CHOICES_BCM28XX_BOOTLOADER:= DEFAULT EXTRA CUTDOWN
PKGCD_DEFAULT:= default bootloader
PKGCD_EXTRA:= bootloader with extra features and codecs
PKGCD_CUTDOWN:= cut down bootloader
-PKG_SUBPKGS:= BCM28XX_BOOTLOADER BCM28XX_DEBUGTOOL
-PKGSD_BCM28XX_DEBUGTOOL:= bcm28xx debugtool (vcdbg)
-PKGSC_BCM28XX_DEBUGTOOL:= sys/hw
-PKGSS_BCM28XX_DEBUGTOOL:= bcm28xx-vc-debug bcm28xx-vc-libs
-
NO_DISTFILES:= 1
include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,BCM28XX_BOOTLOADER,bcm28xx-bootloader,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
-$(eval $(call PKG_template,BCM28XX_DEBUGTOOL,bcm28xx-debugtool,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKGSC_BCM28XX_DEBUGTOOL)))
CONFIG_STYLE:= manual
BUILD_STYLE:= manual
@@ -38,14 +32,28 @@ INSTALL_STYLE:= manual
do-install:
$(INSTALL_DIR) $(IDIR_BCM28XX_BOOTLOADER)/boot
$(CP) $(WRKBUILD)/boot/bootcode.bin $(IDIR_BCM28XX_BOOTLOADER)/boot/
+ifeq ($(ADK_RUNTIME_VERBOSE_KERNEL_SERIAL_ONLY),y)
+ printf "console=serial0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait" > \
+ $(IDIR_BCM28XX_BOOTLOADER)/boot/cmdline.txt
+endif
+ifeq ($(ADK_RUNTIME_VERBOSE_KERNEL_VGA_ONLY),y)
+ printf "console=tty0 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait" > \
+ $(IDIR_BCM28XX_BOOTLOADER)/boot/cmdline.txt
+endif
printf "kernel=kernel\n" > $(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
printf "dtparam=audio,i2s,spi,i2c\n" >> \
$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
ifeq ($(ADK_PACKAGE_BCM28XX_BOOTLOADER_DEFAULT),y)
+ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI4)$(ADK_TARGET_SYSTEM_RASPBERRY_PI4_64),y)
+ $(CP) $(WRKBUILD)/boot/{start4.elf,fixup4.dat} $(IDIR_BCM28XX_BOOTLOADER)/boot/
+ printf "start_file=start4.elf\n" >> $(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
+ printf "fixup_file=fixup4.dat\n" >> $(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
+else
$(CP) $(WRKBUILD)/boot/{start.elf,fixup.dat} $(IDIR_BCM28XX_BOOTLOADER)/boot/
printf "start_file=start.elf\n" >> $(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
printf "fixup_file=fixup.dat\n" >> $(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
endif
+endif
ifeq ($(ADK_PACKAGE_BCM28XX_BOOTLOADER_EXTRA),y)
$(CP) $(WRKBUILD)/boot/{start_x.elf,fixup_x.dat} $(IDIR_BCM28XX_BOOTLOADER)/boot/
printf "start_file=start_x.elf\n" >> $(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
@@ -58,6 +66,16 @@ ifeq ($(ADK_PACKAGE_BCM28XX_BOOTLOADER_CUTDOWN),y)
endif
printf "gpu_mem=$(ADK_TARGET_GPU_MEM)\n" >> \
$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
+ifeq ($(ADK_PACKAGE_KODI),y)
+ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI4)$(ADK_TARGET_SYSTEM_RASPBERRY_PI4_64),y)
+ printf "dtoverlay=vc4-kms-v3d-pi4\n" >> \
+ $(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
+endif
+ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI5),y)
+ printf "dtoverlay=vc4-kms-v3d-pi5\n" >> \
+ $(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
+endif
+endif
ifneq ($(ADK_TARGET_HARDWARE_HIFIBERRY_AMP),)
printf "dtoverlay=hifiberry-amp\n" >> \
$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
@@ -98,12 +116,28 @@ ifeq ($(ADK_TARGET_HARDWARE_RPI3_SERIAL),y)
printf "enable_uart=1\n" >> \
$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
endif
-ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI3_64)$(ADK_TARGET_SYSTEM_RASPBERRY_PI3_64),y)
+ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI4),y)
+ printf "enable_uart=1\n" >> \
+ $(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
+endif
+ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI3_64)$(ADK_TARGET_SYSTEM_RASPBERRY_PI4_64),y)
printf "arm_control=0x200\n" >> \
$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
printf "enable_uart=1\n" >> \
$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
endif
+ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI5),y)
+ printf "dtparam=fan_temp0=0\n" >> \
+ $(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
+ printf "dtparam=fan_temp0_speed=64\n" >> \
+ $(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
+ printf "dtparam=fan_temp1_speed=64\n" >> \
+ $(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
+ printf "dtparam=fan_temp2_speed=64\n" >> \
+ $(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
+ printf "dtparam=fan_temp3_speed=64\n" >> \
+ $(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
+endif
ifneq ($(ADK_RUNTIME_MPEG2_KEY),)
printf "decode_MPG2=$(ADK_RUNTIME_MPEG2_KEY)\n" >> \
$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
@@ -112,10 +146,5 @@ ifneq ($(ADK_RUNTIME_VC1_KEY),)
printf "decode_WVC1=$(ADK_RUNTIME_VC1_KEY)\n" >> \
$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
endif
-ifeq ($(ADK_PACKAGE_BCM28XX_DEBUGTOOL),y)
- $(INSTALL_DIR) $(IDIR_BCM28XX_DEBUGTOOL)/usr/bin
- $(INSTALL_BIN) ./files/vcdbg \
- $(IDIR_BCM28XX_DEBUGTOOL)/usr/bin
-endif
include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/bcm28xx-bootloader/files/vcdbg b/package/bcm28xx-bootloader/files/vcdbg
deleted file mode 100755
index ba3e55e8e..000000000
--- a/package/bcm28xx-bootloader/files/vcdbg
+++ /dev/null
Binary files differ
diff --git a/package/bcm28xx-bootloader/src/boot/bootcode.bin b/package/bcm28xx-bootloader/src/boot/bootcode.bin
index 1a8f6402a..9e831a273 100644
--- a/package/bcm28xx-bootloader/src/boot/bootcode.bin
+++ b/package/bcm28xx-bootloader/src/boot/bootcode.bin
Binary files differ
diff --git a/package/bcm28xx-bootloader/src/boot/fixup.dat b/package/bcm28xx-bootloader/src/boot/fixup.dat
index 79e9aa171..2ff966820 100644
--- a/package/bcm28xx-bootloader/src/boot/fixup.dat
+++ b/package/bcm28xx-bootloader/src/boot/fixup.dat
Binary files differ
diff --git a/package/bcm28xx-bootloader/src/boot/fixup4.dat b/package/bcm28xx-bootloader/src/boot/fixup4.dat
new file mode 100644
index 000000000..4380d320e
--- /dev/null
+++ b/package/bcm28xx-bootloader/src/boot/fixup4.dat
Binary files differ
diff --git a/package/bcm28xx-bootloader/src/boot/fixup4cd.dat b/package/bcm28xx-bootloader/src/boot/fixup4cd.dat
new file mode 100644
index 000000000..79a0b55e7
--- /dev/null
+++ b/package/bcm28xx-bootloader/src/boot/fixup4cd.dat
Binary files differ
diff --git a/package/bcm28xx-bootloader/src/boot/fixup4db.dat b/package/bcm28xx-bootloader/src/boot/fixup4db.dat
new file mode 100644
index 000000000..4d13d6581
--- /dev/null
+++ b/package/bcm28xx-bootloader/src/boot/fixup4db.dat
Binary files differ
diff --git a/package/bcm28xx-bootloader/src/boot/fixup4x.dat b/package/bcm28xx-bootloader/src/boot/fixup4x.dat
new file mode 100644
index 000000000..4d8ff5a96
--- /dev/null
+++ b/package/bcm28xx-bootloader/src/boot/fixup4x.dat
Binary files differ
diff --git a/package/bcm28xx-bootloader/src/boot/fixup_cd.dat b/package/bcm28xx-bootloader/src/boot/fixup_cd.dat
index 79b53400c..79a0b55e7 100644
--- a/package/bcm28xx-bootloader/src/boot/fixup_cd.dat
+++ b/package/bcm28xx-bootloader/src/boot/fixup_cd.dat
Binary files differ
diff --git a/package/bcm28xx-bootloader/src/boot/fixup_db.dat b/package/bcm28xx-bootloader/src/boot/fixup_db.dat
index 210ccb81d..3927ea52e 100644
--- a/package/bcm28xx-bootloader/src/boot/fixup_db.dat
+++ b/package/bcm28xx-bootloader/src/boot/fixup_db.dat
Binary files differ
diff --git a/package/bcm28xx-bootloader/src/boot/fixup_x.dat b/package/bcm28xx-bootloader/src/boot/fixup_x.dat
index 1f52982a6..b93bc0620 100644
--- a/package/bcm28xx-bootloader/src/boot/fixup_x.dat
+++ b/package/bcm28xx-bootloader/src/boot/fixup_x.dat
Binary files differ
diff --git a/package/bcm28xx-bootloader/src/boot/start.elf b/package/bcm28xx-bootloader/src/boot/start.elf
index 030be853e..f5d78d670 100644
--- a/package/bcm28xx-bootloader/src/boot/start.elf
+++ b/package/bcm28xx-bootloader/src/boot/start.elf
Binary files differ
diff --git a/package/bcm28xx-bootloader/src/boot/start4.elf b/package/bcm28xx-bootloader/src/boot/start4.elf
new file mode 100644
index 000000000..300e7a8a4
--- /dev/null
+++ b/package/bcm28xx-bootloader/src/boot/start4.elf
Binary files differ
diff --git a/package/bcm28xx-bootloader/src/boot/start4cd.elf b/package/bcm28xx-bootloader/src/boot/start4cd.elf
new file mode 100644
index 000000000..b7fe9328d
--- /dev/null
+++ b/package/bcm28xx-bootloader/src/boot/start4cd.elf
Binary files differ
diff --git a/package/bcm28xx-bootloader/src/boot/start4db.elf b/package/bcm28xx-bootloader/src/boot/start4db.elf
new file mode 100644
index 000000000..acd07e82c
--- /dev/null
+++ b/package/bcm28xx-bootloader/src/boot/start4db.elf
Binary files differ
diff --git a/package/bcm28xx-bootloader/src/boot/start4x.elf b/package/bcm28xx-bootloader/src/boot/start4x.elf
new file mode 100644
index 000000000..274a62944
--- /dev/null
+++ b/package/bcm28xx-bootloader/src/boot/start4x.elf
Binary files differ
diff --git a/package/bcm28xx-bootloader/src/boot/start_cd.elf b/package/bcm28xx-bootloader/src/boot/start_cd.elf
index 43e40673f..5e616d0c6 100644
--- a/package/bcm28xx-bootloader/src/boot/start_cd.elf
+++ b/package/bcm28xx-bootloader/src/boot/start_cd.elf
Binary files differ
diff --git a/package/bcm28xx-bootloader/src/boot/start_db.elf b/package/bcm28xx-bootloader/src/boot/start_db.elf
index 3db397d43..f10f87fa3 100644
--- a/package/bcm28xx-bootloader/src/boot/start_db.elf
+++ b/package/bcm28xx-bootloader/src/boot/start_db.elf
Binary files differ
diff --git a/package/bcm28xx-bootloader/src/boot/start_x.elf b/package/bcm28xx-bootloader/src/boot/start_x.elf
index 21d7bbfae..26c1de866 100644
--- a/package/bcm28xx-bootloader/src/boot/start_x.elf
+++ b/package/bcm28xx-bootloader/src/boot/start_x.elf
Binary files differ
diff --git a/package/bcm28xx-utils/Makefile b/package/bcm28xx-utils/Makefile
new file mode 100644
index 000000000..e59dbde56
--- /dev/null
+++ b/package/bcm28xx-utils/Makefile
@@ -0,0 +1,32 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= bcm28xx-utils
+PKG_VERSION:= e65f5ec102e74218cda7da9fdc8b1caa0fd1127d
+PKG_GIT:= hash
+PKG_RELEASE:= 1
+PKG_DESCR:= videocore tools and utils
+PKG_SECTION:= sys/hw
+PKG_BUILDDEP:= cmake-host
+PKG_NEEDS:= c++ threads
+PKG_URL:= https://github.com/raspberrypi/utils
+PKG_SITES:= https://github.com/raspberrypi/utils.git
+
+PKG_SYSTEM_DEPENDS:= raspberry-pi raspberry-pi0 raspberry-pi2 raspberry-pi3 raspberry-pi3-64 raspberry-pi4 raspberry-pi4-64 raspberry-pi5
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,BCM28XX_UTILS,bcm28xx-utils,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+CONFIG_STYLE:= cmake
+
+bcm28xx-utils-install:
+ $(INSTALL_DIR) $(IDIR_BCM28XX_UTILS)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/vcgencmd \
+ $(IDIR_BCM28XX_UTILS)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/vclog \
+ $(IDIR_BCM28XX_UTILS)/usr/bin
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/bcm28xx-utils/patches/patch-CMakeLists_txt b/package/bcm28xx-utils/patches/patch-CMakeLists_txt
new file mode 100644
index 000000000..956feac7e
--- /dev/null
+++ b/package/bcm28xx-utils/patches/patch-CMakeLists_txt
@@ -0,0 +1,16 @@
+--- bcm28xx-utils-e65f5ec102e74218cda7da9fdc8b1caa0fd1127d.orig/CMakeLists.txt 2024-01-23 03:17:28.000000000 +0100
++++ bcm28xx-utils-e65f5ec102e74218cda7da9fdc8b1caa0fd1127d/CMakeLists.txt 2024-01-23 03:21:39.257325745 +0100
+@@ -3,13 +3,10 @@ cmake_minimum_required(VERSION 3.1...3.2
+ project(utils)
+
+ # List of subsidiary CMakeLists
+-add_subdirectory(dtmerge)
+ add_subdirectory(eeptools)
+ add_subdirectory(otpset)
+ add_subdirectory(overlaycheck)
+ add_subdirectory(ovmerge)
+-add_subdirectory(pinctrl)
+ add_subdirectory(raspinfo)
+ add_subdirectory(vcgencmd)
+ add_subdirectory(vclog)
+-add_subdirectory(vcmailbox)
diff --git a/package/bcm28xx-vc/Makefile b/package/bcm28xx-vc/Makefile
deleted file mode 100644
index c7337c859..000000000
--- a/package/bcm28xx-vc/Makefile
+++ /dev/null
@@ -1,84 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(ADK_TOPDIR)/rules.mk
-
-PKG_NAME:= bcm28xx-vc
-PKG_VERSION:= 2448644657e5fbfd82299416d218396ee1115ece
-PKG_GIT:= hash
-PKG_RELEASE:= 1
-PKG_DESCR:= videocore tools and libraries
-PKG_SECTION:= libs/video
-PKG_BUILDDEP:= cmake-host
-PKG_NEEDS:= c++ threads
-PKG_URL:= https://github.com/raspberrypi/userland
-PKG_SITES:= https://github.com/raspberrypi/userland.git
-
-PKG_SUBPKGS:= BCM28XX_VC_TOOLS BCM28XX_VC_LIBS BCM28XX_VC_GL_LIBS BCM28XX_VC_DEBUG
-PKGSS_BCM28XX_VC_TOOLS:=bcm28xx-vc-libs
-PKGSC_BCM28XX_VC_TOOLS:=sys/hw
-PKGSD_BCM28XX_VC_TOOLS:=videocore tools (vcgencmd,..)
-PKGSC_BCM28XX_VC_LIBS:= libs/misc
-PKGSD_BCM28XX_VC_LIBS:=videocore library
-PKGSC_BCM28XX_VC_DEBUG:=libs/misc
-PKGSD_BCM28XX_VC_DEBUG:=videocore debug library
-PKGSC_BCM28XX_VC_GL_LIBS:=libs/video
-PKGSS_BCM28XX_VC_GL_LIBS:=bcm28xx-vc-libs
-PKGSD_BCM28XX_VC_GL_LIBS:=videocore gl library
-
-PKG_SYSTEM_DEPENDS:= raspberry-pi raspberry-pi0 raspberry-pi2 raspberry-pi3 raspberry-pi3-64 raspberry-pi3p raspberry-pi3p-64
-
-include $(ADK_TOPDIR)/mk/package.mk
-
-$(eval $(call PKG_template,BCM28XX_VC_TOOLS,bcm28xx-vc-tools,$(PKG_VERSION)-$(PKG_RELEASE),$(PKGSS_BCM28XX_VC_TOOLS),$(PKG_DESCR),$(PKGSC_BCM28XX_VC_TOOLS)))
-$(eval $(call PKG_template,BCM28XX_VC_LIBS,bcm28xx-vc-libs,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
-$(eval $(call PKG_template,BCM28XX_VC_DEBUG,bcm28xx-vc-debug,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
-$(eval $(call PKG_template,BCM28XX_VC_GL_LIBS,bcm28xx-vc-gl-libs,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
-
-CONFIG_STYLE:= cmake
-CMAKE_FLAGS+= -DVMCS_INSTALL_PREFIX=/usr
-
-bcm28xx-vc-tools-install:
- $(INSTALL_DIR) $(IDIR_BCM28XX_VC_TOOLS)/usr/bin
- $(INSTALL_BIN) $(WRKINST)/usr/bin/vcgencmd \
- $(IDIR_BCM28XX_VC_TOOLS)/usr/bin
- $(INSTALL_BIN) $(WRKINST)/usr/bin/dtoverlay \
- $(IDIR_BCM28XX_VC_TOOLS)/usr/bin
-
-bcm28xx-vc-debug-install:
- $(INSTALL_DIR) $(IDIR_BCM28XX_VC_DEBUG)/usr/lib
- $(CP) $(WRKINST)/usr/lib/libdebug_sym.so \
- $(IDIR_BCM28XX_VC_DEBUG)/usr/lib
-
-bcm28xx-vc-libs-install:
- $(INSTALL_DIR) $(IDIR_BCM28XX_VC_LIBS)/usr/lib
- $(CP) $(WRKINST)/usr/lib/libvcos.so \
- $(IDIR_BCM28XX_VC_LIBS)/usr/lib
- $(CP) $(WRKINST)/usr/lib/libvchiq_arm.so \
- $(IDIR_BCM28XX_VC_LIBS)/usr/lib
- $(CP) $(WRKINST)/usr/lib/libbcm_host.so \
- $(IDIR_BCM28XX_VC_LIBS)/usr/lib
- $(CP) $(WRKINST)/usr/lib/libcontainers.so \
- $(IDIR_BCM28XX_VC_LIBS)/usr/lib
- $(CP) $(WRKINST)/usr/lib/libdtovl.so \
- $(IDIR_BCM28XX_VC_LIBS)/usr/lib
-
-bcm28xx-vc-gl-libs-install:
- $(INSTALL_DIR) $(IDIR_BCM28XX_VC_GL_LIBS)/usr/lib
- $(CP) $(WRKINST)/usr/lib/libmmal*.so \
- $(IDIR_BCM28XX_VC_GL_LIBS)/usr/lib
- $(CP) $(WRKINST)/usr/lib/libopenmaxil.so \
- $(IDIR_BCM28XX_VC_GL_LIBS)/usr/lib
- $(CP) $(WRKINST)/usr/lib/libvcsm.so \
- $(IDIR_BCM28XX_VC_GL_LIBS)/usr/lib
- $(CP) $(WRKINST)/usr/lib/libEGL.so \
- $(IDIR_BCM28XX_VC_GL_LIBS)/usr/lib
- $(CP) $(WRKINST)/usr/lib/libGLESv2.so \
- $(IDIR_BCM28XX_VC_GL_LIBS)/usr/lib
- $(CP) $(WRKINST)/usr/lib/libOpenVG.so \
- $(IDIR_BCM28XX_VC_GL_LIBS)/usr/lib
- $(CP) $(WRKINST)/usr/lib/libbrcm*.so \
- $(IDIR_BCM28XX_VC_GL_LIBS)/usr/lib
- (cd $(IDIR_BCM28XX_VC_GL_LIBS)/usr/lib && ln -sf libEGL.so libEGL.so.1)
-
-include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/bcm28xx-vc/patches/patch-host_applications_android_apps_vidtex_CMakeLists_txt b/package/bcm28xx-vc/patches/patch-host_applications_android_apps_vidtex_CMakeLists_txt
deleted file mode 100644
index a36625f8e..000000000
--- a/package/bcm28xx-vc/patches/patch-host_applications_android_apps_vidtex_CMakeLists_txt
+++ /dev/null
@@ -1,10 +0,0 @@
---- bcm28xx-vc-c2f27fb8e581f8e5af83bf28422553ade8f7a7c8.orig/host_applications/android/apps/vidtex/CMakeLists.txt 2015-10-27 10:59:47.000000000 +0100
-+++ bcm28xx-vc-c2f27fb8e581f8e5af83bf28422553ade8f7a7c8/host_applications/android/apps/vidtex/CMakeLists.txt 2015-11-16 20:31:58.396542125 +0100
-@@ -1,6 +1,6 @@
- cmake_minimum_required(VERSION 2.8)
-
--SET(COMPILE_DEFINITIONS -Werror -Wall)
-+SET(COMPILE_DEFINITIONS -Wall)
- include_directories(${PROJECT_SOURCE_DIR}/host_applications/linux/libs/bcm_host/include)
-
- set (VIDTEX_SOURCES
diff --git a/package/bcm28xx-vc/patches/patch-host_applications_linux_apps_dtmerge_dtmerge_c b/package/bcm28xx-vc/patches/patch-host_applications_linux_apps_dtmerge_dtmerge_c
deleted file mode 100644
index fa78c0e3a..000000000
--- a/package/bcm28xx-vc/patches/patch-host_applications_linux_apps_dtmerge_dtmerge_c
+++ /dev/null
@@ -1,10 +0,0 @@
---- bcm28xx-vc-7c026fa7a4ded2c525916cc853a32731c072ed1e.orig/host_applications/linux/apps/dtmerge/dtmerge.c 2016-09-20 09:43:37.000000000 +0200
-+++ bcm28xx-vc-7c026fa7a4ded2c525916cc853a32731c072ed1e/host_applications/linux/apps/dtmerge/dtmerge.c 2016-09-20 10:22:23.000000000 +0200
-@@ -28,6 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI
- #include <stdio.h>
- #include <stdlib.h>
- #include <libfdt.h>
-+#include <stdarg.h>
-
- #include "dtoverlay.h"
-
diff --git a/package/bcm28xx-vc/patches/patch-host_applications_linux_apps_gencmd_CMakeLists_txt b/package/bcm28xx-vc/patches/patch-host_applications_linux_apps_gencmd_CMakeLists_txt
deleted file mode 100644
index d67980b11..000000000
--- a/package/bcm28xx-vc/patches/patch-host_applications_linux_apps_gencmd_CMakeLists_txt
+++ /dev/null
@@ -1,11 +0,0 @@
---- bcm28xx-vc-c2f27fb8e581f8e5af83bf28422553ade8f7a7c8.orig/host_applications/linux/apps/gencmd/CMakeLists.txt 2015-10-27 10:59:47.000000000 +0100
-+++ bcm28xx-vc-c2f27fb8e581f8e5af83bf28422553ade8f7a7c8/host_applications/linux/apps/gencmd/CMakeLists.txt 2015-11-16 20:30:46.553286656 +0100
-@@ -4,7 +4,7 @@ if (WIN32)
- set(VCOS_PLATFORM win32)
- else ()
- set(VCOS_PLATFORM pthreads)
-- add_definitions(-Wall -Werror)
-+ add_definitions(-Wall)
- endif ()
-
- include_directories( ../../../..
diff --git a/package/bcm28xx-vc/patches/patch-host_applications_linux_apps_raspicam_CMakeLists_txt b/package/bcm28xx-vc/patches/patch-host_applications_linux_apps_raspicam_CMakeLists_txt
deleted file mode 100644
index b92e1e625..000000000
--- a/package/bcm28xx-vc/patches/patch-host_applications_linux_apps_raspicam_CMakeLists_txt
+++ /dev/null
@@ -1,11 +0,0 @@
---- bcm28xx-vc-8d518460723779f95b49efafc04c183e83da3a18.orig/host_applications/linux/apps/raspicam/CMakeLists.txt 2017-06-27 18:59:31.000000000 +0200
-+++ bcm28xx-vc-8d518460723779f95b49efafc04c183e83da3a18/host_applications/linux/apps/raspicam/CMakeLists.txt 2017-06-30 23:35:09.949011873 +0200
-@@ -1,8 +1,6 @@
-
- # raspistill/raspivid/raspiyuv
-
--SET(COMPILE_DEFINITIONS -Werror)
--
- include_directories(${PROJECT_SOURCE_DIR}/host_applications/linux/libs/bcm_host/include)
- include_directories(${PROJECT_SOURCE_DIR}/host_applications/linux/apps/raspicam/)
- include_directories(${PROJECT_SOURCE_DIR}/host_applications/linux/libs/sm)
diff --git a/package/bcm28xx-vc/patches/patch-host_applications_linux_apps_smem_CMakeLists_txt b/package/bcm28xx-vc/patches/patch-host_applications_linux_apps_smem_CMakeLists_txt
deleted file mode 100644
index f1e293abe..000000000
--- a/package/bcm28xx-vc/patches/patch-host_applications_linux_apps_smem_CMakeLists_txt
+++ /dev/null
@@ -1,11 +0,0 @@
---- bcm28xx-vc-c2f27fb8e581f8e5af83bf28422553ade8f7a7c8.orig/host_applications/linux/apps/smem/CMakeLists.txt 2015-10-27 10:59:48.000000000 +0100
-+++ bcm28xx-vc-c2f27fb8e581f8e5af83bf28422553ade8f7a7c8/host_applications/linux/apps/smem/CMakeLists.txt 2015-11-16 20:31:12.527571311 +0100
-@@ -4,7 +4,7 @@ get_filename_component (VIDEOCORE_ROOT .
- include (${VIDEOCORE_ROOT}/makefiles/cmake/global_settings.cmake)
-
- if (NOT WIN32)
-- add_definitions(-Wall -Werror)
-+ add_definitions(-Wall)
- endif ()
-
- include_directories (
diff --git a/package/bcm28xx-vc/patches/patch-host_applications_linux_libs_bcm_host_CMakeLists_txt b/package/bcm28xx-vc/patches/patch-host_applications_linux_libs_bcm_host_CMakeLists_txt
deleted file mode 100644
index 2b6a25111..000000000
--- a/package/bcm28xx-vc/patches/patch-host_applications_linux_libs_bcm_host_CMakeLists_txt
+++ /dev/null
@@ -1,19 +0,0 @@
---- bcm28xx-vc-8d518460723779f95b49efafc04c183e83da3a18.orig/host_applications/linux/libs/bcm_host/CMakeLists.txt 2017-06-27 18:59:31.000000000 +0200
-+++ bcm28xx-vc-8d518460723779f95b49efafc04c183e83da3a18/host_applications/linux/libs/bcm_host/CMakeLists.txt 2017-07-01 14:33:21.139286425 +0200
-@@ -3,7 +3,7 @@ if (WIN32)
- set(VCOS_PLATFORM win32)
- else ()
- set(VCOS_PLATFORM pthreads)
-- add_definitions(-Wall -Werror)
-+ add_definitions(-Wall)
- endif ()
-
- include_directories( ../../../..
-@@ -20,3 +20,7 @@ target_link_libraries(bcm_host vcos vcho
-
- install(TARGETS bcm_host DESTINATION lib)
-
-+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/bcm_host.pc.in"
-+ "${CMAKE_CURRENT_BINARY_DIR}/bcm_host.pc" @ONLY)
-+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/bcm_host.pc"
-+ DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig")
diff --git a/package/bcm28xx-vc/patches/patch-host_applications_linux_libs_sm_CMakeLists_txt b/package/bcm28xx-vc/patches/patch-host_applications_linux_libs_sm_CMakeLists_txt
deleted file mode 100644
index 3269c550c..000000000
--- a/package/bcm28xx-vc/patches/patch-host_applications_linux_libs_sm_CMakeLists_txt
+++ /dev/null
@@ -1,11 +0,0 @@
---- bcm28xx-vc-c2f27fb8e581f8e5af83bf28422553ade8f7a7c8.orig/host_applications/linux/libs/sm/CMakeLists.txt 2015-10-27 10:59:48.000000000 +0100
-+++ bcm28xx-vc-c2f27fb8e581f8e5af83bf28422553ade8f7a7c8/host_applications/linux/libs/sm/CMakeLists.txt 2015-11-16 20:31:27.946553043 +0100
-@@ -3,7 +3,7 @@ if (WIN32)
- set(VCOS_PLATFORM win32)
- else ()
- set(VCOS_PLATFORM pthreads)
-- add_definitions(-Wall -Werror)
-+ add_definitions(-Wall)
- endif ()
-
- include_directories( ../../../..
diff --git a/package/bcm28xx-vc/patches/patch-interface_khronos_CMakeLists_txt b/package/bcm28xx-vc/patches/patch-interface_khronos_CMakeLists_txt
deleted file mode 100644
index 068283106..000000000
--- a/package/bcm28xx-vc/patches/patch-interface_khronos_CMakeLists_txt
+++ /dev/null
@@ -1,17 +0,0 @@
---- bcm28xx-vc-8d518460723779f95b49efafc04c183e83da3a18.orig/interface/khronos/CMakeLists.txt 2017-06-27 18:59:31.000000000 +0200
-+++ bcm28xx-vc-8d518460723779f95b49efafc04c183e83da3a18/interface/khronos/CMakeLists.txt 2017-07-01 14:33:21.139286425 +0200
-@@ -80,6 +80,14 @@ target_link_libraries(OpenVG EGL)
-
- install(TARGETS EGL GLESv2 OpenVG WFC khrn_client DESTINATION lib)
- install(TARGETS EGL_static GLESv2_static khrn_static DESTINATION lib)
-+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/egl/egl.pc.in"
-+ "${CMAKE_CURRENT_BINARY_DIR}/egl/egl.pc" @ONLY)
-+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/egl/egl.pc"
-+ DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig")
-+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/glxx/glesv2.pc.in"
-+ "${CMAKE_CURRENT_BINARY_DIR}/glxx/glesv2.pc" @ONLY)
-+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/glxx/glesv2.pc"
-+ DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig")
-
- # recommended names to use to avoid conflicts with mesa libs
- add_library(brcmEGL ${SHARED} ${EGL_SOURCE})
diff --git a/package/bcm28xx-vc/patches/patch-interface_mmal_CMakeLists_txt b/package/bcm28xx-vc/patches/patch-interface_mmal_CMakeLists_txt
deleted file mode 100644
index 8e4a1dace..000000000
--- a/package/bcm28xx-vc/patches/patch-interface_mmal_CMakeLists_txt
+++ /dev/null
@@ -1,11 +0,0 @@
---- bcm28xx-vc-c2f27fb8e581f8e5af83bf28422553ade8f7a7c8.orig/interface/mmal/CMakeLists.txt 2015-10-27 10:59:48.000000000 +0100
-+++ bcm28xx-vc-c2f27fb8e581f8e5af83bf28422553ade8f7a7c8/interface/mmal/CMakeLists.txt 2015-11-16 20:18:59.755962062 +0100
-@@ -3,7 +3,7 @@ if (NOT DEFINED LIBRARY_TYPE)
- set(LIBRARY_TYPE SHARED)
- endif (NOT DEFINED LIBRARY_TYPE)
-
--add_definitions(-Wall -Werror)
-+add_definitions(-Wall)
-
- add_library(mmal SHARED util/mmal_util.c)
-
diff --git a/package/bcm28xx-vc/patches/patch-interface_vcos_CMakeLists_txt b/package/bcm28xx-vc/patches/patch-interface_vcos_CMakeLists_txt
deleted file mode 100644
index c962c3acf..000000000
--- a/package/bcm28xx-vc/patches/patch-interface_vcos_CMakeLists_txt
+++ /dev/null
@@ -1,11 +0,0 @@
---- bcm28xx-vc-c2f27fb8e581f8e5af83bf28422553ade8f7a7c8.orig/interface/vcos/CMakeLists.txt 2015-10-27 10:59:48.000000000 +0100
-+++ bcm28xx-vc-c2f27fb8e581f8e5af83bf28422553ade8f7a7c8/interface/vcos/CMakeLists.txt 2015-11-16 20:22:22.274588157 +0100
-@@ -43,7 +43,7 @@ foreach (header ${HEADERS})
- endforeach ()
-
- if (CMAKE_COMPILER_IS_GNUCC)
-- add_definitions (-ggdb -Werror -Wall)
-+ add_definitions (-Wall)
- endif ()
-
- if (CMAKE_COMPILER_2005)
diff --git a/package/bcm28xx-vc/patches/patch-interface_vcos_pthreads_CMakeLists_txt b/package/bcm28xx-vc/patches/patch-interface_vcos_pthreads_CMakeLists_txt
deleted file mode 100644
index 34ac618fb..000000000
--- a/package/bcm28xx-vc/patches/patch-interface_vcos_pthreads_CMakeLists_txt
+++ /dev/null
@@ -1,11 +0,0 @@
---- bcm28xx-vc-c2f27fb8e581f8e5af83bf28422553ade8f7a7c8.orig/interface/vcos/pthreads/CMakeLists.txt 2015-10-27 10:59:48.000000000 +0100
-+++ bcm28xx-vc-c2f27fb8e581f8e5af83bf28422553ade8f7a7c8/interface/vcos/pthreads/CMakeLists.txt 2015-11-16 20:22:39.353464208 +0100
-@@ -1,7 +1,7 @@
- # MSVC5 does not fully support C99, enabling declaration-after-statement
- # warnings allows a common MSVC5 build error to be detected in Linux builds.
- if (CMAKE_COMPILER_IS_GNUCC)
-- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Werror -Wdeclaration-after-statement")
-+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wdeclaration-after-statement")
- add_definitions (-D_GNU_SOURCE)
- endif ()
-
diff --git a/package/bcm28xx-vc/patches/patch-interface_vmcs_host_linux_vcfiled_CMakeLists_txt b/package/bcm28xx-vc/patches/patch-interface_vmcs_host_linux_vcfiled_CMakeLists_txt
deleted file mode 100644
index 06bc3da60..000000000
--- a/package/bcm28xx-vc/patches/patch-interface_vmcs_host_linux_vcfiled_CMakeLists_txt
+++ /dev/null
@@ -1,9 +0,0 @@
---- bcm28xx-vc-c2f27fb8e581f8e5af83bf28422553ade8f7a7c8.orig/interface/vmcs_host/linux/vcfiled/CMakeLists.txt 2015-10-27 10:59:48.000000000 +0100
-+++ bcm28xx-vc-c2f27fb8e581f8e5af83bf28422553ade8f7a7c8/interface/vmcs_host/linux/vcfiled/CMakeLists.txt 2015-11-16 20:16:31.801734911 +0100
-@@ -1,6 +1,4 @@
-
--add_definitions(-Werror)
--
- # vcfiled - serves files to videocore. used for media handlers from
- # OpenMAX/IL and loading VLLs.
- add_executable(vcfiled vcfiled.c)
diff --git a/package/bcm28xx-vc/patches/patch-interface_vmcs_host_vc_vchi_tvservice_c b/package/bcm28xx-vc/patches/patch-interface_vmcs_host_vc_vchi_tvservice_c
deleted file mode 100644
index 2dfbf722c..000000000
--- a/package/bcm28xx-vc/patches/patch-interface_vmcs_host_vc_vchi_tvservice_c
+++ /dev/null
@@ -1,18 +0,0 @@
---- bcm28xx-vc-9cc14b29288f913ef0e3286f4b3232bf73ab59d2.orig/interface/vmcs_host/vc_vchi_tvservice.c 2015-05-25 13:22:55.000000000 -0500
-+++ bcm28xx-vc-9cc14b29288f913ef0e3286f4b3232bf73ab59d2/interface/vmcs_host/vc_vchi_tvservice.c 2015-06-08 13:01:47.348595327 -0500
-@@ -417,7 +417,6 @@ VCHPRE_ void VCHPOST_ vc_tv_register_cal
- ***********************************************************/
- VCHPRE_ void VCHPOST_ vc_tv_unregister_callback(TVSERVICE_CALLBACK_T callback)
- {
-- vcos_assert(callback != NULL);
-
- vcos_log_trace("[%s]", VCOS_FUNCTION);
- if(tvservice_lock_obtain() == 0)
-@@ -433,7 +432,6 @@ VCHPRE_ void VCHPOST_ vc_tv_unregister_c
- done = 1;
- } // if
- } // for
-- vcos_assert(done);
- tvservice_lock_release();
- }
- }
diff --git a/package/bcm28xx-vc/src/host_applications/linux/libs/bcm_host/bcm_host.pc.in b/package/bcm28xx-vc/src/host_applications/linux/libs/bcm_host/bcm_host.pc.in
deleted file mode 100644
index d40d35049..000000000
--- a/package/bcm28xx-vc/src/host_applications/linux/libs/bcm_host/bcm_host.pc.in
+++ /dev/null
@@ -1,10 +0,0 @@
-prefix=/usr
-exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
-includedir=${prefix}/include
-
-Name: bcm_host
-Description: Broadcom VideoCore host API library
-Version: 1
-Libs: -L${libdir} -lbcm_host -lvcos -lvchiq_arm
-Cflags: -I${includedir} -I${includedir}/interface/vmcs_host/linux -I${includedir}/interface/vcos/pthreads -DUSE_VCHIQ_ARM
diff --git a/package/bcm28xx-vc/src/interface/khronos/egl/egl.pc.in b/package/bcm28xx-vc/src/interface/khronos/egl/egl.pc.in
deleted file mode 100644
index 58687062b..000000000
--- a/package/bcm28xx-vc/src/interface/khronos/egl/egl.pc.in
+++ /dev/null
@@ -1,11 +0,0 @@
-prefix=@CMAKE_INSTALL_PREFIX@
-exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
-includedir=${prefix}/include
-
-Name: egl
-Description: RasberryPi implementation of EGL
-Version: 10
-Libs: -L${libdir} -lEGL -lGLESv2 -lbcm_host -lvchostif
-Cflags: -I${includedir}/ -I${includedir}/interface/vcos/pthreads/ \
- -I${includedir}/interface/vmcs_host/linux/
diff --git a/package/bcm28xx-vc/src/interface/khronos/glxx/glesv2.pc.in b/package/bcm28xx-vc/src/interface/khronos/glxx/glesv2.pc.in
deleted file mode 100644
index 2f58eede5..000000000
--- a/package/bcm28xx-vc/src/interface/khronos/glxx/glesv2.pc.in
+++ /dev/null
@@ -1,10 +0,0 @@
-prefix=@CMAKE_INSTALL_PREFIX@
-exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
-includedir=${prefix}/include
-
-Name: glesv2
-Description: RasberryPi implementation of OpenGL ESv2
-Version: 2.0
-Libs: -L${libdir} -lGLESv2
-Cflags: -I${includedir}/
diff --git a/package/bind/Makefile b/package/bind/Makefile
index 0a2852fcc..ac59cc624 100644
--- a/package/bind/Makefile
+++ b/package/bind/Makefile
@@ -4,21 +4,19 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= bind
-PKG_VERSION:= 9.10.4
+PKG_VERSION:= 9.18.24
PKG_RELEASE:= 1
-PKG_HASH:= f8d412b38d5ac390275b943bde69f4608f67862a45487ec854b30e4448fcb056
+PKG_HASH:= 709d73023c9115ddad3bab65b6c8c79a590196d0d114f5d0ca2533dbd52ddf66
PKG_DESCR:= dns server
PKG_SECTION:= net/dns
-PKG_DEPENDS:= libxml2 libressl
-PKG_BUILDDEP:= libxml2 libressl
+PKG_DEPENDS:= libxml2 libressl libuv libressl-util
+PKG_BUILDDEP:= libxml2 libressl libuv
PKG_NEEDS:= c++
PKG_URL:= https://www.isc.org/software/bind/
PKG_SITES:= ftp://ftp.isc.org/isc/bind9/${PKG_VERSION}/
PKG_LIBNAME:= libbind
PKG_OPTS:= dev
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
-
PKG_SUBPKGS:= LIBBIND BIND_SERVER BIND_NSUPDATE BIND_RNDC BIND_CHECK BIND_DNSSEC BIND_HOST BIND_DIG
PKGSD_LIBBIND:= library for the bind software suite
PKGSC_LIBBIND:= libs/net
@@ -44,9 +42,6 @@ PKGSD_BIND_DIG:= dig utility
PKGSC_BIND_DIG:= net/dns
PKGSS_BIND_DIG:= libbind libxml2
-PKG_FLAVOURS_LIBBIND:= WITH_IPV6
-PKGFD_WITH_IPV6:= enable IPv6 support
-
include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,BIND_SERVER,bind-server,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
@@ -60,22 +55,10 @@ $(eval $(call PKG_template,LIBBIND,libbind,${PKG_VERSION}-${PKG_RELEASE},,${PKGS
AUTOTOOL_STYLE:= autoreconf
CONFIGURE_ENV+= BUILD_CC="${HOST_CC}" BUILD_CFLAGS='${HOST_CFLAGS}' BUILD_LDFLAGS='${HOST_LDFLAGS}'
-CONFIGURE_ARGS+= --with-randomdev=/dev/urandom \
- --with-export-libdir=/usr/lib \
- --enable-exportlib \
- --with-ecdsa=no \
- --with-gost=no \
- --with-gssapi=no \
+CONFIGURE_ARGS+= --with-gssapi=no \
--with-openssl=${STAGING_TARGET_DIR}/usr \
- --with-libxml2=${STAGING_TARGET_DIR}/usr \
- --enable-epoll \
- --with-libtool
-
-ifneq (${ADK_PACKAGE_LIBBIND_WITH_IPV6},)
-CONFIGURE_ARGS+= --enable-ipv6
-else
-CONFIGURE_ARGS+= --disable-ipv6
-endif
+ --disable-linux-caps \
+ --disable-doh
bind-server-install:
${INSTALL_DIR} ${IDIR_BIND_SERVER}/usr/sbin ${IDIR_BIND_SERVER}/etc
@@ -93,18 +76,18 @@ bind-rndc-install:
${IDIR_BIND_RNDC}/usr/sbin
bind-check-install:
- ${INSTALL_DIR} ${IDIR_BIND_CHECK}/usr/sbin
- ${INSTALL_BIN} ${WRKINST}/usr/sbin/named-checkconf \
- ${IDIR_BIND_CHECK}/usr/sbin/
- ${INSTALL_BIN} ${WRKINST}/usr/sbin/named-checkzone \
- ${IDIR_BIND_CHECK}/usr/sbin/
+ ${INSTALL_DIR} ${IDIR_BIND_CHECK}/usr/bin
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/named-checkconf \
+ ${IDIR_BIND_CHECK}/usr/bin/
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/named-checkzone \
+ ${IDIR_BIND_CHECK}/usr/bin/
bind-dnssec-install:
- ${INSTALL_DIR} ${IDIR_BIND_DNSSEC}/usr/sbin
- ${INSTALL_BIN} ${WRKINST}/usr/sbin/dnssec-keygen \
- ${IDIR_BIND_DNSSEC}/usr/sbin
- ${INSTALL_BIN} ${WRKINST}/usr/sbin/dnssec-signzone \
- ${IDIR_BIND_DNSSEC}/usr/sbin
+ ${INSTALL_DIR} ${IDIR_BIND_DNSSEC}/usr/bin
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/dnssec-keygen \
+ ${IDIR_BIND_DNSSEC}/usr/bin
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/dnssec-signzone \
+ ${IDIR_BIND_DNSSEC}/usr/bin
bind-host-install:
${INSTALL_DIR} ${IDIR_BIND_HOST}/usr/bin
@@ -116,11 +99,12 @@ bind-dig-install:
libbind-install:
${INSTALL_DIR} ${IDIR_LIBBIND}/usr/lib
- ${CP} ${WRKINST}/usr/lib/libbind9.so.* ${IDIR_LIBBIND}/usr/lib
- ${CP} ${WRKINST}/usr/lib/libdns.so.* ${IDIR_LIBBIND}/usr/lib
- ${CP} ${WRKINST}/usr/lib/libisccc.so.* ${IDIR_LIBBIND}/usr/lib
- ${CP} ${WRKINST}/usr/lib/libisccfg.so.* ${IDIR_LIBBIND}/usr/lib
- ${CP} ${WRKINST}/usr/lib/libisc.so.* ${IDIR_LIBBIND}/usr/lib
- ${CP} ${WRKINST}/usr/lib/liblwres.so.* ${IDIR_LIBBIND}/usr/lib
+ ${CP} ${WRKINST}/usr/lib/libbind9*.so ${IDIR_LIBBIND}/usr/lib
+ ${CP} ${WRKINST}/usr/lib/libdns*.so ${IDIR_LIBBIND}/usr/lib
+ ${CP} ${WRKINST}/usr/lib/libisccc*.so ${IDIR_LIBBIND}/usr/lib
+ ${CP} ${WRKINST}/usr/lib/libisccfg*.so ${IDIR_LIBBIND}/usr/lib
+ ${CP} ${WRKINST}/usr/lib/libisc*.so ${IDIR_LIBBIND}/usr/lib
+ ${CP} ${WRKINST}/usr/lib/libirs*.so ${IDIR_LIBBIND}/usr/lib
+ ${CP} ${WRKINST}/usr/lib/libns*.so ${IDIR_LIBBIND}/usr/lib
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/bind/files/bind/named.conf.example b/package/bind/files/bind/named.conf
index 162454955..162454955 100644
--- a/package/bind/files/bind/named.conf.example
+++ b/package/bind/files/bind/named.conf
diff --git a/package/bind/patches/patch-bin_rndc_Makefile_am b/package/bind/patches/patch-bin_rndc_Makefile_am
new file mode 100644
index 000000000..4bf3b893c
--- /dev/null
+++ b/package/bind/patches/patch-bin_rndc_Makefile_am
@@ -0,0 +1,18 @@
+--- bind-9.18.24.orig/bin/rndc/Makefile.am 2024-02-11 11:42:55.296980787 +0100
++++ bind-9.18.24/bin/rndc/Makefile.am 2024-02-20 08:02:25.039885442 +0100
+@@ -2,6 +2,7 @@ include $(top_srcdir)/Makefile.top
+
+ AM_CPPFLAGS += \
+ $(LIBISC_CFLAGS) \
++ $(LIBNS_CFLAGS) \
+ $(LIBDNS_CFLAGS) \
+ $(LIBISCCFG_CFLAGS) \
+ $(LIBISCCC_CFLAGS) \
+@@ -20,6 +21,7 @@ rndc_SOURCES = \
+
+ rndc_LDADD = \
+ $(LIBISC_LIBS) \
++ $(LIBNS_LIBS) \
+ $(LIBDNS_LIBS) \
+ $(LIBISCCC_LIBS) \
+ $(LIBISCCFG_LIBS) \
diff --git a/package/binutils/Makefile b/package/binutils/Makefile
index 9efce8208..27748b0d1 100644
--- a/package/binutils/Makefile
+++ b/package/binutils/Makefile
@@ -36,6 +36,7 @@ else
CONFIGURE_ARGS+= --enable-multilib
endif
CONFIGURE_ARGS+= --disable-werror \
+ --disable-gprofng \
--disable-gdb \
--disable-sim \
--disable-install-libiberty \
diff --git a/package/bison/Makefile b/package/bison/Makefile
index f7716611e..5bc9cce8d 100644
--- a/package/bison/Makefile
+++ b/package/bison/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= bison
-PKG_VERSION:= 3.0.4
+PKG_VERSION:= 3.8.2
PKG_RELEASE:= 1
-PKG_HASH:= a72428c7917bdf9fa93cb8181c971b6e22834125848cf1d03ce10b1bb0716fe1
+PKG_HASH:= 9bba0214ccf7f1079c5d59210045227bcf619519840ebfa80cd3849cff5a5bf2
PKG_DESCR:= parser generator
PKG_SECTION:= dev/tools
PKG_BUILDDEP:= m4-host bison-host
diff --git a/package/bison/patches/patch-lib_fseterr_c b/package/bison/patches/patch-lib_fseterr_c
deleted file mode 100644
index 06af7469f..000000000
--- a/package/bison/patches/patch-lib_fseterr_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- bison-3.0.4.orig/lib/fseterr.c 2015-01-04 16:43:50.000000000 +0000
-+++ bison-3.0.4/lib/fseterr.c 2019-05-06 08:24:42.407830562 +0000
-@@ -29,7 +29,7 @@ fseterr (FILE *fp)
- /* Most systems provide FILE as a struct and the necessary bitmask in
- <stdio.h>, because they need it for implementing getc() and putc() as
- fast macros. */
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- fp->_flags |= _IO_ERR_SEEN;
- #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */
- fp_->_flags |= __SERR;
diff --git a/package/bison/patches/patch-lib_vasnprintf_c b/package/bison/patches/patch-lib_vasnprintf_c
deleted file mode 100644
index cb21d90fa..000000000
--- a/package/bison/patches/patch-lib_vasnprintf_c
+++ /dev/null
@@ -1,28 +0,0 @@
---- bison-3.0.4.orig/lib/vasnprintf.c 2015-01-04 17:46:03.000000000 +0100
-+++ bison-3.0.4/lib/vasnprintf.c 2018-02-24 21:13:43.000000000 +0100
-@@ -4858,7 +4858,10 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *
- #endif
- *fbp = dp->conversion;
- #if USE_SNPRINTF
--# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
-+# if ! (((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) \
-+ && !defined __UCLIBC__) \
-+ || (defined __APPLE__ && defined __MACH__) \
-+ || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
- fbp[1] = '%';
- fbp[2] = 'n';
- fbp[3] = '\0';
-@@ -4872,6 +4875,13 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *
- in format strings in writable memory may crash the program
- (if compiled with _FORTIFY_SOURCE=2), so we should avoid it
- in this situation. */
-+ /* On Mac OS X 10.3 or newer, we know that snprintf's return
-+ value conforms to ISO C 99: the tests gl_SNPRINTF_RETVAL_C99
-+ and gl_SNPRINTF_TRUNCATION_C99 pass.
-+ Therefore we can avoid using %n in this situation.
-+ On Mac OS X 10.13 or newer, the use of %n in format strings
-+ in writable memory by default crashes the program, so we
-+ should avoid it in this situation. */
- /* On native Windows systems (such as mingw), we can avoid using
- %n because:
- - Although the gl_SNPRINTF_TRUNCATION_C99 test fails,
diff --git a/package/bitlbee/Makefile b/package/bitlbee/Makefile
index dae6d01c4..d9a8cf6b8 100644
--- a/package/bitlbee/Makefile
+++ b/package/bitlbee/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= bitlbee
-PKG_VERSION:= 3.5.1
+PKG_VERSION:= 3.6
PKG_RELEASE:= 1
-PKG_HASH:= 9636d7fd89ebb3756c13a9a3387736ca6d56ccf66ec0580d512f07b21db0fa69
+PKG_HASH:= 9f15de46f29b46bf1e39fc50bdf4515e71b17f551f3955094c5da792d962107e
PKG_DESCR:= irc gateway to im chat networks
PKG_SECTION:= app/chat
PKG_DEPENDS:= glib libressl
@@ -35,6 +35,7 @@ CONFIGURE_ARGS:= --target=${GNU_TARGET_NAME} \
--ipv6=1 \
--ssl=openssl
INSTALL_TARGET= install-etc install-bin
+XAKE_ENV+= VERBOSE=1
post-configure:
@echo 'CFLAGS+="-I${STAGING_TARGET_DIR}/usr/include/iconv"' >> \
diff --git a/package/bitlbee/patches/patch-lib_Makefile b/package/bitlbee/patches/patch-lib_Makefile
index f55340876..a0f65192c 100644
--- a/package/bitlbee/patches/patch-lib_Makefile
+++ b/package/bitlbee/patches/patch-lib_Makefile
@@ -1,8 +1,8 @@
---- bitlbee-3.5.1.orig/lib/Makefile 2017-01-30 21:45:59.000000000 +0100
-+++ bitlbee-3.5.1/lib/Makefile 2017-05-20 12:20:09.898551807 +0200
+--- bitlbee-3.6.orig/lib/Makefile 2019-02-07 20:53:38.000000000 +0100
++++ bitlbee-3.6/lib/Makefile 2024-02-14 17:50:24.243531011 +0100
@@ -14,7 +14,7 @@ endif
# [SH] Program variables
- objects = arc.o base64.o $(EVENT_HANDLER) ftutil.o http_client.o ini.o json.o json_util.o md5.o misc.o oauth.o oauth2.o proxy.o sha1.o $(SSL_CLIENT) url.o xmltree.o ns_parse.o
+ objects = arc.o base64.o canohost.o $(EVENT_HANDLER) ftutil.o http_client.o ini.o json.o json_util.o md5.o misc.o oauth.o oauth2.o proxy.o sha1.o $(SSL_CLIENT) url.o xmltree.o ns_parse.o
-LFLAGS += -r
+LFLAGS += -Wl,-r -nostdlib
@@ -13,8 +13,8 @@
lib.o: $(objects) $(subdirs)
@echo '*' Linking lib.o
-- @$(LD) $(LFLAGS) $(objects) -o lib.o
-+ @$(CC) $(LFLAGS) $(objects) -o lib.o
+- $(VERBOSE) $(LD) $(LFLAGS) $(objects) -o lib.o
++ $(VERBOSE) $(CC) $(LFLAGS) $(objects) -o lib.o
$(objects): ../Makefile.settings Makefile
diff --git a/package/bitlbee/patches/patch-protocols_Makefile b/package/bitlbee/patches/patch-protocols_Makefile
index 77ce80f3d..80407a7e6 100644
--- a/package/bitlbee/patches/patch-protocols_Makefile
+++ b/package/bitlbee/patches/patch-protocols_Makefile
@@ -1,5 +1,5 @@
---- bitlbee-3.5.1.orig/protocols/Makefile 2017-01-30 21:45:59.000000000 +0100
-+++ bitlbee-3.5.1/protocols/Makefile 2017-05-20 12:17:34.748567834 +0200
+--- bitlbee-3.6.orig/protocols/Makefile 2019-02-07 20:53:38.000000000 +0100
++++ bitlbee-3.6/protocols/Makefile 2024-02-14 17:50:36.259530848 +0100
@@ -24,7 +24,7 @@ subdirobjs = $(PROTOOBJS)
# Expansion of variables
@@ -13,8 +13,8 @@
protocols.o: $(objects) $(subdirs)
@echo '*' Linking protocols.o
-- @$(LD) $(LFLAGS) $(objects) $(subdirobjs) -o protocols.o
-+ @$(CC) $(LFLAGS) $(objects) $(subdirobjs) -o protocols.o
+- $(VERBOSE) $(LD) $(LFLAGS) $(objects) $(subdirobjs) -o protocols.o
++ $(VERBOSE) $(CC) $(LFLAGS) $(objects) $(subdirobjs) -o protocols.o
$(objects): ../Makefile.settings Makefile
diff --git a/package/bitlbee/patches/patch-protocols_jabber_Makefile b/package/bitlbee/patches/patch-protocols_jabber_Makefile
index 9bf83badc..3eca97198 100644
--- a/package/bitlbee/patches/patch-protocols_jabber_Makefile
+++ b/package/bitlbee/patches/patch-protocols_jabber_Makefile
@@ -1,5 +1,5 @@
---- bitlbee-3.5.1.orig/protocols/jabber/Makefile 2017-01-30 21:45:59.000000000 +0100
-+++ bitlbee-3.5.1/protocols/jabber/Makefile 2017-05-20 12:15:26.360306005 +0200
+--- bitlbee-3.6.orig/protocols/jabber/Makefile 2019-02-07 20:53:38.000000000 +0100
++++ bitlbee-3.6/protocols/jabber/Makefile 2024-02-14 17:50:47.363530697 +0100
@@ -14,7 +14,7 @@ endif
# [SH] Program variables
objects = conference.o io.o iq.o jabber.o jabber_util.o message.o presence.o s5bytestream.o sasl.o si.o hipchat.o
@@ -13,7 +13,7 @@
jabber_mod.o: $(objects)
@echo '*' Linking jabber_mod.o
-- @$(LD) $(LFLAGS) $(objects) -o jabber_mod.o
-+ @$(CC) $(LFLAGS) $(objects) -o jabber_mod.o
+- $(VERBOSE) $(LD) $(LFLAGS) $(objects) -o jabber_mod.o
++ $(VERBOSE) $(CC) $(LFLAGS) $(objects) -o jabber_mod.o
-include .depend/*.d
diff --git a/package/bitlbee/patches/patch-protocols_msn_Makefile b/package/bitlbee/patches/patch-protocols_msn_Makefile
deleted file mode 100644
index b2b730cc7..000000000
--- a/package/bitlbee/patches/patch-protocols_msn_Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
---- bitlbee-3.5.1.orig/protocols/msn/Makefile 2017-01-30 21:45:59.000000000 +0100
-+++ bitlbee-3.5.1/protocols/msn/Makefile 2017-05-20 12:15:47.329655386 +0200
-@@ -14,7 +14,7 @@ endif
- # [SH] Program variables
- objects = msn.o msn_util.o ns.o soap.o tables.o gw.o
-
--LFLAGS += -r
-+LFLAGS += -Wl,-r -nostdlib
-
- # [SH] Phony targets
- all: msn_mod.o
-@@ -41,6 +41,6 @@ $(objects): %.o: $(_SRCDIR_)%.c
-
- msn_mod.o: $(objects)
- @echo '*' Linking msn_mod.o
-- @$(LD) $(LFLAGS) $(objects) -o msn_mod.o
-+ @$(CC) $(LFLAGS) $(objects) -o msn_mod.o
-
- -include .depend/*.d
diff --git a/package/bitlbee/patches/patch-protocols_oscar_Makefile b/package/bitlbee/patches/patch-protocols_oscar_Makefile
deleted file mode 100644
index b9dcedf9f..000000000
--- a/package/bitlbee/patches/patch-protocols_oscar_Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
---- bitlbee-3.5.1.orig/protocols/oscar/Makefile 2017-01-30 21:45:59.000000000 +0100
-+++ bitlbee-3.5.1/protocols/oscar/Makefile 2017-05-20 12:16:09.175061142 +0200
-@@ -15,7 +15,7 @@ endif
- # [SH] Program variables
- objects = admin.o auth.o bos.o buddylist.o chat.o chatnav.o conn.o icq.o im.o info.o misc.o msgcookie.o rxhandlers.o rxqueue.o search.o service.o snac.o ssi.o stats.o tlv.o txqueue.o oscar_util.o oscar.o
-
--LFLAGS += -r
-+LFLAGS += -Wl,-r -nostdlib
-
- # [SH] Phony targets
- all: oscar_mod.o
-@@ -38,10 +38,10 @@ $(objects): ../../Makefile.settings Make
-
- $(objects): %.o: $(_SRCDIR_)%.c
- @echo '*' Compiling $<
-- @$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
-+ $(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
-
- oscar_mod.o: $(objects)
- @echo '*' Linking oscar_mod.o
-- @$(LD) $(LFLAGS) $(objects) -o oscar_mod.o
-+ $(CC) $(LFLAGS) $(objects) -o oscar_mod.o
-
- -include .depend/*.d
diff --git a/package/bitlbee/patches/patch-protocols_twitter_Makefile b/package/bitlbee/patches/patch-protocols_twitter_Makefile
index 1dba18e51..f9be7d888 100644
--- a/package/bitlbee/patches/patch-protocols_twitter_Makefile
+++ b/package/bitlbee/patches/patch-protocols_twitter_Makefile
@@ -1,5 +1,5 @@
---- bitlbee-3.5.1.orig/protocols/twitter/Makefile 2017-01-30 21:45:59.000000000 +0100
-+++ bitlbee-3.5.1/protocols/twitter/Makefile 2017-05-20 12:16:01.590573095 +0200
+--- bitlbee-3.6.orig/protocols/twitter/Makefile 2019-02-07 20:53:38.000000000 +0100
++++ bitlbee-3.6/protocols/twitter/Makefile 2024-02-14 17:50:59.239530536 +0100
@@ -14,7 +14,7 @@ endif
# [SH] Program variables
objects = twitter.o twitter_http.o twitter_lib.o
@@ -13,7 +13,7 @@
twitter_mod.o: $(objects)
@echo '*' Linking twitter_mod.o
-- @$(LD) $(LFLAGS) $(objects) -o twitter_mod.o
-+ @$(CC) $(LFLAGS) $(objects) -o twitter_mod.o
+- $(VERBOSE) $(LD) $(LFLAGS) $(objects) -o twitter_mod.o
++ $(VERBOSE) $(CC) $(LFLAGS) $(objects) -o twitter_mod.o
-include .depend/*.d
diff --git a/package/bluez/Makefile b/package/bluez/Makefile
index bf12c5187..4741808b9 100644
--- a/package/bluez/Makefile
+++ b/package/bluez/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= bluez
-PKG_VERSION:= 5.43
+PKG_VERSION:= 5.66
PKG_RELEASE:= 1
-PKG_HASH:= 16c9c05d2a1da644ce3570d975ada3643d2e60c007a955bac09c0a0efeb58d15
+PKG_HASH:= 39fea64b590c9492984a0c27a89fc203e1cdc74866086efb8f4698677ab2b574
PKG_DESCR:= bluetooth applications
PKG_SECTION:= net/wifi
PKG_DEPENDS:= glib dbus libreadline libudev
@@ -36,6 +36,7 @@ CONFIGURE_ARGS+= --enable-tools \
--enable-udev \
--with-udevdir=/usr/bin \
--disable-test \
+ --disable-manpages \
--disable-systemd \
--disable-obex \
--disable-cups
diff --git a/package/bluez/patches/patch-tools_csr_usb_c b/package/bluez/patches/patch-tools_csr_usb_c
deleted file mode 100644
index 509061b56..000000000
--- a/package/bluez/patches/patch-tools_csr_usb_c
+++ /dev/null
@@ -1,10 +0,0 @@
---- bluez-5.12.orig/tools/csr_usb.c 2013-09-16 10:36:07.000000000 +0200
-+++ bluez-5.12/tools/csr_usb.c 2013-12-21 19:22:48.000000000 +0100
-@@ -29,6 +29,7 @@
- #include <errno.h>
- #include <ctype.h>
- #include <fcntl.h>
-+#include <limits.h>
- #include <unistd.h>
- #include <stdlib.h>
- #include <string.h>
diff --git a/package/bluez/patches/patch-tools_hciattach_bcm43xx_c b/package/bluez/patches/patch-tools_hciattach_bcm43xx_c
deleted file mode 100644
index 0b8799193..000000000
--- a/package/bluez/patches/patch-tools_hciattach_bcm43xx_c
+++ /dev/null
@@ -1,32 +0,0 @@
---- bluez-5.40.orig/tools/hciattach_bcm43xx.c 2015-03-11 11:01:57.000000000 +0100
-+++ bluez-5.40/tools/hciattach_bcm43xx.c 2016-06-18 23:25:59.991459117 +0200
-@@ -43,7 +43,7 @@
- #include "hciattach.h"
-
- #ifndef FIRMWARE_DIR
--#define FIRMWARE_DIR "/etc/firmware"
-+#define FIRMWARE_DIR "/lib/firmware"
- #endif
-
- #define FW_EXT ".hcd"
-@@ -366,11 +366,8 @@ int bcm43xx_init(int fd, int def_speed,
- return -1;
-
- if (bcm43xx_locate_patch(FIRMWARE_DIR, chip_name, fw_path)) {
-- fprintf(stderr, "Patch not found, continue anyway\n");
-+ fprintf(stderr, "Patch not found for %s, continue anyway\n", chip_name);
- } else {
-- if (bcm43xx_set_speed(fd, ti, speed))
-- return -1;
--
- if (bcm43xx_load_firmware(fd, fw_path))
- return -1;
-
-@@ -380,6 +377,7 @@ int bcm43xx_init(int fd, int def_speed,
- return -1;
- }
-
-+ sleep(1);
- if (bcm43xx_reset(fd))
- return -1;
- }
diff --git a/package/boost/Makefile b/package/boost/Makefile
index 2add96f5e..4bd846e0f 100644
--- a/package/boost/Makefile
+++ b/package/boost/Makefile
@@ -4,13 +4,13 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= boost
-PKG_VERSION:= 1.67.0
-PKG_EXTRAVER:= 1_67
+PKG_VERSION:= 1.84.0
+PKG_EXTRAVER:= 1_84
PKG_RELEASE:= 1
-PKG_HASH:= 8aa4e330c870ef50a896634c931adf468b21f8a69b77007e45c444151229f665
+PKG_HASH:= a5800f405508f5df8114558ca9855d2640a2de8f0445f051fa1c7c3383045724
PKG_DESCR:= portable c++ library
PKG_SECTION:= libs/misc
-PKG_BUILDDEP:= python2-host
+PKG_BUILDDEP:= python3-host
PKG_NEEDS:= c++
PKG_URL:= http://www.boost.org/
PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=boost/}
@@ -19,12 +19,13 @@ PKG_OPTS:= dev
DISTFILES:= boost_$(PKG_EXTRAVER)_0.tar.gz
WRKDIST= ${WRKDIR}/${PKG_NAME}_$(PKG_EXTRAVER)_0
-PKG_FLAVOURS_BOOST:= DATE_TIME GRAPH GRAPH_PARALLEL IOSTREAMS LOG MATH PROGRAM_OPTIONS PYTHON REGEX SERIALIZATION SIGNALS TEST WAVE
+PKG_FLAVOURS_BOOST:= DATE_TIME JSON GRAPH GRAPH_PARALLEL IOSTREAMS LOG MATH PROGRAM_OPTIONS PYTHON REGEX SERIALIZATION TEST WAVE
PKGFD_DATE_TIME:= with date-time
+PKGFD_JSON:= with json
PKGFD_PYTHON:= with python
-PKGFB_PYTHON:= python2
-PKGFS_PYTHON:= python2
+PKGFB_PYTHON:= python3
+PKGFS_PYTHON:= python3
PKGFD_IOSTREAMS:= with iostreams
PKGFD_GRAPH:= with graph
PKGFD_GRAPH_PARALLEL:= with graph_parallel
@@ -33,7 +34,6 @@ PKGFD_LOG:= with log
PKGFD_PROGRAM_OPTIONS:= with program_options
PKGFD_REGEX:= with regex
PKGFD_SERIALIZATION:= with serialization
-PKGFD_SIGNALS:= with signals
PKGFD_TEST:= with test
PKGFD_WAVE:= with wave
@@ -41,7 +41,7 @@ include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,BOOST,boost,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-include ${ADK_TOPDIR}/mk/python.mk
+include ${ADK_TOPDIR}/mk/python3.mk
CONFIG_STYLE:= manual
BUILD_STYLE:= manual
@@ -65,6 +65,9 @@ endif
ifeq (${ADK_PACKAGE_BOOST_DATE_TIME},)
CONFIGURE_ARGS+= --without-date_time
endif
+ifeq (${ADK_PACKAGE_BOOST_JSON},)
+CONFIGURE_ARGS+= --without-json
+endif
ifeq (${ADK_PACKAGE_BOOST_PYTHON},)
CONFIGURE_ARGS+= --without-python
endif
@@ -86,9 +89,6 @@ endif
ifeq (${ADK_PACKAGE_BOOST_SERIALIZATION},)
CONFIGURE_ARGS+= --without-serialization
endif
-ifeq (${ADK_PACKAGE_BOOST_SIGNALS},)
-CONFIGURE_ARGS+= --without-signals
-endif
ifeq (${ADK_PACKAGE_BOOST_TEST},)
CONFIGURE_ARGS+= --without-test
endif
@@ -96,6 +96,9 @@ ifeq (${ADK_PACKAGE_BOOST_WAVE},)
CONFIGURE_ARGS+= --without-wave
endif
+ifeq ($(ADK_TARGET_ARCH),aarch64)
+BOOST_ARCH:= architecture=arm
+endif
ifeq ($(ADK_TARGET_ARCH),arm)
BOOST_ARCH:= architecture=arm
endif
@@ -121,6 +124,9 @@ endif
ifeq ($(ADK_TARGET_ARCH),arm)
BOOST_ABI:= abi=aapcs
endif
+ifeq ($(ADK_TARGET_ARCH),aarch64)
+BOOST_ABI:= abi=aapcs
+endif
ifeq ($(ADK_TARGET_ARCH),mips)
BOOST_ABI:= abi=o32
endif
@@ -128,7 +134,7 @@ endif
# some variables for build
GPP_PATH:= ${TOOLCHAIN_DIR}/usr/bin/${GNU_TARGET_NAME}-g++
GPP_VERSION:= "`${GPP_PATH} -v 2>&1 | tail -1 | awk '{print $$3}'`"
-BJAM_PATH:= "`find ${WRKBUILD} -type f -name "bjam$(EXEEXT)"`"
+BJAM_PATH:= "`find ${WRKBUILD} -type f -name "b2$(EXEEXT)"`"
PYTHON_PATH:= ${STAGING_HOST_DIR}/usr/bin/python
PYTHON_INCLUDE:="`find ${STAGING_TARGET_DIR}/usr/include/ -maxdepth 1 -type d -name "python*" | head -1`"
PYTHON_LIB:= "`find ${STAGING_TARGET_DIR}/usr/lib/ -maxdepth 1 -type d -name "python*" | head -1`"
diff --git a/package/boost/patches/patch-boost_atomic_detail_caps_gcc_atomic_hpp b/package/boost/patches/patch-boost_atomic_detail_caps_gcc_atomic_hpp
deleted file mode 100644
index c9ec14ebb..000000000
--- a/package/boost/patches/patch-boost_atomic_detail_caps_gcc_atomic_hpp
+++ /dev/null
@@ -1,12 +0,0 @@
---- boost_1_67_0.orig/boost/atomic/detail/caps_gcc_atomic.hpp 2018-04-11 15:49:00.000000000 +0200
-+++ boost_1_67_0/boost/atomic/detail/caps_gcc_atomic.hpp 2018-05-14 05:53:50.064807243 +0200
-@@ -127,7 +127,7 @@
- #define BOOST_ATOMIC_CHAR32_T_LOCK_FREE BOOST_ATOMIC_INT32_LOCK_FREE
- #define BOOST_ATOMIC_CHAR16_T_LOCK_FREE BOOST_ATOMIC_INT16_LOCK_FREE
-
--#define BOOST_ATOMIC_THREAD_FENCE 2
--#define BOOST_ATOMIC_SIGNAL_FENCE 2
-+#define BOOST_ATOMIC_THREAD_FENCE 0
-+#define BOOST_ATOMIC_SIGNAL_FENCE 0
-
- #endif // BOOST_ATOMIC_DETAIL_CAPS_GCC_ATOMIC_HPP_INCLUDED_
diff --git a/package/brcm-bluetooth/files/hci b/package/brcm-bluetooth/files/hci
index 69716e147..ecc86a210 100644
--- a/package/brcm-bluetooth/files/hci
+++ b/package/brcm-bluetooth/files/hci
@@ -11,10 +11,9 @@ start)
target=$(cat /etc/.adktarget)
case $target in
raspberry-pi3 | raspberry-pi3p)
- hciattach /dev/ttyAMA0 bcm43xx 921600 noflow -
+ btattach -B /dev/ttyAMA0 -P bcm
;;
*)
- echo "No supported target found"
;;
esac
;;
diff --git a/package/brcm-bluetooth/src/BCM4345C5.hcd b/package/brcm-bluetooth/src/BCM4345C5.hcd
new file mode 100644
index 000000000..f92310c94
--- /dev/null
+++ b/package/brcm-bluetooth/src/BCM4345C5.hcd
Binary files differ
diff --git a/package/brcmfmac-firmware/Makefile b/package/brcmfmac-firmware/Makefile
index 4fd65ab52..c714fd044 100644
--- a/package/brcmfmac-firmware/Makefile
+++ b/package/brcmfmac-firmware/Makefile
@@ -5,7 +5,7 @@ include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= brcmfmac-firmware
PKG_VERSION:= 1.0
-PKG_RELEASE:= 3
+PKG_RELEASE:= 6
PKG_DESCR:= firmware for broadcom wireless cards
PKG_SECTION:= sys/firmware
@@ -21,6 +21,8 @@ INSTALL_STYLE:= manual
do-install:
${INSTALL_DIR} ${IDIR_BRCMFMAC_FIRMWARE}/lib/firmware/brcm
- ${CP} ${WRKBUILD}/* ${IDIR_BRCMFMAC_FIRMWARE}/lib/firmware/brcm
+ ${CP} ${WRKBUILD}/brcm/* ${IDIR_BRCMFMAC_FIRMWARE}/lib/firmware/brcm
+ ${INSTALL_DIR} ${IDIR_BRCMFMAC_FIRMWARE}/lib/firmware/cypress
+ ${CP} ${WRKBUILD}/cypress/* ${IDIR_BRCMFMAC_FIRMWARE}/lib/firmware/cypress
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/brcmfmac-firmware/src/BCM43430A1.hcd b/package/brcmfmac-firmware/src/BCM43430A1.hcd
deleted file mode 100644
index 9b087f1b6..000000000
--- a/package/brcmfmac-firmware/src/BCM43430A1.hcd
+++ /dev/null
Binary files differ
diff --git a/package/brcmfmac-firmware/src/BCM4345C0.hcd b/package/brcmfmac-firmware/src/BCM4345C0.hcd
deleted file mode 100644
index 6870153de..000000000
--- a/package/brcmfmac-firmware/src/BCM4345C0.hcd
+++ /dev/null
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcm/BCM-0a5c-6410.hcd b/package/brcmfmac-firmware/src/brcm/BCM-0a5c-6410.hcd
new file mode 120000
index 000000000..df0229362
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/BCM-0a5c-6410.hcd
@@ -0,0 +1 @@
+BCM-0bb4-0306.hcd \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/BCM-0bb4-0306.hcd b/package/brcmfmac-firmware/src/brcm/BCM-0bb4-0306.hcd
new file mode 100644
index 000000000..dee1dc756
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/BCM-0bb4-0306.hcd
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcm/BCM43430A1.hcd b/package/brcmfmac-firmware/src/brcm/BCM43430A1.hcd
new file mode 100644
index 000000000..2a7ec965f
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/BCM43430A1.hcd
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcm/BCM43430A1.raspberrypi,3-model-b.hcd b/package/brcmfmac-firmware/src/brcm/BCM43430A1.raspberrypi,3-model-b.hcd
new file mode 120000
index 000000000..51441492a
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/BCM43430A1.raspberrypi,3-model-b.hcd
@@ -0,0 +1 @@
+BCM43430A1.hcd \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/BCM43430A1.raspberrypi,model-zero-2-w.hcd b/package/brcmfmac-firmware/src/brcm/BCM43430A1.raspberrypi,model-zero-2-w.hcd
new file mode 120000
index 000000000..2bc194fc9
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/BCM43430A1.raspberrypi,model-zero-2-w.hcd
@@ -0,0 +1 @@
+../synaptics/SYN43430A1.hcd \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/BCM43430A1.raspberrypi,model-zero-w.hcd b/package/brcmfmac-firmware/src/brcm/BCM43430A1.raspberrypi,model-zero-w.hcd
new file mode 120000
index 000000000..51441492a
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/BCM43430A1.raspberrypi,model-zero-w.hcd
@@ -0,0 +1 @@
+BCM43430A1.hcd \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/BCM43430B0.hcd b/package/brcmfmac-firmware/src/brcm/BCM43430B0.hcd
new file mode 100644
index 000000000..5c44f2a5d
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/BCM43430B0.hcd
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcm/BCM43430B0.raspberrypi,model-zero-2-w.hcd b/package/brcmfmac-firmware/src/brcm/BCM43430B0.raspberrypi,model-zero-2-w.hcd
new file mode 120000
index 000000000..d62254786
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/BCM43430B0.raspberrypi,model-zero-2-w.hcd
@@ -0,0 +1 @@
+../synaptics/SYN43430B0.hcd \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/BCM4345C0.hcd b/package/brcmfmac-firmware/src/brcm/BCM4345C0.hcd
new file mode 100644
index 000000000..007611e37
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/BCM4345C0.hcd
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcm/BCM4345C0.raspberrypi,3-model-a-plus.hcd b/package/brcmfmac-firmware/src/brcm/BCM4345C0.raspberrypi,3-model-a-plus.hcd
new file mode 120000
index 000000000..d8d4f1d34
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/BCM4345C0.raspberrypi,3-model-a-plus.hcd
@@ -0,0 +1 @@
+BCM4345C0.hcd \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/BCM4345C0.raspberrypi,3-model-b-plus.hcd b/package/brcmfmac-firmware/src/brcm/BCM4345C0.raspberrypi,3-model-b-plus.hcd
new file mode 120000
index 000000000..d8d4f1d34
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/BCM4345C0.raspberrypi,3-model-b-plus.hcd
@@ -0,0 +1 @@
+BCM4345C0.hcd \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/BCM4345C0.raspberrypi,4-compute-module.hcd b/package/brcmfmac-firmware/src/brcm/BCM4345C0.raspberrypi,4-compute-module.hcd
new file mode 120000
index 000000000..d8d4f1d34
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/BCM4345C0.raspberrypi,4-compute-module.hcd
@@ -0,0 +1 @@
+BCM4345C0.hcd \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/BCM4345C0.raspberrypi,4-model-b.hcd b/package/brcmfmac-firmware/src/brcm/BCM4345C0.raspberrypi,4-model-b.hcd
new file mode 120000
index 000000000..d8d4f1d34
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/BCM4345C0.raspberrypi,4-model-b.hcd
@@ -0,0 +1 @@
+BCM4345C0.hcd \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/BCM4345C0.raspberrypi,5-model-b.hcd b/package/brcmfmac-firmware/src/brcm/BCM4345C0.raspberrypi,5-model-b.hcd
new file mode 120000
index 000000000..d8d4f1d34
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/BCM4345C0.raspberrypi,5-model-b.hcd
@@ -0,0 +1 @@
+BCM4345C0.hcd \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/BCM4345C5.hcd b/package/brcmfmac-firmware/src/brcm/BCM4345C5.hcd
new file mode 100644
index 000000000..762359d31
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/BCM4345C5.hcd
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcm/BCM4345C5.raspberrypi,4-compute-module.hcd b/package/brcmfmac-firmware/src/brcm/BCM4345C5.raspberrypi,4-compute-module.hcd
new file mode 120000
index 000000000..00da8bb90
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/BCM4345C5.raspberrypi,4-compute-module.hcd
@@ -0,0 +1 @@
+BCM4345C5.hcd \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/BCM4345C5.raspberrypi,400.hcd b/package/brcmfmac-firmware/src/brcm/BCM4345C5.raspberrypi,400.hcd
new file mode 120000
index 000000000..00da8bb90
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/BCM4345C5.raspberrypi,400.hcd
@@ -0,0 +1 @@
+BCM4345C5.hcd \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/bcm43xx-0.fw b/package/brcmfmac-firmware/src/brcm/bcm43xx-0.fw
index 9ee5ccc10..9ee5ccc10 100644
--- a/package/brcmfmac-firmware/src/bcm43xx-0.fw
+++ b/package/brcmfmac-firmware/src/brcm/bcm43xx-0.fw
Binary files differ
diff --git a/package/brcmfmac-firmware/src/bcm43xx_hdr-0.fw b/package/brcmfmac-firmware/src/brcm/bcm43xx_hdr-0.fw
index a6db78de0..a6db78de0 100644
--- a/package/brcmfmac-firmware/src/bcm43xx_hdr-0.fw
+++ b/package/brcmfmac-firmware/src/brcm/bcm43xx_hdr-0.fw
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43012-sdio.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43012-sdio.bin
new file mode 120000
index 000000000..6ed9407a6
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43012-sdio.bin
@@ -0,0 +1 @@
+../cypress/cyfmac43012-sdio.bin \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43012-sdio.clm_blob b/package/brcmfmac-firmware/src/brcm/brcmfmac43012-sdio.clm_blob
new file mode 120000
index 000000000..4715e14ce
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43012-sdio.clm_blob
@@ -0,0 +1 @@
+../cypress/cyfmac43012-sdio.clm_blob \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcmfmac43143-sdio.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43143-sdio.bin
index e4f56f3d1..e4f56f3d1 100644
--- a/package/brcmfmac-firmware/src/brcmfmac43143-sdio.bin
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43143-sdio.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcmfmac43143.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43143.bin
index 28b8db998..28b8db998 100644
--- a/package/brcmfmac-firmware/src/brcmfmac43143.bin
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43143.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcmfmac43236b.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43236b.bin
index 8a2004a91..8a2004a91 100644
--- a/package/brcmfmac-firmware/src/brcmfmac43236b.bin
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43236b.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43241b0-sdio.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43241b0-sdio.bin
new file mode 100644
index 000000000..8cc3cd208
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43241b0-sdio.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcmfmac43241b4-sdio.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43241b4-sdio.bin
index 5d10c24f1..5d10c24f1 100644
--- a/package/brcmfmac-firmware/src/brcmfmac43241b4-sdio.bin
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43241b4-sdio.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcmfmac43241b5-sdio.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43241b5-sdio.bin
index 8d70d17cf..8d70d17cf 100644
--- a/package/brcmfmac-firmware/src/brcmfmac43241b5-sdio.bin
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43241b5-sdio.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcmfmac43242a.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43242a.bin
index 80604d853..80604d853 100644
--- a/package/brcmfmac-firmware/src/brcmfmac43242a.bin
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43242a.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcmfmac4329-sdio.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac4329-sdio.bin
index d4c4560cd..d4c4560cd 100644
--- a/package/brcmfmac-firmware/src/brcmfmac4329-sdio.bin
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4329-sdio.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4329-sdio.solidrun,cubox-i-dl.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac4329-sdio.solidrun,cubox-i-dl.bin
new file mode 100644
index 000000000..d4c4560cd
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4329-sdio.solidrun,cubox-i-dl.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4329-sdio.solidrun,cubox-i-dl.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac4329-sdio.solidrun,cubox-i-dl.txt
new file mode 100644
index 000000000..d0fa0f556
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4329-sdio.solidrun,cubox-i-dl.txt
@@ -0,0 +1,70 @@
+# bcm4329 NVRAM
+# $Copyright (C) 2008 Broadcom Corporation$
+# $id$
+
+sromrev=3
+vendid=0x14e4
+devid=0x432f
+boardtype=0x53e
+
+boardrev=0x41
+
+#boardflags=0x1200
+boardflags=0x200
+
+# Specify the xtalfreq if it is otherthan 38.4MHz
+xtalfreq=37400
+
+aa2g=3
+aa5g=0
+
+ag0=255
+#tri2g=0x64
+
+# 11g paparams
+pa0b0=5542,5542,5542
+pa0b1=64244,64244,64244
+pa0b2=65202,65202,65202
+
+pa0itssit=62
+pa0maxpwr=74
+opo=0
+mcs2gpo0=0x6666
+mcs2gpo1=0x6666
+
+# 11g rssi params
+rssismf2g=0xa,0xa,0xa
+rssismc2g=0xb,0xb,0xb
+rssisav2g=0x3,0x3,0x3
+bxa2g=0
+
+# country code
+ccode=ALL
+cctl=0x0
+cckdigfilttype=0
+ofdmdigfilttype=1
+
+rxpo2g=0
+
+boardnum=1
+macaddr=00:90:4c:c5:00:34
+
+# xtal pu and pd time control variable
+# pu time is driver default (0x1501)
+#r13t=0x1501
+
+#######
+nocrc=1
+
+#for mfgc
+otpimagesize=182
+
+# sdio extra configs
+hwhdr=0x05ffff031030031003100000
+
+#This generates empty F1, F2 and F3 tuple chains, and may be used if the host SDIO stack does not require the standard tuples.
+#RAW1=80 02 fe ff
+
+#This includes the standard FUNCID and FUNCE tuples in the F1, F2, F3 and common CIS.
+RAW1=80 32 fe 21 02 0c 00 22 2a 01 01 00 00 c5 0 e6 00 00 00 00 00 40 00 00 ff ff 80 00 00 00 00 00 00 00 00 00 00 c8 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 20 04 D0 2 29 43 21 02 0c 00 22 04 00 20 00 5A
+nvramver=4.218.214.0
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4329-sdio.solidrun,cubox-i-q.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac4329-sdio.solidrun,cubox-i-q.bin
new file mode 100644
index 000000000..d4c4560cd
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4329-sdio.solidrun,cubox-i-q.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4329-sdio.solidrun,cubox-i-q.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac4329-sdio.solidrun,cubox-i-q.txt
new file mode 100644
index 000000000..d0fa0f556
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4329-sdio.solidrun,cubox-i-q.txt
@@ -0,0 +1,70 @@
+# bcm4329 NVRAM
+# $Copyright (C) 2008 Broadcom Corporation$
+# $id$
+
+sromrev=3
+vendid=0x14e4
+devid=0x432f
+boardtype=0x53e
+
+boardrev=0x41
+
+#boardflags=0x1200
+boardflags=0x200
+
+# Specify the xtalfreq if it is otherthan 38.4MHz
+xtalfreq=37400
+
+aa2g=3
+aa5g=0
+
+ag0=255
+#tri2g=0x64
+
+# 11g paparams
+pa0b0=5542,5542,5542
+pa0b1=64244,64244,64244
+pa0b2=65202,65202,65202
+
+pa0itssit=62
+pa0maxpwr=74
+opo=0
+mcs2gpo0=0x6666
+mcs2gpo1=0x6666
+
+# 11g rssi params
+rssismf2g=0xa,0xa,0xa
+rssismc2g=0xb,0xb,0xb
+rssisav2g=0x3,0x3,0x3
+bxa2g=0
+
+# country code
+ccode=ALL
+cctl=0x0
+cckdigfilttype=0
+ofdmdigfilttype=1
+
+rxpo2g=0
+
+boardnum=1
+macaddr=00:90:4c:c5:00:34
+
+# xtal pu and pd time control variable
+# pu time is driver default (0x1501)
+#r13t=0x1501
+
+#######
+nocrc=1
+
+#for mfgc
+otpimagesize=182
+
+# sdio extra configs
+hwhdr=0x05ffff031030031003100000
+
+#This generates empty F1, F2 and F3 tuple chains, and may be used if the host SDIO stack does not require the standard tuples.
+#RAW1=80 02 fe ff
+
+#This includes the standard FUNCID and FUNCE tuples in the F1, F2, F3 and common CIS.
+RAW1=80 32 fe 21 02 0c 00 22 2a 01 01 00 00 c5 0 e6 00 00 00 00 00 40 00 00 ff ff 80 00 00 00 00 00 00 00 00 00 00 c8 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 20 04 D0 2 29 43 21 02 0c 00 22 04 00 20 00 5A
+nvramver=4.218.214.0
diff --git a/package/brcmfmac-firmware/src/brcmfmac4329-sdio.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac4329-sdio.txt
index 6be3013aa..6be3013aa 100644
--- a/package/brcmfmac-firmware/src/brcmfmac4329-sdio.txt
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4329-sdio.txt
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4330-sdio.Prowise-PT301.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac4330-sdio.Prowise-PT301.txt
new file mode 100644
index 000000000..67381ab43
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4330-sdio.Prowise-PT301.txt
@@ -0,0 +1,89 @@
+# SPDX-License-Identifier: GPL-2.0+
+# (C) Copyright 2018 Linaro Ltd
+# NVRAM config file for the Ampak AP6330 4330 WiFi/BT module found on the
+# Prowise PT301 tablet
+aa2g=1
+aa5g=1
+ag0=0x40
+ag1=0xBF
+boardflags=0x10080a00
+# boardflags3 is not set
+boardnum=22
+boardrev=0x1202
+boardtype=0x05e1
+bphyscale=17
+# btc_params is not set
+cckPwrIdxCorr=-15
+cckPwrOffset=6
+cckdigfilttype=20
+ccode=X2
+# cldo_pwm is not set
+dacrate2g=160
+dacrate5g=160
+devid=0x4360
+il0macaddr=00:90:4c:c5:12:38
+macaddr=00:90:4c:c5:12:38
+manfid=0x2d0
+maxp2ga0=0x44
+maxp5ga0=0x3A
+maxp5gha0=0x3A
+maxp5gla0=0x3A
+mcs2gpo0=0x4444
+mcs2gpo1=0x4444
+mcs5ghpo0=0x2222
+mcs5ghpo1=0x2222
+mcs5glpo0=0x2222
+mcs5glpo1=0x2222
+mcs5gpo0=0x2222
+mcs5gpo1=0x2222
+nocrc=1
+noise_cal_adj_2g=-3
+noise_cal_ref_2g=53
+ofdm2gpo=0x22222222
+ofdm5ghpo=0x00000000
+ofdm5glpo=0x00000000
+ofdm5gpo=0x00000000
+pa0b0=4924
+pa0b1=-595
+pa0b2=-157
+pa0itssit=0x20
+pa1b0=4880
+pa1b1=-625
+pa1b2=-200
+pa1hib0=4880
+pa1hib1=-620
+pa1hib2=-190
+pa1lob0=5050
+pa1lob1=-630
+pa1lob2=-195
+pacalpwr2g=13
+pacalpwr5g1=11
+pacalpwr5g=13
+pacalpwr5ghi1=11
+pacalpwr5ghi=13
+pacalpwr5glo1=11
+pacalpwr5glo=13
+prodid=0x0547
+rfreg033=0x19
+rfreg033_cck=0x1f
+rfreg088=15
+rssisav2g=0x7
+rssisav5g=0x7
+rssismc2g=0x3
+rssismc5g=0x3
+rssismf2g=0xa
+rssismf5g=0x4
+rxpo5g=0
+sd_gpdc=0
+sd_gpout=0
+sd_gpval=1
+sromrev=3
+swctrlmap_2g=0x04040404,0x02020202,0x02020202,0x18282,0x1ff
+swctrlmap_5g=0x10101010,0x28282020,0x20202020,0x10202,0x0f8
+triso2g=3
+triso5g=6
+txalpfbyp2g=1
+txgaintbl=1
+vendid=0x14e4
+wl0id=0x431b
+xtalfreq=26000
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4330-sdio.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac4330-sdio.bin
new file mode 100644
index 000000000..3dd04446e
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4330-sdio.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcmfmac4330-sdio.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac4330-sdio.solidrun,cubox-i-dl.bin
index e3bc35546..e3bc35546 100644
--- a/package/brcmfmac-firmware/src/brcmfmac4330-sdio.bin
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4330-sdio.solidrun,cubox-i-dl.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4330-sdio.solidrun,cubox-i-dl.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac4330-sdio.solidrun,cubox-i-dl.txt
new file mode 100644
index 000000000..09a044f78
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4330-sdio.solidrun,cubox-i-dl.txt
@@ -0,0 +1,118 @@
+manfid=0x2d0
+prodid=0x0532
+vendid=0x14e4
+devid=0x4360
+boardtype=0x0532
+boardrev=0x20
+boardflags=0x10080201
+
+nocrc=1
+xtalfreq=37400
+xtalmode=0x20,0x4,0
+boardnum=22
+macaddr=00:90:4c:c5:12:38
+ag0=252
+ag1=252
+aa2g=1
+aa5g=1
+ccode=EU
+regrev=5
+
+#for BT-coexistence
+btc_params80=0
+btc_params6=10
+btc_params8=10000
+
+sd_gpout=0
+# sd_oobonly=1
+muxenab=0x10
+
+# 2G PA param_B42R 110927
+pa0b0=0x12E4
+pa0b1=0xFE09
+pa0b2=0xFF9A
+#pa0itssit=62
+rssismf2g=0xa
+rssismc2g=0x3
+rssisav2g=0x7
+
+# rssi params for 5GHz B42R_110803
+#rssismf5g=0x4
+rssismf5g=0xa
+rssismc5g=0x7
+rssisav5g=0x1
+#PA parameters for lower band
+pa1lob0=0x144F
+pa1lob1=0xFD6B
+pa1lob2=0xFF3B
+#PA parameters for midband
+pa1b0=0x139C
+pa1b1=0xFD87
+pa1b2=0xFF4F
+#PA parameters for high band
+pa1hib0=0x12CA
+pa1hib1=0xFD9A
+pa1hib2=0xFF4E
+
+# 2G PA offset
+maxp2ga0=64
+sromrev=3
+cckpo=0
+ofdm2gpo=0x66666666
+mcs2gpo0=0xaaaa
+mcs2gpo1=0xaaaa
+
+# 5G PA offset
+maxp5ga0=66
+maxp5gla0=66
+maxp5gha0=66
+ofdm5gpo=0x22222222
+ofdm5glpo=0x11111111
+ofdm5ghpo=0x22222222
+mcs5gpo0=0x6666
+mcs5gpo1=0x6666
+mcs5glpo0=0x5555
+mcs5glpo1=0x5555
+mcs5ghpo0=0x6666
+mcs5ghpo1=0x6666
+
+cckPwrOffset=4
+cckdigfilttype=22
+ofdmdigfilttype=2
+extpagain5g=2
+#wl0id=0x431b
+
+# For 2GHz Tx EVM/SM
+rfreg033=0x19
+rfreg033_cck=0x1d
+pacalidx2g=65
+dacrate2g=160
+txalpfbyp2g=1
+bphyscale=17
+
+# 5GHz LOFT and IQ CAL
+txgaintbl5g=1
+txiqlopapu5g=1
+txiqlopag5g=0x10
+iqlocalidx5g=24
+
+# 5GHz Noise CAL parameter
+noise_cal_po_5g=5
+noise_cal_enable_5g=0
+
+# 2GHz RxPER at low rates
+noise_cal_ref_2g=56
+noise_cal_po_bias_2g=-4
+noise_cal_enable_2g=1
+
+# Max input level on a-band
+triso5g=9
+
+# Tx power control, especially temp.
+tssitime=1
+
+#fc+1.7GHz Spur Elimination
+loidacmode5g=1
+
+swctrlmap_2g=0x84048404, 0x82028202, 0x84048404, 0x010202, 0x1ff
+swctrlmap_5g=0xC040C040, 0xB030A020, 0xA020C040, 0x010A02, 0x2F8
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4330-sdio.solidrun,cubox-i-q.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac4330-sdio.solidrun,cubox-i-q.bin
new file mode 100644
index 000000000..e3bc35546
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4330-sdio.solidrun,cubox-i-q.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4330-sdio.solidrun,cubox-i-q.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac4330-sdio.solidrun,cubox-i-q.txt
new file mode 100644
index 000000000..09a044f78
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4330-sdio.solidrun,cubox-i-q.txt
@@ -0,0 +1,118 @@
+manfid=0x2d0
+prodid=0x0532
+vendid=0x14e4
+devid=0x4360
+boardtype=0x0532
+boardrev=0x20
+boardflags=0x10080201
+
+nocrc=1
+xtalfreq=37400
+xtalmode=0x20,0x4,0
+boardnum=22
+macaddr=00:90:4c:c5:12:38
+ag0=252
+ag1=252
+aa2g=1
+aa5g=1
+ccode=EU
+regrev=5
+
+#for BT-coexistence
+btc_params80=0
+btc_params6=10
+btc_params8=10000
+
+sd_gpout=0
+# sd_oobonly=1
+muxenab=0x10
+
+# 2G PA param_B42R 110927
+pa0b0=0x12E4
+pa0b1=0xFE09
+pa0b2=0xFF9A
+#pa0itssit=62
+rssismf2g=0xa
+rssismc2g=0x3
+rssisav2g=0x7
+
+# rssi params for 5GHz B42R_110803
+#rssismf5g=0x4
+rssismf5g=0xa
+rssismc5g=0x7
+rssisav5g=0x1
+#PA parameters for lower band
+pa1lob0=0x144F
+pa1lob1=0xFD6B
+pa1lob2=0xFF3B
+#PA parameters for midband
+pa1b0=0x139C
+pa1b1=0xFD87
+pa1b2=0xFF4F
+#PA parameters for high band
+pa1hib0=0x12CA
+pa1hib1=0xFD9A
+pa1hib2=0xFF4E
+
+# 2G PA offset
+maxp2ga0=64
+sromrev=3
+cckpo=0
+ofdm2gpo=0x66666666
+mcs2gpo0=0xaaaa
+mcs2gpo1=0xaaaa
+
+# 5G PA offset
+maxp5ga0=66
+maxp5gla0=66
+maxp5gha0=66
+ofdm5gpo=0x22222222
+ofdm5glpo=0x11111111
+ofdm5ghpo=0x22222222
+mcs5gpo0=0x6666
+mcs5gpo1=0x6666
+mcs5glpo0=0x5555
+mcs5glpo1=0x5555
+mcs5ghpo0=0x6666
+mcs5ghpo1=0x6666
+
+cckPwrOffset=4
+cckdigfilttype=22
+ofdmdigfilttype=2
+extpagain5g=2
+#wl0id=0x431b
+
+# For 2GHz Tx EVM/SM
+rfreg033=0x19
+rfreg033_cck=0x1d
+pacalidx2g=65
+dacrate2g=160
+txalpfbyp2g=1
+bphyscale=17
+
+# 5GHz LOFT and IQ CAL
+txgaintbl5g=1
+txiqlopapu5g=1
+txiqlopag5g=0x10
+iqlocalidx5g=24
+
+# 5GHz Noise CAL parameter
+noise_cal_po_5g=5
+noise_cal_enable_5g=0
+
+# 2GHz RxPER at low rates
+noise_cal_ref_2g=56
+noise_cal_po_bias_2g=-4
+noise_cal_enable_2g=1
+
+# Max input level on a-band
+triso5g=9
+
+# Tx power control, especially temp.
+tssitime=1
+
+#fc+1.7GHz Spur Elimination
+loidacmode5g=1
+
+swctrlmap_2g=0x84048404, 0x82028202, 0x84048404, 0x010202, 0x1ff
+swctrlmap_5g=0xC040C040, 0xB030A020, 0xA020C040, 0x010A02, 0x2F8
diff --git a/package/brcmfmac-firmware/src/brcmfmac4330-sdio.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac4330-sdio.txt
index 9546246b9..9546246b9 100644
--- a/package/brcmfmac-firmware/src/brcmfmac4330-sdio.txt
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4330-sdio.txt
diff --git a/package/brcmfmac-firmware/src/brcmfmac4334-sdio.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac4334-sdio.bin
index ade994fbf..ade994fbf 100644
--- a/package/brcmfmac-firmware/src/brcmfmac4334-sdio.bin
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4334-sdio.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43340-sdio.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43340-sdio.bin
new file mode 120000
index 000000000..ffd98c6fd
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43340-sdio.bin
@@ -0,0 +1 @@
+../cypress/cyfmac43340-sdio.bin \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43340-sdio.meegopad-t08.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43340-sdio.meegopad-t08.txt
new file mode 100644
index 000000000..9535a4b6f
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43340-sdio.meegopad-t08.txt
@@ -0,0 +1,98 @@
+# SPDX-License-Identifier: GPL-2.0+
+# (C) Copyright 2018 Linaro Ltd
+# NVRAM config file for the Ampak AP6234 43340 WiFi/BT module found on the
+# Meegopad T08 HDMI stick
+aa2g=1
+ag0=255
+boardflags=0x0090201
+boardnum=22
+boardrev=0x1203
+boardtype=0x0653
+btc_flags=71
+btc_params22=8000
+btc_params83=9000
+btc_params84=4500
+btc_params8=15000
+cck2gpo=0x2222
+cckPwrOffset=3
+cckpapden=0
+ccode=X2
+dacrate2xen=1
+devid=0x4386
+dlocalidx5g=70
+dlorange_lowlimit=5
+gain=32
+gain_settle_dly_2g=4
+gain_settle_dly_5g=4
+iqcalidx5g=50
+iqlocalidx5g=40
+loflag=0
+lpbckmode5g=1
+macaddr=00:90:4c:c5:12:38
+manfid=0x2d0
+maxp2ga0=80
+maxp5ga0=80
+maxp5gha0=78
+maxp5gla0=78
+mcs2gpo0=0x5555
+mcs2gpo1=0x5555
+mcs5ghpo0=0x7777
+mcs5ghpo1=0x7777
+mcs5glpo0=0x7777
+mcs5glpo1=0x7777
+mcs5gpo0=0x8888
+mcs5gpo1=0x8888
+nocrc=1
+noise_cal_high_gain_2g=73
+noise_cal_high_gain_5g=73
+noise_cal_nf_substract_val_2g=346
+noise_cal_nf_substract_val_5g=346
+noise_cal_po_2g=-1
+noise_cal_po_40_2g=-1
+noise_cal_po_40_5g=-1
+noise_cal_po_5g=-1
+ofdm2gpo=0x333333333
+ofdm5ghpo=0x66666666
+ofdm5glpo=0x66666666
+ofdm5gpo=0x66666666
+pa0b0=6957 default
+pa0b1=-808
+pa0b2=-178
+pa0itssit=0x20
+pa1b0=5372
+pa1b1=-671
+pa1b2=-212
+pa1hib0=5620
+pa1hib1=-663
+pa1hib2=-179
+pa1lob0=5859
+pa1lob1=-693
+pa1lob2=-178
+papden2g=1
+papden5g=1
+prodid=0x0653
+rssisav2g=0x1
+rssisav5g=0x3
+rssismc2g=0x8
+rssismc5g=0x7
+rssismf2g=0xf
+rssismf5g=0xf
+rxpo5g=0
+sd_gpdc=0
+sd_gpout=4
+sd_gpval=1
+sromrev=3
+swctrlmap_2g=0x00080008,0x00100010,0x00080008,0x011010,0x11f
+swctrlmap_5g=0x00040004,0x00020002,0x00040004,0x011010,0x2fe
+triso2g=8
+triso5g=8
+tssifloor2g=69
+tssifloor5gh=74
+tssifloor5gl=77
+tssifloor5gm=77
+txalpfbyp=1
+txalpfpu=1
+txiqlopapu2g=0
+txiqlopapu5g=0
+vendid=0x14e4
+xtalfreq=37400
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43340-sdio.pov-tab-p1006w-data.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43340-sdio.pov-tab-p1006w-data.txt
new file mode 100644
index 000000000..1bec11e4a
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43340-sdio.pov-tab-p1006w-data.txt
@@ -0,0 +1,98 @@
+# SPDX-License-Identifier: GPL-2.0+
+# (C) Copyright 2018 Linaro Ltd
+# NVRAM config file for the Ampak AP6234 43340 WiFi/BT module found on the
+# Point of View TAB-P1006W-232-3G tablet
+aa2g=1
+ag0=255
+boardflags=0x0090201
+boardnum=22
+boardrev=0x1203
+boardtype=0x0653
+btc_flags=71
+btc_params22=8000
+btc_params83=9000
+btc_params84=4500
+btc_params8=15000
+cck2gpo=0x2222
+cckPwrOffset=3
+cckpapden=0
+ccode=X2
+dacrate2xen=1
+devid=0x4386
+dlocalidx5g=70
+dlorange_lowlimit=5
+gain=32
+gain_settle_dly_2g=4
+gain_settle_dly_5g=4
+iqcalidx5g=50
+iqlocalidx5g=40
+loflag=0
+lpbckmode5g=1
+macaddr=00:90:4c:c5:12:38
+manfid=0x2d0
+maxp2ga0=72
+maxp5ga0=68
+maxp5gha0=68
+maxp5gla0=68
+mcs2gpo0=0x5555
+mcs2gpo1=0x5555
+mcs5ghpo0=0x7777
+mcs5ghpo1=0x7777
+mcs5glpo0=0x7777
+mcs5glpo1=0x7777
+mcs5gpo0=0x8888
+mcs5gpo1=0x8888
+nocrc=1
+noise_cal_high_gain_2g=73
+noise_cal_high_gain_5g=73
+noise_cal_nf_substract_val_2g=346
+noise_cal_nf_substract_val_5g=346
+noise_cal_po_2g=-1
+noise_cal_po_40_2g=-1
+noise_cal_po_40_5g=-1
+noise_cal_po_5g=-1
+ofdm2gpo=0x333333333
+ofdm5ghpo=0x66666666
+ofdm5glpo=0x66666666
+ofdm5gpo=0x66666666
+pa0b0=0x1ce6
+pa0b1=0xfca1
+pa0b2=0xff62
+pa0itssit=0x20
+pa1b0=0x10cb
+pa1b1=0xfdac
+pa1b2=0xfefa
+pa1hib0=0x1481
+pa1hib1=0xfd90
+pa1hib2=0xff56
+pa1lob0=0x15ef
+pa1lob1=0xfd61
+pa1lob2=0xff57
+papden2g=1
+papden5g=1
+prodid=0x0653
+rssisav2g=0x1
+rssisav5g=0x3
+rssismc2g=0x8
+rssismc5g=0x7
+rssismf2g=0xf
+rssismf5g=0xf
+rxpo5g=0
+sd_gpdc=0
+sd_gpout=4
+sd_gpval=1
+sromrev=3
+swctrlmap_2g=0x00080008,0x00100010,0x00080008,0x011010,0x11f
+swctrlmap_5g=0x00040004,0x00020002,0x00040004,0x011010,0x2fe
+triso2g=8
+triso5g=8
+tssifloor2g=69
+tssifloor5gh=74
+tssifloor5gl=77
+tssifloor5gm=77
+txalpfbyp=1
+txalpfpu=1
+txiqlopapu2g=0
+txiqlopapu5g=0
+vendid=0x14e4
+xtalfreq=37400
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43340-sdio.predia-basic.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43340-sdio.predia-basic.txt
new file mode 100644
index 000000000..c899475cc
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43340-sdio.predia-basic.txt
@@ -0,0 +1,98 @@
+# SPDX-License-Identifier: GPL-2.0+
+# (C) Copyright 2018 Linaro Ltd
+# NVRAM config file for the Ampak AP6234 43340 WiFi/BT module found on the
+# Predia Basic tablet
+aa2g=1
+ag0=255
+boardflags=0x0090201
+boardnum=22
+boardrev=0x1203
+boardtype=0x0653
+btc_flags=71
+btc_params22=8000
+btc_params83=9000
+btc_params84=4500
+btc_params8=15000
+cck2gpo=0x2222
+cckPwrOffset=3
+cckpapden=0
+ccode=X2
+dacrate2xen=1
+devid=0x4386
+dlocalidx5g=70
+dlorange_lowlimit=5
+gain=32
+gain_settle_dly_2g=4
+gain_settle_dly_5g=4
+iqcalidx5g=50
+iqlocalidx5g=40
+loflag=0
+lpbckmode5g=1
+macaddr=00:90:4c:c5:12:38
+manfid=0x2d0
+maxp2ga0=76
+maxp5ga0=68
+maxp5gha0=68
+maxp5gla0=68
+mcs2gpo0=0x5555
+mcs2gpo1=0x5555
+mcs5ghpo0=0x7777
+mcs5ghpo1=0x7777
+mcs5glpo0=0x7777
+mcs5glpo1=0x7777
+mcs5gpo0=0x8888
+mcs5gpo1=0x8888
+nocrc=1
+noise_cal_high_gain_2g=73
+noise_cal_high_gain_5g=73
+noise_cal_nf_substract_val_2g=346
+noise_cal_nf_substract_val_5g=346
+noise_cal_po_2g=-1
+noise_cal_po_40_2g=-1
+noise_cal_po_40_5g=-1
+noise_cal_po_5g=-1
+ofdm2gpo=0x333333333
+ofdm5ghpo=0x66666666
+ofdm5glpo=0x66666666
+ofdm5gpo=0x66666666
+pa0b0=6957 default
+pa0b1=-808
+pa0b2=-178
+pa0itssit=0x20
+pa1b0=5372
+pa1b1=-671
+pa1b2=-212
+pa1hib0=5620
+pa1hib1=-663
+pa1hib2=-179
+pa1lob0=5859
+pa1lob1=-693
+pa1lob2=-178
+papden2g=1
+papden5g=1
+prodid=0x0653
+rssisav2g=0x1
+rssisav5g=0x3
+rssismc2g=0x8
+rssismc5g=0x7
+rssismf2g=0xf
+rssismf5g=0xf
+rxpo5g=0
+sd_gpdc=0
+sd_gpout=4
+sd_gpval=1
+sromrev=3
+swctrlmap_2g=0x00080008,0x00100010,0x00080008,0x011010,0x11f
+swctrlmap_5g=0x00040004,0x00020002,0x00040004,0x011010,0x2fe
+triso2g=8
+triso5g=8
+tssifloor2g=69
+tssifloor5gh=74
+tssifloor5gl=77
+tssifloor5gm=77
+txalpfbyp=1
+txalpfpu=1
+txiqlopapu2g=0
+txiqlopapu5g=0
+vendid=0x14e4
+xtalfreq=37400
diff --git a/package/brcmfmac-firmware/src/brcmfmac4335-sdio.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac4335-sdio.bin
index a670e962c..a670e962c 100644
--- a/package/brcmfmac-firmware/src/brcmfmac4335-sdio.bin
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4335-sdio.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43362-sdio.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43362-sdio.bin
new file mode 120000
index 000000000..459879f13
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43362-sdio.bin
@@ -0,0 +1 @@
+../cypress/cyfmac43362-sdio.bin \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43362-sdio.cubietech,cubietruck.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43362-sdio.cubietech,cubietruck.txt
new file mode 100644
index 000000000..90b46682f
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43362-sdio.cubietech,cubietruck.txt
@@ -0,0 +1,45 @@
+# SPDX-License-Identifier: GPL-2.0+
+# (C) Copyright 2018 Linaro Ltd
+# NVRAM config file for the Ampak AP6210 43362 WiFi/BT module found on the
+# Cubietech Cubietruck board
+aa2g=1
+ag0=2
+boardflags2=0x80
+boardflags=0x80201
+boardnum=777
+boardrev=0x1307
+boardtype=0x0598
+btc_flags=0x6
+btc_params0=5000
+btc_params1=1000
+btc_params6=63
+cck2gpo=0x2222
+cckPwrOffset=5
+ccode=0
+devid=0x4343
+macaddr=00:90:4c:c5:12:38
+manfid=0x2d0
+maxp2ga0=74
+mcs2gpo0=0x6666
+mcs2gpo1=0x6666
+noise_cal_enable_2g=0
+noise_cal_po_2g=0
+ofdm2gpo=0x44444444
+pa0b0=5447
+pa0b1=-607
+pa0b2=-160
+pa0itssit=62
+pa0maxpwr=56
+pa1itssit=62
+prodid=0x492
+rssisav2g=0x7
+rssismc2g=0x3
+rssismf2g=0xa
+sromrev=3
+swctrlmap_2g=0x04040404,0x02020202,0x02020202,0x010101,0x1ff
+temp_add=29767
+temp_mult=425
+triso2g=0
+vendid=0x14e4
+wl0id=0x431b
+xtalfreq=26000
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43362-sdio.lemaker,bananapro.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43362-sdio.lemaker,bananapro.txt
new file mode 120000
index 000000000..c3f3fe933
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43362-sdio.lemaker,bananapro.txt
@@ -0,0 +1 @@
+brcmfmac43362-sdio.cubietech,cubietruck.txt \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4339-sdio.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac4339-sdio.bin
new file mode 120000
index 000000000..ee51e67ff
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4339-sdio.bin
@@ -0,0 +1 @@
+../cypress/cyfmac4339-sdio.bin \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.AP6212.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.AP6212.txt
new file mode 100644
index 000000000..901854e67
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.AP6212.txt
@@ -0,0 +1,44 @@
+# SPDX-License-Identifier: GPL-2.0+
+# (C) Copyright 2018 Linaro Ltd
+# NVRAM config file for the Ampak AP6212 43430 WiFi/BT module
+aa2g=1
+ag0=255
+AvVmid_c0=0x0,0xc8
+boardflags=0x00404201
+# boardflags3 is not set
+boardnum=22
+boardrev=0x1101
+boardtype=0x0726
+# btc_params is not set
+cckbw202gpo=0x5555
+cckpwroffset0=5
+ccode=ALL
+# cldo_pwm is not set
+deadman_to=0xffffffff
+devid=0x43e2
+extpagain2g=0
+il0macaddr=00:90:4c:c5:12:38
+legofdmbw202gpo=0x77777777
+macaddr=00:90:4c:c5:12:38
+manfid=0x2d0
+maxp2ga0=90
+mcsbw202gpo=0xaaaaaaaa
+muxenab=0x10
+nocrc=1
+ofdmdigfilttype=7
+# ofdmdigfilttypebe is not set
+pa0itssit=0x20
+pa2ga0=-168,7161,-820
+# pacalidx2g is not set
+# papdendidx is not set
+# papdepsoffset is not set
+papdmode=2
+# papdvalidtest is not set
+prodid=0x0726
+# propbw202gpois not set
+# spurconfig is not set
+sromrev=11
+txpwrbckof=6
+vendid=0x14e4
+wl0id=0x431b
+xtalfreq=26000
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.Hampoo-D2D3_Vi8A1.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.Hampoo-D2D3_Vi8A1.txt
new file mode 100644
index 000000000..5b854d430
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.Hampoo-D2D3_Vi8A1.txt
@@ -0,0 +1,48 @@
+# SPDX-License-Identifier: GPL-2.0+
+# (C) Copyright 2018 Linaro Ltd
+# NVRAM config file for the 43430 WiFi/BT chip as found on the Chuwi Vi8 Plus
+# tablet's mainboard
+aa2g=1
+ag0=255
+AvVmid_c0=0x0,0xc8
+boardflags=0x00404201
+# boardflags3 is not set
+boardnum=22
+boardrev=0x1101
+boardtype=0x0726
+# btc_params is not set
+cckbw202gpo=0
+cckpwroffset0=5
+ccode=X2
+# cldo_pwm is not set
+deadman_to=0xffffffff
+devid=0x43e2
+extpagain2g=0
+il0macaddr=00:90:4c:c5:12:38
+legofdmbw202gpo=0x66111111
+macaddr=00:90:4c:c5:12:38
+manfid=0x2d0
+maxp2ga0=90
+mcsbw202gpo=0x77711111
+muxenab=0x1
+nocrc=1
+ofdmdigfilttype=18
+ofdmdigfilttypebe=18
+pa0itssit=0x20
+pa2ga0=-168,7161,-820
+# pacalidx2g is not set
+# papdendidx is not set
+# papdepsoffset is not set
+papdmode=1
+# papdvalidtest is not set
+prodid=0x0726
+# propbw202gpois not set
+sd_gpdc=0
+sd_gpout=0
+sd_gpval=1
+# spurconfig is not set
+sromrev=11
+txpwrbckof=6
+vendid=0x14e4
+wl0id=0x431b
+xtalfreq=26000
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.MUR1DX.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.MUR1DX.txt
new file mode 100644
index 000000000..06d4e3169
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.MUR1DX.txt
@@ -0,0 +1,44 @@
+# SPDX-License-Identifier: GPL-2.0+
+# (C) Copyright 2018 Linaro Ltd
+# NVRAM config file for the Murata 1DX 43430 WiFi/BT module
+aa2g=1
+ag0=0
+AvVmid_c0=0x0,0xc8
+boardflags=0x00404201
+boardflags3=0x08000000
+boardnum=22
+boardrev=0x1202
+boardtype=0x0726
+# btc_params is not set
+cckbw202gpo=0x0
+cckpwroffset0=2
+ccode=ALL
+# cldo_pwm is not set
+# deadman_to is not set
+devid=0x43e2
+extpagain2g=0
+il0macaddr=00:90:4c:c5:12:38
+legofdmbw202gpo=0x88888888
+macaddr=00:90:4c:c5:12:38
+manfid=0x2d0
+maxp2ga0=74
+mcsbw202gpo=0xaaaaaaaa
+muxenab=0x10
+nocrc=1
+ofdmdigfilttype=18
+ofdmdigfilttypebe=18
+# pa0itssit is not set
+pa2ga0=-145,6667,-751
+pacalidx2g=48
+papdendidx=58
+papdepsoffset=-22
+papdmode=1
+papdvalidtest=1
+prodid=0x0726
+propbw202gpo=0xdd
+# spurconfig is not set
+sromrev=11
+# txpwrbckof is not set
+vendid=0x14e4
+wl0id=0x431b
+xtalfreq=37400
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.bin
new file mode 120000
index 000000000..1c68d4a58
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.bin
@@ -0,0 +1 @@
+../cypress/cyfmac43430-sdio.bin \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.clm_blob b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.clm_blob
new file mode 120000
index 000000000..6e69616c4
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.clm_blob
@@ -0,0 +1 @@
+../cypress/cyfmac43430-sdio.clm_blob \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.bin
new file mode 120000
index 000000000..1c68d4a58
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.bin
@@ -0,0 +1 @@
+../cypress/cyfmac43430-sdio.bin \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.clm_blob b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.clm_blob
new file mode 120000
index 000000000..6e69616c4
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.clm_blob
@@ -0,0 +1 @@
+../cypress/cyfmac43430-sdio.clm_blob \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt
new file mode 120000
index 000000000..2ed668982
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt
@@ -0,0 +1 @@
+brcmfmac43430-sdio.txt \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-2-w.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-2-w.bin
new file mode 120000
index 000000000..81b110413
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-2-w.bin
@@ -0,0 +1 @@
+brcmfmac43436s-sdio.bin \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-2-w.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-2-w.txt
new file mode 120000
index 000000000..8d4e628b8
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-2-w.txt
@@ -0,0 +1 @@
+brcmfmac43436s-sdio.txt \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.bin
new file mode 120000
index 000000000..1c68d4a58
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.bin
@@ -0,0 +1 @@
+../cypress/cyfmac43430-sdio.bin \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.clm_blob b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.clm_blob
new file mode 120000
index 000000000..6e69616c4
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.clm_blob
@@ -0,0 +1 @@
+../cypress/cyfmac43430-sdio.clm_blob \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt
new file mode 120000
index 000000000..2ed668982
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt
@@ -0,0 +1 @@
+brcmfmac43430-sdio.txt \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-plus.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-plus.txt
new file mode 120000
index 000000000..e06912f7d
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-plus.txt
@@ -0,0 +1 @@
+brcmfmac43430-sdio.AP6212.txt \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-ultra.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-ultra.txt
new file mode 120000
index 000000000..e06912f7d
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-ultra.txt
@@ -0,0 +1 @@
+brcmfmac43430-sdio.AP6212.txt \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-zero.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-zero.txt
new file mode 120000
index 000000000..e06912f7d
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-zero.txt
@@ -0,0 +1 @@
+brcmfmac43430-sdio.AP6212.txt \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.sinovoip,bpi-m3.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.sinovoip,bpi-m3.txt
new file mode 120000
index 000000000..e06912f7d
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.sinovoip,bpi-m3.txt
@@ -0,0 +1 @@
+brcmfmac43430-sdio.AP6212.txt \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.txt
new file mode 100644
index 000000000..25a4f9b6e
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43430-sdio.txt
@@ -0,0 +1,64 @@
+# NVRAM file for BCM943430WLSELG
+# 2.4 GHz, 20 MHz BW mode
+
+# The following parameter values are just placeholders, need to be updated.
+manfid=0x2d0
+prodid=0x0726
+vendid=0x14e4
+devid=0x43e2
+boardtype=0x0726
+boardrev=0x1202
+boardnum=22
+macaddr=00:90:4c:c5:12:38
+sromrev=11
+boardflags=0x00404201
+boardflags3=0x08000000
+xtalfreq=37400
+#xtalfreq=19200
+nocrc=1
+ag0=255
+aa2g=1
+ccode=ALL
+
+pa0itssit=0x20
+extpagain2g=0
+
+#PA parameters for 2.4GHz, measured at CHIP OUTPUT
+pa2ga0=-168,7161,-820
+AvVmid_c0=0x0,0xc8
+cckpwroffset0=5
+
+# PPR params
+maxp2ga0=84
+txpwrbckof=6
+cckbw202gpo=0
+legofdmbw202gpo=0x66111111
+mcsbw202gpo=0x77711111
+propbw202gpo=0xdd
+
+# OFDM IIR :
+ofdmdigfilttype=18
+ofdmdigfilttypebe=18
+# PAPD mode:
+papdmode=1
+papdvalidtest=1
+pacalidx2g=32
+papdepsoffset=-36
+papdendidx=61
+
+il0macaddr=00:90:4c:c5:12:38
+wl0id=0x431b
+
+deadman_to=0xffffffff
+# muxenab: 0x1 for UART enable, 0x2 for GPIOs, 0x8 for JTAG
+muxenab=0x1
+# CLDO PWM voltage settings - 0x4 - 1.1 volt
+#cldo_pwm=0x4
+
+#VCO freq 326.4MHz
+spurconfig=0x3
+
+# Improved Bluetooth coexistence parameters from Cypress
+btc_mode=1
+btc_params8=0x4e20
+btc_params1=0x7530
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43430a0-sdio.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43430a0-sdio.bin
new file mode 100644
index 000000000..dc5ef912d
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43430a0-sdio.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43430a0-sdio.ilife-S806.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43430a0-sdio.ilife-S806.txt
new file mode 100644
index 000000000..c0ec87375
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43430a0-sdio.ilife-S806.txt
@@ -0,0 +1,47 @@
+# SPDX-License-Identifier: GPL-2.0+
+# (C) Copyright 2018 Linaro Ltd
+# NVRAM config file for the 43430a0 WiFi/BT chip found on the Chuwi Hi8 tablet
+aa2g=1
+ag0=255
+AvVmid_c0=0x0,0xc8
+boardflags=0x00404201
+# boardflags3 is not set
+boardnum=22
+boardrev=0x1101
+boardtype=0x0726
+# btc_params is not set
+cckbw202gpo=0
+cckpwroffset0=5
+ccode=X2
+# cldo_pwm is not set
+deadman_to=0xffffffff
+devid=0x43e2
+extpagain2g=0
+il0macaddr=00:90:4c:c5:12:38
+legofdmbw202gpo=0x66111111
+macaddr=00:90:4c:c5:12:38
+manfid=0x2d0
+maxp2ga0=90
+mcsbw202gpo=0x77711111
+muxenab=0x1
+nocrc=1
+ofdmdigfilttype=18
+ofdmdigfilttypebe=18
+pa0itssit=0x20
+pa2ga0=-168,7161,-820
+# pacalidx2g is not set
+# papdendidx is not set
+# papdepsoffset is not set
+papdmode=1
+# papdvalidtest is not set
+prodid=0x0726
+# propbw202gpois not set
+sd_gpdc=0
+sd_gpout=0
+sd_gpval=1
+# spurconfig is not set
+sromrev=11
+txpwrbckof=6
+vendid=0x14e4
+wl0id=0x431b
+xtalfreq=26000
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43430a0-sdio.jumper-ezpad-mini3.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43430a0-sdio.jumper-ezpad-mini3.txt
new file mode 100644
index 000000000..14f56292d
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43430a0-sdio.jumper-ezpad-mini3.txt
@@ -0,0 +1,49 @@
+# SPDX-License-Identifier: GPL-2.0+
+# (C) Copyright 2018 Linaro Ltd
+# NVRAM config file for the Ampak AP6212 43430a0 WiFi/BT module found on the
+# Jumper EZpad mini 3 tablet
+aa2g=1
+ag0=255
+AvVmid_c0=0x0,0xc8
+boardflags=0x00404201
+# boardflags3 is not set
+boardnum=22
+boardrev=0x1101
+boardtype=0x0726
+# btc_params is not set
+cckbw202gpo=0
+cckpwroffset0=5
+ccode=X2
+# cldo_pwm is not set
+deadman_to=0xffffffff
+devid=0x43e2
+extpagain2g=0
+il0macaddr=00:90:4c:c5:12:38
+legofdmbw202gpo=0x66111111
+macaddr=00:90:4c:c5:12:38
+manfid=0x2d0
+maxp2ga0=78
+mcsbw202gpo=0x77711111
+muxenab=0x1
+nocrc=1
+ofdmdigfilttype=18
+ofdmdigfilttypebe=18
+pa0itssit=0x20
+pa2ga0=-168,6009,-726
+# pacalidx2g is not set
+# papdendidx is not set
+# papdepsoffset is not set
+papdmode=1
+# papdvalidtest is not set
+prodid=0x0726
+# propbw202gpois not set
+rssicorrnorm=15
+sd_gpdc=0
+sd_gpout=0
+sd_gpval=1
+# spurconfig is not set
+sromrev=11
+txpwrbckof=6
+vendid=0x14e4
+wl0id=0x431b
+xtalfreq=26000
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43430b0-sdio.raspberrypi,model-zero-2-w.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43430b0-sdio.raspberrypi,model-zero-2-w.bin
new file mode 120000
index 000000000..3c46e4c67
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43430b0-sdio.raspberrypi,model-zero-2-w.bin
@@ -0,0 +1 @@
+brcmfmac43436-sdio.bin \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43430b0-sdio.raspberrypi,model-zero-2-w.clm_blob b/package/brcmfmac-firmware/src/brcm/brcmfmac43430b0-sdio.raspberrypi,model-zero-2-w.clm_blob
new file mode 120000
index 000000000..0b8821bd4
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43430b0-sdio.raspberrypi,model-zero-2-w.clm_blob
@@ -0,0 +1 @@
+brcmfmac43436-sdio.clm_blob \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43430b0-sdio.raspberrypi,model-zero-2-w.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43430b0-sdio.raspberrypi,model-zero-2-w.txt
new file mode 120000
index 000000000..545893f15
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43430b0-sdio.raspberrypi,model-zero-2-w.txt
@@ -0,0 +1 @@
+brcmfmac43436-sdio.txt \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43436-sdio.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43436-sdio.bin
new file mode 100644
index 000000000..a09e0e1c9
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43436-sdio.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43436-sdio.clm_blob b/package/brcmfmac-firmware/src/brcm/brcmfmac43436-sdio.clm_blob
new file mode 100644
index 000000000..1efac5060
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43436-sdio.clm_blob
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43436-sdio.raspberrypi,model-zero-2-w.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43436-sdio.raspberrypi,model-zero-2-w.bin
new file mode 120000
index 000000000..3c46e4c67
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43436-sdio.raspberrypi,model-zero-2-w.bin
@@ -0,0 +1 @@
+brcmfmac43436-sdio.bin \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43436-sdio.raspberrypi,model-zero-2-w.clm_blob b/package/brcmfmac-firmware/src/brcm/brcmfmac43436-sdio.raspberrypi,model-zero-2-w.clm_blob
new file mode 120000
index 000000000..0b8821bd4
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43436-sdio.raspberrypi,model-zero-2-w.clm_blob
@@ -0,0 +1 @@
+brcmfmac43436-sdio.clm_blob \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43436-sdio.raspberrypi,model-zero-2-w.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43436-sdio.raspberrypi,model-zero-2-w.txt
new file mode 120000
index 000000000..545893f15
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43436-sdio.raspberrypi,model-zero-2-w.txt
@@ -0,0 +1 @@
+brcmfmac43436-sdio.txt \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43436-sdio.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43436-sdio.txt
new file mode 100644
index 000000000..8eba004ee
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43436-sdio.txt
@@ -0,0 +1,93 @@
+# NVRAM file for BCM943430WLPTH, Bx Chip
+# 2.4 GHz, 20 MHz BW mode
+# $ Copyright Broadcom $
+#
+#
+# <<Broadcom-WL-IPTag/Proprietary:>>
+
+# The following parameter values are just placeholders, need to be updated.
+manfid=0x2d0
+prodid=0x0727
+vendid=0x14e4
+devid=0x43e2
+boardtype=0x0727
+boardrev=0x1331
+boardnum=22
+macaddr=00:90:4c:c5:12:38
+sromrev=11
+boardflags=0x00404201
+boardflags3=0x08000000
+xtalfreq=37400
+nocrc=1
+ag0=255
+aa2g=1
+ccode=ALL
+
+pa0itssit=0x20
+extpagain2g=0
+
+#PA parameters for 2.4GHz, measured at CHIP OUTPUT
+pa2ga0=-203,6150,-732
+
+#PA parameters for 2.4GHz, measured at CELL_BLOCK_PORT output
+#pa2ga0=-191,6027,-713
+
+#PA parameters for 2.4GHz, measured at LTE_BLOCK_PORT output
+#pa2ga0=-161,5458,-639
+
+
+AvVmid_c0=0x0,0xc8
+cckpwroffset0=5
+
+# PPR params
+maxp2ga0=78
+txpwrbckof=6
+cckbw202gpo=0
+legofdmbw202gpo=0x66111111
+mcsbw202gpo=0x76611111
+propbw202gpo=0xcc
+
+# OFDM IIR :
+ofdmdigfilttype=18
+ofdmdigfilttypebe=18
+# PAPD mode:
+papdmode=1
+pacalidx2g=42
+papdepsoffset=-22
+papdendidx=58
+
+# LTECX flags
+#ltecxmux=0
+#ltecxpadnum=0x0102
+#ltecxfnsel=0x44
+#ltecxgcigpio=0x01
+
+il0macaddr=00:90:4c:c5:12:38
+wl0id=0x431b
+
+deadman_to=0xffffffff
+# muxenab: 0x1 for UART enable, 0x2 for GPIOs, 0x8 for JTAG, 0x10 for OOB
+muxenab=0x10
+# CLDO PWM voltage settings - 0x4 - 1.1 volt
+#cldo_pwm=0x4
+
+#VCO freq 326.4MHz
+spurconfig=0x3
+
+AvVmidIQcal=0x2,0xa8
+
+#SW based desense - Enable by default
+#i.e using glitich statistcs as critria to change crsmin
+glitch_based_crsmin=1
+
+#/* EDTHRESH default value */
+edonthd20l=-62
+edoffthd20ul=-68
+#/* EDTHRESH adjust offset once ACI active */
+edonthd20l_adj=2
+edoffthd20ul_adj=2
+
+# Improved Bluetooth coexistence parameters
+btc_mode=1
+btc_params8=0x4e20
+btc_params1=0x7530
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43436s-sdio.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43436s-sdio.bin
new file mode 100644
index 000000000..85dca9790
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43436s-sdio.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43436s-sdio.raspberrypi,model-zero-2-w.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43436s-sdio.raspberrypi,model-zero-2-w.bin
new file mode 120000
index 000000000..81b110413
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43436s-sdio.raspberrypi,model-zero-2-w.bin
@@ -0,0 +1 @@
+brcmfmac43436s-sdio.bin \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43436s-sdio.raspberrypi,model-zero-2-w.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43436s-sdio.raspberrypi,model-zero-2-w.txt
new file mode 120000
index 000000000..8d4e628b8
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43436s-sdio.raspberrypi,model-zero-2-w.txt
@@ -0,0 +1 @@
+brcmfmac43436s-sdio.txt \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43436s-sdio.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43436s-sdio.txt
new file mode 100644
index 000000000..bac892656
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43436s-sdio.txt
@@ -0,0 +1,67 @@
+# NVRAM file for BCM943430WLPTH
+# 2.4 GHz, 20 MHz BW mode
+
+# The following parameter values are just placeholders, need to be updated.
+manfid=0x2d0
+prodid=0x0727
+vendid=0x14e4
+devid=0x43e2
+boardtype=0x0727
+boardrev=0x1101
+boardnum=22
+macaddr=00:90:4c:c5:12:38
+sromrev=11
+boardflags=0x00404201
+boardflags3=0x08000000
+xtalfreq=37400
+nocrc=1
+ag0=255
+aa2g=1
+ccode=ALL
+
+pa0itssit=0x20
+extpagain2g=0
+
+#PA parameters for 2.4GHz
+pa2ga0=-191,6027,-713
+AvVmid_c0=0x0,0xc8
+cckpwroffset0=5
+
+# PPR params
+maxp2ga0=78
+txpwrbckof=6
+cckbw202gpo=0
+legofdmbw202gpo=0x66111111
+mcsbw202gpo=0x77711111
+propbw202gpo=0xdd
+
+# OFDM IIR :
+ofdmdigfilttype=18
+ofdmdigfilttypebe=18
+# PAPD mode:
+papdmode=1
+papdvalidtest=1
+pacalidx2g=45
+papdepsoffset=-30
+papdendidx=58
+
+il0macaddr=00:90:4c:c5:12:38
+wl0id=0x431b
+
+deadman_to=0xffffffff
+# muxenab: 0x1 for UART enable, 0x2 for GPIOs, 0x8 for JTAG
+muxenab=0x1
+# CLDO PWM voltage settings - 0x4 - 1.1 volt
+#cldo_pwm=0x4
+
+#VCO freq 326.4MHz
+spurconfig=0x3
+
+#SW based desense - Enable by default
+#i.e using glitich statistcs as critria to change crsmin
+glitch_based_crsmin=1
+
+# Improved Bluetooth coexistence parameters
+btc_mode=1
+btc_params8=0x4e20
+btc_params1=0x7530
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.AW-CM256SM.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.AW-CM256SM.txt
new file mode 100644
index 000000000..4ca98ee71
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.AW-CM256SM.txt
@@ -0,0 +1,66 @@
+aa2g=1
+aa5g=1
+AvVmid_c0=0,157,1,126,1,126,1,126,1,126
+boardflags=0x00080201
+boardflags2=0x40000000
+boardflags3=0x48200100
+boardrev=0x1304
+boardtype=0x6e4
+deadman_to=481500000
+devid=0x43ab
+dot11agofdmhrbw202gpo=0x1553
+ed_thresh2g=-54
+ed_thresh5g=-54
+extpagain2g=2
+extpagain5g=2
+femctrl=0
+itrsw=1
+ltecxfnsel=0x22
+ltecxgcigpio=0x32
+ltecxmux=0
+ltecxpadnum=0x0504
+macaddr=00:90:4c:c5:12:38
+manfid=0x2d0
+maxp2ga0=64
+maxp5ga0=80,82,76,77
+mcsbw202gpo=0x99355533
+mcsbw205ghpo=0x99855000
+mcsbw205glpo=0x99755000
+mcsbw205gmpo=0x9df55000
+mcsbw405ghpo=0xd9755000
+mcsbw405glpo=0xb8555000
+mcsbw405gmpo=0xed955000
+mcsbw805ghpo=0xd9555000
+mcsbw805glpo=0xc8555000
+mcsbw805gmpo=0xe9555000
+muxenab=0x10
+nocrc=1
+ofdmlrbw202gpo=0x0033
+pa2ga0=-112,6296,-662
+pa2ga1=-165,3699,-515
+pa5ga0=-143,6016,-683,-141,6013,-678,-137,5988,-670,-136,5982,-670
+pa5ga1=-161,3544,-499,-166,3543,-497,-169,3569,-497,-171,3598,-498
+pdoffset2g40ma0=10
+pdoffset40ma0=0xaaaa
+pdoffset80ma0=0xaaaa
+prodid=0x06e4
+rxchain=1
+rxgains2gelnagaina0=0
+rxgains2gtrelnabypa0=0
+rxgains2gtrisoa0=0
+rxgains5gelnagaina0=0
+rxgains5gtrelnabypa0=0
+rxgains5gtrisoa0=0
+sromrev=11
+swctrlmap_2g=0x00040004,0x00020002,0x00040004,0x010a02,0x1ff
+swctrlmap_5g=0x00100010,0x00200020,0x00100010,0x010a02,0x2f4
+swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x000
+swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x000
+tssipos2g=1
+tssipos5g=1
+tworangetssi2g=1
+tworangetssi5g=1
+txchain=1
+vcodivmode=1
+vendid=0x14e4
+xtalfreq=37400
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.bin
new file mode 120000
index 000000000..9c392080f
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.bin
@@ -0,0 +1 @@
+../cypress/cyfmac43455-sdio.bin \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.clm_blob b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.clm_blob
new file mode 120000
index 000000000..0ebe01506
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.clm_blob
@@ -0,0 +1 @@
+../cypress/cyfmac43455-sdio.clm_blob \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.pine64,pinebook-pro.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.pine64,pinebook-pro.txt
new file mode 120000
index 000000000..4c9a175e5
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.pine64,pinebook-pro.txt
@@ -0,0 +1 @@
+brcmfmac43455-sdio.AW-CM256SM.txt \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.pine64,pinephone-pro.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.pine64,pinephone-pro.txt
new file mode 120000
index 000000000..4c9a175e5
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.pine64,pinephone-pro.txt
@@ -0,0 +1 @@
+brcmfmac43455-sdio.AW-CM256SM.txt \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.pine64,quartz64-b.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.pine64,quartz64-b.txt
new file mode 120000
index 000000000..4c9a175e5
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.pine64,quartz64-b.txt
@@ -0,0 +1 @@
+brcmfmac43455-sdio.AW-CM256SM.txt \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.bin
new file mode 120000
index 000000000..9c392080f
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.bin
@@ -0,0 +1 @@
+../cypress/cyfmac43455-sdio.bin \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.clm_blob b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.clm_blob
new file mode 120000
index 000000000..0ebe01506
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.clm_blob
@@ -0,0 +1 @@
+../cypress/cyfmac43455-sdio.clm_blob \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt
new file mode 120000
index 000000000..2aba486e0
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt
@@ -0,0 +1 @@
+brcmfmac43455-sdio.txt \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.bin
new file mode 120000
index 000000000..9c392080f
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.bin
@@ -0,0 +1 @@
+../cypress/cyfmac43455-sdio.bin \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.clm_blob b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.clm_blob
new file mode 120000
index 000000000..0ebe01506
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.clm_blob
@@ -0,0 +1 @@
+../cypress/cyfmac43455-sdio.clm_blob \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
new file mode 120000
index 000000000..2aba486e0
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
@@ -0,0 +1 @@
+brcmfmac43455-sdio.txt \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.bin
new file mode 120000
index 000000000..9c392080f
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.bin
@@ -0,0 +1 @@
+../cypress/cyfmac43455-sdio.bin \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.clm_blob b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.clm_blob
new file mode 120000
index 000000000..0ebe01506
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.clm_blob
@@ -0,0 +1 @@
+../cypress/cyfmac43455-sdio.clm_blob \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.txt
new file mode 120000
index 000000000..2aba486e0
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.txt
@@ -0,0 +1 @@
+brcmfmac43455-sdio.txt \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.bin
new file mode 120000
index 000000000..9c392080f
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.bin
@@ -0,0 +1 @@
+../cypress/cyfmac43455-sdio.bin \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.clm_blob b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.clm_blob
new file mode 120000
index 000000000..0ebe01506
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.clm_blob
@@ -0,0 +1 @@
+../cypress/cyfmac43455-sdio.clm_blob \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
new file mode 120000
index 000000000..2aba486e0
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
@@ -0,0 +1 @@
+brcmfmac43455-sdio.txt \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,5-model-b.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,5-model-b.bin
new file mode 120000
index 000000000..9c392080f
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,5-model-b.bin
@@ -0,0 +1 @@
+../cypress/cyfmac43455-sdio.bin \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,5-model-b.clm_blob b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,5-model-b.clm_blob
new file mode 120000
index 000000000..0ebe01506
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,5-model-b.clm_blob
@@ -0,0 +1 @@
+../cypress/cyfmac43455-sdio.clm_blob \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,5-model-b.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,5-model-b.txt
new file mode 120000
index 000000000..2aba486e0
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.raspberrypi,5-model-b.txt
@@ -0,0 +1 @@
+brcmfmac43455-sdio.txt \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.txt
new file mode 100644
index 000000000..9a20cb7e4
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43455-sdio.txt
@@ -0,0 +1,98 @@
+# Cloned from bcm94345wlpagb_p2xx.txt
+NVRAMRev=$Rev: 498373 $
+sromrev=11
+vendid=0x14e4
+devid=0x43ab
+manfid=0x2d0
+prodid=0x06e4
+#macaddr=00:90:4c:c5:12:38
+macaddr=b8:27:eb:74:f2:6c
+nocrc=1
+boardtype=0x6e4
+boardrev=0x1304
+
+#XTAL 37.4MHz
+xtalfreq=37400
+
+btc_mode=1
+#------------------------------------------------------
+#boardflags: 5GHz eTR switch by default
+# 2.4GHz eTR switch by default
+# bit1 for btcoex
+boardflags=0x00480201
+boardflags2=0x40800000
+boardflags3=0x44200100
+phycal_tempdelta=15
+rxchain=1
+txchain=1
+aa2g=1
+aa5g=1
+tssipos5g=1
+tssipos2g=1
+femctrl=0
+AvVmid_c0=1,165,2,100,2,100,2,100,2,100
+pa2ga0=-129,6525,-718
+pa2ga1=-149,4408,-601
+pa5ga0=-185,6836,-815,-186,6838,-815,-184,6859,-815,-184,6882,-818
+pa5ga1=-202,4285,-574,-201,4312,-578,-196,4391,-586,-201,4294,-575
+itrsw=1
+pdoffsetcckma0=2
+pdoffset2gperchan=0,-2,1,0,1,0,1,1,1,0,0,-1,-1,0
+pdoffset2g40ma0=16
+pdoffset40ma0=0x8888
+pdoffset80ma0=0x8888
+extpagain5g=2
+extpagain2g=2
+tworangetssi2g=1
+tworangetssi5g=1
+# LTECX flags
+# WCI2
+ltecxmux=0
+ltecxpadnum=0x0504
+ltecxfnsel=0x22
+ltecxgcigpio=0x32
+
+maxp2ga0=80
+ofdmlrbw202gpo=0x0022
+dot11agofdmhrbw202gpo=0x4442
+mcsbw202gpo=0x98444422
+mcsbw402gpo=0x98444422
+maxp5ga0=82,82,82,82
+mcsbw205glpo=0xb9555000
+mcsbw205gmpo=0xb9555000
+mcsbw205ghpo=0xb9555000
+mcsbw405glpo=0xb9555000
+mcsbw405gmpo=0xb9555000
+mcsbw405ghpo=0xb9555000
+mcsbw805glpo=0xb9555000
+mcsbw805gmpo=0xb9555000
+mcsbw805ghpo=0xb9555000
+
+swctrlmap_2g=0x00000000,0x00000000,0x00000000,0x010000,0x3ff
+swctrlmap_5g=0x00100010,0x00200020,0x00200020,0x010000,0x3fe
+swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x3
+swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x3
+
+vcodivmode=1
+deadman_to=481500000
+
+ed_thresh2g=-54
+ed_thresh5g=-54
+eu_edthresh2g=-54
+eu_edthresh5g=-54
+ldo1=4
+rawtempsense=0x1ff
+cckPwrIdxCorr=3
+cckTssiDelay=150
+ofdmTssiDelay=150
+txpwr2gAdcScale=1
+txpwr5gAdcScale=1
+dot11b_opts=0x3aa85
+cbfilttype=1
+fdsslevel_ch11=6
+
+# Improved Bluetooth coexistence parameters from Cypress
+btc_mode=1
+btc_params8=0x4e20
+btc_params1=0x7530
+btc_params50=0x972c
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.bin
new file mode 100644
index 000000000..0a9df2a4b
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.clm_blob b/package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.clm_blob
new file mode 100644
index 000000000..36b865265
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.clm_blob
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.raspberrypi,4-compute-module.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.raspberrypi,4-compute-module.bin
new file mode 120000
index 000000000..a8909e119
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.raspberrypi,4-compute-module.bin
@@ -0,0 +1 @@
+brcmfmac43456-sdio.bin \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.raspberrypi,4-compute-module.clm_blob b/package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.raspberrypi,4-compute-module.clm_blob
new file mode 120000
index 000000000..ec7513b10
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.raspberrypi,4-compute-module.clm_blob
@@ -0,0 +1 @@
+brcmfmac43456-sdio.clm_blob \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.raspberrypi,4-compute-module.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.raspberrypi,4-compute-module.txt
new file mode 120000
index 000000000..94cd555b2
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.raspberrypi,4-compute-module.txt
@@ -0,0 +1 @@
+brcmfmac43456-sdio.txt \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.raspberrypi,400.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.raspberrypi,400.bin
new file mode 120000
index 000000000..a8909e119
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.raspberrypi,400.bin
@@ -0,0 +1 @@
+brcmfmac43456-sdio.bin \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.raspberrypi,400.clm_blob b/package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.raspberrypi,400.clm_blob
new file mode 120000
index 000000000..ec7513b10
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.raspberrypi,400.clm_blob
@@ -0,0 +1 @@
+brcmfmac43456-sdio.clm_blob \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.raspberrypi,400.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.raspberrypi,400.txt
new file mode 120000
index 000000000..94cd555b2
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.raspberrypi,400.txt
@@ -0,0 +1 @@
+brcmfmac43456-sdio.txt \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.txt
new file mode 100644
index 000000000..a34c69167
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43456-sdio.txt
@@ -0,0 +1,97 @@
+# Cloned from bcm94345wlpagb_p2xx.txt
+NVRAMRev=$Rev: 498373 $
+sromrev=11
+vendid=0x14e4
+devid=0x43ab
+manfid=0x2d0
+prodid=0x06e4
+#macaddr=00:90:4c:c5:12:38
+macaddr=b8:27:eb:74:f2:6c
+nocrc=1
+boardtype=0x6e4
+boardrev=0x1304
+
+#XTAL 37.4MHz
+xtalfreq=37400
+
+btc_mode=1
+#------------------------------------------------------
+#boardflags: 5GHz eTR switch by default
+# 2.4GHz eTR switch by default
+# bit1 for btcoex
+boardflags=0x00480201
+boardflags2=0x40800000
+boardflags3=0x44200100
+phycal_tempdelta=15
+rxchain=1
+txchain=1
+aa2g=1
+aa5g=1
+tssipos5g=1
+tssipos2g=1
+femctrl=0
+AvVmid_c0=0,157,1,126,1,126,1,126,1,126
+pa2ga0=-170,5896,-680
+pa2ga1=-156,4032,-547
+pa5ga0=-150,5547,-628,-150,5583,-640,-158,5608,-649,-160,5757,-673
+pa5ga1=-109,3831,-519,-88,3821,-512,-125,3731,-528,-103,3829,-516
+itrsw=1
+pdoffsetcckma0=2
+pdoffset2gperchan=0,-2,1,0,1,0,1,1,1,0,0,-1,-1,0
+pdoffset2g40ma0=16
+pdoffset40ma0=0x8888
+pdoffset80ma0=0x8888
+extpagain5g=2
+extpagain2g=2
+tworangetssi2g=1
+tworangetssi5g=1
+# LTECX flags
+# WCI2
+ltecxmux=0
+ltecxpadnum=0x0504
+ltecxfnsel=0x22
+ltecxgcigpio=0x32
+
+maxp2ga0=80
+ofdmlrbw202gpo=0x0022
+dot11agofdmhrbw202gpo=0x4442
+mcsbw202gpo=0x98444422
+mcsbw402gpo=0x98444422
+maxp5ga0=82,82,82,82
+mcsbw205glpo=0xb9555000
+mcsbw205gmpo=0xb9555000
+mcsbw205ghpo=0xb9555000
+mcsbw405glpo=0xb9555000
+mcsbw405gmpo=0xb9555000
+mcsbw405ghpo=0xb9555000
+mcsbw805glpo=0xb9555000
+mcsbw805gmpo=0xb9555000
+mcsbw805ghpo=0xb9555000
+
+swctrlmap_2g=0x00000000,0x00000000,0x00000000,0x010000,0x3ff
+swctrlmap_5g=0x00100010,0x00200020,0x00200020,0x010000,0x3fe
+swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x3
+swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x3
+
+vcodivmode=1
+deadman_to=481500000
+
+ed_thresh2g=-54
+ed_thresh5g=-54
+eu_edthresh2g=-54
+eu_edthresh5g=-54
+ldo1=4
+rawtempsense=0x1ff
+cckPwrIdxCorr=3
+cckTssiDelay=150
+ofdmTssiDelay=150
+txpwr2gAdcScale=1
+txpwr5gAdcScale=1
+dot11b_opts=0x3aa85
+cbfilttype=1
+fdsslevel_ch11=6
+
+# Improved Bluetooth coexistence parameters from Cypress
+btc_mode=1
+btc_params8=0x4e20
+btc_params1=0x7530
diff --git a/package/brcmfmac-firmware/src/brcmfmac4350-pcie.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac4350-pcie.bin
index 303125197..303125197 100644
--- a/package/brcmfmac-firmware/src/brcmfmac4350-pcie.bin
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4350-pcie.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcmfmac4350c2-pcie.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac4350c2-pcie.bin
index 256ded123..256ded123 100644
--- a/package/brcmfmac-firmware/src/brcmfmac4350c2-pcie.bin
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4350c2-pcie.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4354-sdio.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac4354-sdio.bin
new file mode 120000
index 000000000..083453ec9
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4354-sdio.bin
@@ -0,0 +1 @@
+../cypress/cyfmac4354-sdio.bin \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4354-sdio.clm_blob b/package/brcmfmac-firmware/src/brcm/brcmfmac4354-sdio.clm_blob
new file mode 120000
index 000000000..cf94fd7ab
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4354-sdio.clm_blob
@@ -0,0 +1 @@
+../cypress/cyfmac4354-sdio.clm_blob \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4356-pcie.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac4356-pcie.bin
new file mode 120000
index 000000000..6cc54b431
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4356-pcie.bin
@@ -0,0 +1 @@
+../cypress/cyfmac4356-pcie.bin \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4356-pcie.clm_blob b/package/brcmfmac-firmware/src/brcm/brcmfmac4356-pcie.clm_blob
new file mode 120000
index 000000000..7a86692d1
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4356-pcie.clm_blob
@@ -0,0 +1 @@
+../cypress/cyfmac4356-pcie.clm_blob \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4356-pcie.gpd-win-pocket.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac4356-pcie.gpd-win-pocket.txt
new file mode 100644
index 000000000..16254f55a
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4356-pcie.gpd-win-pocket.txt
@@ -0,0 +1,121 @@
+# SPDX-License-Identifier: GPL-2.0+
+# (C) Copyright 2018 Linaro Ltd
+# NVRAM config file for the Ampak AP6356 4356 WiFi/BT module found on the
+# GPD win / pocket handheld
+aa2g=3
+aa5g=3
+aga0=2
+aga1=2
+agbg0=2
+agbg1=2
+antswitch=0
+boardflags2=0x00802000
+boardflags3=0x0000000a
+boardflags=0x02400201
+boardrev=0x1101
+boardtype=0x073e
+cckbw202gpo=0x0000
+cckbw20ul2gpo=0x0000
+ccode=X2
+devid=0x43a3
+dot11agduphrpo=0x0
+dot11agduplrpo=0x0
+dot11agofdmhrbw202gpo=0x6666
+extpagain2g=2
+extpagain5g=2
+femctrl=10
+macaddr=00:90:4c:c5:12:38
+manfid=0x2d0
+maxp2ga0=80
+maxp2ga1=80
+maxp5ga0=78,78,78,78
+maxp5ga1=78,78,78,78
+mcsbw202gpo=0x99644422
+mcsbw205ghpo=0xdc666663
+mcsbw205glpo=0x88766663
+mcsbw205gmpo=0xd8666663
+mcsbw402gpo=0x99644422
+mcsbw405ghpo=0xaa666663
+mcsbw405glpo=0x88666663
+mcsbw405gmpo=0x88666663
+mcsbw805ghpo=0xdd666665
+mcsbw805glpo=0xbb666665
+mcsbw805gmpo=0xcc666665
+mcslr5ghpo=0x0000
+mcslr5glpo=0x0000
+mcslr5gmpo=0x0000
+nocrc=1
+ofdmlrbw202gpo=0x0022
+otpimagesize=502
+pa2ga0=-147,6192,-705
+pa2ga1=-161,6041,-701
+pa5ga0=-194,6069,-739,-188,6137,-743,-185,5931,-725,-171,5898,-715
+pa5ga1=-190,6248,-757,-190,6275,-759,-190,6225,-757,-184,6131,-746
+paprdis=0
+pdgain2g=4
+pdgain5g=4
+pdoffset40ma0=0x0000
+pdoffset40ma1=0x0000
+pdoffset80ma0=0x0000
+pdoffset80ma1=0x0000
+pdoffsetcckma0=0x4
+pdoffsetcckma1=0x4
+phycal_tempdelta=255
+rawtempsense=0x1ff
+regrev=1
+rssicorrnorm5g_c0=1,2,3,1,2,3,6,6,8,6,6,8
+rssicorrnorm5g_c1=1,2,3,2,2,2,7,7,8,7,7,8
+rssicorrnorm_c0=4,4
+rssicorrnorm_c1=4,4
+rxchain=3
+rxgains2gelnagaina0=0
+rxgains2gelnagaina1=0
+rxgains2gtrelnabypa0=0
+rxgains2gtrelnabypa1=0
+rxgains2gtrisoa0=7
+rxgains2gtrisoa1=7
+rxgains5gelnagaina0=0
+rxgains5gelnagaina1=0
+rxgains5ghelnagaina0=0
+rxgains5ghelnagaina1=0
+rxgains5ghtrelnabypa0=0
+rxgains5ghtrelnabypa1=0
+rxgains5ghtrisoa0=12
+rxgains5ghtrisoa1=11
+rxgains5gmelnagaina0=0
+rxgains5gmelnagaina1=0
+rxgains5gmtrelnabypa0=0
+rxgains5gmtrelnabypa1=0
+rxgains5gmtrisoa0=13
+rxgains5gmtrisoa1=11
+rxgains5gtrelnabypa0=0
+rxgains5gtrelnabypa1=0
+rxgains5gtrisoa0=11
+rxgains5gtrisoa1=10
+sb20in40hrpo=0x0
+sb20in40lrpo=0x0
+sb20in80and160hr5ghpo=0x0
+sb20in80and160hr5glpo=0x0
+sb20in80and160hr5gmpo=0x0
+sb20in80and160lr5ghpo=0x0
+sb20in80and160lr5glpo=0x0
+sb20in80and160lr5gmpo=0x0
+sb40and80hr5ghpo=0x0
+sb40and80hr5glpo=0x0
+sb40and80hr5gmpo=0x0
+sb40and80lr5ghpo=0x0
+sb40and80lr5glpo=0x0
+sb40and80lr5gmpo=0x0
+sromrev=11
+subband5gver=0x4
+tempoffset=255
+temps_hysteresis=15
+temps_period=15
+tempthresh=255
+tssipos2g=1
+tssipos5g=1
+tworangetssi2g=0
+tworangetssi5g=0
+txchain=3
+vendid=0x14e4
+xtalfreq=37400
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.AP6356S.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.AP6356S.txt
new file mode 100644
index 000000000..4b38c26e4
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.AP6356S.txt
@@ -0,0 +1,122 @@
+aa2g=3
+aa5g=3
+aga0=2
+aga1=2
+agbg0=2
+agbg1=2
+antswitch=0
+boardflags=0x02400201
+boardflags2=0x00802000
+boardflags3=0x0000010a
+boardrev=0x1121
+boardtype=0x073e
+cckbw202gpo=0x1222
+cckbw20ul2gpo=0x0000
+ccode=0x5855
+devid=0x43a3
+dot11agduphrpo=0x0
+dot11agduplrpo=0x0
+dot11agofdmhrbw202gpo=0x4444
+extpagain2g=2
+extpagain5g=2
+femctrl=10
+macaddr=00:90:4c:1a:10:01
+manfid=0x2d0
+maxp2ga0=72
+maxp2ga1=71
+maxp5ga0=69,70,69,68
+maxp5ga1=67,67,67,67
+mcsbw202gpo=0x9E644422
+mcsbw205ghpo=0xCC986663
+mcsbw205glpo=0xEEA86661
+mcsbw205gmpo=0xAAA86663
+mcsbw402gpo=0xE9744424
+mcsbw405ghpo=0xEEA86663
+mcsbw405glpo=0xEEB86663
+mcsbw405gmpo=0xECB86663
+mcsbw805ghpo=0xEEA86663
+mcsbw805glpo=0xEEB86663
+mcsbw805gmpo=0xEEA86663
+mcslr5ghpo=0x0000
+mcslr5glpo=0x0000
+mcslr5gmpo=0x0000
+muxenab=0x10
+nocrc=1
+ofdmlrbw202gpo=0x0022
+otpimagesize=502
+pa2ga0=-135,5769,-647
+pa2ga1=-143,6023,-677
+pa5ga0=-183,5746,-697,-172,5801,-685,-176,5707,-680,-180,5445,-659
+pa5ga1=-186,5543,-669,-193,5506,-675,-210,5282,-661,-199,5367,-665
+paprdis=0
+pdgain2g=4
+pdgain5g=4
+pdoffset40ma0=0x0000
+pdoffset40ma1=0x0000
+pdoffset80ma0=0x0000
+pdoffset80ma1=0x0000
+pdoffsetcckma0=0x4
+pdoffsetcckma1=0x4
+phycal_tempdelta=255
+rawtempsense=0x1ff
+regrev=1
+rssicorrnorm5g_c0=1,2,3,1,2,3,6,6,8,6,6,8
+rssicorrnorm5g_c1=1,2,3,2,2,2,7,7,8,7,7,8
+rssicorrnorm_c0=4,4
+rssicorrnorm_c1=4,4
+rxchain=3
+rxgains2gelnagaina0=0
+rxgains2gelnagaina1=0
+rxgains2gtrelnabypa0=0
+rxgains2gtrelnabypa1=0
+rxgains2gtrisoa0=7
+rxgains2gtrisoa1=7
+rxgains5gelnagaina0=0
+rxgains5gelnagaina1=0
+rxgains5ghelnagaina0=0
+rxgains5ghelnagaina1=0
+rxgains5ghtrelnabypa0=0
+rxgains5ghtrelnabypa1=0
+rxgains5ghtrisoa0=12
+rxgains5ghtrisoa1=11
+rxgains5gmelnagaina0=0
+rxgains5gmelnagaina1=0
+rxgains5gmtrelnabypa0=0
+rxgains5gmtrelnabypa1=0
+rxgains5gmtrisoa0=13
+rxgains5gmtrisoa1=11
+rxgains5gtrelnabypa0=0
+rxgains5gtrelnabypa1=0
+rxgains5gtrisoa0=11
+rxgains5gtrisoa1=10
+sb20in40hrpo=0x0
+sb20in40lrpo=0x0
+sb20in80and160hr5ghpo=0x0
+sb20in80and160hr5glpo=0x0
+sb20in80and160hr5gmpo=0x0
+sb20in80and160lr5ghpo=0x0
+sb20in80and160lr5glpo=0x0
+sb20in80and160lr5gmpo=0x0
+sb40and80hr5ghpo=0x0
+sb40and80hr5glpo=0x0
+sb40and80hr5gmpo=0x0
+sb40and80lr5ghpo=0x0
+sb40and80lr5glpo=0x0
+sb40and80lr5gmpo=0x0
+sromrev=11
+subband5gver=0x4
+swctrlmap_2g=0x00001040,0x00004010,0x00004010,0x200010,0xff
+swctrlmap_5g=0x00000202,0x00000101,0x00000101,0x000000,0x47
+swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x000
+swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x000
+tempoffset=255
+temps_hysteresis=15
+temps_period=15
+tempthresh=255
+tssipos2g=1
+tssipos5g=1
+tworangetssi2g=0
+tworangetssi5g=0
+txchain=3
+vendid=0x14e4
+xtalfreq=37400
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.bin
new file mode 120000
index 000000000..53115e0cc
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.bin
@@ -0,0 +1 @@
+../cypress/cyfmac4356-sdio.bin \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.clm_blob b/package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.clm_blob
new file mode 120000
index 000000000..bac41e636
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.clm_blob
@@ -0,0 +1 @@
+../cypress/cyfmac4356-sdio.clm_blob \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.firefly,firefly-rk3399.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.firefly,firefly-rk3399.txt
new file mode 120000
index 000000000..dffd0158f
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.firefly,firefly-rk3399.txt
@@ -0,0 +1 @@
+brcmfmac4356-sdio.AP6356S.txt \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.khadas,vim2.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.khadas,vim2.txt
new file mode 120000
index 000000000..dffd0158f
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.khadas,vim2.txt
@@ -0,0 +1 @@
+brcmfmac4356-sdio.AP6356S.txt \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.txt
new file mode 100644
index 000000000..fca63053f
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.txt
@@ -0,0 +1,126 @@
+# Sample variables file for BCM94356Z NGFF 22x30mm iPA, iLNA board with PCIe for production package
+NVRAMRev=$Rev: 492104 $
+#4356 chip = 4354 A2 chip
+sromrev=11
+boardrev=0x1102
+boardtype=0x073e
+boardflags=0x02400201
+#0x2000 enable 2G spur WAR
+boardflags2=0x00802000
+boardflags3=0x0000000a
+#boardflags3 0x00000100 /* to read swctrlmap from nvram*/
+#define BFL3_5G_SPUR_WAR 0x00080000 /* enable spur WAR in 5G band */
+#define BFL3_AvVim 0x40000000 /* load AvVim from nvram */
+macaddr=00:90:4c:1a:10:01
+ccode=0x5854
+regrev=205
+antswitch=0
+pdgain5g=4
+pdgain2g=4
+tworangetssi2g=0
+tworangetssi5g=0
+paprdis=0
+femctrl=10
+vendid=0x14e4
+devid=0x43ec
+manfid=0x2d0
+#prodid=0x052e
+nocrc=1
+otpimagesize=502
+xtalfreq=37400
+rxgains2gelnagaina0=0
+rxgains2gtrisoa0=7
+rxgains2gtrelnabypa0=0
+rxgains5gelnagaina0=0
+rxgains5gtrisoa0=11
+rxgains5gtrelnabypa0=0
+rxgains5gmelnagaina0=0
+rxgains5gmtrisoa0=13
+rxgains5gmtrelnabypa0=0
+rxgains5ghelnagaina0=0
+rxgains5ghtrisoa0=12
+rxgains5ghtrelnabypa0=0
+rxgains2gelnagaina1=0
+rxgains2gtrisoa1=7
+rxgains2gtrelnabypa1=0
+rxgains5gelnagaina1=0
+rxgains5gtrisoa1=10
+rxgains5gtrelnabypa1=0
+rxgains5gmelnagaina1=0
+rxgains5gmtrisoa1=11
+rxgains5gmtrelnabypa1=0
+rxgains5ghelnagaina1=0
+rxgains5ghtrisoa1=11
+rxgains5ghtrelnabypa1=0
+rxchain=3
+txchain=3
+aa2g=3
+aa5g=3
+agbg0=2
+agbg1=2
+aga0=2
+aga1=2
+tssipos2g=1
+extpagain2g=2
+tssipos5g=1
+extpagain5g=2
+tempthresh=255
+tempoffset=255
+rawtempsense=0x1ff
+pa2ga0=-147,6192,-705
+pa2ga1=-161,6041,-701
+pa5ga0=-194,6069,-739,-188,6137,-743,-185,5931,-725,-171,5898,-715
+pa5ga1=-190,6248,-757,-190,6275,-759,-190,6225,-757,-184,6131,-746
+subband5gver=0x4
+pdoffsetcckma0=0x4
+pdoffsetcckma1=0x4
+pdoffset40ma0=0x0000
+pdoffset80ma0=0x0000
+pdoffset40ma1=0x0000
+pdoffset80ma1=0x0000
+maxp2ga0=76
+maxp5ga0=74,74,74,74
+maxp2ga1=76
+maxp5ga1=74,74,74,74
+cckbw202gpo=0x0000
+cckbw20ul2gpo=0x0000
+mcsbw202gpo=0x99644422
+mcsbw402gpo=0x99644422
+dot11agofdmhrbw202gpo=0x6666
+ofdmlrbw202gpo=0x0022
+mcsbw205glpo=0x88766663
+mcsbw405glpo=0x88666663
+mcsbw805glpo=0xbb666665
+mcsbw205gmpo=0xd8666663
+mcsbw405gmpo=0x88666663
+mcsbw805gmpo=0xcc666665
+mcsbw205ghpo=0xdc666663
+mcsbw405ghpo=0xaa666663
+mcsbw805ghpo=0xdd666665
+mcslr5glpo=0x0000
+mcslr5gmpo=0x0000
+mcslr5ghpo=0x0000
+sb20in40hrpo=0x0
+sb20in80and160hr5glpo=0x0
+sb40and80hr5glpo=0x0
+sb20in80and160hr5gmpo=0x0
+sb40and80hr5gmpo=0x0
+sb20in80and160hr5ghpo=0x0
+sb40and80hr5ghpo=0x0
+sb20in40lrpo=0x0
+sb20in80and160lr5glpo=0x0
+sb40and80lr5glpo=0x0
+sb20in80and160lr5gmpo=0x0
+sb40and80lr5gmpo=0x0
+sb20in80and160lr5ghpo=0x0
+sb40and80lr5ghpo=0x0
+dot11agduphrpo=0x0
+dot11agduplrpo=0x0
+phycal_tempdelta=255
+temps_period=15
+temps_hysteresis=15
+rssicorrnorm_c0=4,4
+rssicorrnorm_c1=4,4
+rssicorrnorm5g_c0=1,2,3,1,2,3,6,6,8,6,6,8
+rssicorrnorm5g_c1=1,2,3,2,2,2,7,7,8,7,7,8
+
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.vamrs,rock960.txt b/package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.vamrs,rock960.txt
new file mode 120000
index 000000000..dffd0158f
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4356-sdio.vamrs,rock960.txt
@@ -0,0 +1 @@
+brcmfmac4356-sdio.AP6356S.txt \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcmfmac43569.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43569.bin
index 8323536a7..8323536a7 100644
--- a/package/brcmfmac-firmware/src/brcmfmac43569.bin
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43569.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43570-pcie.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43570-pcie.bin
new file mode 120000
index 000000000..b807c17a4
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43570-pcie.bin
@@ -0,0 +1 @@
+../cypress/cyfmac43570-pcie.bin \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac43570-pcie.clm_blob b/package/brcmfmac-firmware/src/brcm/brcmfmac43570-pcie.clm_blob
new file mode 120000
index 000000000..3290c6c10
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43570-pcie.clm_blob
@@ -0,0 +1 @@
+../cypress/cyfmac43570-pcie.clm_blob \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4358-pcie.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac4358-pcie.bin
new file mode 100644
index 000000000..17bdcaf98
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4358-pcie.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcmfmac43602-pcie.ap.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43602-pcie.ap.bin
index b4a589d5a..b4a589d5a 100644
--- a/package/brcmfmac-firmware/src/brcmfmac43602-pcie.ap.bin
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43602-pcie.ap.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcmfmac43602-pcie.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac43602-pcie.bin
index 488b4c04a..488b4c04a 100644
--- a/package/brcmfmac-firmware/src/brcmfmac43602-pcie.bin
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac43602-pcie.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4366b-pcie.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac4366b-pcie.bin
new file mode 100644
index 000000000..7df6d1805
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4366b-pcie.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4366c-pcie.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac4366c-pcie.bin
new file mode 100644
index 000000000..fcd19ac1b
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4366c-pcie.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcmfmac4371-pcie.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac4371-pcie.bin
index 8b3a51b91..8b3a51b91 100644
--- a/package/brcmfmac-firmware/src/brcmfmac4371-pcie.bin
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4371-pcie.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4373-sdio.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac4373-sdio.bin
new file mode 120000
index 000000000..fb5b9c59f
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4373-sdio.bin
@@ -0,0 +1 @@
+../cypress/cyfmac4373-sdio.bin \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4373-sdio.clm_blob b/package/brcmfmac-firmware/src/brcm/brcmfmac4373-sdio.clm_blob
new file mode 120000
index 000000000..be67c89aa
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4373-sdio.clm_blob
@@ -0,0 +1 @@
+../cypress/cyfmac4373-sdio.clm_blob \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac4373.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac4373.bin
new file mode 100644
index 000000000..e85d3fd79
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac4373.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac54591-pcie.bin b/package/brcmfmac-firmware/src/brcm/brcmfmac54591-pcie.bin
new file mode 120000
index 000000000..01e331714
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac54591-pcie.bin
@@ -0,0 +1 @@
+../cypress/cyfmac54591-pcie.bin \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcm/brcmfmac54591-pcie.clm_blob b/package/brcmfmac-firmware/src/brcm/brcmfmac54591-pcie.clm_blob
new file mode 120000
index 000000000..30efcb474
--- /dev/null
+++ b/package/brcmfmac-firmware/src/brcm/brcmfmac54591-pcie.clm_blob
@@ -0,0 +1 @@
+../cypress/cyfmac54591-pcie.clm_blob \ No newline at end of file
diff --git a/package/brcmfmac-firmware/src/brcmfmac43241b0-sdio.bin b/package/brcmfmac-firmware/src/brcmfmac43241b0-sdio.bin
deleted file mode 100644
index 729b89421..000000000
--- a/package/brcmfmac-firmware/src/brcmfmac43241b0-sdio.bin
+++ /dev/null
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcmfmac43340-sdio.bin b/package/brcmfmac-firmware/src/brcmfmac43340-sdio.bin
deleted file mode 100644
index 368b0a150..000000000
--- a/package/brcmfmac-firmware/src/brcmfmac43340-sdio.bin
+++ /dev/null
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcmfmac43362-sdio.bin b/package/brcmfmac-firmware/src/brcmfmac43362-sdio.bin
deleted file mode 100644
index c11dfb2a6..000000000
--- a/package/brcmfmac-firmware/src/brcmfmac43362-sdio.bin
+++ /dev/null
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcmfmac4339-sdio.bin b/package/brcmfmac-firmware/src/brcmfmac4339-sdio.bin
deleted file mode 100644
index 8d1b3819a..000000000
--- a/package/brcmfmac-firmware/src/brcmfmac4339-sdio.bin
+++ /dev/null
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcmfmac43430-sdio.bin b/package/brcmfmac-firmware/src/brcmfmac43430-sdio.bin
deleted file mode 100644
index 4b2945eac..000000000
--- a/package/brcmfmac-firmware/src/brcmfmac43430-sdio.bin
+++ /dev/null
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcmfmac43430-sdio.txt b/package/brcmfmac-firmware/src/brcmfmac43430-sdio.txt
deleted file mode 100644
index 3d917a7fd..000000000
--- a/package/brcmfmac-firmware/src/brcmfmac43430-sdio.txt
+++ /dev/null
@@ -1,59 +0,0 @@
-# NVRAM file for BCM943430WLSELG
-# 2.4 GHz, 20 MHz BW mode
-
-# The following parameter values are just placeholders, need to be updated.
-manfid=0x2d0
-prodid=0x0726
-vendid=0x14e4
-devid=0x43e2
-boardtype=0x0726
-boardrev=0x1202
-boardnum=22
-macaddr=00:90:4c:c5:12:38
-sromrev=11
-boardflags=0x00404201
-boardflags3=0x08000000
-xtalfreq=37400
-#xtalfreq=19200
-nocrc=1
-ag0=255
-aa2g=1
-ccode=ALL
-
-pa0itssit=0x20
-extpagain2g=0
-
-#PA parameters for 2.4GHz, measured at CHIP OUTPUT
-pa2ga0=-168,7161,-820
-AvVmid_c0=0x0,0xc8
-cckpwroffset0=5
-
-# PPR params
-maxp2ga0=84
-txpwrbckof=6
-cckbw202gpo=0
-legofdmbw202gpo=0x66111111
-mcsbw202gpo=0x77711111
-propbw202gpo=0xdd
-
-# OFDM IIR :
-ofdmdigfilttype=18
-ofdmdigfilttypebe=18
-# PAPD mode:
-papdmode=1
-papdvalidtest=1
-pacalidx2g=32
-papdepsoffset=-36
-papdendidx=61
-
-il0macaddr=00:90:4c:c5:12:38
-wl0id=0x431b
-
-deadman_to=0xffffffff
-# muxenab: 0x1 for UART enable, 0x2 for GPIOs, 0x8 for JTAG
-muxenab=0x1
-# CLDO PWM voltage settings - 0x4 - 1.1 volt
-#cldo_pwm=0x4
-
-#VCO freq 326.4MHz
-spurconfig=0x3
diff --git a/package/brcmfmac-firmware/src/brcmfmac43455-sdio.bin b/package/brcmfmac-firmware/src/brcmfmac43455-sdio.bin
deleted file mode 100644
index 94f2add70..000000000
--- a/package/brcmfmac-firmware/src/brcmfmac43455-sdio.bin
+++ /dev/null
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcmfmac43455-sdio.clm_blob b/package/brcmfmac-firmware/src/brcmfmac43455-sdio.clm_blob
deleted file mode 100644
index 3b9b5bdc1..000000000
--- a/package/brcmfmac-firmware/src/brcmfmac43455-sdio.clm_blob
+++ /dev/null
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcmfmac43455-sdio.txt b/package/brcmfmac-firmware/src/brcmfmac43455-sdio.txt
deleted file mode 100644
index 260c9299c..000000000
--- a/package/brcmfmac-firmware/src/brcmfmac43455-sdio.txt
+++ /dev/null
@@ -1,92 +0,0 @@
-# Cloned from bcm94345wlpagb_p2xx.txt
-NVRAMRev=$Rev: 498373 $
-sromrev=11
-vendid=0x14e4
-devid=0x43ab
-manfid=0x2d0
-prodid=0x06e4
-#macaddr=00:90:4c:c5:12:38
-macaddr=b8:27:eb:74:f2:6c
-nocrc=1
-boardtype=0x6e4
-boardrev=0x1304
-
-#XTAL 37.4MHz
-xtalfreq=37400
-
-btc_mode=1
-#------------------------------------------------------
-#boardflags: 5GHz eTR switch by default
-# 2.4GHz eTR switch by default
-# bit1 for btcoex
-boardflags=0x00480201
-boardflags2=0x40800000
-boardflags3=0x48200100
-phycal_tempdelta=15
-rxchain=1
-txchain=1
-aa2g=1
-aa5g=1
-tssipos5g=1
-tssipos2g=1
-femctrl=0
-AvVmid_c0=1,165,2,100,2,100,2,100,2,100
-pa2ga0=-129,6525,-718
-pa2ga1=-149,4408,-601
-pa5ga0=-185,6836,-815,-186,6838,-815,-184,6859,-815,-184,6882,-818
-pa5ga1=-202,4285,-574,-201,4312,-578,-196,4391,-586,-201,4294,-575
-itrsw=1
-pdoffsetcckma0=2
-pdoffset2gperchan=0,-2,1,0,1,0,1,1,1,0,0,-1,-1,0
-pdoffset2g40ma0=16
-pdoffset40ma0=0x8888
-pdoffset80ma0=0x8888
-extpagain5g=2
-extpagain2g=2
-tworangetssi2g=1
-tworangetssi5g=1
-# LTECX flags
-# WCI2
-ltecxmux=0
-ltecxpadnum=0x0504
-ltecxfnsel=0x22
-ltecxgcigpio=0x32
-
-maxp2ga0=80
-ofdmlrbw202gpo=0x0022
-dot11agofdmhrbw202gpo=0x4442
-mcsbw202gpo=0x98444422
-mcsbw402gpo=0x98444422
-maxp5ga0=82,82,82,82
-mcsbw205glpo=0xb9555000
-mcsbw205gmpo=0xb9555000
-mcsbw205ghpo=0xb9555000
-mcsbw405glpo=0xb9555000
-mcsbw405gmpo=0xb9555000
-mcsbw405ghpo=0xb9555000
-mcsbw805glpo=0xb9555000
-mcsbw805gmpo=0xb9555000
-mcsbw805ghpo=0xb9555000
-
-swctrlmap_2g=0x00000000,0x00000000,0x00000000,0x010000,0x3ff
-swctrlmap_5g=0x00100010,0x00200020,0x00200020,0x010000,0x3fe
-swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x3
-swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x3
-
-vcodivmode=1
-deadman_to=481500000
-
-ed_thresh2g=-54
-ed_thresh5g=-54
-eu_edthresh2g=-54
-eu_edthresh5g=-54
-ldo1=4
-rawtempsense=0x1ff
-cckPwrIdxCorr=3
-cckTssiDelay=150
-ofdmTssiDelay=150
-txpwr2gAdcScale=1
-txpwr5gAdcScale=1
-dot11b_opts=0x3aa85
-cbfilttype=1
-fdsslevel_ch11=6
diff --git a/package/brcmfmac-firmware/src/brcmfmac4354-sdio.bin b/package/brcmfmac-firmware/src/brcmfmac4354-sdio.bin
deleted file mode 100644
index 48afad606..000000000
--- a/package/brcmfmac-firmware/src/brcmfmac4354-sdio.bin
+++ /dev/null
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcmfmac4356-pcie.bin b/package/brcmfmac-firmware/src/brcmfmac4356-pcie.bin
deleted file mode 100644
index 9ed885214..000000000
--- a/package/brcmfmac-firmware/src/brcmfmac4356-pcie.bin
+++ /dev/null
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcmfmac43570-pcie.bin b/package/brcmfmac-firmware/src/brcmfmac43570-pcie.bin
deleted file mode 100644
index c0c82d005..000000000
--- a/package/brcmfmac-firmware/src/brcmfmac43570-pcie.bin
+++ /dev/null
Binary files differ
diff --git a/package/brcmfmac-firmware/src/brcmfmac4366b-pcie.bin b/package/brcmfmac-firmware/src/brcmfmac4366b-pcie.bin
deleted file mode 100644
index 6fc932ed9..000000000
--- a/package/brcmfmac-firmware/src/brcmfmac4366b-pcie.bin
+++ /dev/null
Binary files differ
diff --git a/package/brcmfmac-firmware/src/cypress/cyfmac43012-sdio.bin b/package/brcmfmac-firmware/src/cypress/cyfmac43012-sdio.bin
new file mode 100644
index 000000000..7a78e15cb
--- /dev/null
+++ b/package/brcmfmac-firmware/src/cypress/cyfmac43012-sdio.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/cypress/cyfmac43012-sdio.clm_blob b/package/brcmfmac-firmware/src/cypress/cyfmac43012-sdio.clm_blob
new file mode 100644
index 000000000..59f09f6a7
--- /dev/null
+++ b/package/brcmfmac-firmware/src/cypress/cyfmac43012-sdio.clm_blob
Binary files differ
diff --git a/package/brcmfmac-firmware/src/cypress/cyfmac43340-sdio.bin b/package/brcmfmac-firmware/src/cypress/cyfmac43340-sdio.bin
new file mode 100644
index 000000000..dcf894beb
--- /dev/null
+++ b/package/brcmfmac-firmware/src/cypress/cyfmac43340-sdio.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/cypress/cyfmac43362-sdio.bin b/package/brcmfmac-firmware/src/cypress/cyfmac43362-sdio.bin
new file mode 100644
index 000000000..51d64d63e
--- /dev/null
+++ b/package/brcmfmac-firmware/src/cypress/cyfmac43362-sdio.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/cypress/cyfmac4339-sdio.bin b/package/brcmfmac-firmware/src/cypress/cyfmac4339-sdio.bin
new file mode 100644
index 000000000..43e86ca2e
--- /dev/null
+++ b/package/brcmfmac-firmware/src/cypress/cyfmac4339-sdio.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/cypress/cyfmac43430-sdio.bin b/package/brcmfmac-firmware/src/cypress/cyfmac43430-sdio.bin
new file mode 100644
index 000000000..7a35578b9
--- /dev/null
+++ b/package/brcmfmac-firmware/src/cypress/cyfmac43430-sdio.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/cypress/cyfmac43430-sdio.clm_blob b/package/brcmfmac-firmware/src/cypress/cyfmac43430-sdio.clm_blob
new file mode 100644
index 000000000..d93449f28
--- /dev/null
+++ b/package/brcmfmac-firmware/src/cypress/cyfmac43430-sdio.clm_blob
Binary files differ
diff --git a/package/brcmfmac-firmware/src/cypress/cyfmac43455-sdio-minimal.bin b/package/brcmfmac-firmware/src/cypress/cyfmac43455-sdio-minimal.bin
new file mode 100644
index 000000000..cc9768bde
--- /dev/null
+++ b/package/brcmfmac-firmware/src/cypress/cyfmac43455-sdio-minimal.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/cypress/cyfmac43455-sdio-standard.bin b/package/brcmfmac-firmware/src/cypress/cyfmac43455-sdio-standard.bin
new file mode 100644
index 000000000..1e7f61272
--- /dev/null
+++ b/package/brcmfmac-firmware/src/cypress/cyfmac43455-sdio-standard.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/cypress/cyfmac43455-sdio.bin b/package/brcmfmac-firmware/src/cypress/cyfmac43455-sdio.bin
new file mode 100644
index 000000000..1e7f61272
--- /dev/null
+++ b/package/brcmfmac-firmware/src/cypress/cyfmac43455-sdio.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/cypress/cyfmac43455-sdio.clm_blob b/package/brcmfmac-firmware/src/cypress/cyfmac43455-sdio.clm_blob
new file mode 100644
index 000000000..c905a503e
--- /dev/null
+++ b/package/brcmfmac-firmware/src/cypress/cyfmac43455-sdio.clm_blob
Binary files differ
diff --git a/package/brcmfmac-firmware/src/cypress/cyfmac4354-sdio.bin b/package/brcmfmac-firmware/src/cypress/cyfmac4354-sdio.bin
new file mode 100644
index 000000000..1e123ba6c
--- /dev/null
+++ b/package/brcmfmac-firmware/src/cypress/cyfmac4354-sdio.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/cypress/cyfmac4354-sdio.clm_blob b/package/brcmfmac-firmware/src/cypress/cyfmac4354-sdio.clm_blob
new file mode 100644
index 000000000..86d66e367
--- /dev/null
+++ b/package/brcmfmac-firmware/src/cypress/cyfmac4354-sdio.clm_blob
Binary files differ
diff --git a/package/brcmfmac-firmware/src/cypress/cyfmac4356-pcie.bin b/package/brcmfmac-firmware/src/cypress/cyfmac4356-pcie.bin
new file mode 100644
index 000000000..8904edc24
--- /dev/null
+++ b/package/brcmfmac-firmware/src/cypress/cyfmac4356-pcie.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/cypress/cyfmac4356-pcie.clm_blob b/package/brcmfmac-firmware/src/cypress/cyfmac4356-pcie.clm_blob
new file mode 100644
index 000000000..c6ff1701f
--- /dev/null
+++ b/package/brcmfmac-firmware/src/cypress/cyfmac4356-pcie.clm_blob
Binary files differ
diff --git a/package/brcmfmac-firmware/src/cypress/cyfmac4356-sdio.bin b/package/brcmfmac-firmware/src/cypress/cyfmac4356-sdio.bin
new file mode 100644
index 000000000..63896b607
--- /dev/null
+++ b/package/brcmfmac-firmware/src/cypress/cyfmac4356-sdio.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/cypress/cyfmac4356-sdio.clm_blob b/package/brcmfmac-firmware/src/cypress/cyfmac4356-sdio.clm_blob
new file mode 100644
index 000000000..35ce3751b
--- /dev/null
+++ b/package/brcmfmac-firmware/src/cypress/cyfmac4356-sdio.clm_blob
Binary files differ
diff --git a/package/brcmfmac-firmware/src/cypress/cyfmac43570-pcie.bin b/package/brcmfmac-firmware/src/cypress/cyfmac43570-pcie.bin
new file mode 100644
index 000000000..97898b548
--- /dev/null
+++ b/package/brcmfmac-firmware/src/cypress/cyfmac43570-pcie.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/cypress/cyfmac43570-pcie.clm_blob b/package/brcmfmac-firmware/src/cypress/cyfmac43570-pcie.clm_blob
new file mode 100644
index 000000000..f14fd9244
--- /dev/null
+++ b/package/brcmfmac-firmware/src/cypress/cyfmac43570-pcie.clm_blob
Binary files differ
diff --git a/package/brcmfmac-firmware/src/cypress/cyfmac4373-sdio.bin b/package/brcmfmac-firmware/src/cypress/cyfmac4373-sdio.bin
new file mode 100644
index 000000000..00ecde003
--- /dev/null
+++ b/package/brcmfmac-firmware/src/cypress/cyfmac4373-sdio.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/cypress/cyfmac4373-sdio.clm_blob b/package/brcmfmac-firmware/src/cypress/cyfmac4373-sdio.clm_blob
new file mode 100644
index 000000000..9d0299772
--- /dev/null
+++ b/package/brcmfmac-firmware/src/cypress/cyfmac4373-sdio.clm_blob
Binary files differ
diff --git a/package/brcmfmac-firmware/src/cypress/cyfmac54591-pcie.bin b/package/brcmfmac-firmware/src/cypress/cyfmac54591-pcie.bin
new file mode 100644
index 000000000..70ef9f9e0
--- /dev/null
+++ b/package/brcmfmac-firmware/src/cypress/cyfmac54591-pcie.bin
Binary files differ
diff --git a/package/brcmfmac-firmware/src/cypress/cyfmac54591-pcie.clm_blob b/package/brcmfmac-firmware/src/cypress/cyfmac54591-pcie.clm_blob
new file mode 100644
index 000000000..61f0d562a
--- /dev/null
+++ b/package/brcmfmac-firmware/src/cypress/cyfmac54591-pcie.clm_blob
Binary files differ
diff --git a/package/btrfs-progs/Makefile b/package/btrfs-progs/Makefile
new file mode 100644
index 000000000..585b02574
--- /dev/null
+++ b/package/btrfs-progs/Makefile
@@ -0,0 +1,37 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= btrfs-progs
+PKG_VERSION:= 6.1.3
+PKG_RELEASE:= 1
+PKG_HASH:= d37fc9ec4fa5778b20aa7548fe706eb3a300338c1473318271ae54024dac7167
+PKG_DESCR:= btrfs progs
+PKG_DEPENDS:= zstd
+PKG_BUILDDEP:= zstd
+PKG_KDEPENDS:= btrfs-fs
+PKG_SECTION:= sys/fs
+PKG_SITES:= https://mirrors.edge.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/
+
+DISTFILES:= $(PKG_NAME)-v$(PKG_VERSION).tar.xz
+WRKDIST= $(WRKDIR)/$(PKG_NAME)-v$(PKG_VERSION)
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,BTRFS_PROGS,btrfs-progs,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+CONFIGURE_ARGS+= --disable-backtrace \
+ --disable-documentation \
+ --disable-python \
+ --disable-libudev
+
+btrfs-progs-install:
+ $(INSTALL_DIR) $(IDIR_BTRFS_PROGS)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libbtrfs*.so* \
+ $(IDIR_BTRFS_PROGS)/usr/lib
+ $(INSTALL_DIR) $(IDIR_BTRFS_PROGS)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/* \
+ $(IDIR_BTRFS_PROGS)/usr/bin
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/busybox/Config.in.manual b/package/busybox/Config.in.manual
index 184ccb996..48c6212e0 100644
--- a/package/busybox/Config.in.manual
+++ b/package/busybox/Config.in.manual
@@ -10,224 +10,6 @@ config ADK_PACKAGE_BUSYBOX
WWW: http://www.busybox.net
-choice
-prompt "Choose predefined set of applets"
-depends on ADK_PACKAGE_BUSYBOX
-default ADK_PACKAGE_BUSYBOX_MINIMAL if !ADK_TARGET_WITH_MMU
-
-config ADK_PACKAGE_BUSYBOX_DEFAULT
- bool "activate standard set of applets"
- select BUSYBOX_AWK
- select BUSYBOX_BASENAME
- select BUSYBOX_CLEAR
- select BUSYBOX_CMP
- select BUSYBOX_CAT
- select BUSYBOX_CAL
- select BUSYBOX_CHGRP
- select BUSYBOX_CHMOD
- select BUSYBOX_CHOWN
- select BUSYBOX_CHROOT
- select BUSYBOX_CP
- select BUSYBOX_CUT
- select BUSYBOX_DATE
- select BUSYBOX_DD
- select BUSYBOX_DF
- select BUSYBOX_DIFF
- select BUSYBOX_DIRNAME
- select BUSYBOX_DU
- select BUSYBOX_ECHO
- select BUSYBOX_EGREP if !BUSYBOX_DISABLE_GREP
- select BUSYBOX_ENV
- select BUSYBOX_EXPR
- select BUSYBOX_FDISK if !BUSYBOX_DISABLE_FDISK
- select BUSYBOX_FIND if !BUSYBOX_DISABLE_FIND
- select BUSYBOX_GREP if !BUSYBOX_DISABLE_GREP
- select BUSYBOX_GROUPS
- select BUSYBOX_GUNZIP
- select BUSYBOX_GZIP
- select BUSYBOX_HALT
- select BUSYBOX_HEAD
- select BUSYBOX_ID
- select BUSYBOX_INIT if ADK_RUNTIME_INIT_SYSV
- select BUSYBOX_LESS if !BUSYBOX_DISABLE_LESS
- select BUSYBOX_LN
- select BUSYBOX_LOSETUP
- select BUSYBOX_LS
- select BUSYBOX_MD5SUM
- select BUSYBOX_MKDIR
- select BUSYBOX_MKFIFO
- select BUSYBOX_MKNOD
- select BUSYBOX_MKTEMP
- select BUSYBOX_MV
- select BUSYBOX_NC
- select BUSYBOX_PASSWD
- select BUSYBOX_PRINTF
- select BUSYBOX_PWD
- select BUSYBOX_RDATE if !BUSYBOX_DISABLE_RDATE
- select BUSYBOX_READLINK
- select BUSYBOX_RESET
- select BUSYBOX_RFKILL if !BUSYBOX_DISABLE_RFKILL
- select BUSYBOX_RM
- select BUSYBOX_RMDIR
- select BUSYBOX_RUN_PARTS
- select BUSYBOX_SED if !BUSYBOX_DISABLE_SED
- select BUSYBOX_SEQ
- select BUSYBOX_SLEEP
- select BUSYBOX_SORT
- select BUSYBOX_FEATURE_SORT_BIG
- select BUSYBOX_STAT
- select BUSYBOX_STRINGS
- select BUSYBOX_SU
- select BUSYBOX_SYNC
- select BUSYBOX_TAIL
- select BUSYBOX_FEATURE_FANCY_TAIL
- select BUSYBOX_TAR if !BUSYBOX_DISABLE_TAR
- select BUSYBOX_TEE
- select BUSYBOX_TEST
- select BUSYBOX_TIME
- select BUSYBOX_TOUCH
- select BUSYBOX_TOP
- select BUSYBOX_TR
- select BUSYBOX_TRUE
- select BUSYBOX_UNAME
- select BUSYBOX_VI
- select BUSYBOX_WC
- select BUSYBOX_WHOAMI
- select BUSYBOX_WHO
- select BUSYBOX_WHICH
- select BUSYBOX_XARGS
-
-config ADK_PACKAGE_BUSYBOX_MINIMAL
- bool "activate minimal set of applets"
- select BUSYBOX_AWK
- select BUSYBOX_BASENAME
- select BUSYBOX_CAT
- select BUSYBOX_CHGRP
- select BUSYBOX_CHMOD
- select BUSYBOX_CHOWN
- select BUSYBOX_CHROOT
- select BUSYBOX_CMP
- select BUSYBOX_CP
- select BUSYBOX_CUT
- select BUSYBOX_DATE
- select BUSYBOX_DD
- select BUSYBOX_DF
- select BUSYBOX_DIRNAME
- select BUSYBOX_DIFF
- select BUSYBOX_DU
- select BUSYBOX_ECHO
- select BUSYBOX_EGREP if !BUSYBOX_DISABLE_GREP
- select BUSYBOX_ENV
- select BUSYBOX_EXPR
- select BUSYBOX_FIND if !BUSYBOX_DISABLE_FIND
- select BUSYBOX_GREP if !BUSYBOX_DISABLE_GREP
- select BUSYBOX_GUNZIP
- select BUSYBOX_GZIP
- select BUSYBOX_HALT
- select BUSYBOX_HEAD
- select BUSYBOX_ID
- select BUSYBOX_INIT if ADK_RUNTIME_INIT_SYSV
- select BUSYBOX_LESS if !BUSYBOX_DISABLE_LESS
- select BUSYBOX_LN
- select BUSYBOX_LS
- select BUSYBOX_MKDIR
- select BUSYBOX_MV
- select BUSYBOX_PRINTF
- select BUSYBOX_PWD
- select BUSYBOX_RM
- select BUSYBOX_READLINK
- select BUSYBOX_RUN_PARTS
- select BUSYBOX_SED if !BUSYBOX_DISABLE_SED
- select BUSYBOX_SORT
- select BUSYBOX_TAIL
- select BUSYBOX_FEATURE_FANCY_TAIL
- select BUSYBOX_TEE
- select BUSYBOX_TAR if !BUSYBOX_DISABLE_TAR
- select BUSYBOX_TEST
- select BUSYBOX_TOUCH
- select BUSYBOX_TRUE
- select BUSYBOX_UNAME
- select BUSYBOX_VI
- select BUSYBOX_WHICH
- select BUSYBOX_WHOAMI
-
-config ADK_PACKAGE_BUSYBOX_ALL
- bool "activate all applets"
- select BUSYBOX_AWK
- select BUSYBOX_BASENAME
- select BUSYBOX_CAL
- select BUSYBOX_CAT
- select BUSYBOX_CHGRP
- select BUSYBOX_CHMOD
- select BUSYBOX_CHOWN
- select BUSYBOX_CHROOT
- select BUSYBOX_CLEAR
- select BUSYBOX_CMP
- select BUSYBOX_CP
- select BUSYBOX_CUT
- select BUSYBOX_DATE
- select BUSYBOX_DD
- select BUSYBOX_DESKTOP
- select BUSYBOX_DF
- select BUSYBOX_DIFF if !BUSYBOX_DISABLE_DIFF
- select BUSYBOX_DIRNAME
- select BUSYBOX_DU
- select BUSYBOX_ECHO
- select BUSYBOX_EGREP if !BUSYBOX_DISABLE_GREP
- select BUSYBOX_ENV
- select BUSYBOX_EXPR
- select BUSYBOX_FDISK if !BUSYBOX_DISABLE_FDISK
- select BUSYBOX_FIND if !BUSYBOX_DISABLE_FIND
- select BUSYBOX_FEATURE_UTMP
- select BUSYBOX_GREP if !BUSYBOX_DISABLE_GREP
- select BUSYBOX_GROUPS
- select BUSYBOX_GUNZIP
- select BUSYBOX_GZIP
- select BUSYBOX_HALT
- select BUSYBOX_HEAD
- select BUSYBOX_ID
- select BUSYBOX_INIT if ADK_RUNTIME_INIT_SYSV
- select BUSYBOX_LESS if !BUSYBOX_DISABLE_LESS
- select BUSYBOX_LN
- select BUSYBOX_LS
- select BUSYBOX_MD5SUM
- select BUSYBOX_MKDIR
- select BUSYBOX_MKFIFO
- select BUSYBOX_MKNOD
- select BUSYBOX_MKTEMP
- select BUSYBOX_MV
- select BUSYBOX_PRINTF
- select BUSYBOX_PWD
- select BUSYBOX_READLINK
- select BUSYBOX_RESET
- select BUSYBOX_RUN_PARTS
- select BUSYBOX_RM
- select BUSYBOX_SED if !BUSYBOX_DISABLE_SED
- select BUSYBOX_SLEEP
- select BUSYBOX_SORT
- select BUSYBOX_STAT
- select BUSYBOX_STRINGS
- select BUSYBOX_SU
- select BUSYBOX_SYNC
- select BUSYBOX_TAIL
- select BUSYBOX_TAR if !BUSYBOX_DISABLE_TAR
- select BUSYBOX_TEE
- select BUSYBOX_FEATURE_FANCY_TAIL
- select BUSYBOX_TRUE
- select BUSYBOX_TEST
- select BUSYBOX_TIME
- select BUSYBOX_TOUCH
- select BUSYBOX_TR
- select BUSYBOX_UNAME
- select BUSYBOX_VI
- select BUSYBOX_WC
- select BUSYBOX_WHICH
- select BUSYBOX_WHO
- select BUSYBOX_WHOAMI
- select BUSYBOX_XARGS
-
-endchoice
-
config ADK_PACKAGE_BUSYBOX_HIDE
bool "hide packages provided by busybox applets"
depends on ADK_PACKAGE_BUSYBOX
diff --git a/package/busybox/Makefile b/package/busybox/Makefile
index 12ce1707c..78b76ead5 100644
--- a/package/busybox/Makefile
+++ b/package/busybox/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= busybox
-PKG_VERSION:= 1.32.0
+PKG_VERSION:= 1.36.1
PKG_RELEASE:= 1
-PKG_HASH:= c35d87f1d04b2b153d33c275c2632e40d388a88f19a9e71727e0bbbff51fe689
+PKG_HASH:= b8cc24c9574d809e7279c3be349795c5d5ceb6fdf19ca709f80cde50e47de314
PKG_DESCR:= core utilities for embedded systems
PKG_SECTION:= base/apps
PKG_URL:= http://www.busybox.net/
@@ -69,7 +69,6 @@ do-build:
do-install:
PATH='$(HOST_PATH)' $(MAKE) ${BB_MAKE_FLAGS} -C ${WRKBUILD} install $(MAKE_TRACE)
$(CP) $(WRKINST)/* $(IDIR_BUSYBOX)/
-ifeq ($(ADK_RUNTIME_INIT_SYSTEMD),)
ifeq ($(BUSYBOX_IFUP),y)
$(INSTALL_DIR) $(IDIR_BUSYBOX)/etc/init.d
ifeq ($(ADK_RUNTIME_WAIT_FOR_ETHERNET),y)
@@ -78,7 +77,6 @@ else
$(INSTALL_BIN) ./files/network $(IDIR_BUSYBOX)/etc/init.d/network
endif
endif
-endif
ifeq ($(ADK_DEBUG),y)
${INSTALL_BIN} $(WRKBUILD)/busybox_unstripped \
$(IDIR_BUSYBOX)/bin/busybox
diff --git a/package/busybox/config/Config.in b/package/busybox/config/Config.in
index 69029adae..d5cbed6a5 100644
--- a/package/busybox/config/Config.in
+++ b/package/busybox/config/Config.in
@@ -1,34 +1,41 @@
#
# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
#
-# mainmenu "BusyBox Configuration"
+# mainmenu "Configuration"
config BUSYBOX_HAVE_DOT_CONFIG
bool
default y
-menu "Busybox Settings"
-
-menu "General Configuration"
+menu "Settings"
config BUSYBOX_DESKTOP
- bool "Enable options for full-blown desktop systems"
- default n
+ bool "Enable compatibility for full-blown desktop systems (8kb)"
+ default y
help
- Enable options and features which are not essential.
- Select this only if you plan to use busybox on full-blown
- desktop machine with common Linux distro, not on an embedded box.
+ Enable applet options and features which are not essential.
+ Many applet options have dedicated config options to (de)select them
+ under that applet; this options enables those options which have no
+ individual config item for them.
+
+ Select this if you plan to use busybox on full-blown desktop machine
+ with common Linux distro, which needs higher level of command-line
+ compatibility.
+
+ If you are preparing your build to be used on an embedded box
+ where you have tighter control over the entire set of userspace
+ tools, you can unselect this option for smaller code size.
config BUSYBOX_EXTRA_COMPAT
bool "Provide compatible behavior for rare corner cases (bigger code)"
default n
help
- This option makes grep, sed etc handle rare corner cases
- (embedded NUL bytes and such). This makes code bigger and uses
- some GNU extensions in libc. You probably only need this option
- if you plan to run busybox on desktop.
+ This option makes grep, sed etc handle rare corner cases
+ (embedded NUL bytes and such). This makes code bigger and uses
+ some GNU extensions in libc. You probably only need this option
+ if you plan to run busybox on desktop.
config BUSYBOX_FEDORA_COMPAT
bool "Building for Fedora distribution"
@@ -45,476 +52,301 @@ config BUSYBOX_FEDORA_COMPAT
config BUSYBOX_INCLUDE_SUSv2
bool "Enable obsolete features removed before SUSv3"
- default n
- help
- This option will enable backwards compatibility with SuSv2,
- specifically, old-style numeric options ('command -1 <file>')
- will be supported in head, tail, and fold. (Note: should
- affect renice too.)
-
-config BUSYBOX_USE_PORTABLE_CODE
- bool "Avoid using GCC-specific code constructs"
- default n
- help
- Use this option if you are trying to compile busybox with
- compiler other than gcc.
- If you do use gcc, this option may needlessly increase code size.
-
-config BUSYBOX_STACK_OPTIMIZATION_386
- bool "Use -mpreferred-stack-boundary=2 on i386 arch"
- default n
- help
- This option makes for smaller code, but some libc versions
- do not work with it (they use SSE instructions without
- ensuring stack alignment).
-
-config BUSYBOX_INSTALL_NO_USR
- bool "Don't use /usr"
- default n
- help
- Disable use of /usr. busybox --install and "make install"
- will install applets only to /bin and /sbin,
- never to /usr/bin or /usr/sbin.
-
-config BUSYBOX_PLATFORM_LINUX
- bool "Enable Linux-specific applets and features"
default y
help
- For the most part, busybox requires only POSIX compatibility
- from the target system, but some applets and features use
- Linux-specific interfaces.
-
- Answering 'N' here will disable such applets and hide the
- corresponding configuration options.
+ This option will enable backwards compatibility with SuSv2,
+ specifically, old-style numeric options ('command -1 <file>')
+ will be supported in head, tail, and fold. (Note: should
+ affect renice too.)
-choice
- prompt "Buffer allocation policy"
- default FEATURE_BUFFERS_USE_MALLOC
+config BUSYBOX_LONG_OPTS
+ bool "Support --long-options"
+ default y
help
- There are 3 ways BusyBox can handle buffer allocations:
- - Use malloc. This costs code size for the call to xmalloc.
- - Put them on stack. For some very small machines with limited stack
- space, this can be deadly. For most folks, this works just fine.
- - Put them in BSS. This works beautifully for computers with a real
- MMU (and OS support), but wastes runtime RAM for uCLinux. This
- behavior was the only one available for BusyBox versions 0.48 and
- earlier.
-
-config BUSYBOX_FEATURE_BUFFERS_USE_MALLOC
- bool "Allocate with Malloc"
-
-config BUSYBOX_FEATURE_BUFFERS_GO_ON_STACK
- bool "Allocate on the Stack"
-
-config BUSYBOX_FEATURE_BUFFERS_GO_IN_BSS
- bool "Allocate in the .bss section"
-
-endchoice
+ Enable this if you want busybox applets to use the gnu --long-option
+ style, in addition to single character -a -b -c style options.
config BUSYBOX_SHOW_USAGE
bool "Show applet usage messages"
default y
help
- Enabling this option, BusyBox applets will show terse help messages
- when invoked with wrong arguments.
- If you do not want to show any (helpful) usage message when
- issuing wrong command syntax, you can say 'N' here,
- saving approximately 7k.
+ Enabling this option, applets will show terse help messages
+ when invoked with wrong arguments.
+ If you do not want to show any (helpful) usage message when
+ issuing wrong command syntax, you can say 'N' here,
+ saving approximately 7k.
config BUSYBOX_FEATURE_VERBOSE_USAGE
bool "Show verbose applet usage messages"
default y
depends on BUSYBOX_SHOW_USAGE
help
- All BusyBox applets will show verbose help messages when
- busybox is invoked with --help. This will add a lot of text to the
- busybox binary. In the default configuration, this will add about
- 13k, but it can add much more depending on your configuration.
+ All applets will show verbose help messages when invoked with --help.
+ This will add a lot of text to the binary.
config BUSYBOX_FEATURE_COMPRESS_USAGE
bool "Store applet usage messages in compressed form"
default y
depends on BUSYBOX_SHOW_USAGE
help
- Store usage messages in .bz compressed form, uncompress them
- on-the-fly when <applet> --help is called.
-
- If you have a really tiny busybox with few applets enabled (and
- bunzip2 isn't one of them), the overhead of the decompressor might
- be noticeable. Also, if you run executables directly from ROM
- and have very little memory, this might not be a win. Otherwise,
- you probably want this.
-
-config BUSYBOX_BUSYBOX
- bool "Include busybox applet"
- default y
- help
- The busybox applet provides general help regarding busybox and
- allows the included applets to be listed. It's also required
- if applet links are to be installed at runtime.
-
- If you can live without these features disabling this will save
- some space.
-
-config BUSYBOX_FEATURE_SHOW_SCRIPT
- bool "Support --show SCRIPT"
- default n
- depends on BUSYBOX_BUSYBOX
-
-config BUSYBOX_FEATURE_INSTALLER
- bool "Support --install [-s] to install applet links at runtime"
- default n
- help
- Enable 'busybox --install [-s]' support. This will allow you to use
- busybox at runtime to create hard links or symlinks for all the
- applets that are compiled into busybox.
+ Store usage messages in .bz2 compressed form, uncompress them
+ on-the-fly when "APPLET --help" is run.
-config BUSYBOX_LOCALE_SUPPORT
- bool "Enable locale support (system needs locale for this to work)"
- default n
- help
- Enable this if your system has locale support and you would like
- busybox to support locale settings.
+ If you have a really tiny busybox with few applets enabled (and
+ bunzip2 isn't one of them), the overhead of the decompressor might
+ be noticeable. Also, if you run executables directly from ROM
+ and have very little memory, this might not be a win. Otherwise,
+ you probably want this.
-config BUSYBOX_UNICODE_SUPPORT
- bool "Support Unicode"
+config BUSYBOX_LFS
+ bool "Support files > 2 GB"
default y
help
- This makes various applets aware that one byte is not
- one character on screen.
-
- Busybox aims to eventually work correctly with Unicode displays.
- Any older encodings are not guaranteed to work.
- Probably by the time when busybox will be fully Unicode-clean,
- other encodings will be mainly of historic interest.
-
-config BUSYBOX_UNICODE_USING_LOCALE
- bool "Use libc routines for Unicode (else uses internal ones)"
- default n
- depends on BUSYBOX_UNICODE_SUPPORT && BUSYBOX_LOCALE_SUPPORT
- help
- With this option on, Unicode support is implemented using libc
- routines. Otherwise, internal implementation is used.
- Internal implementation is smaller.
-
-config BUSYBOX_FEATURE_CHECK_UNICODE_IN_ENV
- bool "Check $LANG environment variable"
- default n
- depends on BUSYBOX_UNICODE_SUPPORT && !BUSYBOX_UNICODE_USING_LOCALE
- help
- With this option on, Unicode support is activated
- only if LANG variable has the value of the form "xxxx.utf8"
-
- Otherwise, Unicode support will be always enabled and active.
-
-config BUSYBOX_SUBST_WCHAR
- int "Character code to substitute unprintable characters with"
- depends on BUSYBOX_UNICODE_SUPPORT
- default 63
- help
- Typical values are 63 for '?' (works with any output device),
- 30 for ASCII substitute control code,
- 65533 (0xfffd) for Unicode replacement character.
-
-config BUSYBOX_LAST_SUPPORTED_WCHAR
- int "Range of supported Unicode characters"
- depends on BUSYBOX_UNICODE_SUPPORT
- default 767
- help
- Any character with Unicode value bigger than this is assumed
- to be non-printable on output device. Many applets replace
- such chars with substitution character.
-
- The idea is that many valid printable Unicode chars are
- nevertheless are not displayed correctly. Think about
- combining charachers, double-wide hieroglyphs, obscure
- characters in dozens of ancient scripts...
- Many terminals, terminal emulators, xterms etc will fail
- to handle them correctly. Choose the smallest value
- which suits your needs.
-
- Typical values are:
- 126 - ASCII only
- 767 (0x2ff) - there are no combining chars in [0..767] range
- (the range includes Latin 1, Latin Ext. A and B),
- code is ~700 bytes smaller for this case.
- 4351 (0x10ff) - there are no double-wide chars in [0..4351] range,
- code is ~300 bytes smaller for this case.
- 12799 (0x31ff) - nearly all non-ideographic characters are
- available in [0..12799] range, including
- East Asian scripts like katakana, hiragana, hangul,
- bopomofo...
- 0 - off, any valid printable Unicode character will be printed.
-
-config BUSYBOX_UNICODE_COMBINING_WCHARS
- bool "Allow zero-width Unicode characters on output"
- default n
- depends on BUSYBOX_UNICODE_SUPPORT
- help
- With this option off, any Unicode char with width of 0
- is substituted on output.
-
-config BUSYBOX_UNICODE_WIDE_WCHARS
- bool "Allow wide Unicode characters on output"
- default n
- depends on BUSYBOX_UNICODE_SUPPORT
- help
- With this option off, any Unicode char with width > 1
- is substituted on output.
-
-config BUSYBOX_UNICODE_BIDI_SUPPORT
- bool "Bidirectional character-aware line input"
- default n
- depends on BUSYBOX_UNICODE_SUPPORT && !BUSYBOX_UNICODE_USING_LOCALE
- help
- With this option on, right-to-left Unicode characters
- are treated differently on input (e.g. cursor movement).
-
-config BUSYBOX_UNICODE_NEUTRAL_TABLE
- bool "In bidi input, support non-ASCII neutral chars too"
- default n
- depends on BUSYBOX_UNICODE_BIDI_SUPPORT
- help
- In most cases it's enough to treat only ASCII non-letters
- (i.e. punctuation, numbers and space) as characters
- with neutral directionality.
- With this option on, more extensive (and bigger) table
- of neutral chars will be used.
-
-config BUSYBOX_UNICODE_PRESERVE_BROKEN
- bool "Make it possible to enter sequences of chars which are not Unicode"
- default n
- depends on BUSYBOX_UNICODE_SUPPORT
- help
- With this option on, on line-editing input (such as used by shells)
- invalid UTF-8 bytes are not substituted with the selected
- substitution character.
- For example, this means that entering 'l', 's', ' ', 0xff, [Enter]
- at shell prompt will list file named 0xff (single char name
- with char value 255), not file named '?'.
+ If you need to work with large files, enable this option.
+ This will have no effect if your kernel or your C
+ library lacks large file support for large files. Some of the
+ programs that can benefit from large file support include dd, gzip,
+ cp, mount, tar.
config BUSYBOX_PAM
- bool "Support for PAM (Pluggable Authentication Modules)"
+ bool "Support PAM (Pluggable Authentication Modules)"
default n
help
- Use PAM in some busybox applets (currently login and httpd) instead
- of direct access to password database.
-
-config BUSYBOX_FEATURE_USE_SENDFILE
- bool "Use sendfile system call"
- default y
- select BUSYBOX_PLATFORM_LINUX
- help
- When enabled, busybox will use the kernel sendfile() function
- instead of read/write loops to copy data between file descriptors
- (for example, cp command does this a lot).
- If sendfile() doesn't work, copying code falls back to read/write
- loop. sendfile() was originally implemented for faster I/O
- from files to sockets, but since Linux 2.6.33 it was extended
- to work for many more file types.
-
-config BUSYBOX_LONG_OPTS
- bool "Support for --long-options"
- default y
- help
- Enable this if you want busybox applets to use the gnu --long-option
- style, in addition to single character -a -b -c style options.
+ Use PAM in some applets (currently login and httpd) instead
+ of direct access to password database.
config BUSYBOX_FEATURE_DEVPTS
bool "Use the devpts filesystem for Unix98 PTYs"
default y
help
- Enable if you want BusyBox to use Unix98 PTY support. If enabled,
- busybox will use /dev/ptmx for the master side of the pseudoterminal
- and /dev/pts/<number> for the slave side. Otherwise, BSD style
- /dev/ttyp<number> will be used. To use this option, you should have
- devpts mounted.
-
-config BUSYBOX_FEATURE_CLEAN_UP
- bool "Clean up all memory before exiting (usually not needed)"
- default n
- help
- As a size optimization, busybox normally exits without explicitly
- freeing dynamically allocated memory or closing files. This saves
- space since the OS will clean up for us, but it can confuse debuggers
- like valgrind, which report tons of memory and resource leaks.
-
- Don't enable this unless you have a really good reason to clean
- things up manually.
-
-config BUSYBOX_FEATURE_SYSLOG_INFO
- bool "Support LOG_INFO level syslog messages"
- default y
- depends on BUSYBOX_FEATURE_SYSLOG
- help
- Applets which send their output to syslog use either LOG_INFO or
- LOG_ERR log levels, but by disabling this option all messages will
- be logged at the LOG_ERR level, saving just under 200 bytes.
+ Enable if you want to use Unix98 PTY support. If enabled,
+ busybox will use /dev/ptmx for the master side of the pseudoterminal
+ and /dev/pts/<number> for the slave side. Otherwise, BSD style
+ /dev/ttyp<number> will be used. To use this option, you should have
+ devpts mounted.
config BUSYBOX_FEATURE_UTMP
bool "Support utmp file"
- default n
+ default y
help
- The file /var/run/utmp is used to track who is currently logged in.
- With this option on, certain applets (getty, login, telnetd etc)
- will create and delete entries there.
- "who" applet requires this option.
+ The file /var/run/utmp is used to track who is currently logged in.
+ With this option on, certain applets (getty, login, telnetd etc)
+ will create and delete entries there.
+ "who" applet requires this option.
config BUSYBOX_FEATURE_WTMP
bool "Support wtmp file"
- default n
+ default y
depends on BUSYBOX_FEATURE_UTMP
help
- The file /var/run/wtmp is used to track when users have logged into
- and logged out of the system.
- With this option on, certain applets (getty, login, telnetd etc)
- will append new entries there.
- "last" applet requires this option.
+ The file /var/run/wtmp is used to track when users have logged into
+ and logged out of the system.
+ With this option on, certain applets (getty, login, telnetd etc)
+ will append new entries there.
+ "last" applet requires this option.
config BUSYBOX_FEATURE_PIDFILE
bool "Support writing pidfiles"
default y
help
- This option makes some applets (e.g. crond, syslogd, inetd) write
- a pidfile in /var/run. Some applications rely on them.
+ This option makes some applets (e.g. crond, syslogd, inetd) write
+ a pidfile at the configured BUSYBOX_PID_FILE_PATH. It has no effect
+ on applets which require pidfiles to run.
config BUSYBOX_PID_FILE_PATH
- string "Path to directory for pidfile"
- default "/var/run"
- depends on BUSYBOX_FEATURE_PIDFILE
- help
- This is the default path where pidfiles are created. Applets which
- allow you to set the pidfile path on the command line will override
- this value. The option has no effect on applets that require you to
- specify a pidfile path.
+ string "Directory for pidfiles"
+ default "/var/run"
+ depends on BUSYBOX_FEATURE_PIDFILE || BUSYBOX_FEATURE_CROND_SPECIAL_TIMES
+ help
+ This is the default path where pidfiles are created. Applets which
+ allow you to set the pidfile path on the command line will override
+ this value. The option has no effect on applets that require you to
+ specify a pidfile path. When crond has the 'Support special times'
+ option enabled, the 'crond.reboot' file is also stored here.
-config BUSYBOX_FEATURE_SUID
- bool "Support for SUID/SGID handling"
+config BUSYBOX_BUSYBOX
+ bool "Include busybox applet"
default y
help
- With this option you can install the busybox binary belonging
- to root with the suid bit set, enabling some applets to perform
- root-level operations even when run by ordinary users
- (for example, mounting of user mounts in fstab needs this).
-
- Busybox will automatically drop priviledges for applets
- that don't need root access.
+ The busybox applet provides general help message and allows
+ the included applets to be listed. It also provides
+ optional --install command to create applet links. If you unselect
+ this option, running busybox without any arguments will give
+ just a cryptic error message:
- If you are really paranoid and don't want to do this, build two
- busybox binaries with different applets in them (and the appropriate
- symlinks pointing to each binary), and only set the suid bit on the
- one that needs it.
+ $ busybox
+ busybox: applet not found
- The applets which require root rights (need suid bit or
- to be run by root) and will refuse to execute otherwise:
- crontab, login, passwd, su, vlock, wall.
+ Running "busybox APPLET [ARGS...]" will still work, of course.
- The applets which will use root rights if they have them
- (via suid bit, or because run by root), but would try to work
- without root right nevertheless:
- findfs, ping[6], traceroute[6], mount.
-
- Note that if you DONT select this option, but DO make busybox
- suid root, ALL applets will run under root, which is a huge
- security hole (think "cp /some/file /etc/passwd").
+config BUSYBOX_FEATURE_SHOW_SCRIPT
+ bool "Support --show SCRIPT"
+ default y
+ depends on BUSYBOX_BUSYBOX
-config BUSYBOX_FEATURE_SUID_CONFIG
- bool "Runtime SUID/SGID configuration via /etc/busybox.conf"
+config BUSYBOX_FEATURE_INSTALLER
+ bool "Support --install [-s] to install applet links at runtime"
default y
- depends on BUSYBOX_FEATURE_SUID
+ depends on BUSYBOX_BUSYBOX
help
- Allow the SUID / SGID state of an applet to be determined at runtime
- by checking /etc/busybox.conf. (This is sort of a poor man's sudo.)
- The format of this file is as follows:
+ Enable 'busybox --install [-s]' support. This will allow you to use
+ busybox at runtime to create hard links or symlinks for all the
+ applets that are compiled into busybox.
- APPLET = [Ssx-][Ssx-][x-] [USER.GROUP]
+config BUSYBOX_INSTALL_NO_USR
+ bool "Don't use /usr"
+ default n
+ help
+ Disable use of /usr. "busybox --install" and "make install"
+ will install applets only to /bin and /sbin,
+ never to /usr/bin or /usr/sbin.
- s: USER or GROUP is allowed to execute APPLET.
- APPLET will run under USER or GROUP
- (reagardless of who's running it).
- S: USER or GROUP is NOT allowed to execute APPLET.
- APPLET will run under USER or GROUP.
- This option is not very sensical.
- x: USER/GROUP/others are allowed to execute APPLET.
- No UID/GID change will be done when it is run.
- -: USER/GROUP/others are not allowed to execute APPLET.
+config BUSYBOX_FEATURE_SUID
+ bool "Drop SUID state for most applets"
+ default y
+ help
+ With this option you can install the busybox binary belonging
+ to root with the suid bit set, enabling some applets to perform
+ root-level operations even when run by ordinary users
+ (for example, mounting of user mounts in fstab needs this).
- An example might help:
+ With this option enabled, busybox drops privileges for applets
+ that don't need root access, before entering their main() function.
- [SUID]
- su = ssx root.0 # applet su can be run by anyone and runs with
- # euid=0/egid=0
- su = ssx # exactly the same
+ If you are really paranoid and don't want even initial busybox code
+ to run under root for every applet, build two busybox binaries with
+ different applets in them (and the appropriate symlinks pointing
+ to each binary), and only set the suid bit on the one that needs it.
- mount = sx- root.disk # applet mount can be run by root and members
- # of group disk (but not anyone else)
- # and runs with euid=0 (egid is not changed)
+ Some applets which require root rights (need suid bit on the binary
+ or to be run by root) and will refuse to execute otherwise:
+ crontab, login, passwd, su, vlock, wall.
- cp = --- # disable applet cp for everyone
+ The applets which will use root rights if they have them
+ (via suid bit, or because run by root), but would try to work
+ without root right nevertheless:
+ findfs, ping[6], traceroute[6], mount.
- The file has to be owned by user root, group root and has to be
- writeable only by root:
- (chown 0.0 /etc/busybox.conf; chmod 600 /etc/busybox.conf)
- The busybox executable has to be owned by user root, group
- root and has to be setuid root for this to work:
- (chown 0.0 /bin/busybox; chmod 4755 /bin/busybox)
+ Note that if you DO NOT select this option, but DO make busybox
+ suid root, ALL applets will run under root, which is a huge
+ security hole (think "cp /some/file /etc/passwd").
- Robert 'sandman' Griebl has more information here:
- <url: http://www.softforge.de/bb/suid.html >.
+config BUSYBOX_FEATURE_SUID_CONFIG
+ bool "Enable SUID configuration via /etc/busybox.conf"
+ default y
+ depends on BUSYBOX_FEATURE_SUID
+ help
+ Allow the SUID/SGID state of an applet to be determined at runtime
+ by checking /etc/busybox.conf. (This is sort of a poor man's sudo.)
+ The format of this file is as follows:
+
+ APPLET = [Ssx-][Ssx-][x-] [USER.GROUP]
+
+ s: USER or GROUP is allowed to execute APPLET.
+ APPLET will run under USER or GROUP
+ (regardless of who's running it).
+ S: USER or GROUP is NOT allowed to execute APPLET.
+ APPLET will run under USER or GROUP.
+ This option is not very sensical.
+ x: USER/GROUP/others are allowed to execute APPLET.
+ No UID/GID change will be done when it is run.
+ -: USER/GROUP/others are not allowed to execute APPLET.
+
+ An example might help:
+
+ |[SUID]
+ |su = ssx root.0 # applet su can be run by anyone and runs with
+ | # euid=0,egid=0
+ |su = ssx # exactly the same
+ |
+ |mount = sx- root.disk # applet mount can be run by root and members
+ | # of group disk (but not anyone else)
+ | # and runs with euid=0 (egid is not changed)
+ |
+ |cp = --- # disable applet cp for everyone
+
+ The file has to be owned by user root, group root and has to be
+ writeable only by root:
+ (chown 0.0 /etc/busybox.conf; chmod 600 /etc/busybox.conf)
+ The busybox executable has to be owned by user root, group
+ root and has to be setuid root for this to work:
+ (chown 0.0 /bin/busybox; chmod 4755 /bin/busybox)
+
+ Robert 'sandman' Griebl has more information here:
+ <url: http://www.softforge.de/bb/suid.html >.
config BUSYBOX_FEATURE_SUID_CONFIG_QUIET
bool "Suppress warning message if /etc/busybox.conf is not readable"
default y
depends on BUSYBOX_FEATURE_SUID_CONFIG
help
- /etc/busybox.conf should be readable by the user needing the SUID,
- check this option to avoid users to be notified about missing
- permissions.
+ /etc/busybox.conf should be readable by the user needing the SUID,
+ check this option to avoid users to be notified about missing
+ permissions.
+
+config BUSYBOX_FEATURE_PREFER_APPLETS
+ bool "exec prefers applets"
+ default n
+ help
+ This is an experimental option which directs applets about to
+ call 'exec' to try and find an applicable busybox applet before
+ searching the PATH. This is typically done by exec'ing
+ /proc/self/exe.
+
+ This may affect shell, find -exec, xargs and similar applets.
+ They will use applets even if /bin/APPLET -> busybox link
+ is missing (or is not a link to busybox). However, this causes
+ problems in chroot jails without mounted /proc and with ps/top
+ (command name can be shown as 'exe' for applets started this way).
+
+config BUSYBOX_BUSYBOX_EXEC_PATH
+ string "Path to busybox executable"
+ default "/proc/self/exe"
+ help
+ When applets need to run other applets, busybox
+ sometimes needs to exec() itself. When the /proc filesystem is
+ mounted, /proc/self/exe always points to the currently running
+ executable. If you haven't got /proc, set this to wherever you
+ want to run busybox from.
config BUSYBOX_SELINUX
bool "Support NSA Security Enhanced Linux"
default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Enable support for SELinux in applets ls, ps, and id. Also provide
- the option of compiling in SELinux applets.
-
- If you do not have a complete SELinux userland installed, this stuff
- will not compile. Go visit
- http://www.nsa.gov/selinux/index.html
- to download the necessary stuff to allow busybox to compile with
- this option enabled. Specifially, libselinux 1.28 or better is
- directly required by busybox. If the installation is located in a
- non-standard directory, provide it by invoking make as follows:
+ help
+ Enable support for SELinux in applets ls, ps, and id. Also provide
+ the option of compiling in SELinux applets.
+
+ If you do not have a complete SELinux userland installed, this stuff
+ will not compile. Specifially, libselinux 1.28 or better is
+ directly required by busybox. If the installation is located in a
+ non-standard directory, provide it by invoking make as follows:
+
CFLAGS=-I<libselinux-include-path> \
LDFLAGS=-L<libselinux-lib-path> \
make
- Most people will leave this set to 'N'.
+ Most people will leave this set to 'N'.
-config BUSYBOX_FEATURE_PREFER_APPLETS
- bool "exec prefers applets"
+config BUSYBOX_FEATURE_CLEAN_UP
+ bool "Clean up all memory before exiting (usually not needed)"
default n
help
- This is an experimental option which directs applets about to
- call 'exec' to try and find an applicable busybox applet before
- searching the PATH. This is typically done by exec'ing
- /proc/self/exe.
- This may affect shell, find -exec, xargs and similar applets.
- They will use applets even if /bin/<applet> -> busybox link
- is missing (or is not a link to busybox). However, this causes
- problems in chroot jails without mounted /proc and with ps/top
- (command name can be shown as 'exe' for applets started this way).
+ As a size optimization, busybox normally exits without explicitly
+ freeing dynamically allocated memory or closing files. This saves
+ space since the OS will clean up for us, but it can confuse debuggers
+ like valgrind, which report tons of memory and resource leaks.
-config BUSYBOX_BUSYBOX_EXEC_PATH
- string "Path to BusyBox executable"
- default "/proc/self/exe"
+ Don't enable this unless you have a really good reason to clean
+ things up manually.
+
+config BUSYBOX_FEATURE_SYSLOG_INFO
+ bool "Support LOG_INFO level syslog messages"
+ default y
+ depends on BUSYBOX_FEATURE_SYSLOG
help
- When Busybox applets need to run other busybox applets, BusyBox
- sometimes needs to exec() itself. When the /proc filesystem is
- mounted, /proc/self/exe always points to the currently running
- executable. If you haven't got /proc, set this to wherever you
- want to run BusyBox from.
+ Applets which send their output to syslog use either LOG_INFO or
+ LOG_ERR log levels, but by disabling this option all messages will
+ be logged at the LOG_ERR level, saving just under 200 bytes.
# These are auto-selected by other options
@@ -522,57 +354,42 @@ config BUSYBOX_FEATURE_SYSLOG
bool #No description makes it a hidden option
default n
#help
- # This option is auto-selected when you select any applet which may
- # send its output to syslog. You do not need to select it manually.
-
-config BUSYBOX_FEATURE_HAVE_RPC
- bool #No description makes it a hidden option
- default n
- #help
- # This is automatically selected if any of enabled applets need it.
- # You do not need to select it manually.
-
-endmenu
+ #This option is auto-selected when you select any applet which may
+ #send its output to syslog. You do not need to select it manually.
-menu 'Build Options'
+comment 'Build Options'
config BUSYBOX_STATIC
- bool "Build BusyBox as a static binary (no shared libs)"
- default y if ADK_STATIC
+ bool "Build static binary (no shared libs)"
default n
help
- If you want to build a static BusyBox binary, which does not
- use or require any shared libraries, then enable this option.
- This can cause BusyBox to be considerably larger, so you should
- leave this option false unless you have a good reason (i.e.
- your target platform does not support shared libraries, or
- you are building an initrd which doesn't need anything but
- BusyBox, etc).
-
- Most people will leave this set to 'N'.
+ If you want to build a static binary, which does not use
+ or require any shared libraries, enable this option.
+ Static binaries are larger, but do not require functioning
+ dynamic libraries to be present, which is important if used
+ as a system rescue tool.
config BUSYBOX_PIE
- bool "Build BusyBox as a position independent executable"
- default n
+ bool "Build position independent executable"
+ default y if !ADK_TARGET_WITH_MMU && ADK_TARGET_BINFMT_ELF
depends on !BUSYBOX_STATIC
help
- Hardened code option. PIE binaries are loaded at a different
- address at each invocation. This has some overhead,
- particularly on x86-32 which is short on registers.
+ Hardened code option. PIE binaries are loaded at a different
+ address at each invocation. This has some overhead,
+ particularly on x86-32 which is short on registers.
- Most people will leave this set to 'N'.
+ Most people will leave this set to 'N'.
config BUSYBOX_NOMMU
bool "Force NOMMU build"
- default n if ADK_TARGET_WITH_MMU
- default y
+ default y if !ADK_TARGET_WITH_MMU
help
- Busybox tries to detect whether architecture it is being
- built against supports MMU or not. If this detection fails,
- or if you want to build NOMMU version of busybox for testing,
- you may force NOMMU build here.
+ Busybox tries to detect whether architecture it is being
+ built against supports MMU or not. If this detection fails,
+ or if you want to build NOMMU version of busybox for testing,
+ you may force NOMMU build here.
- Most people will leave this set to 'N'.
+ Most people will leave this set to 'N'.
# PIE can be made to work with BUILD_LIBBUSYBOX, but currently
# build system does not support that
@@ -581,187 +398,265 @@ config BUSYBOX_BUILD_LIBBUSYBOX
default n
depends on !BUSYBOX_FEATURE_PREFER_APPLETS && !BUSYBOX_PIE && !BUSYBOX_STATIC
help
- Build a shared library libbusybox.so.N.N.N which contains all
- busybox code.
+ Build a shared library libbusybox.so.N.N.N which contains all
+ busybox code.
- This feature allows every applet to be built as a tiny
- separate executable. Enabling it for "one big busybox binary"
- approach serves no purpose and increases code size.
- You should almost certainly say "no" to this.
+ This feature allows every applet to be built as a really tiny
+ separate executable linked against the library:
+ |$ size 0_lib/l*
+ | text data bss dec hex filename
+ | 939 212 28 1179 49b 0_lib/last
+ | 939 212 28 1179 49b 0_lib/less
+ | 919138 8328 1556 929022 e2cfe 0_lib/libbusybox.so.1.N.M
-### config FEATURE_FULL_LIBBUSYBOX
-### bool "Feature-complete libbusybox"
-### default n if !FEATURE_SHARED_BUSYBOX
-### depends on BUSYBOX_BUILD_LIBBUSYBOX
-### help
-### Build a libbusybox with the complete feature-set, disregarding
-### the actually selected config.
-###
-### Normally, libbusybox will only contain the features which are
-### used by busybox itself. If you plan to write a separate
-### standalone application which uses libbusybox say 'Y'.
-###
-### Note: libbusybox is GPL, not LGPL, and exports no stable API that
-### might act as a copyright barrier. We can and will modify the
-### exported function set between releases (even minor version number
-### changes), and happily break out-of-tree features.
-###
-### Say 'N' if in doubt.
+ This is useful on NOMMU systems which are not capable
+ of sharing executables, but are capable of sharing code
+ in dynamic libraries.
+
+config BUSYBOX_FEATURE_LIBBUSYBOX_STATIC
+ bool "Pull in all external references into libbusybox"
+ default n
+ depends on BUSYBOX_BUILD_LIBBUSYBOX
+ help
+ Make libbusybox library independent, not using or requiring
+ any other shared libraries.
config BUSYBOX_FEATURE_INDIVIDUAL
bool "Produce a binary for each applet, linked against libbusybox"
default y
depends on BUSYBOX_BUILD_LIBBUSYBOX
help
- If your CPU architecture doesn't allow for sharing text/rodata
- sections of running binaries, but allows for runtime dynamic
- libraries, this option will allow you to reduce memory footprint
- when you have many different applets running at once.
+ If your CPU architecture doesn't allow for sharing text/rodata
+ sections of running binaries, but allows for runtime dynamic
+ libraries, this option will allow you to reduce memory footprint
+ when you have many different applets running at once.
- If your CPU architecture allows for sharing text/rodata,
- having single binary is more optimal.
+ If your CPU architecture allows for sharing text/rodata,
+ having single binary is more optimal.
- Each applet will be a tiny program, dynamically linked
- against libbusybox.so.N.N.N.
+ Each applet will be a tiny program, dynamically linked
+ against libbusybox.so.N.N.N.
- You need to have a working dynamic linker.
+ You need to have a working dynamic linker.
config BUSYBOX_FEATURE_SHARED_BUSYBOX
bool "Produce additional busybox binary linked against libbusybox"
default y
depends on BUSYBOX_BUILD_LIBBUSYBOX
help
- Build busybox, dynamically linked against libbusybox.so.N.N.N.
+ Build busybox, dynamically linked against libbusybox.so.N.N.N.
- You need to have a working dynamic linker.
+ You need to have a working dynamic linker.
### config BUILD_AT_ONCE
### bool "Compile all sources at once"
### default n
### help
-### Normally each source-file is compiled with one invocation of
-### the compiler.
-### If you set this option, all sources are compiled at once.
-### This gives the compiler more opportunities to optimize which can
-### result in smaller and/or faster binaries.
+### Normally each source-file is compiled with one invocation of
+### the compiler.
+### If you set this option, all sources are compiled at once.
+### This gives the compiler more opportunities to optimize which can
+### result in smaller and/or faster binaries.
###
-### Setting this option will consume alot of memory, e.g. if you
-### enable all applets with all features, gcc uses more than 300MB
-### RAM during compilation of busybox.
+### Setting this option will consume alot of memory, e.g. if you
+### enable all applets with all features, gcc uses more than 300MB
+### RAM during compilation of busybox.
###
-### This option is most likely only beneficial for newer compilers
-### such as gcc-4.1 and above.
+### This option is most likely only beneficial for newer compilers
+### such as gcc-4.1 and above.
###
-### Say 'N' unless you know what you are doing.
-
-config BUSYBOX_LFS
- bool "Build with Large File Support (for accessing files > 2 GB)"
- default y
- help
- If you want to build BusyBox with large file support, then enable
- this option. This will have no effect if your kernel or your C
- library lacks large file support for large files. Some of the
- programs that can benefit from large file support include dd, gzip,
- cp, mount, tar, and many others. If you want to access files larger
- than 2 Gigabytes, enable this option. Otherwise, leave it set to 'N'.
+### Say 'N' unless you know what you are doing.
config BUSYBOX_CROSS_COMPILER_PREFIX
- string "Cross Compiler prefix"
+ string "Cross compiler prefix"
default ""
help
- If you want to build BusyBox with a cross compiler, then you
- will need to set this to the cross-compiler prefix, for example,
- "i386-uclibc-".
+ If you want to build busybox with a cross compiler, then you
+ will need to set this to the cross-compiler prefix, for example,
+ "i386-uclibc-".
- Note that CROSS_COMPILE environment variable or
- "make CROSS_COMPILE=xxx ..." will override this selection.
+ Note that CROSS_COMPILE environment variable or
+ "make CROSS_COMPILE=xxx ..." will override this selection.
- Native builds leave this empty.
+ Native builds leave this empty.
config BUSYBOX_SYSROOT
string "Path to sysroot"
default ""
help
- If you want to build BusyBox with a cross compiler, then you
- might also need to specify where /usr/include and /usr/lib
- will be found.
+ If you want to build busybox with a cross compiler, then you
+ might also need to specify where /usr/include and /usr/lib
+ will be found.
- For example, BusyBox can be built against an installed
- Android NDK, platform version 9, for ARM ABI with
+ For example, busybox can be built against an installed
+ Android NDK, platform version 9, for ARM ABI with
- CONFIG_SYSROOT=/opt/android-ndk/platforms/android-9/arch-arm
+ CONFIG_SYSROOT=/opt/android-ndk/platforms/android-9/arch-arm
- Native builds leave this empty.
+ Native builds leave this empty.
config BUSYBOX_EXTRA_CFLAGS
string "Additional CFLAGS"
default ""
help
- Additional CFLAGS to pass to the compiler verbatim.
+ Additional CFLAGS to pass to the compiler verbatim.
config BUSYBOX_EXTRA_LDFLAGS
string "Additional LDFLAGS"
default ""
help
- Additional LDFLAGS to pass to the linker verbatim.
+ Additional LDFLAGS to pass to the linker verbatim.
config BUSYBOX_EXTRA_LDLIBS
string "Additional LDLIBS"
default ""
help
- Additional LDLIBS to pass to the linker with -l.
+ Additional LDLIBS to pass to the linker with -l.
-endmenu
+config BUSYBOX_USE_PORTABLE_CODE
+ bool "Avoid using GCC-specific code constructs"
+ default n
+ help
+ Use this option if you are trying to compile busybox with
+ compiler other than gcc.
+ If you do use gcc, this option may needlessly increase code size.
+
+config BUSYBOX_STACK_OPTIMIZATION_386
+ bool "Use -mpreferred-stack-boundary=2 on i386 arch"
+ default y
+ help
+ This option makes for smaller code, but some libc versions
+ do not work with it (they use SSE instructions without
+ ensuring stack alignment).
+
+config BUSYBOX_STATIC_LIBGCC
+ bool "Use -static-libgcc"
+ default y
+ help
+ This option instructs gcc to link in a static version of its
+ support library, libgcc. This means that the binary will require
+ one fewer dynamic library at run time.
+
+comment 'Installation Options ("make install" behavior)'
+
+choice
+ prompt "What kind of applet links to install"
+ default BUSYBOX_INSTALL_APPLET_SYMLINKS
+ help
+ Choose what kind of links to applets are created by "make install".
+
+config BUSYBOX_INSTALL_APPLET_SYMLINKS
+ bool "as soft-links"
+ help
+ Install applets as soft-links to the busybox binary. This needs some
+ free inodes on the filesystem, but might help with filesystem
+ generators that can't cope with hard-links.
+
+config BUSYBOX_INSTALL_APPLET_HARDLINKS
+ bool "as hard-links"
+ help
+ Install applets as hard-links to the busybox binary. This might
+ count on a filesystem with few inodes.
+
+config BUSYBOX_INSTALL_APPLET_SCRIPT_WRAPPERS
+ bool "as script wrappers"
+ help
+ Install applets as script wrappers that call the busybox binary.
+
+config BUSYBOX_INSTALL_APPLET_DONT
+ bool "not installed"
+ help
+ Do not install applet links. Useful when you plan to use
+ busybox --install for installing links, or plan to use
+ a standalone shell and thus don't need applet links.
+
+endchoice
+
+choice
+ prompt "/bin/sh applet link"
+ default BUSYBOX_INSTALL_SH_APPLET_SYMLINK
+ depends on BUSYBOX_INSTALL_APPLET_SCRIPT_WRAPPERS
+ help
+ Choose how you install /bin/sh applet link.
-menu 'Debugging Options'
+config BUSYBOX_INSTALL_SH_APPLET_SYMLINK
+ bool "as soft-link"
+ help
+ Install /bin/sh applet as soft-link to the busybox binary.
+
+config BUSYBOX_INSTALL_SH_APPLET_HARDLINK
+ bool "as hard-link"
+ help
+ Install /bin/sh applet as hard-link to the busybox binary.
+
+config BUSYBOX_INSTALL_SH_APPLET_SCRIPT_WRAPPER
+ bool "as script wrapper"
+ help
+ Install /bin/sh applet as script wrapper that calls
+ the busybox binary.
+
+endchoice
+
+config BUSYBOX_PREFIX
+ string "Destination path for 'make install'"
+ default "@IDIR@"
+ help
+ Where "make install" should install busybox binary and links.
+
+comment 'Debugging Options'
config BUSYBOX_DEBUG
- bool "Build BusyBox with extra Debugging symbols"
+ bool "Build with debug information"
default n
help
- Say Y here if you wish to examine BusyBox internals while applets are
- running. This increases the size of the binary considerably, and
- should only be used when doing development. If you are doing
- development and want to debug BusyBox, answer Y.
+ Say Y here to compile with debug information.
+ This increases the size of the binary considerably, and
+ should only be used when doing development.
- Most people should answer N.
+ This adds -g option to gcc command line.
+
+ Most people should answer N.
config BUSYBOX_DEBUG_PESSIMIZE
bool "Disable compiler optimizations"
default n
depends on BUSYBOX_DEBUG
help
- The compiler's optimization of source code can eliminate and reorder
- code, resulting in an executable that's hard to understand when
- stepping through it with a debugger. This switches it off, resulting
- in a much bigger executable that more closely matches the source
- code.
+ The compiler's optimization of source code can eliminate and reorder
+ code, resulting in an executable that's hard to understand when
+ stepping through it with a debugger. This switches it off, resulting
+ in a much bigger executable that more closely matches the source
+ code.
+
+ This replaces -Os/-O2 with -O0 in gcc command line.
config BUSYBOX_DEBUG_SANITIZE
bool "Enable runtime sanitizers (ASAN/LSAN/USAN/etc...)"
default n
help
- Say Y here if you want to enable runtime sanitizers. These help
- catch bad memory accesses (e.g. buffer overflows), but will make
- the executable larger and slow down runtime a bit.
+ Say Y here if you want to enable runtime sanitizers. These help
+ catch bad memory accesses (e.g. buffer overflows), but will make
+ the executable larger and slow down runtime a bit.
+
+ This adds -fsanitize=foo options to gcc command line.
- If you aren't developing/testing busybox, say N here.
+ If you aren't developing/testing busybox, say N here.
config BUSYBOX_UNIT_TEST
bool "Build unit tests"
default n
help
- Say Y here if you want to build unit tests (both the framework and
- test cases) as a Busybox applet. This results in bigger code, so you
- probably don't want this option in production builds.
+ Say Y here if you want to build unit tests (both the framework and
+ test cases) as an applet. This results in bigger code, so you
+ probably don't want this option in production builds.
config BUSYBOX_WERROR
bool "Abort compilation on any warning"
default n
help
- Selecting this will add -Werror to gcc command line.
+ This adds -Werror to gcc command line.
- Most people should answer N.
+ Most people should answer N.
config BUSYBOX_WARN_SIMPLE_MSG
bool "Warn about single parameter bb_xx_msg calls"
@@ -778,33 +673,33 @@ config BUSYBOX_WARN_SIMPLE_MSG
choice
prompt "Additional debugging library"
- default NO_DEBUG_LIB
- help
- Using an additional debugging library will make BusyBox become
- considerable larger and will cause it to run more slowly. You
- should always leave this option disabled for production use.
-
- dmalloc support:
- ----------------
- This enables compiling with dmalloc ( http://dmalloc.com/ )
- which is an excellent public domain mem leak and malloc problem
- detector. To enable dmalloc, before running busybox you will
- want to properly set your environment, for example:
- export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile
- The 'debug=' value is generated using the following command
- dmalloc -p log-stats -p log-non-free -p log-bad-space \
- -p log-elapsed-time -p check-fence -p check-heap \
- -p check-lists -p check-blank -p check-funcs -p realloc-copy \
- -p allow-free-null
-
- Electric-fence support:
- -----------------------
- This enables compiling with Electric-fence support. Electric
- fence is another very useful malloc debugging library which uses
- your computer's virtual memory hardware to detect illegal memory
- accesses. This support will make BusyBox be considerable larger
- and run slower, so you should leave this option disabled unless
- you are hunting a hard to find memory problem.
+ default BUSYBOX_NO_DEBUG_LIB
+ help
+ Using an additional debugging library will make busybox become
+ considerably larger and will cause it to run more slowly. You
+ should always leave this option disabled for production use.
+
+ dmalloc support:
+ ----------------
+ This enables compiling with dmalloc ( http://dmalloc.com/ )
+ which is an excellent public domain mem leak and malloc problem
+ detector. To enable dmalloc, before running busybox you will
+ want to properly set your environment, for example:
+ export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile
+ The 'debug=' value is generated using the following command
+ dmalloc -p log-stats -p log-non-free -p log-bad-space \
+ -p log-elapsed-time -p check-fence -p check-heap \
+ -p check-lists -p check-blank -p check-funcs -p realloc-copy \
+ -p allow-free-null
+
+ Electric-fence support:
+ -----------------------
+ This enables compiling with Electric-fence support. Electric
+ fence is another very useful malloc debugging library which uses
+ your computer's virtual memory hardware to detect illegal memory
+ accesses. This support will make busybox be considerably larger
+ and run slower, so you should leave this option disabled unless
+ you are hunting a hard to find memory problem.
config BUSYBOX_NO_DEBUG_LIB
@@ -818,76 +713,6 @@ config BUSYBOX_EFENCE
endchoice
-endmenu
-
-menu 'Installation Options ("make install" behavior)'
-
-choice
- prompt "What kind of applet links to install"
- default INSTALL_APPLET_SYMLINKS
- help
- Choose what kind of links to applets are created by "make install".
-
-config BUSYBOX_INSTALL_APPLET_SYMLINKS
- bool "as soft-links"
- help
- Install applets as soft-links to the busybox binary. This needs some
- free inodes on the filesystem, but might help with filesystem
- generators that can't cope with hard-links.
-
-config BUSYBOX_INSTALL_APPLET_HARDLINKS
- bool "as hard-links"
- help
- Install applets as hard-links to the busybox binary. This might
- count on a filesystem with few inodes.
-
-config BUSYBOX_INSTALL_APPLET_SCRIPT_WRAPPERS
- bool "as script wrappers"
- help
- Install applets as script wrappers that call the busybox binary.
-
-config BUSYBOX_INSTALL_APPLET_DONT
- bool "not installed"
- help
- Do not install applet links. Useful when you plan to use
- busybox --install for installing links, or plan to use
- a standalone shell and thus don't need applet links.
-
-endchoice
-
-choice
- prompt "/bin/sh applet link"
- default INSTALL_SH_APPLET_SYMLINK
- depends on BUSYBOX_INSTALL_APPLET_SCRIPT_WRAPPERS
- help
- Choose how you install /bin/sh applet link.
-
-config BUSYBOX_INSTALL_SH_APPLET_SYMLINK
- bool "as soft-link"
- help
- Install /bin/sh applet as soft-link to the busybox binary.
-
-config BUSYBOX_INSTALL_SH_APPLET_HARDLINK
- bool "as hard-link"
- help
- Install /bin/sh applet as hard-link to the busybox binary.
-
-config BUSYBOX_INSTALL_SH_APPLET_SCRIPT_WRAPPER
- bool "as script wrapper"
- help
- Install /bin/sh applet as script wrapper that calls
- the busybox binary.
-
-endchoice
-
-config BUSYBOX_PREFIX
- string "BusyBox installation prefix"
- default "@IDIR@"
- help
- Define your directory to install BusyBox files/subdirs in.
-
-endmenu
-
source package/busybox/config/libbb/Config.in
endmenu
diff --git a/package/busybox/config/archival/Config.in b/package/busybox/config/archival/Config.in
index b3f453ae2..fe68eeb18 100644
--- a/package/busybox/config/archival/Config.in
+++ b/package/busybox/config/archival/Config.in
@@ -1,7 +1,7 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
#
menu "Archival Utilities"
@@ -9,453 +9,417 @@ menu "Archival Utilities"
config BUSYBOX_FEATURE_SEAMLESS_XZ
bool "Make tar, rpm, modprobe etc understand .xz data"
default y
- help
- Make tar, rpm, modprobe etc understand .xz data.
config BUSYBOX_FEATURE_SEAMLESS_LZMA
bool "Make tar, rpm, modprobe etc understand .lzma data"
default y
- help
- Make tar, rpm, modprobe etc understand .lzma data.
config BUSYBOX_FEATURE_SEAMLESS_BZ2
bool "Make tar, rpm, modprobe etc understand .bz2 data"
default y
- help
- Make tar, rpm, modprobe etc understand .bz2 data.
config BUSYBOX_FEATURE_SEAMLESS_GZ
bool "Make tar, rpm, modprobe etc understand .gz data"
default y
- help
- Make tar, rpm, modprobe etc understand .gz data.
config BUSYBOX_FEATURE_SEAMLESS_Z
- bool "tar, rpm, modprobe etc understand .Z data"
- default n
- help
- Make tar, rpm, modprobe etc understand .Z data.
+ bool "Make tar, rpm, modprobe etc understand .Z data"
+ default n # it is ancient
config BUSYBOX_AR
- bool "ar"
- depends on !BUSYBOX_DISABLE_AR
+ bool "ar (9.5 kb)"
default n # needs to be improved to be able to replace binutils ar
help
- ar is an archival utility program used to create, modify, and
- extract contents from archives. An archive is a single file holding
- a collection of other files in a structure that makes it possible to
- retrieve the original individual files (called archive members).
- The original files' contents, mode (permissions), timestamp, owner,
- and group are preserved in the archive, and can be restored on
- extraction.
+ ar is an archival utility program used to create, modify, and
+ extract contents from archives. In practice, it is used exclusively
+ for object module archives used by compilers.
- The stored filename is limited to 15 characters. (for more information
- see long filename support).
- ar has 60 bytes of overheads for every stored file.
-
- This implementation of ar can extract archives, it cannot create or
- modify them.
- On an x86 system, the ar applet adds about 1K.
-
- Unless you have a specific application which requires ar, you should
- probably say N here.
+ Unless you have a specific application which requires ar, you should
+ probably say N here: most compilers come with their own ar utility.
config BUSYBOX_FEATURE_AR_LONG_FILENAMES
- bool "Support for long filenames (not needed for debs)"
+ bool "Support long filenames (not needed for debs)"
default y
depends on BUSYBOX_AR
help
- By default the ar format can only store the first 15 characters
- of the filename, this option removes that limitation.
- It supports the GNU ar long filename method which moves multiple long
- filenames into a the data section of a new ar entry.
+ By default the ar format can only store the first 15 characters
+ of the filename, this option removes that limitation.
+ It supports the GNU ar long filename method which moves multiple long
+ filenames into a the data section of a new ar entry.
config BUSYBOX_FEATURE_AR_CREATE
bool "Support archive creation"
default y
depends on BUSYBOX_AR
help
- This enables archive creation (-c and -r) with busybox ar.
+ This enables archive creation (-c and -r) with busybox ar.
+config BUSYBOX_UNCOMPRESS
+ bool "uncompress (7.1 kb)"
+ default n # ancient
+ help
+ uncompress is used to decompress archives created by compress.
+ Not much used anymore, replaced by gzip/gunzip.
+config BUSYBOX_GUNZIP
+ bool "gunzip (11 kb)"
+ default y
+ select BUSYBOX_FEATURE_GZIP_DECOMPRESS
+ help
+ gunzip is used to decompress archives created by gzip.
+ You can use the '-t' option to test the integrity of
+ an archive, without decompressing it.
+
+config BUSYBOX_ZCAT
+ bool "zcat (24 kb)"
+ default y
+ select BUSYBOX_FEATURE_GZIP_DECOMPRESS
+ help
+ Alias to "gunzip -c".
+config BUSYBOX_FEATURE_GUNZIP_LONG_OPTIONS
+ bool "Enable long options"
+ default y
+ depends on (BUSYBOX_GUNZIP || BUSYBOX_ZCAT) && BUSYBOX_LONG_OPTS
config BUSYBOX_BUNZIP2
- bool "bunzip2"
- depends on !BUSYBOX_DISABLE_BUNZIP2
- default n
+ bool "bunzip2 (8.7 kb)"
+ default y
+ select BUSYBOX_FEATURE_BZIP2_DECOMPRESS
help
- bunzip2 is a compression utility using the Burrows-Wheeler block
- sorting text compression algorithm, and Huffman coding. Compression
- is generally considerably better than that achieved by more
- conventional LZ77/LZ78-based compressors, and approaches the
- performance of the PPM family of statistical compressors.
+ bunzip2 is a compression utility using the Burrows-Wheeler block
+ sorting text compression algorithm, and Huffman coding. Compression
+ is generally considerably better than that achieved by more
+ conventional LZ77/LZ78-based compressors, and approaches the
+ performance of the PPM family of statistical compressors.
- Unless you have a specific application which requires bunzip2, you
- should probably say N here.
+ Unless you have a specific application which requires bunzip2, you
+ should probably say N here.
config BUSYBOX_BZCAT
- bool "bzcat"
+ bool "bzcat (8.7 kb)"
default y
+ select BUSYBOX_FEATURE_BZIP2_DECOMPRESS
help
- Alias to "bunzip2 -c".
+ Alias to "bunzip2 -c".
+config BUSYBOX_UNLZMA
+ bool "unlzma (7.5 kb)"
+ default y
+ help
+ unlzma is a compression utility using the Lempel-Ziv-Markov chain
+ compression algorithm, and range coding. Compression
+ is generally considerably better than that achieved by the bzip2
+ compressors.
-config BUSYBOX_BZIP2
- bool "bzip2"
- depends on !BUSYBOX_DISABLE_BZIP2
- default n
+config BUSYBOX_LZCAT
+ bool "lzcat (7.5 kb)"
+ default y
+ help
+ Alias to "unlzma -c".
+
+config BUSYBOX_LZMA
+ bool "lzma -d"
+ default y
+ help
+ Enable this option if you want commands like "lzma -d" to work.
+ IOW: you'll get lzma applet, but it will always require -d option.
+config BUSYBOX_UNXZ
+ bool "unxz (13 kb)"
+ default y
help
- bzip2 is a compression utility using the Burrows-Wheeler block
- sorting text compression algorithm, and Huffman coding. Compression
- is generally considerably better than that achieved by more
- conventional LZ77/LZ78-based compressors, and approaches the
- performance of the PPM family of statistical compressors.
+ unxz is a unlzma successor.
- Unless you have a specific application which requires bzip2, you
- should probably say N here.
+config BUSYBOX_XZCAT
+ bool "xzcat (13 kb)"
+ default y
+ help
+ Alias to "unxz -c".
+config BUSYBOX_XZ
+ bool "xz -d"
+ default y
+ help
+ Enable this option if you want commands like "xz -d" to work.
+ IOW: you'll get xz applet, but it will always require -d option.
+config BUSYBOX_BZIP2
+ bool "bzip2 (16 kb)"
+ default y
+ help
+ bzip2 is a compression utility using the Burrows-Wheeler block
+ sorting text compression algorithm, and Huffman coding. Compression
+ is generally considerably better than that achieved by more
+ conventional LZ77/LZ78-based compressors, and approaches the
+ performance of the PPM family of statistical compressors.
+
+ Unless you have a specific application which requires bzip2, you
+ should probably say N here.
+
+config BUSYBOX_BZIP2_SMALL
+ int "Trade bytes for speed (0:fast, 9:small)"
+ default 8 # all "fast or small" options default to small
+ range 0 9
+ depends on BUSYBOX_BZIP2
+ help
+ Trade code size versus speed.
+ Approximate values with gcc-6.3.0 "bzip -9" compressing
+ linux-4.15.tar were:
+ value time (sec) code size (386)
+ 9 (smallest) 70.11 7687
+ 8 67.93 8091
+ 7 67.88 8405
+ 6 67.78 8624
+ 5 67.05 9427
+ 4-0 (fastest) 64.14 12083
+
+config BUSYBOX_FEATURE_BZIP2_DECOMPRESS
+ bool "Enable decompression"
+ default y
+ depends on BUSYBOX_BZIP2 || BUSYBOX_BUNZIP2 || BUSYBOX_BZCAT
+ help
+ Enable -d (--decompress) and -t (--test) options for bzip2.
+ This will be automatically selected if bunzip2 or bzcat is
+ enabled.
config BUSYBOX_CPIO
- bool "cpio"
- depends on !BUSYBOX_DISABLE_CPIO
- default n
+ bool "cpio (15 kb)"
+ default y
help
- cpio is an archival utility program used to create, modify, and
- extract contents from archives.
- cpio has 110 bytes of overheads for every stored file.
+ cpio is an archival utility program used to create, modify, and
+ extract contents from archives.
+ cpio has 110 bytes of overheads for every stored file.
- This implementation of cpio can extract cpio archives created in the
- "newc" or "crc" format, it cannot create or modify them.
+ This implementation of cpio can extract cpio archives created in the
+ "newc" or "crc" format.
- Unless you have a specific application which requires cpio, you
- should probably say N here.
+ Unless you have a specific application which requires cpio, you
+ should probably say N here.
config BUSYBOX_FEATURE_CPIO_O
- bool "Support for archive creation"
+ bool "Support archive creation"
default y
depends on BUSYBOX_CPIO
help
- This implementation of cpio can create cpio archives in the "newc"
- format only.
+ This implementation of cpio can create cpio archives in the "newc"
+ format only.
config BUSYBOX_FEATURE_CPIO_P
- bool "Support for passthrough mode"
+ bool "Support passthrough mode"
default y
depends on BUSYBOX_FEATURE_CPIO_O
help
- Passthrough mode. Rarely used.
-
-config BUSYBOX_DPKG
- bool "dpkg"
- default n
- select BUSYBOX_FEATURE_SEAMLESS_GZ
- help
- dpkg is a medium-level tool to install, build, remove and manage
- Debian packages.
-
- This implementation of dpkg has a number of limitations,
- you should use the official dpkg if possible.
-
-config BUSYBOX_DPKG_DEB
- bool "dpkg_deb"
- default n
- select BUSYBOX_FEATURE_SEAMLESS_GZ
- help
- dpkg-deb unpacks and provides information about Debian archives.
-
- This implementation of dpkg-deb cannot pack archives.
+ Passthrough mode. Rarely used.
- Unless you have a specific application which requires dpkg-deb,
- say N here.
-
-config BUSYBOX_FEATURE_DPKG_DEB_EXTRACT_ONLY
- bool "Extract only (-x)"
- default n
- depends on BUSYBOX_DPKG_DEB
+config BUSYBOX_FEATURE_CPIO_IGNORE_DEVNO
+ bool "Support --ignore-devno like GNU cpio"
+ default y
+ depends on BUSYBOX_FEATURE_CPIO_O && BUSYBOX_LONG_OPTS
help
- This reduces dpkg-deb to the equivalent of
- "ar -p <deb> data.tar.gz | tar -zx". However it saves space as none
- of the extra dpkg-deb, ar or tar options are needed, they are linked
- to internally.
+ Optionally ignore device numbers when creating archives.
-config BUSYBOX_GUNZIP
- bool "gunzip"
+config BUSYBOX_FEATURE_CPIO_RENUMBER_INODES
+ bool "Support --renumber-inodes like GNU cpio"
default y
+ depends on BUSYBOX_FEATURE_CPIO_O && BUSYBOX_LONG_OPTS
help
- gunzip is used to decompress archives created by gzip.
- You can use the `-t' option to test the integrity of
- an archive, without decompressing it.
-
-config BUSYBOX_ZCAT
- bool "zcat"
+ Optionally renumber inodes when creating archives.
+config BUSYBOX_DPKG
+ bool "dpkg (43 kb)"
default y
+ select BUSYBOX_FEATURE_SEAMLESS_GZ
help
- Alias to "gunzip -c".
+ dpkg is a medium-level tool to install, build, remove and manage
+ Debian packages.
-config BUSYBOX_FEATURE_GUNZIP_LONG_OPTIONS
- bool "Enable long options"
+ This implementation of dpkg has a number of limitations,
+ you should use the official dpkg if possible.
+config BUSYBOX_DPKG_DEB
+ bool "dpkg-deb (30 kb)"
default y
- depends on BUSYBOX_GUNZIP && BUSYBOX_LONG_OPTS
+ select BUSYBOX_FEATURE_SEAMLESS_GZ
help
- Enable use of long options.
+ dpkg-deb unpacks and provides information about Debian archives.
+
+ This implementation of dpkg-deb cannot pack archives.
+ Unless you have a specific application which requires dpkg-deb,
+ say N here.
config BUSYBOX_GZIP
- bool "gzip"
+ bool "gzip (17 kb)"
default y
help
- gzip is used to compress files.
- It's probably the most widely used UNIX compression program.
+ gzip is used to compress files.
+ It's probably the most widely used UNIX compression program.
config BUSYBOX_FEATURE_GZIP_LONG_OPTIONS
bool "Enable long options"
default y
depends on BUSYBOX_GZIP && BUSYBOX_LONG_OPTS
- help
- Enable use of long options, increases size by about 106 Bytes
config BUSYBOX_GZIP_FAST
- int "Trade memory for gzip speed (0:small,slow - 2:fast,big)"
+ int "Trade memory for speed (0:small,slow - 2:fast,big)"
default 0
range 0 2
depends on BUSYBOX_GZIP
help
- Enable big memory options for gzip.
- 0: small buffers, small hash-tables
- 1: larger buffers, larger hash-tables
- 2: larger buffers, largest hash-tables
- Larger models may give slightly better compression
+ Enable big memory options for gzip.
+ 0: small buffers, small hash-tables
+ 1: larger buffers, larger hash-tables
+ 2: larger buffers, largest hash-tables
+ Larger models may give slightly better compression
-config BUSYBOX_LZOP
- bool "lzop"
+config BUSYBOX_FEATURE_GZIP_LEVELS
+ bool "Enable compression levels"
default n
+ depends on BUSYBOX_GZIP
help
- Lzop compression/decompresion.
+ Enable support for compression levels 4-9. The default level
+ is 6. If levels 1-3 are specified, 4 is used.
+ If this option is not selected, -N options are ignored and -6
+ is used.
-config BUSYBOX_UNLZOP
- bool "unlzop"
- default n
+config BUSYBOX_FEATURE_GZIP_DECOMPRESS
+ bool "Enable decompression"
+ default y
+ depends on BUSYBOX_GZIP || BUSYBOX_GUNZIP || BUSYBOX_ZCAT
help
- Lzop decompresion.
-
-config BUSYBOX_LZOPCAT
- bool "lzopcat"
+ Enable -d (--decompress) and -t (--test) options for gzip.
+ This will be automatically selected if gunzip or zcat is
+ enabled.
+config BUSYBOX_IPKG
+ bool "ipkg"
default n
help
- Alias to "unlzop -c".
+ ipkg is a tool to install, build, remove and manage
+ packages.
-config BUSYBOX_LZOP_COMPR_HIGH
- bool "lzop compression levels 7,8,9 (not very useful)"
- default n
- depends on BUSYBOX_LZOP
+config BUSYBOX_LZOP
+ bool "lzop (12 kb)"
+ default y
help
- High levels (7,8,9) of lzop compression. These levels
- are actually slower than gzip at equivalent compression ratios
- and take up 3.2K of code.
+ Lzop compression/decompresion.
-config BUSYBOX_FEATURE_GZIP_LEVELS
- bool "Enable compression levels"
- default n
- depends on BUSYBOX_GZIP
+config BUSYBOX_UNLZOP
+ bool "unlzop (13 kb)"
+ default n # INCOMPAT: upstream lzop does not provide such tool
help
- Enable support for compression levels 4-9. The default level
- is 6. If levels 1-3 are specified, 4 is used.
- If this option is not selected, -N options are ignored and -9
- is used.
+ Lzop decompresion.
-config BUSYBOX_IPKG
- bool "ipkg"
- default n
+config BUSYBOX_LZOPCAT
+ bool "lzopcat (13 kb)"
+ default n # INCOMPAT: upstream lzop does not provide such tool
help
- ipkg is the itsy package management system.
+ Alias to "lzop -dc".
-config BUSYBOX_RPM2CPIO
- bool "rpm2cpio"
- depends on !BUSYBOX_DISABLE_RPM
+config BUSYBOX_LZOP_COMPR_HIGH
+ bool "lzop compression levels 7,8,9 (not very useful)"
default n
+ depends on BUSYBOX_LZOP || BUSYBOX_UNLZOP || BUSYBOX_LZOPCAT
help
- Converts a RPM file into a CPIO archive.
-
+ High levels (7,8,9) of lzop compression. These levels
+ are actually slower than gzip at equivalent compression ratios
+ and take up 3.2K of code.
config BUSYBOX_RPM
- bool "rpm"
- depends on !BUSYBOX_DISABLE_RPM
- default n
+ bool "rpm (32 kb)"
+ default y
help
- Mini RPM applet - queries and extracts RPM packages.
-
+ Mini RPM applet - queries and extracts RPM packages.
+config BUSYBOX_RPM2CPIO
+ bool "rpm2cpio (21 kb)"
+ default y
+ help
+ Converts a RPM file into a CPIO archive.
config BUSYBOX_TAR
- bool "tar"
- depends on !BUSYBOX_DISABLE_TAR
+ bool "tar (39 kb)"
default y
help
- tar is an archiving program. It's commonly used with gzip to
- create compressed archives. It's probably the most widely used
- UNIX archive program.
+ tar is an archiving program. It's commonly used with gzip to
+ create compressed archives. It's probably the most widely used
+ UNIX archive program.
+
+config BUSYBOX_FEATURE_TAR_LONG_OPTIONS
+ bool "Enable long options"
+ default y
+ depends on BUSYBOX_TAR && BUSYBOX_LONG_OPTS
config BUSYBOX_FEATURE_TAR_CREATE
- bool "Enable archive creation"
+ bool "Enable -c (archive creation)"
default y
depends on BUSYBOX_TAR
- help
- If you enable this option you'll be able to create
- tar archives using the `-c' option.
config BUSYBOX_FEATURE_TAR_AUTODETECT
bool "Autodetect compressed tarballs"
default y
depends on BUSYBOX_TAR && (BUSYBOX_FEATURE_SEAMLESS_Z || BUSYBOX_FEATURE_SEAMLESS_GZ || BUSYBOX_FEATURE_SEAMLESS_BZ2 || BUSYBOX_FEATURE_SEAMLESS_LZMA || BUSYBOX_FEATURE_SEAMLESS_XZ)
help
- With this option tar can automatically detect compressed
- tarballs. Currently it works only on files (not pipes etc).
+ With this option tar can automatically detect compressed
+ tarballs. Currently it works only on files (not pipes etc).
config BUSYBOX_FEATURE_TAR_FROM
- bool "Enable -X (exclude from) and -T (include from) options)"
+ bool "Enable -X (exclude from) and -T (include from) options"
default y
depends on BUSYBOX_TAR
help
- If you enable this option you'll be able to specify
- a list of files to include or exclude from an archive.
+ If you enable this option you'll be able to specify
+ a list of files to include or exclude from an archive.
config BUSYBOX_FEATURE_TAR_OLDGNU_COMPATIBILITY
- bool "Support for old tar header format"
+ bool "Support old tar header format"
default y
depends on BUSYBOX_TAR || BUSYBOX_DPKG
help
- This option is required to unpack archives created in
- the old GNU format; help to kill this old format by
- repacking your ancient archives with the new format.
+ This option is required to unpack archives created in
+ the old GNU format; help to kill this old format by
+ repacking your ancient archives with the new format.
config BUSYBOX_FEATURE_TAR_OLDSUN_COMPATIBILITY
bool "Enable untarring of tarballs with checksums produced by buggy Sun tar"
- default n
+ default y
depends on BUSYBOX_TAR || BUSYBOX_DPKG
help
- This option is required to unpack archives created by some old
- version of Sun's tar (it was calculating checksum using signed
- arithmetic). It is said to be fixed in newer Sun tar, but "old"
- tarballs still exist.
+ This option is required to unpack archives created by some old
+ version of Sun's tar (it was calculating checksum using signed
+ arithmetic). It is said to be fixed in newer Sun tar, but "old"
+ tarballs still exist.
config BUSYBOX_FEATURE_TAR_GNU_EXTENSIONS
- bool "Support for GNU tar extensions (long filenames)"
+ bool "Support GNU tar extensions (long filenames)"
default y
depends on BUSYBOX_TAR || BUSYBOX_DPKG
- help
- With this option busybox supports GNU long filenames and
- linknames.
-
-config BUSYBOX_FEATURE_TAR_LONG_OPTIONS
- bool "Enable long options"
- default y
- depends on BUSYBOX_TAR && BUSYBOX_LONG_OPTS
- help
- Enable use of long options, increases size by about 400 Bytes
config BUSYBOX_FEATURE_TAR_TO_COMMAND
- bool "Support for writing to an external program"
+ bool "Support writing to an external program (--to-command)"
default y
depends on BUSYBOX_TAR && BUSYBOX_FEATURE_TAR_LONG_OPTIONS
help
- If you enable this option you'll be able to instruct tar to send
- the contents of each extracted file to the standard input of an
- external program.
+ If you enable this option you'll be able to instruct tar to send
+ the contents of each extracted file to the standard input of an
+ external program.
config BUSYBOX_FEATURE_TAR_UNAME_GNAME
bool "Enable use of user and group names"
default y
depends on BUSYBOX_TAR
help
- Enables use of user and group names in tar. This affects contents
- listings (-t) and preserving permissions when unpacking (-p).
- +200 bytes.
+ Enable use of user and group names in tar. This affects contents
+ listings (-t) and preserving permissions when unpacking (-p).
+ +200 bytes.
config BUSYBOX_FEATURE_TAR_NOPRESERVE_TIME
- bool "Enable -m (do not preserve time) option"
+ bool "Enable -m (do not preserve time) GNU option"
default y
depends on BUSYBOX_TAR
- help
- With this option busybox supports GNU tar -m
- (do not preserve time) option.
config BUSYBOX_FEATURE_TAR_SELINUX
- bool "Support for extracting SELinux labels"
+ bool "Support extracting SELinux labels"
default n
depends on BUSYBOX_TAR && BUSYBOX_SELINUX
help
- With this option busybox supports restoring SELinux labels
- when extracting files from tar archives.
-
-config BUSYBOX_UNCOMPRESS
- bool "uncompress"
- default n
- help
- uncompress is used to decompress archives created by compress.
- Not much used anymore, replaced by gzip/gunzip.
-
-config BUSYBOX_UNLZMA
- bool "unlzma"
- default n
- help
- unlzma is a compression utility using the Lempel-Ziv-Markov chain
- compression algorithm, and range coding. Compression
- is generally considerably better than that achieved by the bzip2
- compressors.
-
- The BusyBox unlzma applet is limited to decompression only.
- On an x86 system, this applet adds about 4K.
-
-config BUSYBOX_FEATURE_LZMA_FAST
- bool "Optimize unlzma for speed"
- default n
- depends on BUSYBOX_UNLZMA || BUSYBOX_LZCAT || BUSYBOX_LZMA
- help
- This option reduces decompression time by about 25% at the cost of
- a 1K bigger binary.
-
-config BUSYBOX_LZCAT
- bool "lzcat"
- default n
- help
- unlzma is a compression utility using the Lempel-Ziv-Markov chain
- compression algorithm, and range coding. Compression
- is generally considerably better than that achieved by the bzip2
- compressors.
-
- The BusyBox unlzma applet is limited to decompression only.
- On an x86 system, this applet adds about 4K.
-
-config BUSYBOX_LZMA
- bool "Provide lzma alias which supports only unpacking"
- default n
- help
- Enable this option if you want commands like "lzma -d" to work.
- IOW: you'll get lzma applet, but it will always require -d option.
-
-config BUSYBOX_UNXZ
- bool "unxz"
- depends on !BUSYBOX_DISABLE_UNXZ
- default n
- help
- unxz is a unlzma successor.
-
-config BUSYBOX_XZCAT
- bool "xzcat"
- default n
- help
- Alias to "unxz -c".
-
-config BUSYBOX_XZ
- bool "Provide xz alias which supports only unpacking"
- depends on !BUSYBOX_DISABLE_XZ
- default n
- help
- Enable this option if you want commands like "xz -d" to work.
- IOW: you'll get xz applet, but it will always require -d option.
-
+ With this option busybox supports restoring SELinux labels
+ when extracting files from tar archives.
config BUSYBOX_UNZIP
- bool "unzip"
- depends on !BUSYBOX_DISABLE_UNZIP
- default n
+ bool "unzip (26 kb)"
+ default y
help
- unzip will list or extract files from a ZIP archive,
- commonly found on DOS/WIN systems. The default behavior
- (with no options) is to extract the archive into the
- current directory. Use the `-d' option to extract to a
- directory of your choice.
+ unzip will list or extract files from a ZIP archive,
+ commonly found on DOS/WIN systems. The default behavior
+ (with no options) is to extract the archive into the
+ current directory.
config BUSYBOX_FEATURE_UNZIP_CDF
bool "Read and use Central Directory data"
diff --git a/package/busybox/config/console-tools/Config.in b/package/busybox/config/console-tools/Config.in
index 2e338e264..d0e43ca43 100644
--- a/package/busybox/config/console-tools/Config.in
+++ b/package/busybox/config/console-tools/Config.in
@@ -1,175 +1,144 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
#
menu "Console Utilities"
config BUSYBOX_CHVT
- bool "chvt"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- This program is used to change to another terminal.
- Example: chvt 4 (change to terminal /dev/tty4)
-
-config BUSYBOX_FGCONSOLE
- bool "fgconsole"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "chvt (2 kb)"
+ default y
help
- This program prints active (foreground) console number.
-
+ This program is used to change to another terminal.
+ Example: chvt 4 (change to terminal /dev/tty4)
config BUSYBOX_CLEAR
- bool "clear"
- default n
+ bool "clear (tiny)"
+ default y
help
- This program clears the terminal screen.
-
+ This program clears the terminal screen.
config BUSYBOX_DEALLOCVT
- bool "deallocvt"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "deallocvt (1.9 kb)"
+ default y
help
- This program deallocates unused virtual consoles.
-
+ This program deallocates unused virtual consoles.
config BUSYBOX_DUMPKMAP
- bool "dumpkmap"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "dumpkmap (1.6 kb)"
+ default y
help
- This program dumps the kernel's keyboard translation table to
- stdout, in binary format. You can then use loadkmap to load it.
-
+ This program dumps the kernel's keyboard translation table to
+ stdout, in binary format. You can then use loadkmap to load it.
+config BUSYBOX_FGCONSOLE
+ bool "fgconsole (1.5 kb)"
+ default y
+ help
+ This program prints active (foreground) console number.
config BUSYBOX_KBD_MODE
- bool "kbd_mode"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "kbd_mode (4.1 kb)"
+ default y
help
- This program reports and sets keyboard mode.
-
+ This program reports and sets keyboard mode.
config BUSYBOX_LOADFONT
- bool "loadfont"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "loadfont (5.2 kb)"
+ default y
help
- This program loads a console font from standard input.
+ This program loads a console font from standard input.
-config BUSYBOX_LOADKMAP
- bool "loadkmap"
- default n
- select BUSYBOX_PLATFORM_LINUX
+config BUSYBOX_SETFONT
+ bool "setfont (24 kb)"
+ default y
help
- This program loads a keyboard translation table from
- standard input.
+ Allows to load console screen map. Useful for i18n.
-config BUSYBOX_OPENVT
- bool "openvt"
- default n
- select BUSYBOX_PLATFORM_LINUX
+config BUSYBOX_FEATURE_SETFONT_TEXTUAL_MAP
+ bool "Support reading textual screen maps"
+ default y
+ depends on BUSYBOX_SETFONT
help
- This program is used to start a command on an unused
- virtual terminal.
+ Support reading textual screen maps.
-config BUSYBOX_RESET
- bool "reset"
- default n
+config BUSYBOX_DEFAULT_SETFONT_DIR
+ string "Default directory for console-tools files"
+ default ""
+ depends on BUSYBOX_SETFONT
help
- This program is used to reset the terminal screen, if it
- gets messed up.
+ Directory to use if setfont's params are simple filenames
+ (not /path/to/file or ./file). Default is "" (no default directory).
+
+comment "Common options for loadfont and setfont"
+ depends on BUSYBOX_LOADFONT || BUSYBOX_SETFONT
+config BUSYBOX_FEATURE_LOADFONT_PSF2
+ bool "Support PSF2 console fonts"
+ default y
+ depends on BUSYBOX_LOADFONT || BUSYBOX_SETFONT
+
+config BUSYBOX_FEATURE_LOADFONT_RAW
+ bool "Support old (raw) console fonts"
+ default y
+ depends on BUSYBOX_LOADFONT || BUSYBOX_SETFONT
+config BUSYBOX_LOADKMAP
+ bool "loadkmap (1.8 kb)"
+ default y
+ help
+ This program loads a keyboard translation table from
+ standard input.
+config BUSYBOX_OPENVT
+ bool "openvt (7.2 kb)"
+ default y
+ help
+ This program is used to start a command on an unused
+ virtual terminal.
+config BUSYBOX_RESET
+ bool "reset (345 bytes)"
+ default y
+ help
+ This program is used to reset the terminal screen, if it
+ gets messed up.
config BUSYBOX_RESIZE
- bool "resize"
- default n
+ bool "resize (903 bytes)"
+ default y
help
- This program is used to (re)set the width and height of your current
- terminal.
+ This program is used to (re)set the width and height of your current
+ terminal.
config BUSYBOX_FEATURE_RESIZE_PRINT
bool "Print environment variables"
default y
depends on BUSYBOX_RESIZE
help
- Prints the newly set size (number of columns and rows) of
- the terminal.
- E.g.:
- COLUMNS=80;LINES=44;export COLUMNS LINES;
-
+ Prints the newly set size (number of columns and rows) of
+ the terminal.
+ E.g.:
+ COLUMNS=80;LINES=44;export COLUMNS LINES;
config BUSYBOX_SETCONSOLE
- bool "setconsole"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "setconsole (3.6 kb)"
+ default y
help
- This program redirects the system console to another device,
- like the current tty while logged in via telnet.
+ Redirect writes to /dev/console to another device,
+ like the current tty while logged in via telnet.
+ This does not redirect kernel log, only writes
+ from user space.
config BUSYBOX_FEATURE_SETCONSOLE_LONG_OPTIONS
bool "Enable long options"
default y
depends on BUSYBOX_SETCONSOLE && BUSYBOX_LONG_OPTS
- help
- Support long options for the setconsole applet.
-
-config BUSYBOX_SETFONT
- bool "setfont"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Allows to load console screen map. Useful for i18n.
-
-config BUSYBOX_FEATURE_SETFONT_TEXTUAL_MAP
- bool "Support reading textual screen maps"
- default y
- depends on BUSYBOX_SETFONT
- help
- Support reading textual screen maps.
-
-config BUSYBOX_DEFAULT_SETFONT_DIR
- string "Default directory for console-tools files"
- default ""
- depends on BUSYBOX_SETFONT
- help
- Directory to use if setfont's params are simple filenames
- (not /path/to/file or ./file). Default is "" (no default directory).
-
config BUSYBOX_SETKEYCODES
- bool "setkeycodes"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "setkeycodes (2.1 kb)"
+ default y
help
- This program loads entries into the kernel's scancode-to-keycode
- map, allowing unusual keyboards to generate usable keycodes.
-
+ This program loads entries into the kernel's scancode-to-keycode
+ map, allowing unusual keyboards to generate usable keycodes.
config BUSYBOX_SETLOGCONS
- bool "setlogcons"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- This program redirects the output console of kernel messages.
-
-config BUSYBOX_SHOWKEY
- bool "showkey"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Shows keys pressed.
-
-comment "Common options for loadfont and setfont"
- depends on BUSYBOX_LOADFONT || BUSYBOX_SETFONT
-
-config BUSYBOX_FEATURE_LOADFONT_PSF2
- bool "Support for PSF2 console fonts"
+ bool "setlogcons (1.8 kb)"
default y
- depends on BUSYBOX_LOADFONT || BUSYBOX_SETFONT
help
- Support PSF2 console fonts.
-
-config BUSYBOX_FEATURE_LOADFONT_RAW
- bool "Support for old (raw) console fonts"
+ This program redirects the output console of kernel messages.
+config BUSYBOX_SHOWKEY
+ bool "showkey (4.7 kb)"
default y
- depends on BUSYBOX_LOADFONT || BUSYBOX_SETFONT
help
- Support old (raw) console fonts.
+ Shows keys pressed.
endmenu
diff --git a/package/busybox/config/coreutils/Config.in b/package/busybox/config/coreutils/Config.in
index 60bc5b0e7..00d646599 100644
--- a/package/busybox/config/coreutils/Config.in
+++ b/package/busybox/config/coreutils/Config.in
@@ -1,549 +1,428 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
#
menu "Coreutils"
-config BUSYBOX_BASENAME
- bool "basename"
- default y
- help
- basename is used to strip the directory and suffix from filenames,
- leaving just the filename itself. Enable this option if you wish
- to enable the 'basename' utility.
-
-config BUSYBOX_CAT
- bool "cat"
+config BUSYBOX_FEATURE_VERBOSE
+ bool "Support verbose options (usually -v) for various applets"
default y
help
- cat is used to concatenate files and print them to the standard
- output. Enable this option if you wish to enable the 'cat' utility.
+ Enable cp -v, rm -v and similar messages.
+ Also enables long option (--verbose) if it exists.
+ Without this option, -v is accepted but ignored.
-config BUSYBOX_FEATURE_CATN
- bool "Enable -n and -b options"
- default n
- depends on BUSYBOX_CAT
- help
- -n numbers all output lines while -b numbers nonempty output lines.
-
-config BUSYBOX_FEATURE_CATV
- bool "cat -v[etA]"
- default y
- depends on BUSYBOX_CAT
- help
- Display nonprinting characters as escape sequences
+comment "Common options for date and touch"
-config BUSYBOX_DATE
- bool "date"
+config BUSYBOX_FEATURE_TIMEZONE
+ bool "Allow timezone in dates"
default y
+ depends on BUSYBOX_DESKTOP
help
- date is used to set the system date or display the
- current time in the given format.
-
-config BUSYBOX_FEATURE_DATE_ISOFMT
- bool "Enable ISO date format output (-I)"
- default n
- depends on BUSYBOX_DATE
- help
- Enable option (-I) to output an ISO-8601 compliant
- date/time string.
+ Permit the use of timezones when parsing user-provided data
+ strings, e.g. '1996-04-09 12:45:00 -0500'.
-# defaults to "no": stat's nanosecond field is a bit non-portable
-config BUSYBOX_FEATURE_DATE_NANO
- bool "Support %[num]N nanosecond format specifier"
- default n
- depends on BUSYBOX_DATE # syscall(__NR_clock_gettime)
- select BUSYBOX_PLATFORM_LINUX
- help
- Support %[num]N format specifier. Adds ~250 bytes of code.
+ This requires support for the '%z' extension to strptime() which
+ may not be available in all implementations.
-config BUSYBOX_FEATURE_DATE_COMPAT
- bool "Support weird 'date MMDDhhmm[[YY]YY][.ss]' format"
- default n
- depends on BUSYBOX_DATE
- help
- System time can be set by 'date -s DATE' and simply 'date DATE',
- but formats of DATE string are different. 'date DATE' accepts
- a rather weird MMDDhhmm[[YY]YY][.ss] format with completely
- unnatural placement of year between minutes and seconds.
- date -s (and other commands like touch -d) use more sensible
- formats (for one, ISO format YYYY-MM-DD hh:mm:ss.ssssss).
-
- With this option off, 'date DATE' is 'date -s DATE' support
- the same format. With it on, 'date DATE' additionally supports
- MMDDhhmm[[YY]YY][.ss] format.
-
-config BUSYBOX_HOSTID
- bool "hostid"
- default n
- help
- hostid prints the numeric identifier (in hexadecimal) for
- the current host.
-
-config BUSYBOX_ID
- bool "id"
- default y
- help
- id displays the current user and group ID names.
-
-config BUSYBOX_GROUPS
- bool "groups"
- default n
- help
- Print the group names associated with current user id.
-
-config BUSYBOX_SHUF
- bool "shuf"
- default n
- help
- Generate random permutations
+comment "Common options for cp and mv"
+ depends on BUSYBOX_CP || BUSYBOX_MV
-config BUSYBOX_TEST
- bool "test"
+config BUSYBOX_FEATURE_PRESERVE_HARDLINKS
+ bool "Preserve hard links"
default y
+ depends on BUSYBOX_CP || BUSYBOX_MV
help
- test is used to check file types and compare values,
- returning an appropriate exit code. The bash shell
- has test built in, ash can build it in optionally.
+ Allow cp and mv to preserve hard links.
-config BUSYBOX_TEST1
- bool "test as ["
- default y
- help
- Provide test command in the "[ EXPR ]" form
+comment "Common options for df, du, ls"
+ depends on BUSYBOX_DF || BUSYBOX_DU || BUSYBOX_LS
-config BUSYBOX_TEST2
- bool "test as [["
+config BUSYBOX_FEATURE_HUMAN_READABLE
+ bool "Support human readable output (example 13k, 23M, 235G)"
default y
+ depends on BUSYBOX_DF || BUSYBOX_DU || BUSYBOX_LS
help
- Provide test command in the "[[ EXPR ]]" form
+ Allow df, du, and ls to have human readable output.
-config BUSYBOX_FEATURE_TEST_64
- bool "Extend test to 64 bit"
+config BUSYBOX_BASENAME
+ bool "basename (438 bytes)"
default y
- depends on BUSYBOX_TEST || BUSYBOX_ASH_BUILTIN_TEST || BUSYBOX_HUSH
help
- Enable 64-bit support in test.
-
-config BUSYBOX_TOUCH
- bool "touch"
+ basename is used to strip the directory and suffix from filenames,
+ leaving just the filename itself. Enable this option if you wish
+ to enable the 'basename' utility.
+config BUSYBOX_CAT
+ bool "cat (5.6 kb)"
default y
help
- touch is used to create or change the access and/or
- modification timestamp of specified files.
+ cat is used to concatenate files and print them to the standard
+ output. Enable this option if you wish to enable the 'cat' utility.
-config BUSYBOX_FEATURE_TOUCH_NODEREF
- bool "Add support for -h"
- default n
- depends on BUSYBOX_TOUCH
- help
- Enable touch to have the -h option.
- This requires libc support for lutimes() function.
-
-config BUSYBOX_FEATURE_TOUCH_SUSV3
- bool "Add support for SUSV3 features (-d -t -r)"
- default n
- depends on BUSYBOX_TOUCH
- help
- Enable touch to use a reference file or a given date/time argument.
-
-config BUSYBOX_TR
- bool "tr"
- default n
- help
- tr is used to squeeze, and/or delete characters from standard
- input, writing to standard output.
-
-config BUSYBOX_FEATURE_TR_CLASSES
- bool "Enable character classes (such as [:upper:])"
+config BUSYBOX_FEATURE_CATN
+ bool "Enable -n and -b options"
default y
- depends on BUSYBOX_TR
+ depends on BUSYBOX_CAT
help
- Enable character classes, enabling commands such as:
- tr [:upper:] [:lower:] to convert input into lowercase.
+ -n numbers all output lines while -b numbers nonempty output lines.
-config BUSYBOX_FEATURE_TR_EQUIV
- bool "Enable equivalence classes"
+config BUSYBOX_FEATURE_CATV
+ bool "cat -v[etA]"
default y
- depends on BUSYBOX_TR
- help
- Enable equivalence classes, which essentially add the enclosed
- character to the current set. For instance, tr [=a=] xyz would
- replace all instances of 'a' with 'xyz'. This option is mainly
- useful for cases when no other way of expressing a character
- is possible.
-
-config BUSYBOX_TRUNCATE
- bool "truncate"
- default n
- help
- truncate truncates files to a given size. If a file does
- not exist, it is created unless told otherwise.
-
-config BUSYBOX_UNLINK
- bool "unlink"
- default n
- help
- unlink deletes a file by calling unlink()
-
-config BUSYBOX_BASE64
- bool "base64"
- default n
- help
- Base64 encode and decode
-
-config BUSYBOX_WHO
- bool "who"
- default n
- depends on BUSYBOX_FEATURE_UTMP
- help
- who is used to show who is logged on.
-
-config BUSYBOX_USERS
- bool "users"
- default n
- depends on BUSYBOX_FEATURE_UTMP
- help
- Print users currently logged on.
-
-config BUSYBOX_CAL
- bool "cal"
- default n
- help
- cal is used to display a monthly calender.
-
-config BUSYBOX_CATV
- bool "catv"
- default n
+ depends on BUSYBOX_CAT
help
- Display nonprinting characters as escape sequences (like some
- implementations' cat -v option).
-
+ Display nonprinting characters as escape sequences
config BUSYBOX_CHGRP
- bool "chgrp"
+ bool "chgrp (7.6 kb)"
default y
help
- chgrp is used to change the group ownership of files.
-
+ chgrp is used to change the group ownership of files.
config BUSYBOX_CHMOD
- bool "chmod"
+ bool "chmod (5.5 kb)"
default y
help
- chmod is used to change the access permission of files.
-
+ chmod is used to change the access permission of files.
config BUSYBOX_CHOWN
- bool "chown"
+ bool "chown (7.6 kb)"
default y
help
- chown is used to change the user and/or group ownership
- of files.
+ chown is used to change the user and/or group ownership
+ of files.
config BUSYBOX_FEATURE_CHOWN_LONG_OPTIONS
bool "Enable long options"
- default n
+ default y
depends on BUSYBOX_CHOWN && BUSYBOX_LONG_OPTS
- help
- Enable use of long options
-
config BUSYBOX_CHROOT
- bool "chroot"
+ bool "chroot (3.7 kb)"
default y
help
- chroot is used to change the root directory and run a command.
- The default command is `/bin/sh'.
-
+ chroot is used to change the root directory and run a command.
+ The default command is '/bin/sh'.
config BUSYBOX_CKSUM
- bool "cksum"
- default n
- help
- cksum is used to calculate the CRC32 checksum of a file.
+ bool "cksum (4.1 kb)"
+ default y
+config BUSYBOX_CRC32
+ bool "crc32 (4.1 kb)"
+ default y
config BUSYBOX_COMM
- bool "comm"
- default n
+ bool "comm (4.2 kb)"
+ default y
help
- comm is used to compare two files line by line and return
- a three-column output.
-
+ comm is used to compare two files line by line and return
+ a three-column output.
config BUSYBOX_CP
- bool "cp"
+ bool "cp (10 kb)"
default y
help
- cp is used to copy files and directories.
+ cp is used to copy files and directories.
config BUSYBOX_FEATURE_CP_LONG_OPTIONS
- bool "Enable long options for cp"
- default n
+ bool "Enable long options"
+ default y
depends on BUSYBOX_CP && BUSYBOX_LONG_OPTS
help
- Enable long options for cp.
- Also add support for --parents option.
+ Enable long options.
+ Also add support for --parents option.
+config BUSYBOX_FEATURE_CP_REFLINK
+ bool "Enable --reflink[=auto]"
+ default y
+ depends on BUSYBOX_FEATURE_CP_LONG_OPTIONS
config BUSYBOX_CUT
- bool "cut"
+ bool "cut (5.8 kb)"
+ default y
+ help
+ cut is used to print selected parts of lines from
+ each file to stdout.
+
+config BUSYBOX_FEATURE_CUT_REGEX
+ bool "cut -F"
+ default y
+ depends on BUSYBOX_CUT
+ help
+ Allow regex based delimiters.
+config BUSYBOX_DATE
+ bool "date (7 kb)"
default y
help
- cut is used to print selected parts of lines from
- each file to stdout.
+ date is used to set the system date or display the
+ current time in the given format.
+config BUSYBOX_FEATURE_DATE_ISOFMT
+ bool "Enable ISO date format output (-I)"
+ default y
+ depends on BUSYBOX_DATE
+ help
+ Enable option (-I) to output an ISO-8601 compliant
+ date/time string.
+
+config BUSYBOX_FEATURE_DATE_NANO
+ bool "Support %[num]N nanosecond format specifier"
+ default n # stat's nanosecond field is a bit non-portable
+ depends on BUSYBOX_DATE
+ help
+ Support %[num]N format specifier. Adds ~250 bytes of code.
+
+config BUSYBOX_FEATURE_DATE_COMPAT
+ bool "Support weird 'date MMDDhhmm[[YY]YY][.ss]' format"
+ default y
+ depends on BUSYBOX_DATE
+ help
+ System time can be set by 'date -s DATE' and simply 'date DATE',
+ but formats of DATE string are different. 'date DATE' accepts
+ a rather weird MMDDhhmm[[YY]YY][.ss] format with completely
+ unnatural placement of year between minutes and seconds.
+ date -s (and other commands like touch -d) use more sensible
+ formats (for one, ISO format YYYY-MM-DD hh:mm:ss.ssssss).
+
+ With this option off, 'date DATE' and 'date -s DATE' support
+ the same format. With it on, 'date DATE' additionally supports
+ MMDDhhmm[[YY]YY][.ss] format.
config BUSYBOX_DD
- bool "dd"
+ bool "dd (7.5 kb)"
default y
help
- dd copies a file (from standard input to standard output,
- by default) using specific input and output blocksizes,
- while optionally performing conversions on it.
+ dd copies a file (from standard input to standard output,
+ by default) using specific input and output blocksizes,
+ while optionally performing conversions on it.
config BUSYBOX_FEATURE_DD_SIGNAL_HANDLING
- bool "Enable DD signal handling for status reporting"
- default n
+ bool "Enable signal handling for status reporting"
+ default y
depends on BUSYBOX_DD
help
- Sending a SIGUSR1 signal to a running `dd' process makes it
- print to standard error the number of records read and written
- so far, then to resume copying.
+ Sending a SIGUSR1 signal to a running 'dd' process makes it
+ print to standard error the number of records read and written
+ so far, then to resume copying.
- $ dd if=/dev/zero of=/dev/null&
- $ pid=$! kill -USR1 $pid; sleep 1; kill $pid
- 10899206+0 records in
- 10899206+0 records out
+ $ dd if=/dev/zero of=/dev/null &
+ $ pid=$!; kill -USR1 $pid; sleep 1; kill $pid
+ 10899206+0 records in
+ 10899206+0 records out
config BUSYBOX_FEATURE_DD_THIRD_STATUS_LINE
bool "Enable the third status line upon signal"
- default n
+ default y
depends on BUSYBOX_DD && BUSYBOX_FEATURE_DD_SIGNAL_HANDLING
help
- Displays a coreutils-like third status line with transferred bytes,
- elapsed time and speed.
+ Displays a coreutils-like third status line with transferred bytes,
+ elapsed time and speed.
config BUSYBOX_FEATURE_DD_IBS_OBS
- bool "Enable ibs, obs and conv options"
+ bool "Enable ibs, obs, iflag, oflag and conv options"
default y
depends on BUSYBOX_DD
help
- Enables support for writing a certain number of bytes in and out,
- at a time, and performing conversions on the data stream.
+ Enable support for writing a certain number of bytes in and out,
+ at a time, and performing conversions on the data stream.
config BUSYBOX_FEATURE_DD_STATUS
bool "Enable status display options"
- default n
+ default y
depends on BUSYBOX_DD
help
- Enables support for status=noxfer/none option.
-
+ Enable support for status=noxfer/none option.
config BUSYBOX_DF
- bool "df"
+ bool "df (6.8 kb)"
default y
help
- df reports the amount of disk space used and available
- on filesystems.
+ df reports the amount of disk space used and available
+ on filesystems.
config BUSYBOX_FEATURE_DF_FANCY
bool "Enable -a, -i, -B"
- default n
+ default y
depends on BUSYBOX_DF
help
- This option enables -a, -i and -B.
+ -a Show all filesystems
+ -i Inodes
+ -B <SIZE> Blocksize
- -a Show all filesystems
- -i Inodes
- -B <SIZE> Blocksize
+config BUSYBOX_FEATURE_SKIP_ROOTFS
+ bool "Skip rootfs in mount table"
+ default y
+ depends on BUSYBOX_DF
+ help
+ Ignore rootfs entry in mount table.
+ In Linux, kernel has a special filesystem, rootfs, which is initially
+ mounted on /. It contains initramfs data, if kernel is configured
+ to have one. Usually, another file system is mounted over / early
+ in boot process, and therefore most tools which manipulate
+ mount table, such as df, will skip rootfs entry.
+
+ However, some systems do not mount anything on /.
+ If you need to configure busybox for one of these systems,
+ you may find it useful to turn this option off to make df show
+ initramfs statistics.
+
+ Otherwise, choose Y.
config BUSYBOX_DIRNAME
- bool "dirname"
+ bool "dirname (329 bytes)"
default y
help
- dirname is used to strip a non-directory suffix from
- a file name.
-
+ dirname is used to strip a non-directory suffix from
+ a file name.
config BUSYBOX_DOS2UNIX
- bool "dos2unix"
- default n
+ bool "dos2unix (5.2 kb)"
+ default y
help
- dos2unix is used to convert a text file from DOS format to
- UNIX format, and vice versa.
+ dos2unix is used to convert a text file from DOS format to
+ UNIX format, and vice versa.
config BUSYBOX_UNIX2DOS
- bool "unix2dos"
- default n
+ bool "unix2dos (5.2 kb)"
+ default y
help
- unix2dos is used to convert a text file from UNIX format to
- DOS format, and vice versa.
-
+ unix2dos is used to convert a text file from UNIX format to
+ DOS format, and vice versa.
config BUSYBOX_DU
- bool "du (default blocksize of 512 bytes)"
+ bool "du (6.3 kb)"
default y
help
- du is used to report the amount of disk space used
- for specified files.
+ du is used to report the amount of disk space used
+ for specified files.
config BUSYBOX_FEATURE_DU_DEFAULT_BLOCKSIZE_1K
- bool "Use a default blocksize of 1024 bytes (1K)"
+ bool "Use default blocksize of 1024 bytes (else it's 512 bytes)"
default y
depends on BUSYBOX_DU
- help
- Use a blocksize of (1K) instead of the default 512b.
-
config BUSYBOX_ECHO
- bool "echo (basic SuSv3 version taking no options)"
+ bool "echo (1.8 kb)"
default y
help
- echo is used to print a specified string to stdout.
+ echo prints a specified string to stdout.
# this entry also appears in shell/Config.in, next to the echo builtin
config BUSYBOX_FEATURE_FANCY_ECHO
- bool "Enable echo options (-n and -e)"
+ bool "Enable -n and -e options"
default y
- depends on BUSYBOX_ECHO || BUSYBOX_ASH_BUILTIN_ECHO || BUSYBOX_HUSH
- help
- This adds options (-n and -e) to echo.
-
+ depends on BUSYBOX_ECHO || BUSYBOX_ASH_ECHO || BUSYBOX_HUSH_ECHO
config BUSYBOX_ENV
- bool "env"
+ bool "env (4 kb)"
default y
help
- env is used to set an environment variable and run
- a command; without options it displays the current
- environment.
-
-config BUSYBOX_FEATURE_ENV_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_ENV && BUSYBOX_LONG_OPTS
- help
- Support long options for the env applet.
-
+ env is used to set an environment variable and run
+ a command; without options it displays the current
+ environment.
config BUSYBOX_EXPAND
- bool "expand"
- default n
+ bool "expand (5.1 kb)"
+ default y
help
- By default, convert all tabs to spaces.
+ By default, convert all tabs to spaces.
-config BUSYBOX_FEATURE_EXPAND_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_EXPAND && BUSYBOX_LONG_OPTS
+config BUSYBOX_UNEXPAND
+ bool "unexpand (5.3 kb)"
+ default y
help
- Support long options for the expand applet.
-
+ By default, convert only leading sequences of blanks to tabs.
config BUSYBOX_EXPR
- bool "expr"
- default n
+ bool "expr (6.6 kb)"
+ default y
help
- expr is used to calculate numbers and print the result
- to standard output.
+ expr is used to calculate numbers and print the result
+ to standard output.
config BUSYBOX_EXPR_MATH_SUPPORT_64
bool "Extend Posix numbers support to 64 bit"
default y
depends on BUSYBOX_EXPR
help
- Enable 64-bit math support in the expr applet. This will make
- the applet slightly larger, but will allow computation with very
- large numbers.
-
+ Enable 64-bit math support in the expr applet. This will make
+ the applet slightly larger, but will allow computation with very
+ large numbers.
config BUSYBOX_FACTOR
bool "factor (2.7 kb)"
- default n
+ default y
help
factor factorizes integers
-
config BUSYBOX_FALSE
- bool "false"
- default n
+ bool "false (tiny)"
+ default y
help
- false returns an exit code of FALSE (1).
-
+ false returns an exit code of FALSE (1).
config BUSYBOX_FOLD
- bool "fold"
- default n
- help
- Wrap text to fit a specific width.
-
-config BUSYBOX_FSYNC
- bool "fsync"
- default n
+ bool "fold (4.6 kb)"
+ default y
help
- fsync is used to flush file-related cached blocks to disk.
-
+ Wrap text to fit a specific width.
config BUSYBOX_HEAD
- bool "head"
+ bool "head (3.8 kb)"
default y
help
- head is used to print the first specified number of lines
- from files.
+ head is used to print the first specified number of lines
+ from files.
config BUSYBOX_FEATURE_FANCY_HEAD
- bool "Enable head options (-c, -q, and -v)"
- default n
+ bool "Enable -c, -q, and -v"
+ default y
depends on BUSYBOX_HEAD
+config BUSYBOX_HOSTID
+ bool "hostid (286 bytes)"
+ default y
+ help
+ hostid prints the numeric identifier (in hexadecimal) for
+ the current host.
+config BUSYBOX_ID
+ bool "id (7 kb)"
+ default y
help
- This enables the head options (-c, -q, and -v).
+ id displays the current user and group ID names.
+config BUSYBOX_GROUPS
+ bool "groups (6.7 kb)"
+ default y
+ help
+ Print the group names associated with current user id.
config BUSYBOX_INSTALL
- bool "install"
- default n
+ bool "install (12 kb)"
+ default y
help
- Copy files and set attributes.
+ Copy files and set attributes.
config BUSYBOX_FEATURE_INSTALL_LONG_OPTIONS
bool "Enable long options"
- default n
+ default y
depends on BUSYBOX_INSTALL && BUSYBOX_LONG_OPTS
- help
- Support long options for the install applet.
-
-####config LENGTH
-#### bool "length"
-#### default y
-#### help
-#### length is used to print out the length of a specified string.
config BUSYBOX_LINK
bool "link (3.2 kb)"
- default n
+ default y
help
link creates hard links between files.
-
config BUSYBOX_LN
- bool "ln"
+ bool "ln (4.9 kb)"
default y
help
- ln is used to create hard or soft links between files.
-
+ ln is used to create hard or soft links between files.
config BUSYBOX_LOGNAME
- bool "logname"
- default n
+ bool "logname (1.1 kb)"
+ default y
help
- logname is used to print the current user's login name.
-
+ logname is used to print the current user's login name.
config BUSYBOX_LS
- bool "ls"
+ bool "ls (14 kb)"
default y
help
- ls is used to list the contents of directories.
+ ls is used to list the contents of directories.
config BUSYBOX_FEATURE_LS_FILETYPES
bool "Enable filetyping options (-p and -F)"
- default n
+ default y
depends on BUSYBOX_LS
- help
- Enable the ls options (-p and -F).
config BUSYBOX_FEATURE_LS_FOLLOWLINKS
bool "Enable symlinks dereferencing (-L)"
- default n
+ default y
depends on BUSYBOX_LS
- help
- Enable the ls option (-L).
config BUSYBOX_FEATURE_LS_RECURSIVE
bool "Enable recursion (-R)"
default y
depends on BUSYBOX_LS
- help
- Enable the ls option (-R).
config BUSYBOX_FEATURE_LS_WIDTH
bool "Enable -w WIDTH and window size autodetection"
@@ -555,264 +434,235 @@ config BUSYBOX_FEATURE_LS_SORTFILES
default y
depends on BUSYBOX_LS
help
- Allow ls to sort file names alphabetically.
+ Allow ls to sort file names alphabetically.
config BUSYBOX_FEATURE_LS_TIMESTAMPS
bool "Show file timestamps"
default y
depends on BUSYBOX_LS
help
- Allow ls to display timestamps for files.
+ Allow ls to display timestamps for files.
config BUSYBOX_FEATURE_LS_USERNAME
bool "Show username/groupnames"
default y
depends on BUSYBOX_LS
help
- Allow ls to display username/groupname for files.
+ Allow ls to display username/groupname for files.
config BUSYBOX_FEATURE_LS_COLOR
bool "Allow use of color to identify file types"
- default n
+ default y
depends on BUSYBOX_LS && BUSYBOX_LONG_OPTS
help
- This enables the --color option to ls.
+ This enables the --color option to ls.
config BUSYBOX_FEATURE_LS_COLOR_IS_DEFAULT
bool "Produce colored ls output by default"
- default n
+ default y
depends on BUSYBOX_FEATURE_LS_COLOR
help
- Saying yes here will turn coloring on by default,
- even if no "--color" option is given to the ls command.
- This is not recommended, since the colors are not
- configurable, and the output may not be legible on
- many output screens.
-
+ Saying yes here will turn coloring on by default,
+ even if no "--color" option is given to the ls command.
+ This is not recommended, since the colors are not
+ configurable, and the output may not be legible on
+ many output screens.
config BUSYBOX_MD5SUM
- bool "md5sum"
- default n
+ bool "md5sum (6.5 kb)"
+ default y
help
- md5sum is used to print or check MD5 checksums.
+ Compute and check MD5 message digest
-config BUSYBOX_MKDIR
- bool "mkdir"
+config BUSYBOX_SHA1SUM
+ bool "sha1sum (5.9 kb)"
default y
help
- mkdir is used to create directories with the specified names.
+ Compute and check SHA1 message digest
-config BUSYBOX_FEATURE_MKDIR_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_MKDIR && BUSYBOX_LONG_OPTS
+config BUSYBOX_SHA256SUM
+ bool "sha256sum (7 kb)"
+ default y
help
- Support long options for the mkdir applet.
+ Compute and check SHA256 message digest
-config BUSYBOX_MKFIFO
- bool "mkfifo"
- default n
+config BUSYBOX_SHA512SUM
+ bool "sha512sum (7.4 kb)"
+ default y
help
- mkfifo is used to create FIFOs (named pipes).
- The `mknod' program can also create FIFOs.
+ Compute and check SHA512 message digest
-config BUSYBOX_MKNOD
- bool "mknod"
- default n
+config BUSYBOX_SHA3SUM
+ bool "sha3sum (6.1 kb)"
+ default y
help
- mknod is used to create FIFOs or block/character special
- files with the specified names.
+ Compute and check SHA3 message digest
-config BUSYBOX_MV
- bool "mv"
+comment "Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum"
+ depends on BUSYBOX_MD5SUM || BUSYBOX_SHA1SUM || BUSYBOX_SHA256SUM || BUSYBOX_SHA512SUM || BUSYBOX_SHA3SUM
+
+config BUSYBOX_FEATURE_MD5_SHA1_SUM_CHECK
+ bool "Enable -c, -s and -w options"
default y
+ depends on BUSYBOX_MD5SUM || BUSYBOX_SHA1SUM || BUSYBOX_SHA256SUM || BUSYBOX_SHA512SUM || BUSYBOX_SHA3SUM
help
- mv is used to move or rename files or directories.
-
-config BUSYBOX_FEATURE_MV_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_MV && BUSYBOX_LONG_OPTS
+ Enabling the -c options allows files to be checked
+ against pre-calculated hash values.
+ -s and -w are useful options when verifying checksums.
+config BUSYBOX_MKDIR
+ bool "mkdir (4.5 kb)"
+ default y
help
- Support long options for the mv applet.
-
+ mkdir is used to create directories with the specified names.
+config BUSYBOX_MKFIFO
+ bool "mkfifo (3.8 kb)"
+ default y
+ help
+ mkfifo is used to create FIFOs (named pipes).
+ The 'mknod' program can also create FIFOs.
+config BUSYBOX_MKNOD
+ bool "mknod (4.5 kb)"
+ default y
+ help
+ mknod is used to create FIFOs or block/character special
+ files with the specified names.
+config BUSYBOX_MKTEMP
+ bool "mktemp (4.2 kb)"
+ default y
+ help
+ mktemp is used to create unique temporary files
+config BUSYBOX_MV
+ bool "mv (10 kb)"
+ default y
+ help
+ mv is used to move or rename files or directories.
config BUSYBOX_NICE
- bool "nice"
- default n
+ bool "nice (2.1 kb)"
+ default y
help
- nice runs a program with modified scheduling priority.
-
+ nice runs a program with modified scheduling priority.
config BUSYBOX_NL
bool "nl (4.6 kb)"
- default n
+ default y
help
nl is used to number lines of files.
-
config BUSYBOX_NOHUP
- bool "nohup"
- default n
+ bool "nohup (2 kb)"
+ default y
help
- run a command immune to hangups, with output to a non-tty.
-
+ run a command immune to hangups, with output to a non-tty.
config BUSYBOX_NPROC
bool "nproc (3.7 kb)"
- default n
+ default y
help
Print number of CPUs
-
config BUSYBOX_OD
- bool "od"
- default n
+ bool "od (11 kb)"
+ default y
help
- od is used to dump binary files in octal and other formats.
-
+ od is used to dump binary files in octal and other formats.
config BUSYBOX_PASTE
bool "paste (4.9 kb)"
- default n
+ default y
help
paste is used to paste lines of different files together
and write the result to stdout
-
config BUSYBOX_PRINTENV
- bool "printenv"
- default n
+ bool "printenv (1.3 kb)"
+ default y
help
- printenv is used to print all or part of environment.
-
+ printenv is used to print all or part of environment.
config BUSYBOX_PRINTF
- bool "printf"
+ bool "printf (3.8 kb)"
default y
help
- printf is used to format and print specified strings.
- It's similar to `echo' except it has more options.
-
+ printf is used to format and print specified strings.
+ It's similar to 'echo' except it has more options.
config BUSYBOX_PWD
- bool "pwd"
+ bool "pwd (3.7 kb)"
default y
help
- pwd is used to print the current directory.
-
+ pwd is used to print the current directory.
config BUSYBOX_READLINK
- bool "readlink"
- default n
+ bool "readlink (4 kb)"
+ default y
help
- This program reads a symbolic link and returns the name
- of the file it points to
+ This program reads a symbolic link and returns the name
+ of the file it points to
config BUSYBOX_FEATURE_READLINK_FOLLOW
bool "Enable canonicalization by following all symlinks (-f)"
- default n
+ default y
depends on BUSYBOX_READLINK
help
- Enable the readlink option (-f).
-
+ Enable the readlink option (-f).
config BUSYBOX_REALPATH
- bool "realpath"
- default n
+ bool "realpath (1.6 kb)"
+ default y
help
- Return the canonicalized absolute pathname.
- This isn't provided by GNU shellutils, but where else does it belong.
-
+ Return the canonicalized absolute pathname.
+ This isn't provided by GNU shellutils, but where else does it belong.
config BUSYBOX_RM
- bool "rm"
+ bool "rm (5.4 kb)"
default y
help
- rm is used to remove files or directories.
-
+ rm is used to remove files or directories.
config BUSYBOX_RMDIR
- bool "rmdir"
- default n
- help
- rmdir is used to remove empty directories.
-
-config BUSYBOX_FEATURE_RMDIR_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_RMDIR && BUSYBOX_LONG_OPTS
+ bool "rmdir (3.5 kb)"
+ default y
help
- Support long options for the rmdir applet, including
- --ignore-fail-on-non-empty for compatibility with GNU rmdir.
-
+ rmdir is used to remove empty directories.
config BUSYBOX_SEQ
- bool "seq"
- default n
+ bool "seq (3.8 kb)"
+ default y
help
- print a sequence of numbers
-
+ print a sequence of numbers
config BUSYBOX_SHRED
bool "shred (4.9 kb)"
- default n
+ default y
help
Overwrite a file to hide its contents, and optionally delete it
-
-config BUSYBOX_SHA1SUM
- bool "sha1sum"
- default n
- help
- Compute and check SHA1 message digest
-
-config BUSYBOX_SHA256SUM
- bool "sha256sum"
- default n
- help
- Compute and check SHA256 message digest
-
-config BUSYBOX_SHA512SUM
- bool "sha512sum"
- default n
+config BUSYBOX_SHUF
+ bool "shuf (5.4 kb)"
+ default y
help
- Compute and check SHA512 message digest
-
-config BUSYBOX_SHA3SUM
- bool "sha3sum"
- default n
- help
- Compute and check SHA3 (512-bit) message digest
-
+ Generate random permutations
config BUSYBOX_SLEEP
- bool "sleep"
- default n
- help
- sleep is used to pause for a specified number of seconds.
- It comes in 3 versions:
- - small: takes one integer parameter
- - fancy: takes multiple integer arguments with suffixes:
- sleep 1d 2h 3m 15s
- - fancy with fractional numbers:
- sleep 2.3s 4.5h sleeps for 16202.3 seconds
- Last one is "the most compatible" with coreutils sleep,
- but it adds around 1k of code.
+ bool "sleep (2 kb)"
+ default y
+ help
+ sleep is used to pause for a specified number of seconds.
+ It comes in 3 versions:
+ - small: takes one integer parameter
+ - fancy: takes multiple integer arguments with suffixes:
+ sleep 1d 2h 3m 15s
+ - fancy with fractional numbers:
+ sleep 2.3s 4.5h sleeps for 16202.3 seconds
+ Last one is "the most compatible" with coreutils sleep,
+ but it adds around 1k of code.
config BUSYBOX_FEATURE_FANCY_SLEEP
bool "Enable multiple arguments and s/m/h/d suffixes"
- default n
- depends on BUSYBOX_SLEEP
- help
- Allow sleep to pause for specified minutes, hours, and days.
-
-config BUSYBOX_FEATURE_FLOAT_SLEEP
- bool "Enable fractional arguments"
default y
- depends on BUSYBOX_FEATURE_FANCY_SLEEP
+ depends on BUSYBOX_SLEEP
help
- Allow for fractional numeric parameters.
-
+ Allow sleep to pause for specified minutes, hours, and days.
config BUSYBOX_SORT
- bool "sort"
- default n
+ bool "sort (7.7 kb)"
+ default y
help
- sort is used to sort lines of text in specified files.
+ sort is used to sort lines of text in specified files.
config BUSYBOX_FEATURE_SORT_BIG
- bool "Full SuSv3 compliant sort (support -ktcsbdfiozgM)"
+ bool "Full SuSv3 compliant sort (support -ktcbdfioghM)"
default y
depends on BUSYBOX_SORT
help
- Without this, sort only supports -r, -u, and an integer version
- of -n. Selecting this adds sort keys, floating point support, and
- more. This adds a little over 3k to a nonstatic build on x86.
+ Without this, sort only supports -rusz, and an integer version
+ of -n. Selecting this adds sort keys, floating point support, and
+ more. This adds a little over 3k to a nonstatic build on x86.
- The SuSv3 sort standard is available at:
- http://www.opengroup.org/onlinepubs/007904975/utilities/sort.html
+ The SuSv3 sort standard is available at:
+ http://www.opengroup.org/onlinepubs/007904975/utilities/sort.html
config BUSYBOX_FEATURE_SORT_OPTIMIZE_MEMORY
bool "Use less memory (but might be slower)"
@@ -821,265 +671,295 @@ config BUSYBOX_FEATURE_SORT_OPTIMIZE_MEMORY
help
Attempt to use less memory (by storing only one copy
of duplicated lines, and such). Useful if you work on huge files.
-
config BUSYBOX_SPLIT
- bool "split"
- default n
+ bool "split (5 kb)"
+ default y
help
- split a file into pieces.
+ Split a file into pieces.
config BUSYBOX_FEATURE_SPLIT_FANCY
bool "Fancy extensions"
- default n
+ default y
depends on BUSYBOX_SPLIT
help
- Add support for features not required by SUSv3.
- Supports additional suffixes 'b' for 512 bytes,
- 'g' for 1GiB for the -b option.
-
+ Add support for features not required by SUSv3.
+ Supports additional suffixes 'b' for 512 bytes,
+ 'g' for 1GiB for the -b option.
config BUSYBOX_STAT
- bool "stat"
- default n
- select BUSYBOX_PLATFORM_LINUX # statfs()
+ bool "stat (11 kb)"
+ default y
help
- display file or filesystem status.
+ display file or filesystem status.
config BUSYBOX_FEATURE_STAT_FORMAT
bool "Enable custom formats (-c)"
- default n
+ default y
depends on BUSYBOX_STAT
help
- Without this, stat will not support the '-c format' option where
- users can pass a custom format string for output. This adds about
- 7k to a nonstatic build on amd64.
+ Without this, stat will not support the '-c format' option where
+ users can pass a custom format string for output. This adds about
+ 7k to a nonstatic build on amd64.
config BUSYBOX_FEATURE_STAT_FILESYSTEM
bool "Enable display of filesystem status (-f)"
- default n
+ default y
depends on BUSYBOX_STAT
- select BUSYBOX_PLATFORM_LINUX # statfs()
help
- Without this, stat will not support the '-f' option to display
- information about filesystem status.
-
+ Without this, stat will not support the '-f' option to display
+ information about filesystem status.
config BUSYBOX_STTY
- bool "stty"
- default n
+ bool "stty (8.9 kb)"
+ default y
help
- stty is used to change and print terminal line settings.
-
+ stty is used to change and print terminal line settings.
config BUSYBOX_SUM
- bool "sum"
- default n
+ bool "sum (4 kb)"
+ default y
help
- checksum and count the blocks in a file
-
+ checksum and count the blocks in a file
config BUSYBOX_SYNC
- bool "sync"
- default n
+ bool "sync (3.8 kb)"
+ default y
help
- sync is used to flush filesystem buffers.
-
+ sync is used to flush filesystem buffers.
config BUSYBOX_FEATURE_SYNC_FANCY
- bool "Enable -d and -f flags (requres syncfs(2) in libc)"
- default n
+ bool "Enable -d and -f flags (requires syncfs(2) in libc)"
+ default y
depends on BUSYBOX_SYNC
help
- sync -d FILE... executes fdatasync() on each FILE.
- sync -f FILE... executes syncfs() on each FILE.
-
+ sync -d FILE... executes fdatasync() on each FILE.
+ sync -f FILE... executes syncfs() on each FILE.
+config BUSYBOX_FSYNC
+ bool "fsync (3.6 kb)"
+ default y
+ help
+ fsync is used to flush file-related cached blocks to disk.
config BUSYBOX_TAC
- bool "tac"
- default n
+ bool "tac (3.9 kb)"
+ default y
help
- tac is used to concatenate and print files in reverse.
-
+ tac is used to concatenate and print files in reverse.
config BUSYBOX_TAIL
- bool "tail"
- default n
+ bool "tail (6.8 kb)"
+ default y
help
- tail is used to print the last specified number of lines
- from files.
+ tail is used to print the last specified number of lines
+ from files.
config BUSYBOX_FEATURE_FANCY_TAIL
- bool "Enable extra tail options (-q, -s, -v, and -F)"
- default n
+ bool "Enable -q, -s, -v, and -F options"
+ default y
depends on BUSYBOX_TAIL
help
- The options (-q, -s, and -v) are provided by GNU tail, but
- are not specific in the SUSv3 standard.
-
- -q Never output headers giving file names
- -s SEC Wait SEC seconds between reads with -f
- -v Always output headers giving file names
-
+ These options are provided by GNU tail, but
+ are not specified in the SUSv3 standard:
+ -q Never output headers giving file names
+ -s SEC Wait SEC seconds between reads with -f
+ -v Always output headers giving file names
+ -F Same as -f, but keep retrying
config BUSYBOX_TEE
- bool "tee"
- default n
+ bool "tee (4.2 kb)"
+ default y
help
- tee is used to read from standard input and write
- to standard output and files.
+ tee is used to read from standard input and write
+ to standard output and files.
config BUSYBOX_FEATURE_TEE_USE_BLOCK_IO
bool "Enable block I/O (larger/faster) instead of byte I/O"
default y
depends on BUSYBOX_TEE
help
- Enable this option for a faster tee, at expense of size.
+ Enable this option for a faster tee, at expense of size.
+config BUSYBOX_TEST
+ bool "test (4.1 kb)"
+ default y
+ help
+ test is used to check file types and compare values,
+ returning an appropriate exit code. The bash shell
+ has test built in, ash can build it in optionally.
-config BUSYBOX_TRUE
- bool "true"
- default n
+config BUSYBOX_TEST1
+ bool "test as ["
+ default y
help
- true returns an exit code of TRUE (0).
+ Provide test command in the "[ EXPR ]" form
-config BUSYBOX_TTY
- bool "tty"
- default n
+config BUSYBOX_TEST2
+ bool "test as [["
+ default y
+ help
+ Provide test command in the "[[ EXPR ]]" form
+
+config BUSYBOX_FEATURE_TEST_64
+ bool "Extend test to 64 bit"
+ default y
+ depends on BUSYBOX_TEST || BUSYBOX_TEST1 || BUSYBOX_TEST2 || BUSYBOX_ASH_TEST || BUSYBOX_HUSH_TEST
+ help
+ Enable 64-bit support in test.
+config BUSYBOX_TIMEOUT
+ bool "timeout (6 kb)"
+ default y
help
- tty is used to print the name of the current terminal to
- standard output.
+ Runs a program and watches it. If it does not terminate in
+ specified number of seconds, it is sent a signal.
+config BUSYBOX_TOUCH
+ bool "touch (5.9 kb)"
+ default y
+ help
+ touch is used to create or change the access and/or
+ modification timestamp of specified files.
+
+config BUSYBOX_FEATURE_TOUCH_SUSV3
+ bool "Add support for SUSV3 features (-a -d -m -t -r)"
+ default y
+ depends on BUSYBOX_TOUCH
+ help
+ Enable touch to use a reference file or a given date/time argument.
+config BUSYBOX_TR
+ bool "tr (5.1 kb)"
+ default y
+ help
+ tr is used to squeeze, and/or delete characters from standard
+ input, writing to standard output.
+config BUSYBOX_FEATURE_TR_CLASSES
+ bool "Enable character classes (such as [:upper:])"
+ default y
+ depends on BUSYBOX_TR
+ help
+ Enable character classes, enabling commands such as:
+ tr [:upper:] [:lower:] to convert input into lowercase.
+
+config BUSYBOX_FEATURE_TR_EQUIV
+ bool "Enable equivalence classes"
+ default y
+ depends on BUSYBOX_TR
+ help
+ Enable equivalence classes, which essentially add the enclosed
+ character to the current set. For instance, tr [=a=] xyz would
+ replace all instances of 'a' with 'xyz'. This option is mainly
+ useful for cases when no other way of expressing a character
+ is possible.
+config BUSYBOX_TRUE
+ bool "true (tiny)"
+ default y
+ help
+ true returns an exit code of TRUE (0).
+config BUSYBOX_TRUNCATE
+ bool "truncate (4.2 kb)"
+ default y
+ help
+ truncate truncates files to a given size. If a file does
+ not exist, it is created unless told otherwise.
+config BUSYBOX_TSORT
+ bool "tsort (0.7 kb)"
+ default y
+ help
+ tsort performs a topological sort.
+config BUSYBOX_TTY
+ bool "tty (3.6 kb)"
+ default y
+ help
+ tty is used to print the name of the current terminal to
+ standard output.
config BUSYBOX_UNAME
- bool "uname"
+ bool "uname (3.9 kb)"
default y
help
- uname is used to print system information.
+ uname is used to print system information.
config BUSYBOX_UNAME_OSNAME
string "Operating system name"
default "GNU/Linux"
depends on BUSYBOX_UNAME
help
- Sets the operating system name reported by uname -o. The
- default is "GNU/Linux".
+ Sets the operating system name reported by uname -o. The
+ default is "GNU/Linux".
config BUSYBOX_BB_ARCH
bool "arch (1.1 kb)"
- default n
+ default y
help
Same as uname -m.
-
-config BUSYBOX_UNEXPAND
- bool "unexpand"
- default n
- help
- By default, convert only leading sequences of blanks to tabs.
-
-config BUSYBOX_FEATURE_UNEXPAND_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_UNEXPAND && BUSYBOX_LONG_OPTS
- help
- Support long options for the unexpand applet.
-
config BUSYBOX_UNIQ
- bool "uniq"
- default n
+ bool "uniq (4.9 kb)"
+ default y
help
- uniq is used to remove duplicate lines from a sorted file.
-
+ uniq is used to remove duplicate lines from a sorted file.
+config BUSYBOX_UNLINK
+ bool "unlink (3.2 kb)"
+ default y
+ help
+ unlink deletes a file by calling unlink()
config BUSYBOX_USLEEP
- bool "usleep"
- default n
+ bool "usleep (1.3 kb)"
+ default y
help
- usleep is used to pause for a specified number of microseconds.
-
+ usleep is used to pause for a specified number of microseconds.
config BUSYBOX_UUDECODE
- bool "uudecode"
- default n
+ bool "uudecode (5.8 kb)"
+ default y
help
- uudecode is used to decode a uuencoded file.
-
+ uudecode is used to decode a uuencoded file.
+config BUSYBOX_BASE32
+ bool "base32 (4.9 kb)"
+ default y
+ help
+ Base32 encode and decode
+config BUSYBOX_BASE64
+ bool "base64 (4.9 kb)"
+ default y
+ help
+ Base64 encode and decode
config BUSYBOX_UUENCODE
- bool "uuencode"
- default n
+ bool "uuencode (4.4 kb)"
+ default y
help
- uuencode is used to uuencode a file.
-
+ uuencode is used to uuencode a file.
config BUSYBOX_WC
- bool "wc"
- default n
+ bool "wc (4.5 kb)"
+ default y
help
- wc is used to print the number of bytes, words, and lines,
- in specified files.
+ wc is used to print the number of bytes, words, and lines,
+ in specified files.
config BUSYBOX_FEATURE_WC_LARGE
- bool "Support very large files in wc"
- default n
+ bool "Support very large counts"
+ default y
depends on BUSYBOX_WC
help
- Use "unsigned long long" in wc for counter variables.
-
-config BUSYBOX_WHOAMI
- bool "whoami"
- default n
- help
- whoami is used to print the username of the current
- user id (same as id -un).
-
-config BUSYBOX_YES
- bool "yes"
- default n
- help
- yes is used to repeatedly output a specific string, or
- the default string `y'.
-
-comment "Common options"
-
-config BUSYBOX_FEATURE_VERBOSE
- bool "Support verbose options (usually -v) for various applets"
- default n
+ Use "unsigned long long" for counter variables.
+config BUSYBOX_WHO
+ bool "who (3.9 kb)"
+ default y
+ depends on BUSYBOX_FEATURE_UTMP
help
- Enable cp -v, rm -v and similar messages.
- Also enables long option (--verbose) if it exists.
- Without this option, -v is accepted but ignored.
+ Print users currently logged on.
-comment "Common options for cp and mv"
- depends on BUSYBOX_CP || BUSYBOX_MV
-
-config BUSYBOX_FEATURE_PRESERVE_HARDLINKS
- bool "Preserve hard links"
+config BUSYBOX_W
+ bool "w (3.8 kb)"
default y
- depends on BUSYBOX_CP || BUSYBOX_MV
+ depends on BUSYBOX_FEATURE_UTMP
help
- Allow cp and mv to preserve hard links.
+ Print users currently logged on.
-comment "Common options for ls, more and telnet"
- depends on BUSYBOX_LS || BUSYBOX_MORE || BUSYBOX_TELNET
-
-config BUSYBOX_FEATURE_AUTOWIDTH
- bool "Calculate terminal & column widths"
+config BUSYBOX_USERS
+ bool "users (3.4 kb)"
default y
- depends on BUSYBOX_LS || BUSYBOX_MORE || BUSYBOX_TELNET
+ depends on BUSYBOX_FEATURE_UTMP
help
- This option allows utilities such as 'ls', 'more' and 'telnet'
- to determine the width of the screen, which can allow them to
- display additional text or avoid wrapping text onto the next line.
- If you leave this disabled, your utilities will be especially
- primitive and will be unable to determine the current screen width.
-
-comment "Common options for df, du, ls"
- depends on BUSYBOX_DF || BUSYBOX_DU || BUSYBOX_LS
-
-config BUSYBOX_FEATURE_HUMAN_READABLE
- bool "Support for human readable output (example 13k, 23M, 235G)"
+ Print users currently logged on.
+config BUSYBOX_WHOAMI
+ bool "whoami (3.2 kb)"
default y
- depends on BUSYBOX_DF || BUSYBOX_DU || BUSYBOX_LS
help
- Allow df, du, and ls to have human readable output.
-
-comment "Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum"
- depends on BUSYBOX_MD5SUM || BUSYBOX_SHA1SUM || BUSYBOX_SHA256SUM || BUSYBOX_SHA512SUM || BUSYBOX_SHA3SUM
-
-config BUSYBOX_FEATURE_MD5_SHA1_SUM_CHECK
- bool "Enable -c, -s and -w options"
+ whoami is used to print the username of the current
+ user id (same as id -un).
+config BUSYBOX_YES
+ bool "yes (1.2 kb)"
default y
- depends on BUSYBOX_MD5SUM || BUSYBOX_SHA1SUM || BUSYBOX_SHA256SUM || BUSYBOX_SHA512SUM || BUSYBOX_SHA3SUM
help
- Enabling the -c options allows files to be checked
- against pre-calculated hash values.
-
- -s and -w are useful options when verifying checksums.
+ yes is used to repeatedly output a specific string, or
+ the default string 'y'.
endmenu
diff --git a/package/busybox/config/debianutils/Config.in b/package/busybox/config/debianutils/Config.in
index d48a2aacb..d215debab 100644
--- a/package/busybox/config/debianutils/Config.in
+++ b/package/busybox/config/debianutils/Config.in
@@ -1,84 +1,70 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
#
menu "Debian Utilities"
-config BUSYBOX_MKTEMP
- bool "mktemp"
- default n
- help
- mktemp is used to create unique temporary files
-
config BUSYBOX_PIPE_PROGRESS
- bool "pipe_progress"
- default n
+ bool "pipe_progress (275 bytes)"
+ default y
help
- Display a dot to indicate pipe activity.
-
+ Display a dot to indicate pipe activity.
config BUSYBOX_RUN_PARTS
- bool "run-parts"
- default n
+ bool "run-parts (6.1 kb)"
+ default y
help
- run-parts is a utility designed to run all the scripts in a directory.
+ run-parts is a utility designed to run all the scripts in a directory.
- It is useful to set up a directory like cron.daily, where you need to
- execute all the scripts in that directory.
+ It is useful to set up a directory like cron.daily, where you need to
+ execute all the scripts in that directory.
- In this implementation of run-parts some features (such as report
- mode) are not implemented.
+ In this implementation of run-parts some features (such as report
+ mode) are not implemented.
- Unless you know that run-parts is used in some of your scripts
- you can safely say N here.
+ Unless you know that run-parts is used in some of your scripts
+ you can safely say N here.
config BUSYBOX_FEATURE_RUN_PARTS_LONG_OPTIONS
bool "Enable long options"
- default n
+ default y
depends on BUSYBOX_RUN_PARTS && BUSYBOX_LONG_OPTS
- help
- Support long options for the run-parts applet.
config BUSYBOX_FEATURE_RUN_PARTS_FANCY
bool "Support additional arguments"
- default n
+ default y
depends on BUSYBOX_RUN_PARTS
help
- Support additional options:
- -l --list print the names of the all matching files (not
- limited to executables), but don't actually run them.
-
+ Support additional options:
+ -l --list print the names of the all matching files (not
+ limited to executables), but don't actually run them.
config BUSYBOX_START_STOP_DAEMON
- bool "start-stop-daemon"
- default n
+ bool "start-stop-daemon (12 kb)"
+ default y
help
- start-stop-daemon is used to control the creation and
- termination of system-level processes, usually the ones
- started during the startup of the system.
-
-config BUSYBOX_FEATURE_START_STOP_DAEMON_FANCY
- bool "Support additional arguments"
- default n
- depends on BUSYBOX_START_STOP_DAEMON
- help
- Support additional arguments.
- -o|--oknodo ignored since we exit with 0 anyway
- -v|--verbose
- -N|--nicelevel N
+ start-stop-daemon is used to control the creation and
+ termination of system-level processes, usually the ones
+ started during the startup of the system.
config BUSYBOX_FEATURE_START_STOP_DAEMON_LONG_OPTIONS
bool "Enable long options"
- default n
+ default y
depends on BUSYBOX_START_STOP_DAEMON && BUSYBOX_LONG_OPTS
- help
- Support long options for the start-stop-daemon applet.
+config BUSYBOX_FEATURE_START_STOP_DAEMON_FANCY
+ bool "Support additional arguments"
+ default y
+ depends on BUSYBOX_START_STOP_DAEMON
+ help
+ -o|--oknodo ignored since we exit with 0 anyway
+ -v|--verbose
+ -N|--nicelevel N
config BUSYBOX_WHICH
- bool "which"
- default n
+ bool "which (3.8 kb)"
+ default y
help
- which is used to find programs in your PATH and
- print out their pathnames.
+ which is used to find programs in your PATH and
+ print out their pathnames.
endmenu
diff --git a/package/busybox/config/e2fsprogs/Config.in b/package/busybox/config/e2fsprogs/Config.in
index 6e7755dab..08533d6cc 100644
--- a/package/busybox/config/e2fsprogs/Config.in
+++ b/package/busybox/config/e2fsprogs/Config.in
@@ -1,16 +1,34 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
#
menu "Linux Ext2 FS Progs"
config BUSYBOX_CHATTR
- bool "chattr"
- default n
+ bool "chattr (3.8 kb)"
+ default y
help
- chattr changes the file attributes on a second extended file system.
+ chattr changes the file attributes on a second extended file system.
+config BUSYBOX_FSCK
+ bool "fsck (7.4 kb)"
+ default y
+ help
+ fsck is used to check and optionally repair one or more filesystems.
+ In actuality, fsck is simply a front-end for the various file system
+ checkers (fsck.fstype) available under Linux.
+config BUSYBOX_LSATTR
+ bool "lsattr (5.5 kb)"
+ default y
+ help
+ lsattr lists the file attributes on a second extended file system.
+config BUSYBOX_TUNE2FS
+ bool "tune2fs (4.4 kb)"
+ default n # off: it is too limited compared to upstream version
+ help
+ tune2fs allows the system administrator to adjust various tunable
+ filesystem parameters on Linux ext2/ext3 filesystems.
### config E2FSCK
### bool "e2fsck"
@@ -21,35 +39,13 @@ config BUSYBOX_CHATTR
### The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also
### provided.
-config BUSYBOX_FSCK
- bool "fsck"
- default n
- help
- fsck is used to check and optionally repair one or more filesystems.
- In actuality, fsck is simply a front-end for the various file system
- checkers (fsck.fstype) available under Linux.
-
-config BUSYBOX_LSATTR
- bool "lsattr"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- lsattr lists the file attributes on a second extended file system.
-
-### config MKE2FS
+### config BUSYBOX_MKE2FS
### bool "mke2fs"
### default y
### help
### mke2fs is used to create an ext2/ext3 filesystem. The normal compat
### symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
-config BUSYBOX_TUNE2FS
- bool "tune2fs"
- default n # off: it is too limited compared to upstream version
- help
- tune2fs allows the system administrator to adjust various tunable
- filesystem parameters on Linux ext2/ext3 filesystems.
-
### config E2LABEL
### bool "e2label"
### default y
@@ -59,7 +55,7 @@ config BUSYBOX_TUNE2FS
### filesystem located on device.
### NB: this one is now provided by util-linux/volume_id/*
-### config FINDFS
+### config BUSYBOX_FINDFS
### bool "findfs"
### default y
### depends on BUSYBOX_TUNE2FS
diff --git a/package/busybox/config/e2fsprogs/old_e2fsprogs/Config.in b/package/busybox/config/e2fsprogs/old_e2fsprogs/Config.in
deleted file mode 100644
index 2146bb9a9..000000000
--- a/package/busybox/config/e2fsprogs/old_e2fsprogs/Config.in
+++ /dev/null
@@ -1,69 +0,0 @@
-# DO NOT EDIT. This file is generated from Config.src
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Linux Ext2 FS Progs"
-
-
-config BUSYBOX_CHATTR
- bool "chattr"
- default n
- help
- chattr changes the file attributes on a second extended file system.
-
-config BUSYBOX_E2FSCK
- bool "e2fsck"
- default n
- help
- e2fsck is used to check Linux second extended file systems (ext2fs).
- e2fsck also supports ext2 filesystems countaining a journal (ext3).
- The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also
- provided.
-
-config BUSYBOX_FSCK
- bool "fsck"
- default n
- help
- fsck is used to check and optionally repair one or more filesystems.
- In actuality, fsck is simply a front-end for the various file system
- checkers (fsck.fstype) available under Linux.
-
-config BUSYBOX_LSATTR
- bool "lsattr"
- default n
- help
- lsattr lists the file attributes on a second extended file system.
-
-config BUSYBOX_MKE2FS
- bool "mke2fs"
- default n
- help
- mke2fs is used to create an ext2/ext3 filesystem. The normal compat
- symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
-
-config BUSYBOX_TUNE2FS
- bool "tune2fs"
- default n
- help
- tune2fs allows the system administrator to adjust various tunable
- filesystem parameters on Linux ext2/ext3 filesystems.
-
-config BUSYBOX_E2LABEL
- bool "e2label"
- default n
- depends on BUSYBOX_TUNE2FS
- help
- e2label will display or change the filesystem label on the ext2
- filesystem located on device.
-
-config BUSYBOX_FINDFS
- bool "findfs"
- default n
- depends on BUSYBOX_TUNE2FS
- help
- findfs will search the disks in the system looking for a filesystem
- which has a label matching label or a UUID equal to uuid.
-
-endmenu
diff --git a/package/busybox/config/editors/Config.in b/package/busybox/config/editors/Config.in
index 5c6b8a8be..2858f60d1 100644
--- a/package/busybox/config/editors/Config.in
+++ b/package/busybox/config/editors/Config.in
@@ -1,152 +1,215 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
#
menu "Editors"
-config BUSYBOX_PATCH
- bool "patch"
- depends on !BUSYBOX_DISABLE_PATCH
- default n
+config BUSYBOX_AWK
+ bool "awk (23 kb)"
+ default y
+ help
+ Awk is used as a pattern scanning and processing language.
+
+config BUSYBOX_FEATURE_AWK_LIBM
+ bool "Enable math functions (requires libm)"
+ default y
+ depends on BUSYBOX_AWK
help
- Apply a unified diff formatted patch.
+ Enable math functions of the Awk programming language.
+ NOTE: This requires libm to be present for linking.
+
+config BUSYBOX_FEATURE_AWK_GNU_EXTENSIONS
+ bool "Enable a few GNU extensions"
+ default y
+ depends on BUSYBOX_AWK
+ help
+ Enable a few features from gawk:
+ * command line option -e AWK_PROGRAM
+ * simultaneous use of -f and -e on the command line.
+ This enables the use of awk library files.
+ Example: awk -f mylib.awk -e '{print myfunction($1);}' ...
+config BUSYBOX_CMP
+ bool "cmp (4.9 kb)"
+ default y
+ help
+ cmp is used to compare two files and returns the result
+ to standard output.
+config BUSYBOX_DIFF
+ bool "diff (13 kb)"
+ default y
+ help
+ diff compares two files or directories and outputs the
+ differences between them in a form that can be given to
+ the patch command.
+
+config BUSYBOX_FEATURE_DIFF_LONG_OPTIONS
+ bool "Enable long options"
+ default y
+ depends on BUSYBOX_DIFF && BUSYBOX_LONG_OPTS
+config BUSYBOX_FEATURE_DIFF_DIR
+ bool "Enable directory support"
+ default y
+ depends on BUSYBOX_DIFF
+ help
+ This option enables support for directory and subdirectory
+ comparison.
+config BUSYBOX_ED
+ bool "ed (21 kb)"
+ default y
+ help
+ The original 1970's Unix text editor, from the days of teletypes.
+ Small, simple, evil. Part of SUSv3. If you're not already using
+ this, you don't need it.
+config BUSYBOX_PATCH
+ bool "patch (9.4 kb)"
+ default y
+ help
+ Apply a unified diff formatted patch.
+config BUSYBOX_SED
+ bool "sed (12 kb)"
+ default y
+ help
+ sed is used to perform text transformations on a file
+ or input from a pipeline.
config BUSYBOX_VI
- bool "vi"
+ bool "vi (23 kb)"
default y
help
- 'vi' is a text editor. More specifically, it is the One True
- text editor <grin>. It does, however, have a rather steep
- learning curve. If you are not already comfortable with 'vi'
- you may wish to use something else.
+ 'vi' is a text editor. More specifically, it is the One True
+ text editor <grin>. It does, however, have a rather steep
+ learning curve. If you are not already comfortable with 'vi'
+ you may wish to use something else.
config BUSYBOX_FEATURE_VI_MAX_LEN
- int "Maximum screen width in vi"
+ int "Maximum screen width"
range 256 16384
default 4096
depends on BUSYBOX_VI
help
- Contrary to what you may think, this is not eating much.
- Make it smaller than 4k only if you are very limited on memory.
+ Contrary to what you may think, this is not eating much.
+ Make it smaller than 4k only if you are very limited on memory.
config BUSYBOX_FEATURE_VI_8BIT
- bool "Allow vi to display 8-bit chars (otherwise shows dots)"
+ bool "Allow to display 8-bit chars (otherwise shows dots)"
default n
depends on BUSYBOX_VI
help
- If your terminal can display characters with high bit set,
- you may want to enable this. Note: vi is not Unicode-capable.
- If your terminal combines several 8-bit bytes into one character
- (as in Unicode mode), this will not work properly.
+ If your terminal can display characters with high bit set,
+ you may want to enable this. Note: vi is not Unicode-capable.
+ If your terminal combines several 8-bit bytes into one character
+ (as in Unicode mode), this will not work properly.
config BUSYBOX_FEATURE_VI_COLON
bool "Enable \":\" colon commands (no \"ex\" mode)"
default y
depends on BUSYBOX_VI
help
- Enable a limited set of colon commands for vi. This does not
- provide an "ex" mode.
+ Enable a limited set of colon commands. This does not
+ provide an "ex" mode.
+
+config BUSYBOX_FEATURE_VI_COLON_EXPAND
+ bool "Expand \"%\" and \"#\" in colon commands"
+ default y
+ depends on BUSYBOX_FEATURE_VI_COLON
+ help
+ Expand the special characters \"%\" (current filename)
+ and \"#\" (alternate filename) in colon commands.
config BUSYBOX_FEATURE_VI_YANKMARK
bool "Enable yank/put commands and mark cmds"
default y
depends on BUSYBOX_VI
help
- This will enable you to use yank and put, as well as mark in
- busybox vi.
+ This enables you to use yank and put, as well as mark.
config BUSYBOX_FEATURE_VI_SEARCH
bool "Enable search and replace cmds"
default y
depends on BUSYBOX_VI
help
- Select this if you wish to be able to do search and replace in
- busybox vi.
+ Select this if you wish to be able to do search and replace.
config BUSYBOX_FEATURE_VI_REGEX_SEARCH
bool "Enable regex in search and replace"
default n # Uses GNU regex, which may be unavailable. FIXME
depends on BUSYBOX_FEATURE_VI_SEARCH
help
- Use extended regex search.
+ Use extended regex search.
config BUSYBOX_FEATURE_VI_USE_SIGNALS
bool "Catch signals"
default y
depends on BUSYBOX_VI
help
- Selecting this option will make busybox vi signal aware. This will
- make busybox vi support SIGWINCH to deal with Window Changes, catch
- Ctrl-Z and Ctrl-C and alarms.
+ Selecting this option will make vi signal aware. This will support
+ SIGWINCH to deal with Window Changes, catch ^Z and ^C and alarms.
config BUSYBOX_FEATURE_VI_DOT_CMD
bool "Remember previous cmd and \".\" cmd"
default y
depends on BUSYBOX_VI
help
- Make busybox vi remember the last command and be able to repeat it.
+ Make vi remember the last command and be able to repeat it.
config BUSYBOX_FEATURE_VI_READONLY
bool "Enable -R option and \"view\" mode"
default y
depends on BUSYBOX_VI
help
- Enable the read-only command line option, which allows the user to
- open a file in read-only mode.
+ Enable the read-only command line option, which allows the user to
+ open a file in read-only mode.
config BUSYBOX_FEATURE_VI_SETOPTS
- bool "Enable set-able options, ai ic showmatch"
+ bool "Enable settable options, ai ic showmatch"
default y
depends on BUSYBOX_VI
help
- Enable the editor to set some (ai, ic, showmatch) options.
+ Enable the editor to set some (ai, ic, showmatch) options.
config BUSYBOX_FEATURE_VI_SET
- bool "Support for :set"
+ bool "Support :set"
default y
depends on BUSYBOX_VI
- help
- Support for ":set".
config BUSYBOX_FEATURE_VI_WIN_RESIZE
bool "Handle window resize"
default y
depends on BUSYBOX_VI
help
- Make busybox vi behave nicely with terminals that get resized.
+ Behave nicely with terminals that get resized.
config BUSYBOX_FEATURE_VI_ASK_TERMINAL
bool "Use 'tell me cursor position' ESC sequence to measure window"
default y
depends on BUSYBOX_VI
help
- If terminal size can't be retrieved and $LINES/$COLUMNS are not set,
- this option makes vi perform a last-ditch effort to find it:
- position cursor to 999,999 and ask terminal to report real
- cursor position using "ESC [ 6 n" escape sequence, then read stdin.
-
- This is not clean but helps a lot on serial lines and such.
+ If terminal size can't be retrieved and $LINES/$COLUMNS are not set,
+ this option makes vi perform a last-ditch effort to find it:
+ position cursor to 999,999 and ask terminal to report real
+ cursor position using "ESC [ 6 n" escape sequence, then read stdin.
+ This is not clean but helps a lot on serial lines and such.
config BUSYBOX_FEATURE_VI_UNDO
- bool "Support undo command 'u'"
+ bool "Support undo command \"u\""
default y
depends on BUSYBOX_VI
help
- Support the 'u' command to undo insertion, deletion, and replacement
- of text.
+ Support the 'u' command to undo insertion, deletion, and replacement
+ of text.
config BUSYBOX_FEATURE_VI_UNDO_QUEUE
bool "Enable undo operation queuing"
default y
depends on BUSYBOX_FEATURE_VI_UNDO
help
- The vi undo functions can use an intermediate queue to greatly lower
- malloc() calls and overhead. When the maximum size of this queue is
- reached, the contents of the queue are committed to the undo stack.
- This increases the size of the undo code and allows some undo
- operations (especially un-typing/backspacing) to be far more useful.
+ The vi undo functions can use an intermediate queue to greatly lower
+ malloc() calls and overhead. When the maximum size of this queue is
+ reached, the contents of the queue are committed to the undo stack.
+ This increases the size of the undo code and allows some undo
+ operations (especially un-typing/backspacing) to be far more useful.
config BUSYBOX_FEATURE_VI_UNDO_QUEUE_MAX
int "Maximum undo character queue size"
@@ -154,94 +217,28 @@ config BUSYBOX_FEATURE_VI_UNDO_QUEUE_MAX
range 32 65536
depends on BUSYBOX_FEATURE_VI_UNDO_QUEUE
help
- This option sets the number of bytes used at runtime for the queue.
- Smaller values will create more undo objects and reduce the amount
- of typed or backspaced characters that are grouped into one undo
- operation; larger values increase the potential size of each undo
- and will generally malloc() larger objects and less frequently.
- Unless you want more (or less) frequent "undo points" while typing,
- you should probably leave this unchanged.
+ This option sets the number of bytes used at runtime for the queue.
+ Smaller values will create more undo objects and reduce the amount
+ of typed or backspaced characters that are grouped into one undo
+ operation; larger values increase the potential size of each undo
+ and will generally malloc() larger objects and less frequently.
+ Unless you want more (or less) frequent "undo points" while typing,
+ you should probably leave this unchanged.
-config BUSYBOX_AWK
- bool "awk"
- default n
- help
- Awk is used as a pattern scanning and processing language. This is
- the BusyBox implementation of that programming language.
-
-config BUSYBOX_FEATURE_AWK_LIBM
- bool "Enable math functions (requires libm)"
- default n
- depends on BUSYBOX_AWK
- help
- Enable math functions of the Awk programming language.
- NOTE: This will require libm to be present for linking.
-
-config BUSYBOX_FEATURE_AWK_GNU_EXTENSIONS
- bool "Enable a few GNU extensions"
- default n
- depends on BUSYBOX_AWK
- help
- Enable a few features from gawk:
- * command line option -e AWK_PROGRAM
- * simultaneous use of -f and -e on the command line.
- This enables the use of awk library files.
- Ex: awk -f mylib.awk -e '{print myfunction($1);}' ...
-
-config BUSYBOX_CMP
- bool "cmp"
- default n
- help
- cmp is used to compare two files and returns the result
- to standard output.
-
-config BUSYBOX_DIFF
- bool "diff"
- depends on !BUSYBOX_DISABLE_DIFF
- default n
- help
- diff compares two files or directories and outputs the
- differences between them in a form that can be given to
- the patch command.
-
-config BUSYBOX_FEATURE_DIFF_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_DIFF && BUSYBOX_LONG_OPTS
- help
- Enable use of long options.
-
-config BUSYBOX_FEATURE_DIFF_DIR
- bool "Enable directory support"
- default n
- depends on BUSYBOX_DIFF
- help
- This option enables support for directory and subdirectory
- comparison.
-
-config BUSYBOX_ED
- bool "ed"
- depends on !BUSYBOX_DISABLE_ED
- default n
- help
- The original 1970's Unix text editor, from the days of teletypes.
- Small, simple, evil. Part of SUSv3. If you're not already using
- this, you don't need it.
-
-config BUSYBOX_SED
- bool "sed"
- depends on !BUSYBOX_DISABLE_SED
- default n
+config BUSYBOX_FEATURE_VI_VERBOSE_STATUS
+ bool "Enable verbose status reporting"
+ default y
+ depends on BUSYBOX_VI
help
- sed is used to perform text transformations on a file
- or input from a pipeline.
+ Enable more verbose reporting of the results of yank, change,
+ delete, undo and substitution commands.
config BUSYBOX_FEATURE_ALLOW_EXEC
bool "Allow vi and awk to execute shell commands"
- default n
+ default y
depends on BUSYBOX_VI || BUSYBOX_AWK
help
- Enables vi and awk features which allows user to execute
- shell commands (using system() C call).
+ Enables vi and awk features which allow user to execute
+ shell commands (using system() C call).
endmenu
diff --git a/package/busybox/config/findutils/Config.in b/package/busybox/config/findutils/Config.in
index 09c30f6d5..d4aa403a5 100644
--- a/package/busybox/config/findutils/Config.in
+++ b/package/busybox/config/findutils/Config.in
@@ -1,58 +1,87 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
#
menu "Finding Utilities"
config BUSYBOX_FIND
- bool "find"
- depends on !BUSYBOX_DISABLE_FIND
+ bool "find (14 kb)"
default y
help
- find is used to search your system to find specified files.
+ find is used to search your system to find specified files.
config BUSYBOX_FEATURE_FIND_PRINT0
bool "Enable -print0: NUL-terminated output"
default y
depends on BUSYBOX_FIND
help
- Causes output names to be separated by a NUL character
- rather than a newline. This allows names that contain
- newlines and other whitespace to be more easily
- interpreted by other programs.
+ Causes output names to be separated by a NUL character
+ rather than a newline. This allows names that contain
+ newlines and other whitespace to be more easily
+ interpreted by other programs.
config BUSYBOX_FEATURE_FIND_MTIME
- bool "Enable -mtime: modified time matching"
+ bool "Enable -mtime: modification time matching"
default y
depends on BUSYBOX_FIND
help
- Allow searching based on the modification time of
- files, in days.
+ Allow searching based on the modification time of
+ files, in days.
+
+config BUSYBOX_FEATURE_FIND_ATIME
+ bool "Enable -atime: access time matching"
+ default y
+ depends on BUSYBOX_FEATURE_FIND_MTIME
+ help
+ Allow searching based on the access time of
+ files, in days.
+
+config BUSYBOX_FEATURE_FIND_CTIME
+ bool "Enable -ctime: status change timestamp matching"
+ default y
+ depends on BUSYBOX_FEATURE_FIND_MTIME
+ help
+ Allow searching based on the status change timestamp of
+ files, in days.
config BUSYBOX_FEATURE_FIND_MMIN
- bool "Enable -mmin: modified time matching by minutes"
+ bool "Enable -mmin: modification time matching by minutes"
default y
depends on BUSYBOX_FIND
help
- Allow searching based on the modification time of
- files, in minutes.
+ Allow searching based on the modification time of
+ files, in minutes.
+
+config BUSYBOX_FEATURE_FIND_AMIN
+ bool "Enable -amin: access time matching by minutes"
+ default y
+ depends on BUSYBOX_FEATURE_FIND_MMIN
+ help
+ Allow searching based on the access time of
+ files, in minutes.
+
+config BUSYBOX_FEATURE_FIND_CMIN
+ bool "Enable -cmin: status change timestamp matching by minutes"
+ default y
+ depends on BUSYBOX_FEATURE_FIND_MMIN
+ help
+ Allow searching based on the status change timestamp of
+ files, in minutes.
config BUSYBOX_FEATURE_FIND_PERM
bool "Enable -perm: permissions matching"
default y
depends on BUSYBOX_FIND
- help
- Enable searching based on file permissions.
config BUSYBOX_FEATURE_FIND_TYPE
bool "Enable -type: file type matching (file/dir/link/...)"
default y
depends on BUSYBOX_FIND
help
- Enable searching based on file type (file,
- directory, socket, device, etc.).
+ Enable searching based on file type (file,
+ directory, socket, device, etc.).
config BUSYBOX_FEATURE_FIND_EXECUTABLE
bool "Enable -executable: file is executable"
@@ -63,108 +92,95 @@ config BUSYBOX_FEATURE_FIND_XDEV
bool "Enable -xdev: 'stay in filesystem'"
default y
depends on BUSYBOX_FIND
- help
- This option allows find to restrict searches to a single filesystem.
config BUSYBOX_FEATURE_FIND_MAXDEPTH
bool "Enable -mindepth N and -maxdepth N"
default y
depends on BUSYBOX_FIND
- help
- This option enables -mindepth N and -maxdepth N option.
config BUSYBOX_FEATURE_FIND_NEWER
bool "Enable -newer: compare file modification times"
default y
depends on BUSYBOX_FIND
help
- Support the 'find -newer' option for finding any files which have
- modification time that is more recent than the specified FILE.
+ Support the 'find -newer' option for finding any files which have
+ modification time that is more recent than the specified FILE.
config BUSYBOX_FEATURE_FIND_INUM
bool "Enable -inum: inode number matching"
default y
depends on BUSYBOX_FIND
- help
- Support the 'find -inum' option for searching by inode number.
-config BUSYBOX_FEATURE_FIND_EMPTY
- bool "Enable -empty option matching empty files and directories"
- default y
- depends on BUSYBOX_FIND
- help
- Support the 'find -empty' option for searching empty files
- and directories.
+config BUSYBOX_FEATURE_FIND_SAMEFILE
+ bool "Enable -samefile: reference file matching"
+ default y
+ depends on BUSYBOX_FIND
+ help
+ Support the 'find -samefile' option for searching by a reference file.
config BUSYBOX_FEATURE_FIND_EXEC
bool "Enable -exec: execute commands"
default y
depends on BUSYBOX_FIND
help
- Support the 'find -exec' option for executing commands based upon
- the files matched.
+ Support the 'find -exec' option for executing commands based upon
+ the files matched.
config BUSYBOX_FEATURE_FIND_EXEC_PLUS
bool "Enable -exec ... {} +"
default y
depends on BUSYBOX_FEATURE_FIND_EXEC
help
- Support the 'find -exec ... {} +' option for executing commands
- for all matched files at once.
- Without this option, -exec + is a synonym for -exec ;
- (IOW: it works correctly, but without expected speedup)
+ Support the 'find -exec ... {} +' option for executing commands
+ for all matched files at once.
+ Without this option, -exec + is a synonym for -exec ;
+ (IOW: it works correctly, but without expected speedup)
config BUSYBOX_FEATURE_FIND_USER
bool "Enable -user: username/uid matching"
default y
depends on BUSYBOX_FIND
- help
- Support the 'find -user' option for searching by username or uid.
config BUSYBOX_FEATURE_FIND_GROUP
bool "Enable -group: group/gid matching"
default y
depends on BUSYBOX_FIND
- help
- Support the 'find -group' option for searching by group name or gid.
config BUSYBOX_FEATURE_FIND_NOT
bool "Enable the 'not' (!) operator"
default y
depends on BUSYBOX_FIND
help
- Support the '!' operator to invert the test results.
- If 'Enable full-blown desktop' is enabled, then will also support
- the non-POSIX notation '-not'.
+ Support the '!' operator to invert the test results.
+ If 'Enable full-blown desktop' is enabled, then will also support
+ the non-POSIX notation '-not'.
config BUSYBOX_FEATURE_FIND_DEPTH
bool "Enable -depth"
default y
depends on BUSYBOX_FIND
help
- Process each directory's contents before the directory itself.
+ Process each directory's contents before the directory itself.
config BUSYBOX_FEATURE_FIND_PAREN
bool "Enable parens in options"
default y
depends on BUSYBOX_FIND
help
- Enable usage of parens '(' to specify logical order of arguments.
+ Enable usage of parens '(' to specify logical order of arguments.
config BUSYBOX_FEATURE_FIND_SIZE
bool "Enable -size: file size matching"
default y
depends on BUSYBOX_FIND
- help
- Support the 'find -size' option for searching by file size.
config BUSYBOX_FEATURE_FIND_PRUNE
bool "Enable -prune: exclude subdirectories"
default y
depends on BUSYBOX_FIND
help
- If the file is a directory, dont descend into it. Useful for
- exclusion .svn and CVS directories.
+ If the file is a directory, don't descend into it. Useful for
+ exclusion .svn and CVS directories.
config BUSYBOX_FEATURE_FIND_QUIT
bool "Enable -quit: exit"
@@ -178,113 +194,116 @@ config BUSYBOX_FEATURE_FIND_DELETE
default y
depends on BUSYBOX_FIND && BUSYBOX_FEATURE_FIND_DEPTH
help
- Support the 'find -delete' option for deleting files and directories.
- WARNING: This option can do much harm if used wrong. Busybox will not
- try to protect the user from doing stupid things. Use with care.
+ Support the 'find -delete' option for deleting files and directories.
+ WARNING: This option can do much harm if used wrong. Busybox will not
+ try to protect the user from doing stupid things. Use with care.
+
+config BUSYBOX_FEATURE_FIND_EMPTY
+ bool "Enable -empty: match empty files or directories"
+ default y
+ depends on BUSYBOX_FIND
+ help
+ Support the 'find -empty' option to find empty regular files
+ or directories.
config BUSYBOX_FEATURE_FIND_PATH
bool "Enable -path: match pathname with shell pattern"
default y
depends on BUSYBOX_FIND
help
- The -path option matches whole pathname instead of just filename.
+ The -path option matches whole pathname instead of just filename.
config BUSYBOX_FEATURE_FIND_REGEX
bool "Enable -regex: match pathname with regex"
default y
depends on BUSYBOX_FIND
help
- The -regex option matches whole pathname against regular expression.
+ The -regex option matches whole pathname against regular expression.
config BUSYBOX_FEATURE_FIND_CONTEXT
bool "Enable -context: security context matching"
default n
depends on BUSYBOX_FIND && BUSYBOX_SELINUX
help
- Support the 'find -context' option for matching security context.
+ Support the 'find -context' option for matching security context.
config BUSYBOX_FEATURE_FIND_LINKS
bool "Enable -links: link count matching"
default y
depends on BUSYBOX_FIND
help
- Support the 'find -links' option for matching number of links.
-
+ Support the 'find -links' option for matching number of links.
config BUSYBOX_GREP
- bool "grep"
- depends on !BUSYBOX_DISABLE_GREP
+ bool "grep (8.6 kb)"
default y
help
- grep is used to search files for a specified pattern.
+ grep is used to search files for a specified pattern.
config BUSYBOX_EGREP
- bool "egrep"
- depends on !BUSYBOX_DISABLE_GREP
+ bool "egrep (7.8 kb)"
default y
help
- Alias to "grep -E"
+ Alias to "grep -E".
config BUSYBOX_FGREP
- bool "fgrep"
- depends on !BUSYBOX_DISABLE_GREP
+ bool "fgrep (7.8 kb)"
default y
help
- Alias to "grep -F"
+ Alias to "grep -F".
config BUSYBOX_FEATURE_GREP_CONTEXT
bool "Enable before and after context flags (-A, -B and -C)"
default y
- depends on BUSYBOX_GREP
+ depends on BUSYBOX_GREP || BUSYBOX_EGREP || BUSYBOX_FGREP
help
- Print the specified number of leading (-B) and/or trailing (-A)
- context surrounding our matching lines.
- Print the specified number of context lines (-C).
-
+ Print the specified number of leading (-B) and/or trailing (-A)
+ context surrounding our matching lines.
+ Print the specified number of context lines (-C).
config BUSYBOX_XARGS
- bool "xargs"
- default n
+ bool "xargs (7.2 kb)"
+ default y
help
- xargs is used to execute a specified command for
- every item from standard input.
+ xargs is used to execute a specified command for
+ every item from standard input.
config BUSYBOX_FEATURE_XARGS_SUPPORT_CONFIRMATION
bool "Enable -p: prompt and confirmation"
default y
depends on BUSYBOX_XARGS
help
- Support -p: prompt the user whether to run each command
- line and read a line from the terminal.
+ Support -p: prompt the user whether to run each command
+ line and read a line from the terminal.
config BUSYBOX_FEATURE_XARGS_SUPPORT_QUOTES
bool "Enable single and double quotes and backslash"
default y
depends on BUSYBOX_XARGS
help
- Support quoting in the input.
+ Support quoting in the input.
config BUSYBOX_FEATURE_XARGS_SUPPORT_TERMOPT
bool "Enable -x: exit if -s or -n is exceeded"
default y
depends on BUSYBOX_XARGS
help
- Support -x: exit if the command size (see the -s or -n option)
- is exceeded.
+ Support -x: exit if the command size (see the -s or -n option)
+ is exceeded.
config BUSYBOX_FEATURE_XARGS_SUPPORT_ZERO_TERM
bool "Enable -0: NUL-terminated input"
default y
depends on BUSYBOX_XARGS
help
- Support -0: input items are terminated by a NUL character
- instead of whitespace, and the quotes and backslash
- are not special.
+ Support -0: input items are terminated by a NUL character
+ instead of whitespace, and the quotes and backslash
+ are not special.
config BUSYBOX_FEATURE_XARGS_SUPPORT_REPL_STR
bool "Enable -I STR: string to replace"
default y
depends on BUSYBOX_XARGS
help
- Support -I STR and -i[STR] options.
+ Support -I STR and -i[STR] options.
config BUSYBOX_FEATURE_XARGS_SUPPORT_PARALLEL
bool "Enable -P N: processes to run in parallel"
diff --git a/package/busybox/config/init/Config.in b/package/busybox/config/init/Config.in
index 33ddd603b..e27e0ea86 100644
--- a/package/busybox/config/init/Config.in
+++ b/package/busybox/config/init/Config.in
@@ -1,67 +1,66 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
#
menu "Init Utilities"
config BUSYBOX_BOOTCHARTD
- bool "bootchartd"
- default n
+ bool "bootchartd (10 kb)"
+ default y
help
- bootchartd is commonly used to profile the boot process
- for the purpose of speeding it up. In this case, it is started
- by the kernel as the init process. This is configured by adding
- the init=/sbin/bootchartd option to the kernel command line.
+ bootchartd is commonly used to profile the boot process
+ for the purpose of speeding it up. In this case, it is started
+ by the kernel as the init process. This is configured by adding
+ the init=/sbin/bootchartd option to the kernel command line.
- It can also be used to monitor the resource usage of a specific
- application or the running system in general. In this case,
- bootchartd is started interactively by running bootchartd start
- and stopped using bootchartd stop.
+ It can also be used to monitor the resource usage of a specific
+ application or the running system in general. In this case,
+ bootchartd is started interactively by running bootchartd start
+ and stopped using bootchartd stop.
config BUSYBOX_FEATURE_BOOTCHARTD_BLOATED_HEADER
bool "Compatible, bloated header"
default y
depends on BUSYBOX_BOOTCHARTD
help
- Create extended header file compatible with "big" bootchartd.
- "Big" bootchartd is a shell script and it dumps some
- "convenient" info int the header, such as:
- title = Boot chart for `hostname` (`date`)
- system.uname = `uname -srvm`
- system.release = `cat /etc/DISTRO-release`
- system.cpu = `grep '^model name' /proc/cpuinfo | head -1` ($cpucount)
- system.kernel.options = `cat /proc/cmdline`
- This data is not mandatory for bootchart graph generation,
- and is considered bloat. Nevertheless, this option
- makes bootchartd applet to dump a subset of it.
+ Create extended header file compatible with "big" bootchartd.
+ "Big" bootchartd is a shell script and it dumps some
+ "convenient" info into the header, such as:
+ title = Boot chart for `hostname` (`date`)
+ system.uname = `uname -srvm`
+ system.release = `cat /etc/DISTRO-release`
+ system.cpu = `grep '^model name' /proc/cpuinfo | head -1` ($cpucount)
+ system.kernel.options = `cat /proc/cmdline`
+ This data is not mandatory for bootchart graph generation,
+ and is considered bloat. Nevertheless, this option
+ makes bootchartd applet to dump a subset of it.
config BUSYBOX_FEATURE_BOOTCHARTD_CONFIG_FILE
bool "Support bootchartd.conf"
default y
depends on BUSYBOX_BOOTCHARTD
help
- Enable reading and parsing of $PWD/bootchartd.conf
- and /etc/bootchartd.conf files.
-
+ Enable reading and parsing of $PWD/bootchartd.conf
+ and /etc/bootchartd.conf files.
config BUSYBOX_HALT
- bool "halt"
+ bool "halt (4 kb)"
default y
help
- Stop all processes and either halt, reboot, or power off the system.
+ Stop all processes and halt the system.
config BUSYBOX_POWEROFF
- bool "poweroff"
+ bool "poweroff (4 kb)"
default y
help
- Stop all processes and power off the system.
+ Stop all processes and power off the system.
config BUSYBOX_REBOOT
- bool "reboot"
+ bool "reboot (4 kb)"
default y
help
- Stop all processes and reboot the system.
+ Stop all processes and reboot the system.
config BUSYBOX_FEATURE_WAIT_FOR_INIT
bool "Before signaling init, make sure it is ready for it"
@@ -76,58 +75,56 @@ config BUSYBOX_FEATURE_WAIT_FOR_INIT
config BUSYBOX_FEATURE_CALL_TELINIT
bool "Call telinit on shutdown and reboot"
- default n
- depends on BUSYBOX_HALT && !BUSYBOX_INIT
+ default y
+ depends on (BUSYBOX_HALT || BUSYBOX_POWEROFF || BUSYBOX_REBOOT) && !BUSYBOX_INIT
help
- Call an external program (normally telinit) to facilitate
- a switch to a proper runlevel.
+ Call an external program (normally telinit) to facilitate
+ a switch to a proper runlevel.
- This option is only available if you selected halt and friends,
- but did not select init.
+ This option is only available if you selected halt and friends,
+ but did not select init.
config BUSYBOX_TELINIT_PATH
string "Path to telinit executable"
default "/sbin/telinit"
depends on BUSYBOX_FEATURE_CALL_TELINIT
help
- When busybox halt and friends have to call external telinit
- to facilitate proper shutdown, this path is to be used when
- locating telinit executable.
-
+ When busybox halt and friends have to call external telinit
+ to facilitate proper shutdown, this path is to be used when
+ locating telinit executable.
config BUSYBOX_INIT
- bool "init"
+ bool "init (10 kb)"
default y
- depends on !ADK_PACKAGE_SIMPLEINIT
select BUSYBOX_FEATURE_SYSLOG
help
- init is the first program run when the system boots.
+ init is the first program run when the system boots.
config BUSYBOX_LINUXRC
- bool "Support running init from within an initrd (not initramfs)"
- default n
+ bool "linuxrc: support running init from initrd (not initramfs)"
+ default y
select BUSYBOX_FEATURE_SYSLOG
help
- Legacy support for running init under the old-style initrd. Allows
- the name linuxrc to act as init, and it doesn't assume init is PID 1.
+ Legacy support for running init under the old-style initrd. Allows
+ the name linuxrc to act as init, and it doesn't assume init is PID 1.
- This does not apply to initramfs, which runs /init as PID 1 and
- requires no special support.
+ This does not apply to initramfs, which runs /init as PID 1 and
+ requires no special support.
config BUSYBOX_FEATURE_USE_INITTAB
bool "Support reading an inittab file"
default y
- depends on BUSYBOX_INIT
+ depends on BUSYBOX_INIT || BUSYBOX_LINUXRC
help
- Allow init to read an inittab file when the system boot.
+ Allow init to read an inittab file when the system boot.
config BUSYBOX_FEATURE_KILL_REMOVED
bool "Support killing processes that have been removed from inittab"
default n
depends on BUSYBOX_FEATURE_USE_INITTAB
help
- When respawn entries are removed from inittab and a SIGHUP is
- sent to init, this option will make init kill the processes
- that have been removed.
+ When respawn entries are removed from inittab and a SIGHUP is
+ sent to init, this option will make init kill the processes
+ that have been removed.
config BUSYBOX_FEATURE_KILL_DELAY
int "How long to wait between TERM and KILL (0 - send TERM only)" if FEATURE_KILL_REMOVED
@@ -135,97 +132,75 @@ config BUSYBOX_FEATURE_KILL_DELAY
default 0
depends on BUSYBOX_FEATURE_KILL_REMOVED
help
- With nonzero setting, init sends TERM, forks, child waits N
- seconds, sends KILL and exits. Setting it too high is unwise
- (child will hang around for too long and could actually kill
- the wrong process!)
+ With nonzero setting, init sends TERM, forks, child waits N
+ seconds, sends KILL and exits. Setting it too high is unwise
+ (child will hang around for too long and could actually kill
+ the wrong process!)
config BUSYBOX_FEATURE_INIT_SCTTY
bool "Run commands with leading dash with controlling tty"
default y
- depends on BUSYBOX_INIT
- help
- If this option is enabled, init will try to give a controlling
- tty to any command which has leading hyphen (often it's "-/bin/sh").
- More precisely, init will do "ioctl(STDIN_FILENO, TIOCSCTTY, 0)".
- If device attached to STDIN_FILENO can be a ctty but is not yet
- a ctty for other session, it will become this process' ctty.
- This is not the traditional init behavour, but is often what you want
- in an embedded system where the console is only accessed during
- development or for maintenance.
- NB: using cttyhack applet may work better.
+ depends on BUSYBOX_INIT || BUSYBOX_LINUXRC
+ help
+ If this option is enabled, init will try to give a controlling
+ tty to any command which has leading hyphen (often it's "-/bin/sh").
+ More precisely, init will do "ioctl(STDIN_FILENO, TIOCSCTTY, 0)".
+ If device attached to STDIN_FILENO can be a ctty but is not yet
+ a ctty for other session, it will become this process' ctty.
+ This is not the traditional init behavour, but is often what you want
+ in an embedded system where the console is only accessed during
+ development or for maintenance.
+ NB: using cttyhack applet may work better.
config BUSYBOX_FEATURE_INIT_SYSLOG
bool "Enable init to write to syslog"
default y
- depends on BUSYBOX_INIT
+ depends on BUSYBOX_INIT || BUSYBOX_LINUXRC
+ help
+ If selected, some init messages are sent to syslog.
+ Otherwise, they are sent to VT #5 if linux virtual tty is detected
+ (if not, no separate logging is done).
config BUSYBOX_FEATURE_INIT_QUIET
bool "Be quiet on boot (no 'init started:' message)"
default y
depends on BUSYBOX_INIT || BUSYBOX_LINUXRC
-config BUSYBOX_FEATURE_EXTRA_QUIET
- bool "Be _extra_ quiet on boot"
- default y
- depends on BUSYBOX_INIT
- help
- Prevent init from logging some messages to the console during boot.
-
config BUSYBOX_FEATURE_INIT_COREDUMPS
bool "Support dumping core for child processes (debugging only)"
- default n
- depends on BUSYBOX_INIT
+ default n # not Y because this is a debug option
+ depends on BUSYBOX_INIT || BUSYBOX_LINUXRC
help
- If this option is enabled and the file /.init_enable_core
- exists, then init will call setrlimit() to allow unlimited
- core file sizes. If this option is disabled, processes
- will not generate any core files.
+ If this option is enabled and the file /.init_enable_core
+ exists, then init will call setrlimit() to allow unlimited
+ core file sizes. If this option is disabled, processes
+ will not generate any core files.
config BUSYBOX_INIT_TERMINAL_TYPE
string "Initial terminal type"
default "linux"
- depends on BUSYBOX_INIT
+ depends on BUSYBOX_INIT || BUSYBOX_LINUXRC
help
- This is the initial value set by init for the TERM environment
- variable. This variable is used by programs which make use of
- extended terminal capabilities.
+ This is the initial value set by init for the TERM environment
+ variable. This variable is used by programs which make use of
+ extended terminal capabilities.
- Note that on Linux, init attempts to detect serial terminal and
- sets TERM to "vt102" if one is found.
+ Note that on Linux, init attempts to detect serial terminal and
+ sets TERM to "vt102" if one is found.
config BUSYBOX_FEATURE_INIT_MODIFY_CMDLINE
- bool "Modify the command-line to \"init\""
- default n
- depends on BUSYBOX_INIT || BUSYBOX_LINUXRC
- help
- When launched as PID 1 and after parsing its arguments, init
- wipes all the arguments but argv[0] and rewrites argv[0] to
- contain only "init", so that its command-line appears solely as
- "init" in tools such as ps.
- If this option is set to Y, init will keep its original behavior,
- otherwise, all the arguments including argv[0] will be preserved,
- be they parsed or ignored by init.
- The original command-line used to launch init can then be
- retrieved in /proc/1/cmdline on Linux, for example.
-
-config BUSYBOX_MESG
- bool "mesg"
- default n
- help
- Mesg controls access to your terminal by others. It is typically
- used to allow or disallow other users to write to your terminal
-
-config BUSYBOX_FEATURE_MESG_ENABLE_ONLY_GROUP
- bool "Enable writing to tty only by group, not by everybody"
+ bool "Clear init's command line"
default y
- depends on BUSYBOX_MESG
+ depends on BUSYBOX_INIT || BUSYBOX_LINUXRC
help
- Usually, ttys are owned by group "tty", and "write" tool is
- setgid to this group. This way, "mesg y" only needs to enable
- "write by owning group" bit in tty mode.
-
- If you set this option to N, "mesg y" will enable writing
- by anybody at all. This is not recommended.
+ When launched as PID 1 and after parsing its arguments, init
+ wipes all the arguments but argv[0] and rewrites argv[0] to
+ contain only "init", so that its command line appears solely as
+ "init" in tools such as ps.
+ If this option is set to Y, init will keep its original behavior,
+ otherwise, all the arguments including argv[0] will be preserved,
+ be they parsed or ignored by init.
+ The original command-line used to launch init can then be
+ retrieved in /proc/1/cmdline on Linux, for example.
endmenu
diff --git a/package/busybox/config/klibc-utils/Config.in b/package/busybox/config/klibc-utils/Config.in
index 8121e605f..f2ff057fb 100644
--- a/package/busybox/config/klibc-utils/Config.in
+++ b/package/busybox/config/klibc-utils/Config.in
@@ -13,7 +13,7 @@ config BUSYBOX_MINIPS
Alias to "ps".
config BUSYBOX_NUKE
bool "nuke (2.9 kb)"
- default y
+ default n # off by default: too "accidentally destructive"
help
Alias to "rm -rf".
config BUSYBOX_RESUME
@@ -24,7 +24,6 @@ config BUSYBOX_RESUME
config BUSYBOX_RUN_INIT
bool "run-init (7.7 kb)"
default y
- select BUSYBOX_PLATFORM_LINUX
help
The run-init utility is used from initramfs to select a new
root device. Under initramfs, you have to use this instead of
diff --git a/package/busybox/config/libbb/Config.in b/package/busybox/config/libbb/Config.in
index afbc81213..66c135ec6 100644
--- a/package/busybox/config/libbb/Config.in
+++ b/package/busybox/config/libbb/Config.in
@@ -1,56 +1,55 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
#
-menu "Busybox Library Tuning"
+comment "Library Tuning"
config BUSYBOX_FEATURE_USE_BSS_TAIL
bool "Use the end of BSS page"
default n
help
- Attempt to reclaim a small unused part of BSS.
-
- Executables have the following parts:
- = read-only executable code and constants, also known as "text"
- = read-write data
- = non-initialized (zeroed on demand) data, also known as "bss"
-
- At link time, "text" is padded to a full page. At runtime, all "text"
- pages are mapped RO and executable.
- "Data" starts on the next page boundary, but is not padded
- to a full page at the end. "Bss" starts wherever "data" ends.
- At runtime, "data" pages are mapped RW and they are file-backed
- (this includes a small portion of "bss" which may live in the last
- partial page of "data").
- Pages which are fully in "bss" are mapped to anonymous memory.
-
- "Bss" end is usually not page-aligned. There is an unused space
- in the last page. Linker marks its start with the "_end" symbol.
-
- This option will attempt to use that space for bb_common_bufsiz1[]
- array. If it fits after _end, it will be used, and COMMON_BUFSIZE
- will be enlarged from its guaranteed minimum size of 1 kbyte.
- This may require recompilation a second time, since value of _end
- is known only after final link.
-
- If you are getting a build error like this:
- appletlib.c:(.text.main+0xd): undefined reference to '_end'
- disable this option.
-
+ Attempt to reclaim a small unused part of BSS.
+
+ Executables have the following parts:
+ = read-only executable code and constants, also known as "text"
+ = read-write data
+ = non-initialized (zeroed on demand) data, also known as "bss"
+
+ At link time, "text" is padded to a full page. At runtime, all "text"
+ pages are mapped RO and executable.
+
+ "Data" starts on the next page boundary, but is not padded
+ to a full page at the end. "Bss" starts wherever "data" ends.
+ At runtime, "data" pages are mapped RW and they are file-backed
+ (this includes a small portion of "bss" which may live in the last
+ partial page of "data").
+ Pages which are fully in "bss" are mapped to anonymous memory.
+
+ "Bss" end is usually not page-aligned. There is an unused space
+ in the last page. Linker marks its start with the "_end" symbol.
+
+ This option will attempt to use that space for bb_common_bufsiz1[]
+ array. If it fits after _end, it will be used, and COMMON_BUFSIZE
+ will be enlarged from its guaranteed minimum size of 1 kbyte.
+ This may require recompilation a second time, since value of _end
+ is known only after final link.
+
+ If you are getting a build error like this:
+ appletlib.c:(.text.main+0xd): undefined reference to '_end'
+ disable this option.
config BUSYBOX_FLOAT_DURATION
bool "Enable fractional duration arguments"
default y
help
Allow sleep N.NNN, top -d N.NNN etc.
-
config BUSYBOX_FEATURE_RTMINMAX
bool "Support RTMIN[+n] and RTMAX[-n] signal names"
default y
help
- Support RTMIN[+n] and RTMAX[-n] signal names
- in kill, killall etc. This costs ~250 bytes.
+ Support RTMIN[+n] and RTMAX[-n] signal names
+ in kill, killall etc. This costs ~250 bytes.
config BUSYBOX_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS
bool "Use the definitions of SIGRTMIN/SIGRTMAX provided by libc"
@@ -64,81 +63,159 @@ config BUSYBOX_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS
of SIGRTMIN, and not the raw definition provided by the kernel.
This behavior matches "kill -l RTMIN+n" from bash.
+choice
+ prompt "Buffer allocation policy"
+ default BUSYBOX_FEATURE_BUFFERS_USE_MALLOC
+ help
+ There are 3 ways busybox can handle buffer allocations:
+ - Use malloc. This costs code size for the call to xmalloc.
+ - Put them on stack. For some very small machines with limited stack
+ space, this can be deadly. For most folks, this works just fine.
+ - Put them in BSS. This works beautifully for computers with a real
+ MMU (and OS support), but wastes runtime RAM for uCLinux. This
+ behavior was the only one available for versions 0.48 and earlier.
+
+config BUSYBOX_FEATURE_BUFFERS_USE_MALLOC
+ bool "Allocate with Malloc"
+
+config BUSYBOX_FEATURE_BUFFERS_GO_ON_STACK
+ bool "Allocate on the Stack"
+
+config BUSYBOX_FEATURE_BUFFERS_GO_IN_BSS
+ bool "Allocate in the .bss section"
+
+endchoice
+
config BUSYBOX_PASSWORD_MINLEN
int "Minimum password length"
default 6
range 5 32
help
- Minimum allowable password length.
+ Minimum allowable password length.
config BUSYBOX_MD5_SMALL
int "MD5: Trade bytes for speed (0:fast, 3:slow)"
- default 1
+ default 1 # all "fast or small" options default to small
range 0 3
help
- Trade binary size versus speed for the md5sum algorithm.
- Approximate values running uClibc and hashing
- linux-2.4.4.tar.bz2 were:
- user times (sec) text size (386)
- 0 (fastest) 1.1 6144
- 1 1.4 5392
- 2 3.0 5088
- 3 (smallest) 5.1 4912
+ Trade binary size versus speed for the md5 algorithm.
+ Approximate values running uClibc and hashing
+ linux-2.4.4.tar.bz2 were:
+ value user times (sec) text size (386)
+ 0 (fastest) 1.1 6144
+ 1 1.4 5392
+ 2 3.0 5088
+ 3 (smallest) 5.1 4912
+
+config BUSYBOX_SHA1_SMALL
+ int "SHA1: Trade bytes for speed (0:fast, 3:slow)"
+ default 3 # all "fast or small" options default to small
+ range 0 3
+ help
+ Trade binary size versus speed for the sha1 algorithm.
+ With FEATURE_COPYBUF_KB=64:
+ throughput MB/s size of sha1_process_block64
+ value 486 x86-64 486 x86-64
+ 0 440 485 3481 3502
+ 1 265 265 641 696
+ 2,3 220 210 342 364
+
+config BUSYBOX_SHA1_HWACCEL
+ bool "SHA1: Use hardware accelerated instructions if possible"
+ default y
+ help
+ On x86, this adds ~590 bytes of code. Throughput
+ is about twice as fast as fully-unrolled generic code.
+
+config BUSYBOX_SHA256_HWACCEL
+ bool "SHA256: Use hardware accelerated instructions if possible"
+ default y
+ help
+ On x86, this adds ~1k bytes of code.
config BUSYBOX_SHA3_SMALL
- int "SHA3: Trade bytes for speed (0:fast, 1:slow)"
- default 1
- range 0 1
- help
- Trade binary size versus speed for the sha3sum algorithm.
- SHA3_SMALL=0 compared to SHA3_SMALL=1 (approximate):
- 64-bit x86: +270 bytes of code, 45% faster
- 32-bit x86: +450 bytes of code, 75% faster
-
-config BUSYBOX_FEATURE_FAST_TOP
- bool "Faster /proc scanning code (+100 bytes)"
+ int "SHA3: Trade bytes for speed (0:fast, 1:slow)"
+ default 1 # all "fast or small" options default to small
+ range 0 1
+ help
+ Trade binary size versus speed for the sha3 algorithm.
+ SHA3_SMALL=0 compared to SHA3_SMALL=1 (approximate):
+ 64-bit x86: +270 bytes of code, 45% faster
+ 32-bit x86: +450 bytes of code, 75% faster
+
+config BUSYBOX_FEATURE_NON_POSIX_CP
+ bool "Non-POSIX, but safer, copying to special nodes"
default y
help
- This option makes top (and ps) ~20% faster (or 20% less CPU hungry),
- but code size is slightly bigger.
+ With this option, "cp file symlink" will delete symlink
+ and create a regular file. This does not conform to POSIX,
+ but prevents a symlink attack.
+ Similarly, "cp file device" will not send file's data
+ to the device. (To do that, use "cat file >device")
-config BUSYBOX_FEATURE_ETC_NETWORKS
- bool "Support for /etc/networks"
+config BUSYBOX_FEATURE_VERBOSE_CP_MESSAGE
+ bool "Give more precise messages when copy fails (cp, mv etc)"
default n
help
- Enable support for network names in /etc/networks. This is
- a rarely used feature which allows you to use names
- instead of IP/mask pairs in route command.
+ Error messages with this feature enabled:
-config BUSYBOX_FEATURE_ETC_SERVICES
- bool "Consult /etc/services even for well-known ports"
- default n
+ $ cp file /does_not_exist/file
+ cp: cannot create '/does_not_exist/file': Path does not exist
+ $ cp file /vmlinuz/file
+ cp: cannot stat '/vmlinuz/file': Path has non-directory component
+
+ If this feature is not enabled, they will be, respectively:
+
+ cp: cannot create '/does_not_exist/file': No such file or directory
+ cp: cannot stat '/vmlinuz/file': Not a directory
+
+ This will cost you ~60 bytes.
+
+config BUSYBOX_FEATURE_USE_SENDFILE
+ bool "Use sendfile system call"
+ default y
help
- Look up e.g. "telnet" and "http" in /etc/services file
- instead of assuming ports 23 and 80.
- This is almost never necessary (everybody uses standard ports),
- and it makes sense to avoid reading this file.
- If you disable this option, in the cases where port is explicitly
- specified as a service name (e.g. "telnet HOST PORTNAME"),
- it will still be looked up in /etc/services.
+ When enabled, busybox will use the kernel sendfile() function
+ instead of read/write loops to copy data between file descriptors
+ (for example, cp command does this a lot).
+ If sendfile() doesn't work, copying code falls back to read/write
+ loop. sendfile() was originally implemented for faster I/O
+ from files to sockets, but since Linux 2.6.33 it was extended
+ to work for many more file types.
+config BUSYBOX_FEATURE_COPYBUF_KB
+ int "Copy buffer size, in kilobytes"
+ range 1 1024
+ default 4
+ help
+ Size of buffer used by cp, mv, install, wget etc.
+ Buffers which are 4 kb or less will be allocated on stack.
+ Bigger buffers will be allocated with mmap, with fallback to 4 kb
+ stack buffer if mmap fails.
+
+config BUSYBOX_MONOTONIC_SYSCALL
+ bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
+ default y
+ help
+ Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring
+ time intervals (time, ping, traceroute etc need this).
+ Probably requires Linux 2.6+. If not selected, gettimeofday
+ will be used instead (which gives wrong results if date/time
+ is reset).
-config BUSYBOX_FEATURE_USE_TERMIOS
- bool "Use termios to manipulate the screen"
+config BUSYBOX_IOCTL_HEX2STR_ERROR
+ bool "Use ioctl names rather than hex values in error messages"
default y
- depends on BUSYBOX_MORE || BUSYBOX_TOP || BUSYBOX_POWERTOP
help
- This option allows utilities such as 'more' and 'top' to determine
- the size of the screen. If you leave this disabled, your utilities
- that display things on the screen will be especially primitive and
- will be unable to determine the current screen size, and will be
- unable to move the cursor.
+ Use ioctl names rather than hex values in error messages
+ (e.g. VT_DISALLOCATE rather than 0x5608). If disabled this
+ saves about 1400 bytes.
config BUSYBOX_FEATURE_EDITING
bool "Command line editing"
default y
help
- Enable line editing (mainly for shell command line).
+ Enable line editing (mainly for shell command line).
config BUSYBOX_FEATURE_EDITING_MAX_LEN
int "Maximum length of input"
@@ -146,17 +223,17 @@ config BUSYBOX_FEATURE_EDITING_MAX_LEN
default 1024
depends on BUSYBOX_FEATURE_EDITING
help
- Line editing code uses on-stack buffers for storage.
- You may want to decrease this parameter if your target machine
- benefits from smaller stack usage.
+ Line editing code uses on-stack buffers for storage.
+ You may want to decrease this parameter if your target machine
+ benefits from smaller stack usage.
config BUSYBOX_FEATURE_EDITING_VI
bool "vi-style line editing commands"
default n
depends on BUSYBOX_FEATURE_EDITING
help
- Enable vi-style line editing. In shells, this mode can be
- turned on and off with "set -o vi" and "set +o vi".
+ Enable vi-style line editing. In shells, this mode can be
+ turned on and off with "set -o vi" and "set +o vi".
config BUSYBOX_FEATURE_EDITING_HISTORY
int "History size"
@@ -165,51 +242,47 @@ config BUSYBOX_FEATURE_EDITING_HISTORY
default 255
depends on BUSYBOX_FEATURE_EDITING
help
- Specify command history size (0 - disable).
+ Specify command history size (0 - disable).
config BUSYBOX_FEATURE_EDITING_SAVEHISTORY
bool "History saving"
default y
depends on BUSYBOX_FEATURE_EDITING
help
- Enable history saving in shells.
+ Enable history saving in shells.
config BUSYBOX_FEATURE_EDITING_SAVE_ON_EXIT
bool "Save history on shell exit, not after every command"
default n
depends on BUSYBOX_FEATURE_EDITING_SAVEHISTORY
help
- Save history on shell exit, not after every command.
+ Save history on shell exit, not after every command.
config BUSYBOX_FEATURE_REVERSE_SEARCH
bool "Reverse history search"
default y
- depends on BUSYBOX_FEATURE_EDITING_SAVEHISTORY
+ depends on BUSYBOX_FEATURE_EDITING
help
- Enable readline-like Ctrl-R combination for reverse history search.
- Increases code by about 0.5k.
+ Enable readline-like Ctrl-R combination for reverse history search.
+ Increases code by about 0.5k.
config BUSYBOX_FEATURE_TAB_COMPLETION
bool "Tab completion"
default y
depends on BUSYBOX_FEATURE_EDITING
- help
- Enable tab completion.
config BUSYBOX_FEATURE_USERNAME_COMPLETION
bool "Username completion"
- default n
+ default y
depends on BUSYBOX_FEATURE_TAB_COMPLETION
- help
- Enable username completion.
config BUSYBOX_FEATURE_EDITING_FANCY_PROMPT
bool "Fancy shell prompts"
default y
depends on BUSYBOX_FEATURE_EDITING
help
- Setting this option allows for prompts to use things like \w and
- \$ and escape codes.
+ Setting this option allows for prompts to use things like \w and
+ \$ and escape codes.
config BUSYBOX_FEATURE_EDITING_WINCH
bool "Enable automatic tracking of window size changes"
@@ -221,90 +294,156 @@ config BUSYBOX_FEATURE_EDITING_ASK_TERMINAL
default n
depends on BUSYBOX_FEATURE_EDITING
help
- Allow usage of "ESC [ 6 n" sequence. Terminal answers back with
- current cursor position. This information is used to make line
- editing more robust in some cases.
- If you are not sure whether your terminals respond to this code
- correctly, or want to save on code size (about 400 bytes),
- then do not turn this option on.
+ Allow usage of "ESC [ 6 n" sequence. Terminal answers back with
+ current cursor position. This information is used to make line
+ editing more robust in some cases.
+ If you are not sure whether your terminals respond to this code
+ correctly, or want to save on code size (about 400 bytes),
+ then do not turn this option on.
+
+config BUSYBOX_LOCALE_SUPPORT
+ bool "Enable locale support (system needs locale for this to work)"
+ default n
+ help
+ Enable this if your system has locale support and you would like
+ busybox to support locale settings.
-config BUSYBOX_FEATURE_NON_POSIX_CP
- bool "Non-POSIX, but safer, copying to special nodes"
+config BUSYBOX_UNICODE_SUPPORT
+ bool "Support Unicode"
default y
help
- With this option, "cp file symlink" will delete symlink
- and create a regular file. This does not conform to POSIX,
- but prevents a symlink attack.
- Similarly, "cp file device" will not send file's data
- to the device. (To do that, use "cat file >device")
+ This makes various applets aware that one byte is not
+ one character on screen.
-config BUSYBOX_FEATURE_VERBOSE_CP_MESSAGE
- bool "Give more precise messages when copy fails (cp, mv etc)"
- default n
- help
- Error messages with this feature enabled:
- $ cp file /does_not_exist/file
- cp: cannot create '/does_not_exist/file': Path does not exist
- $ cp file /vmlinuz/file
- cp: cannot stat '/vmlinuz/file': Path has non-directory component
- If this feature is not enabled, they will be, respectively:
- cp: cannot create '/does_not_exist/file': No such file or directory
- cp: cannot stat '/vmlinuz/file': Not a directory
- This will cost you ~60 bytes.
+ Busybox aims to eventually work correctly with Unicode displays.
+ Any older encodings are not guaranteed to work.
+ Probably by the time when busybox will be fully Unicode-clean,
+ other encodings will be mainly of historic interest.
-config BUSYBOX_FEATURE_COPYBUF_KB
- int "Copy buffer size, in kilobytes"
- range 1 1024
- default 4
+config BUSYBOX_UNICODE_USING_LOCALE
+ bool "Use libc routines for Unicode (else uses internal ones)"
+ default n
+ depends on BUSYBOX_UNICODE_SUPPORT && BUSYBOX_LOCALE_SUPPORT
help
- Size of buffer used by cp, mv, install, wget etc.
- Buffers which are 4 kb or less will be allocated on stack.
- Bigger buffers will be allocated with mmap, with fallback to 4 kb
- stack buffer if mmap fails.
+ With this option on, Unicode support is implemented using libc
+ routines. Otherwise, internal implementation is used.
+ Internal implementation is smaller.
-config BUSYBOX_FEATURE_SKIP_ROOTFS
- bool "Skip rootfs in mount table"
- default y
+config BUSYBOX_FEATURE_CHECK_UNICODE_IN_ENV
+ bool "Check $LC_ALL, $LC_CTYPE and $LANG environment variables"
+ default n
+ depends on BUSYBOX_UNICODE_SUPPORT && !BUSYBOX_UNICODE_USING_LOCALE
help
- Ignore rootfs entry in mount table.
-
- In Linux, kernel has a special filesystem, rootfs, which is initially
- mounted on /. It contains initramfs data, if kernel is configured
- to have one. Usually, another file system is mounted over / early
- in boot process, and therefore most tools which manipulate
- mount table, such as df, will skip rootfs entry.
+ With this option on, Unicode support is activated
+ only if locale-related variables have the value of the form
+ "xxxx.utf8"
- However, some systems do not mount anything on /.
- If you need to configure busybox for one of these systems,
- you may find it useful to turn this option off to make df show
- initramfs statistics.
+ Otherwise, Unicode support will be always enabled and active.
- Otherwise, choose Y.
+config BUSYBOX_SUBST_WCHAR
+ int "Character code to substitute unprintable characters with"
+ depends on BUSYBOX_UNICODE_SUPPORT
+ default 63
+ help
+ Typical values are 63 for '?' (works with any output device),
+ 30 for ASCII substitute control code,
+ 65533 (0xfffd) for Unicode replacement character.
+
+config BUSYBOX_LAST_SUPPORTED_WCHAR
+ int "Range of supported Unicode characters"
+ depends on BUSYBOX_UNICODE_SUPPORT
+ default 767
+ help
+ Any character with Unicode value bigger than this is assumed
+ to be non-printable on output device. Many applets replace
+ such characters with substitution character.
+
+ The idea is that many valid printable Unicode chars
+ nevertheless are not displayed correctly. Think about
+ combining charachers, double-wide hieroglyphs, obscure
+ characters in dozens of ancient scripts...
+ Many terminals, terminal emulators, xterms etc will fail
+ to handle them correctly. Choose the smallest value
+ which suits your needs.
+
+ Typical values are:
+ 126 - ASCII only
+ 767 (0x2ff) - there are no combining chars in [0..767] range
+ (the range includes Latin 1, Latin Ext. A and B),
+ code is ~700 bytes smaller for this case.
+ 4351 (0x10ff) - there are no double-wide chars in [0..4351] range,
+ code is ~300 bytes smaller for this case.
+ 12799 (0x31ff) - nearly all non-ideographic characters are
+ available in [0..12799] range, including
+ East Asian scripts like katakana, hiragana, hangul,
+ bopomofo...
+ 0 - off, any valid printable Unicode character will be printed.
+
+config BUSYBOX_UNICODE_COMBINING_WCHARS
+ bool "Allow zero-width Unicode characters on output"
+ default n
+ depends on BUSYBOX_UNICODE_SUPPORT
+ help
+ With this option off, any Unicode char with width of 0
+ is substituted on output.
-config BUSYBOX_MONOTONIC_SYSCALL
- bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
- default y
- select BUSYBOX_PLATFORM_LINUX
+config BUSYBOX_UNICODE_WIDE_WCHARS
+ bool "Allow wide Unicode characters on output"
+ default n
+ depends on BUSYBOX_UNICODE_SUPPORT
help
- Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring
- time intervals (time, ping, traceroute etc need this).
- Probably requires Linux 2.6+. If not selected, gettimeofday
- will be used instead (which gives wrong results if date/time
- is reset).
+ With this option off, any Unicode char with width > 1
+ is substituted on output.
-config BUSYBOX_IOCTL_HEX2STR_ERROR
- bool "Use ioctl names rather than hex values in error messages"
- default y
+config BUSYBOX_UNICODE_BIDI_SUPPORT
+ bool "Bidirectional character-aware line input"
+ default n
+ depends on BUSYBOX_UNICODE_SUPPORT && !BUSYBOX_UNICODE_USING_LOCALE
help
- Use ioctl names rather than hex values in error messages
- (e.g. VT_DISALLOCATE rather than 0x5608). If disabled this
- saves about 1400 bytes.
+ With this option on, right-to-left Unicode characters
+ are treated differently on input (e.g. cursor movement).
-config BUSYBOX_FEATURE_HWIB
- bool "Support infiniband HW"
+config BUSYBOX_UNICODE_NEUTRAL_TABLE
+ bool "In bidi input, support non-ASCII neutral chars too"
+ default n
+ depends on BUSYBOX_UNICODE_BIDI_SUPPORT
+ help
+ In most cases it's enough to treat only ASCII non-letters
+ (i.e. punctuation, numbers and space) as characters
+ with neutral directionality.
+ With this option on, more extensive (and bigger) table
+ of neutral chars will be used.
+
+config BUSYBOX_UNICODE_PRESERVE_BROKEN
+ bool "Make it possible to enter sequences of chars which are not Unicode"
default n
+ depends on BUSYBOX_UNICODE_SUPPORT
+ help
+ With this option on, on line-editing input (such as used by shells)
+ invalid UTF-8 bytes are not substituted with the selected
+ substitution character.
+ For example, this means that entering 'l', 's', ' ', 0xff, [Enter]
+ at shell prompt will list file named 0xff (single char name
+ with char value 255), not file named '?'.
+
+choice
+ prompt "Use LOOP_CONFIGURE for losetup and loop mounts"
+ default BUSYBOX_TRY_LOOP_CONFIGURE
help
- Support for printing infiniband addresses in
- network applets.
+ LOOP_CONFIGURE is added to Linux 5.8
+ https://lwn.net/Articles/820408/
+ This allows userspace to completely setup a loop device with a single
+ ioctl, removing the in-between state where the device can be partially
+ configured - eg the loop device has a backing file associated with it,
+ but is reading from the wrong offset.
+
+config BUSYBOX_LOOP_CONFIGURE
+ bool "use LOOP_CONFIGURE, needs kernel >= 5.8"
+
+config BUSYBOX_NO_LOOP_CONFIGURE
+ bool "use LOOP_SET_FD + LOOP_SET_STATUS"
+
+config BUSYBOX_TRY_LOOP_CONFIGURE
+ bool "try LOOP_CONFIGURE, fall back to LOOP_SET_FD + LOOP_SET_STATUS"
-endmenu
+endchoice
diff --git a/package/busybox/config/loginutils/Config.in b/package/busybox/config/loginutils/Config.in
index 03aba2b07..5f12bbbee 100644
--- a/package/busybox/config/loginutils/Config.in
+++ b/package/busybox/config/loginutils/Config.in
@@ -1,363 +1,330 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
#
menu "Login/Password Management Utilities"
-config BUSYBOX_ADD_SHELL
- bool "add-shell"
- default y if DESKTOP
- help
- Add shells to /etc/shells.
-
-config BUSYBOX_REMOVE_SHELL
- bool "remove-shell"
- default y if DESKTOP
- help
- Remove shells from /etc/shells.
-
config BUSYBOX_FEATURE_SHADOWPASSWDS
- bool "Support for shadow passwords"
+ bool "Support shadow passwords"
default y
help
- Build support for shadow password in /etc/shadow. This file is only
- readable by root and thus the encrypted passwords are no longer
- publicly readable.
+ Build support for shadow password in /etc/shadow. This file is only
+ readable by root and thus the encrypted passwords are no longer
+ publicly readable.
config BUSYBOX_USE_BB_PWD_GRP
bool "Use internal password and group functions rather than system functions"
- default n
+ default y
help
- If you leave this disabled, busybox will use the system's password
- and group functions. And if you are using the GNU C library
- (glibc), you will then need to install the /etc/nsswitch.conf
- configuration file and the required /lib/libnss_* libraries in
- order for the password and group functions to work. This generally
- makes your embedded system quite a bit larger.
+ If you leave this disabled, busybox will use the system's password
+ and group functions. And if you are using the GNU C library
+ (glibc), you will then need to install the /etc/nsswitch.conf
+ configuration file and the required /lib/libnss_* libraries in
+ order for the password and group functions to work. This generally
+ makes your embedded system quite a bit larger.
- Enabling this option will cause busybox to directly access the
- system's /etc/password, /etc/group files (and your system will be
- smaller, and I will get fewer emails asking about how glibc NSS
- works). When this option is enabled, you will not be able to use
- PAM to access remote LDAP password servers and whatnot. And if you
- want hostname resolution to work with glibc, you still need the
- /lib/libnss_* libraries.
+ Enabling this option will cause busybox to directly access the
+ system's /etc/password, /etc/group files (and your system will be
+ smaller, and I will get fewer emails asking about how glibc NSS
+ works). When this option is enabled, you will not be able to use
+ PAM to access remote LDAP password servers and whatnot. And if you
+ want hostname resolution to work with glibc, you still need the
+ /lib/libnss_* libraries.
- If you need to use glibc's nsswitch.conf mechanism
- (e.g. if user/group database is NOT stored in /etc/passwd etc),
- you must NOT use this option.
+ If you need to use glibc's nsswitch.conf mechanism
+ (e.g. if user/group database is NOT stored in /etc/passwd etc),
+ you must NOT use this option.
- If you enable this option, it will add about 1.5k.
+ If you enable this option, it will add about 1.5k.
config BUSYBOX_USE_BB_SHADOW
bool "Use internal shadow password functions"
- default n
+ default y
depends on BUSYBOX_USE_BB_PWD_GRP && BUSYBOX_FEATURE_SHADOWPASSWDS
help
- If you leave this disabled, busybox will use the system's shadow
- password handling functions. And if you are using the GNU C library
- (glibc), you will then need to install the /etc/nsswitch.conf
- configuration file and the required /lib/libnss_* libraries in
- order for the shadow password functions to work. This generally
- makes your embedded system quite a bit larger.
+ If you leave this disabled, busybox will use the system's shadow
+ password handling functions. And if you are using the GNU C library
+ (glibc), you will then need to install the /etc/nsswitch.conf
+ configuration file and the required /lib/libnss_* libraries in
+ order for the shadow password functions to work. This generally
+ makes your embedded system quite a bit larger.
- Enabling this option will cause busybox to directly access the
- system's /etc/shadow file when handling shadow passwords. This
- makes your system smaller (and I will get fewer emails asking about
- how glibc NSS works). When this option is enabled, you will not be
- able to use PAM to access shadow passwords from remote LDAP
- password servers and whatnot.
+ Enabling this option will cause busybox to directly access the
+ system's /etc/shadow file when handling shadow passwords. This
+ makes your system smaller (and I will get fewer emails asking about
+ how glibc NSS works). When this option is enabled, you will not be
+ able to use PAM to access shadow passwords from remote LDAP
+ password servers and whatnot.
config BUSYBOX_USE_BB_CRYPT
bool "Use internal crypt functions"
- default n
+ default y
help
- Busybox has internal DES and MD5 crypt functions.
- They produce results which are identical to corresponding
- standard C library functions.
+ Busybox has internal DES and MD5 crypt functions.
+ They produce results which are identical to corresponding
+ standard C library functions.
- If you leave this disabled, busybox will use the system's
- crypt functions. Most C libraries use large (~70k)
- static buffers there, and also combine them with more general
- DES encryption/decryption.
+ If you leave this disabled, busybox will use the system's
+ crypt functions. Most C libraries use large (~70k)
+ static buffers there, and also combine them with more general
+ DES encryption/decryption.
- For busybox, having large static buffers is undesirable,
- especially on NOMMU machines. Busybox also doesn't need
- DES encryption/decryption and can do with smaller code.
+ For busybox, having large static buffers is undesirable,
+ especially on NOMMU machines. Busybox also doesn't need
+ DES encryption/decryption and can do with smaller code.
- If you enable this option, it will add about 4.8k of code
- if you are building dynamically linked executable.
- In static build, it makes code _smaller_ by about 1.2k,
- and likely many kilobytes less of bss.
+ If you enable this option, it will add about 4.8k of code
+ if you are building dynamically linked executable.
+ In static build, it makes code _smaller_ by about 1.2k,
+ and likely many kilobytes less of bss.
config BUSYBOX_USE_BB_CRYPT_SHA
bool "Enable SHA256/512 crypt functions"
- default n
+ default y
depends on BUSYBOX_USE_BB_CRYPT
help
- Enable this if you have passwords starting with "$5$" or "$6$"
- in your /etc/passwd or /etc/shadow files. These passwords
- are hashed using SHA256 and SHA512 algorithms. Support for them
- was added to glibc in 2008.
- With this option off, login will fail password check for any
- user which has password encrypted with these algorithms.
+ Enable this if you have passwords starting with "$5$" or "$6$"
+ in your /etc/passwd or /etc/shadow files. These passwords
+ are hashed using SHA256 and SHA512 algorithms. Support for them
+ was added to glibc in 2008.
+ With this option off, login will fail password check for any
+ user which has password encrypted with these algorithms.
-config BUSYBOX_ADDUSER
- bool "adduser"
- default n
+config BUSYBOX_ADD_SHELL
+ bool "add-shell (3.1 kb)"
+ default y if BUSYBOX_DESKTOP
help
- Utility for creating a new user account.
+ Add shells to /etc/shells.
-config BUSYBOX_FEATURE_ADDUSER_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_ADDUSER && BUSYBOX_LONG_OPTS
+config BUSYBOX_REMOVE_SHELL
+ bool "remove-shell (3 kb)"
+ default y if BUSYBOX_DESKTOP
+ help
+ Remove shells from /etc/shells.
+config BUSYBOX_ADDGROUP
+ bool "addgroup (8.6 kb)"
+ default y
+ select BUSYBOX_LONG_OPTS
+ help
+ Utility for creating a new group account.
+
+config BUSYBOX_FEATURE_ADDUSER_TO_GROUP
+ bool "Support adding users to groups"
+ default y
+ depends on BUSYBOX_ADDGROUP
+ help
+ If called with two non-option arguments,
+ addgroup will add an existing user to an
+ existing group.
+config BUSYBOX_ADDUSER
+ bool "adduser (15 kb)"
+ default y
+ select BUSYBOX_LONG_OPTS
help
- Support long options for the adduser applet.
+ Utility for creating a new user account.
config BUSYBOX_FEATURE_CHECK_NAMES
bool "Enable sanity check on user/group names in adduser and addgroup"
default n
depends on BUSYBOX_ADDUSER || BUSYBOX_ADDGROUP
help
- Enable sanity check on user and group names in adduser and addgroup.
- To avoid problems, the user or group name should consist only of
- letters, digits, underscores, periods, at signs and dashes,
- and not start with a dash (as defined by IEEE Std 1003.1-2001).
- For compatibility with Samba machine accounts "$" is also supported
- at the end of the user or group name.
+ Enable sanity check on user and group names in adduser and addgroup.
+ To avoid problems, the user or group name should consist only of
+ letters, digits, underscores, periods, at signs and dashes,
+ and not start with a dash (as defined by IEEE Std 1003.1-2001).
+ For compatibility with Samba machine accounts "$" is also supported
+ at the end of the user or group name.
config BUSYBOX_LAST_ID
int "Last valid uid or gid for adduser and addgroup"
depends on BUSYBOX_ADDUSER || BUSYBOX_ADDGROUP
default 60000
help
- Last valid uid or gid for adduser and addgroup
+ Last valid uid or gid for adduser and addgroup
config BUSYBOX_FIRST_SYSTEM_ID
int "First valid system uid or gid for adduser and addgroup"
depends on BUSYBOX_ADDUSER || BUSYBOX_ADDGROUP
- range 0 64900
+ range 0 BUSYBOX_LAST_ID
default 100
help
- First valid system uid or gid for adduser and addgroup
+ First valid system uid or gid for adduser and addgroup
config BUSYBOX_LAST_SYSTEM_ID
int "Last valid system uid or gid for adduser and addgroup"
depends on BUSYBOX_ADDUSER || BUSYBOX_ADDGROUP
- range 0 64900
+ range BUSYBOX_FIRST_SYSTEM_ID BUSYBOX_LAST_ID
default 999
help
- Last valid system uid or gid for adduser and addgroup
-
-config BUSYBOX_ADDGROUP
- bool "addgroup"
- default n
+ Last valid system uid or gid for adduser and addgroup
+config BUSYBOX_CHPASSWD
+ bool "chpasswd (18 kb)"
+ default y
help
- Utility for creating a new group account.
+ Reads a file of user name and password pairs from standard input
+ and uses this information to update a group of existing users.
-config BUSYBOX_FEATURE_ADDGROUP_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_ADDGROUP && BUSYBOX_LONG_OPTS
+config BUSYBOX_FEATURE_DEFAULT_PASSWD_ALGO
+ string "Default encryption method (passwd -a, cryptpw -m, chpasswd -c ALG)"
+ default "des"
+ depends on BUSYBOX_PASSWD || BUSYBOX_CRYPTPW || BUSYBOX_CHPASSWD
help
- Support long options for the addgroup applet.
-
-config BUSYBOX_FEATURE_ADDUSER_TO_GROUP
- bool "Support for adding users to groups"
- default n
- depends on BUSYBOX_ADDGROUP
+ Possible choices are "d[es]", "m[d5]", "s[ha256]" or "sha512".
+config BUSYBOX_CRYPTPW
+ bool "cryptpw (14 kb)"
+ default y
help
- If called with two non-option arguments,
- addgroup will add an existing user to an
- existing group.
+ Encrypts the given password with the crypt(3) libc function
+ using the given salt.
+config BUSYBOX_MKPASSWD
+ bool "mkpasswd (15 kb)"
+ default y
+ help
+ Encrypts the given password with the crypt(3) libc function
+ using the given salt. Debian has this utility under mkpasswd
+ name. Busybox provides mkpasswd as an alias for cryptpw.
config BUSYBOX_DELUSER
- bool "deluser"
- default n
+ bool "deluser (9.1 kb)"
+ default y
help
- Utility for deleting a user account.
+ Utility for deleting a user account.
config BUSYBOX_DELGROUP
- bool "delgroup"
- default n
+ bool "delgroup (6.4 kb)"
+ default y
help
- Utility for deleting a group account.
+ Utility for deleting a group account.
config BUSYBOX_FEATURE_DEL_USER_FROM_GROUP
- bool "Support for removing users from groups"
- default n
+ bool "Support removing users from groups"
+ default y
depends on BUSYBOX_DELGROUP
help
- If called with two non-option arguments, deluser
- or delgroup will remove an user from a specified group.
-
+ If called with two non-option arguments, deluser
+ or delgroup will remove an user from a specified group.
config BUSYBOX_GETTY
- bool "getty"
+ bool "getty (10 kb)"
default y
select BUSYBOX_FEATURE_SYSLOG
help
- getty lets you log in on a tty. It is normally invoked by init.
-
- Note that you can save a few bytes by disabling it and
- using login applet directly.
- If you need to reset tty attributes before calling login,
- this script approximates getty:
+ getty lets you log in on a tty. It is normally invoked by init.
- exec </dev/$1 >/dev/$1 2>&1 || BUSYBOX_exit 1
- reset
- stty sane; stty ispeed 38400; stty ospeed 38400
- printf "%s login: " "`hostname`"
- read -r login
- exec /bin/login "$login"
+ Note that you can save a few bytes by disabling it and
+ using login applet directly.
+ If you need to reset tty attributes before calling login,
+ this script approximates getty:
+ exec </dev/$1 >/dev/$1 2>&1 || exit 1
+ reset
+ stty sane; stty ispeed 38400; stty ospeed 38400
+ printf "%s login: " "`hostname`"
+ read -r login
+ exec /bin/login "$login"
config BUSYBOX_LOGIN
- bool "login"
+ bool "login (24 kb)"
default y
select BUSYBOX_FEATURE_SYSLOG
help
- login is used when signing onto a system.
+ login is used when signing onto a system.
- Note that Busybox binary must be setuid root for this applet to
- work properly.
+ Note that busybox binary must be setuid root for this applet to
+ work properly.
config BUSYBOX_LOGIN_SESSION_AS_CHILD
bool "Run logged in session in a child process"
- default y if PAM
- depends on BUSYBOX_LOGIN
- help
- Run the logged in session in a child process. This allows
- login to clean up things such as utmp entries or PAM sessions
- when the login session is complete. If you use PAM, you
- almost always would want this to be set to Y, else PAM session
- will not be cleaned up.
-
-config BUSYBOX_PAM
- bool "Support for PAM (Pluggable Authentication Modules)"
- depends on !BUSYBOX_DISABLE_PAM
- default n
+ default y if BUSYBOX_PAM
depends on BUSYBOX_LOGIN
help
- Use PAM in login(1) instead of direct access to password database.
+ Run the logged in session in a child process. This allows
+ login to clean up things such as utmp entries or PAM sessions
+ when the login session is complete. If you use PAM, you
+ almost always would want this to be set to Y, else PAM session
+ will not be cleaned up.
config BUSYBOX_LOGIN_SCRIPTS
- bool "Support for login scripts"
+ bool "Support login scripts"
depends on BUSYBOX_LOGIN
- default n
+ default y
help
- Enable this if you want login to execute $LOGIN_PRE_SUID_SCRIPT
- just prior to switching from root to logged-in user.
+ Enable this if you want login to execute $LOGIN_PRE_SUID_SCRIPT
+ just prior to switching from root to logged-in user.
config BUSYBOX_FEATURE_NOLOGIN
- bool "Support for /etc/nologin"
- default n
+ bool "Support /etc/nologin"
+ default y
depends on BUSYBOX_LOGIN
help
- The file /etc/nologin is used by (some versions of) login(1).
- If it exists, non-root logins are prohibited.
+ The file /etc/nologin is used by (some versions of) login(1).
+ If it exists, non-root logins are prohibited.
config BUSYBOX_FEATURE_SECURETTY
- bool "Support for /etc/securetty"
- default n
+ bool "Support /etc/securetty"
+ default y
depends on BUSYBOX_LOGIN
help
- The file /etc/securetty is used by (some versions of) login(1).
- The file contains the device names of tty lines (one per line,
- without leading /dev/) on which root is allowed to login.
-
+ The file /etc/securetty is used by (some versions of) login(1).
+ The file contains the device names of tty lines (one per line,
+ without leading /dev/) on which root is allowed to login.
config BUSYBOX_PASSWD
- bool "passwd"
- default n
+ bool "passwd (21 kb)"
+ default y
select BUSYBOX_FEATURE_SYSLOG
help
- passwd changes passwords for user and group accounts. A normal user
- may only change the password for his/her own account, the super user
- may change the password for any account. The administrator of a group
- may change the password for the group.
+ passwd changes passwords for user and group accounts. A normal user
+ may only change the password for his/her own account, the super user
+ may change the password for any account. The administrator of a group
+ may change the password for the group.
- Note that Busybox binary must be setuid root for this applet to
- work properly.
+ Note that busybox binary must be setuid root for this applet to
+ work properly.
config BUSYBOX_FEATURE_PASSWD_WEAK_CHECK
bool "Check new passwords for weakness"
- default n
+ default y
depends on BUSYBOX_PASSWD
help
- With this option passwd will refuse new passwords which are "weak".
-
-config BUSYBOX_CRYPTPW
- bool "cryptpw"
- default n
- help
- Encrypts the given password with the crypt(3) libc function
- using the given salt. Debian has this utility under mkpasswd
- name. Busybox provides mkpasswd as an alias for cryptpw.
-
-config BUSYBOX_MKPASSWD
- bool "mkpasswd"
- default n
- help
- Encrypts the given password with the crypt(3) libc function
- using the given salt. Debian has this utility under mkpasswd
- name. Busybox provides mkpasswd as an alias for cryptpw.
-
-config BUSYBOX_CHPASSWD
- bool "chpasswd"
- default n
- help
- Reads a file of user name and password pairs from standard input
- and uses this information to update a group of existing users.
-
-config BUSYBOX_FEATURE_DEFAULT_PASSWD_ALGO
- string "Default password encryption method (passwd -a, cryptpw -m parameter)"
- default "des"
- depends on BUSYBOX_PASSWD || BUSYBOX_CRYPTPW
- help
- Possible choices are "d[es]", "m[d5]", "s[ha256]" or "sha512".
-
+ With this option passwd will refuse new passwords which are "weak".
config BUSYBOX_SU
- bool "su"
- default n
+ bool "su (19 kb)"
+ default y
select BUSYBOX_FEATURE_SYSLOG
help
- su is used to become another user during a login session.
- Invoked without a username, su defaults to becoming the super user.
-
- Note that Busybox binary must be setuid root for this applet to
- work properly.
+ su is used to become another user during a login session.
+ Invoked without a username, su defaults to becoming the super user.
+ Note that busybox binary must be setuid root for this applet to
+ work properly.
config BUSYBOX_FEATURE_SU_SYSLOG
- bool "Enable su to write to syslog"
+ bool "Log to syslog all attempts to use su"
default y
depends on BUSYBOX_SU
config BUSYBOX_FEATURE_SU_CHECKS_SHELLS
- bool "Enable su to check user's shell to be listed in /etc/shells"
- depends on BUSYBOX_SU
+ bool "If user's shell is not in /etc/shells, disallow -s PROG"
default y
+ depends on BUSYBOX_SU
config BUSYBOX_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY
bool "Allow blank passwords only on TTYs in /etc/securetty"
default n
depends on BUSYBOX_SU
-
config BUSYBOX_SULOGIN
- bool "sulogin"
- default n
+ bool "sulogin (17 kb)"
+ default y
select BUSYBOX_FEATURE_SYSLOG
help
- sulogin is invoked when the system goes into single user
- mode (this is done through an entry in inittab).
-
+ sulogin is invoked when the system goes into single user
+ mode (this is done through an entry in inittab).
config BUSYBOX_VLOCK
- bool "vlock"
- default n
+ bool "vlock (17 kb)"
+ default y
help
- Build the "vlock" applet which allows you to lock (virtual) terminals.
+ Build the "vlock" applet which allows you to lock (virtual) terminals.
- Note that Busybox binary must be setuid root for this applet to
- work properly.
+ Note that busybox binary must be setuid root for this applet to
+ work properly.
endmenu
diff --git a/package/busybox/config/mailutils/Config.in b/package/busybox/config/mailutils/Config.in
index 263f80dd7..29890dcbd 100644
--- a/package/busybox/config/mailutils/Config.in
+++ b/package/busybox/config/mailutils/Config.in
@@ -1,55 +1,51 @@
# DO NOT EDIT. This file is generated from Config.src
menu "Mail Utilities"
-
-config BUSYBOX_MAKEMIME
- bool "makemime"
- default n
- help
- Create MIME-formatted messages.
-
config BUSYBOX_FEATURE_MIME_CHARSET
string "Default charset"
default "us-ascii"
depends on BUSYBOX_MAKEMIME || BUSYBOX_REFORMIME || BUSYBOX_SENDMAIL
help
- Default charset of the message.
+ Default charset of the message.
+config BUSYBOX_MAKEMIME
+ bool "makemime (5.4 kb)"
+ default y
+ help
+ Create MIME-formatted messages.
config BUSYBOX_POPMAILDIR
- bool "popmaildir"
- default n
+ bool "popmaildir (10 kb)"
+ default y
help
- Simple yet powerful POP3 mail popper. Delivers content
- of remote mailboxes to local Maildir.
+ Simple yet powerful POP3 mail popper. Delivers content
+ of remote mailboxes to local Maildir.
config BUSYBOX_FEATURE_POPMAILDIR_DELIVERY
bool "Allow message filters and custom delivery program"
default y
depends on BUSYBOX_POPMAILDIR
help
- Allow to use a custom program to filter the content
- of the message before actual delivery (-F "prog [args...]").
- Allow to use a custom program for message actual delivery
- (-M "prog [args...]").
-
+ Allow to use a custom program to filter the content
+ of the message before actual delivery (-F "prog [args...]").
+ Allow to use a custom program for message actual delivery
+ (-M "prog [args...]").
config BUSYBOX_REFORMIME
- bool "reformime"
- default n
+ bool "reformime (7.5 kb)"
+ default y
help
- Parse MIME-formatted messages.
+ Parse MIME-formatted messages.
config BUSYBOX_FEATURE_REFORMIME_COMPAT
bool "Accept and ignore options other than -x and -X"
default y
depends on BUSYBOX_REFORMIME
help
- Accept (for compatibility only) and ignore options
- other than -x and -X.
-
+ Accept (for compatibility only) and ignore options
+ other than -x and -X.
config BUSYBOX_SENDMAIL
- bool "sendmail"
- default n
+ bool "sendmail (14 kb)"
+ default y
help
- Barebones sendmail.
+ Barebones sendmail.
endmenu
diff --git a/package/busybox/config/miscutils/Config.in b/package/busybox/config/miscutils/Config.in
index cafe66989..82aeff339 100644
--- a/package/busybox/config/miscutils/Config.in
+++ b/package/busybox/config/miscutils/Config.in
@@ -1,293 +1,142 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
#
menu "Miscellaneous Utilities"
-config BUSYBOX_CONSPY
- bool "conspy"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- A text-mode VNC like program for Linux virtual terminals.
- example: conspy NUM shared access to console num
- or conspy -nd NUM screenshot of console num
- or conspy -cs NUM poor man's GNU screen like
-
-config BUSYBOX_I2CGET
- bool "i2cget"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Read from I2C/SMBus chip registers.
-
-config BUSYBOX_I2CSET
- bool "i2cset"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Set I2C registers.
-
-config BUSYBOX_I2CDUMP
- bool "i2cdump"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Examine I2C registers.
-
-config BUSYBOX_I2CDETECT
- bool "i2cdetect"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Detect I2C chips.
-
-config BUSYBOX_I2CTRANSFER
- bool "i2ctransfer (4.0 kb)"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Send user-defined I2C messages in one transfer.
-
-config BUSYBOX_LESS
- bool "less"
- depends on !BUSYBOX_DISABLE_LESS
- default n
- help
- 'less' is a pager, meaning that it displays text files. It possesses
- a wide array of features, and is an improvement over 'more'.
-
-config BUSYBOX_FEATURE_LESS_MAXLINES
- int "Max number of input lines less will try to eat"
- default 9999999
- depends on BUSYBOX_LESS
-
-config BUSYBOX_FEATURE_LESS_BRACKETS
- bool "Enable bracket searching"
- default y
- depends on BUSYBOX_LESS
- help
- This option adds the capability to search for matching left and right
- brackets, facilitating programming.
-
-config BUSYBOX_FEATURE_LESS_FLAGS
- bool "Enable -m/-M"
- default y
- depends on BUSYBOX_LESS
- help
- The -M/-m flag enables a more sophisticated status line.
-
-config BUSYBOX_FEATURE_LESS_TRUNCATE
- bool "Enable -S"
+config BUSYBOX_ADJTIMEX
+ bool "adjtimex (4.7 kb)"
default y
- depends on BUSYBOX_LESS
help
- The -S flag causes long lines to be truncated rather than
- wrapped.
-
-config BUSYBOX_FEATURE_LESS_MARKS
- bool "Enable marks"
+ Adjtimex reads and optionally sets adjustment parameters for
+ the Linux clock adjustment algorithm.
+config BUSYBOX_ASCII
+ bool "ascii"
default y
- depends on BUSYBOX_LESS
help
- Marks enable positions in a file to be stored for easy reference.
+ Print ascii table.
-config BUSYBOX_FEATURE_LESS_REGEXP
- bool "Enable regular expressions"
- default y
- depends on BUSYBOX_LESS
+config BUSYBOX_BBCONFIG
+ bool "bbconfig (9.7 kb)"
+ default n
help
- Enable regular expressions, allowing complex file searches.
+ The bbconfig applet will print the config file with which
+ busybox was built.
-config BUSYBOX_FEATURE_LESS_WINCH
- bool "Enable automatic resizing on window size changes"
+config BUSYBOX_FEATURE_COMPRESS_BBCONFIG
+ bool "Compress bbconfig data"
default y
- depends on BUSYBOX_LESS
+ depends on BUSYBOX_BBCONFIG
help
- Makes less track window size changes.
+ Store bbconfig data in compressed form, uncompress them on-the-fly
+ before output.
-config BUSYBOX_FEATURE_LESS_ASK_TERMINAL
- bool "Use 'tell me cursor position' ESC sequence to measure window"
+ If you have a really tiny busybox with few applets enabled (and
+ bunzip2 isn't one of them), the overhead of the decompressor might
+ be noticeable. Also, if you run executables directly from ROM
+ and have very little memory, this might not be a win. Otherwise,
+ you probably want this.
+config BUSYBOX_BC
+ bool "bc (45 kb)"
default y
- depends on BUSYBOX_FEATURE_LESS_WINCH
+ select BUSYBOX_FEATURE_DC_BIG
help
- Makes less track window size changes.
- If terminal size can't be retrieved and $LINES/$COLUMNS are not set,
- this option makes less perform a last-ditch effort to find it:
- position cursor to 999,999 and ask terminal to report real
- cursor position using "ESC [ 6 n" escape sequence, then read stdin.
+ bc is a command-line, arbitrary-precision calculator with a
+ Turing-complete language. See the GNU bc manual
+ (https://www.gnu.org/software/bc/manual/bc.html) and bc spec
+ (http://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html).
- This is not clean but helps a lot on serial lines and such.
+ This bc has five differences to the GNU bc:
+ 1) The period (.) is a shortcut for "last", as in the BSD bc.
+ 2) Arrays are copied before being passed as arguments to
+ functions. This behavior is required by the bc spec.
+ 3) Arrays can be passed to the builtin "length" function to get
+ the number of elements in the array. This prints "1":
+ a[0] = 0; length(a[])
+ 4) The precedence of the boolean "not" operator (!) is equal to
+ that of the unary minus (-) negation operator. This still
+ allows POSIX-compliant scripts to work while somewhat
+ preserving expected behavior (versus C) and making parsing
+ easier.
+ 5) "read()" accepts expressions, not only numeric literals.
-config BUSYBOX_FEATURE_LESS_DASHCMD
- bool "Enable flag changes ('-' command)"
+config BUSYBOX_DC
+ bool "dc (36 kb)"
default y
- depends on BUSYBOX_LESS
help
- This enables the ability to change command-line flags within
- less itself ('-' keyboard command).
-
-config BUSYBOX_FEATURE_LESS_LINENUMS
- bool "Enable dynamic switching of line numbers"
+ dc is a reverse-polish notation command-line calculator which
+ supports unlimited precision arithmetic. See the FreeBSD man page
+ (https://www.unix.com/man-page/FreeBSD/1/dc/) and GNU dc manual
+ (https://www.gnu.org/software/bc/manual/dc-1.05/html_mono/dc.html).
+
+ This dc has a few differences from the two above:
+ 1) When printing a byte stream (command "P"), this dc follows what
+ the FreeBSD dc does.
+ 2) Implements the GNU extensions for divmod ("~") and
+ modular exponentiation ("|").
+ 3) Implements all FreeBSD extensions, except for "J" and "M".
+ 4) Like the FreeBSD dc, this dc supports extended registers.
+ However, they are implemented differently. When it encounters
+ whitespace where a register should be, it skips the whitespace.
+ If the character following is not a lowercase letter, an error
+ is issued. Otherwise, the register name is parsed by the
+ following regex: [a-z][a-z0-9_]*
+ This generally means that register names will be surrounded by
+ whitespace. Examples:
+ l idx s temp L index S temp2 < do_thing
+ Also note that, like the FreeBSD dc, extended registers are not
+ allowed unless the "-x" option is given.
+
+if BUSYBOX_BC || BUSYBOX_DC # for menuconfig indenting
+
+config BUSYBOX_FEATURE_DC_BIG
+ bool "Use bc code base for dc (larger, more features)"
default y
- depends on BUSYBOX_FEATURE_LESS_DASHCMD
- help
- Enables "-N" command.
-config BUSYBOX_FEATURE_LESS_RAW
- bool "Enable -R ('raw control characters')"
+config BUSYBOX_FEATURE_DC_LIBM
+ bool "Enable power and exp functions (requires libm)"
default y
- depends on BUSYBOX_FEATURE_LESS_DASHCMD
+ depends on BUSYBOX_DC && !BUSYBOX_BC && !BUSYBOX_FEATURE_DC_BIG
help
- This is essential for less applet to work with tools that use colors
- and paging, such as git, systemd tools or nmcli.
+ Enable power and exp functions.
+ NOTE: This will require libm to be present for linking.
-config BUSYBOX_FEATURE_LESS_ENV
- bool "Take options from $LESS environment variable"
+config BUSYBOX_FEATURE_BC_INTERACTIVE
+ bool "Interactive mode (+4kb)"
default y
- depends on BUSYBOX_FEATURE_LESS_DASHCMD
- help
- This is essential for less applet to work with tools that use colors
- and paging, such as git, systemd tools or nmcli.
-
-config BUSYBOX_LSSCSI
- bool "lsscsi (2.5 kb)"
- default n
- #select PLATFORM_LINUX
- help
- lsscsi is a utility for displaying information about SCSI buses in the
- system and devices connected to them.
-
- This version uses sysfs (/sys/bus/scsi/devices) only.
-
-config BUSYBOX_NANDWRITE
- bool "nandwrite"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Write to the specified MTD device, with bad blocks awareness
-
-config BUSYBOX_NANDDUMP
- bool "nanddump"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Dump the content of raw NAND chip
-
-config BUSYBOX_PARTPROBE
- bool "partprobe (3.5 kb)"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ depends on BUSYBOX_BC || (BUSYBOX_DC && BUSYBOX_FEATURE_DC_BIG)
help
- Ask kernel to rescan partition table.
+ Enable interactive mode: when started on a tty,
+ ^C interrupts execution and returns to command line,
+ errors also return to command line instead of exiting,
+ line editing with history is available.
-config BUSYBOX_SETFATTR
- bool "setfattr (3.7 kb)"
- default n
- help
- Set/delete extended attributes on files
+ With this option off, input can still be taken from tty,
+ but all errors are fatal, ^C is fatal,
+ tty is treated exactly the same as any other
+ standard input (IOW: no line editing).
-config BUSYBOX_SETSERIAL
- bool "setserial"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Retrieve or set Linux serial port.
-
-config BUSYBOX_UBIATTACH
- bool "ubiattach"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Attach MTD device to an UBI device.
-
-config BUSYBOX_UBIDETACH
- bool "ubidetach"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Detach MTD device from an UBI device.
-
-config BUSYBOX_UBIMKVOL
- bool "ubimkvol"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Create a UBI volume.
-
-config BUSYBOX_UBIRMVOL
- bool "ubirmvol"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Delete a UBI volume.
-
-config BUSYBOX_UBIRSVOL
- bool "ubirsvol"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Resize a UBI volume.
-
-config BUSYBOX_UBIUPDATEVOL
- bool "ubiupdatevol"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Update a UBI volume.
-
-config BUSYBOX_UBIRENAME
- bool "ubirename"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Utility to rename UBI volumes
-
-config BUSYBOX_ADJTIMEX
- bool "adjtimex"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Adjtimex reads and optionally sets adjustment parameters for
- the Linux clock adjustment algorithm.
-
-config BUSYBOX_BBCONFIG
- bool "bbconfig"
- default n
- help
- The bbconfig applet will print the config file with which
- busybox was built.
-
-config BUSYBOX_FEATURE_COMPRESS_BBCONFIG
- bool "Compress bbconfig data"
+config BUSYBOX_FEATURE_BC_LONG_OPTIONS
+ bool "Enable bc/dc long options"
default y
- depends on BUSYBOX_BBCONFIG
- help
- Store bbconfig data in compressed form, uncompress them on-the-fly
- before output.
-
- If you have a really tiny busybox with few applets enabled (and
- bunzip2 isn't one of them), the overhead of the decompressor might
- be noticeable. Also, if you run executables directly from ROM
- and have very little memory, this might not be a win. Otherwise,
- you probably want this.
+ depends on BUSYBOX_BC || (BUSYBOX_DC && BUSYBOX_FEATURE_DC_BIG)
+endif
config BUSYBOX_BEEP
- bool "beep"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "beep (2.4 kb)"
+ default y
help
- The beep applets beeps in a given freq/Hz.
+ The beep applets beeps in a given freq/Hz.
config BUSYBOX_FEATURE_BEEP_FREQ
int "default frequency"
- range 0 2147483647
+ range 20 50000 # allowing 0 here breaks the build
default 4000
depends on BUSYBOX_BEEP
help
- Frequency for default beep.
+ Frequency for default beep.
config BUSYBOX_FEATURE_BEEP_LENGTH_MS
int "default length"
@@ -295,423 +144,466 @@ config BUSYBOX_FEATURE_BEEP_LENGTH_MS
default 30
depends on BUSYBOX_BEEP
help
- Length in ms for default beep.
-
+ Length in ms for default beep.
config BUSYBOX_CHAT
- bool "chat"
- default n
+ bool "chat (6.3 kb)"
+ default y
help
- Simple chat utility.
+ Simple chat utility.
config BUSYBOX_FEATURE_CHAT_NOFAIL
bool "Enable NOFAIL expect strings"
depends on BUSYBOX_CHAT
default y
help
- When enabled expect strings which are started with a dash trigger
- no-fail mode. That is when expectation is not met within timeout
- the script is not terminated but sends next SEND string and waits
- for next EXPECT string. This allows to compose far more flexible
- scripts.
+ When enabled expect strings which are started with a dash trigger
+ no-fail mode. That is when expectation is not met within timeout
+ the script is not terminated but sends next SEND string and waits
+ for next EXPECT string. This allows to compose far more flexible
+ scripts.
config BUSYBOX_FEATURE_CHAT_TTY_HIFI
bool "Force STDIN to be a TTY"
depends on BUSYBOX_CHAT
default n
help
- Original chat always treats STDIN as a TTY device and sets for it
- so-called raw mode. This option turns on such behaviour.
+ Original chat always treats STDIN as a TTY device and sets for it
+ so-called raw mode. This option turns on such behaviour.
config BUSYBOX_FEATURE_CHAT_IMPLICIT_CR
bool "Enable implicit Carriage Return"
depends on BUSYBOX_CHAT
default y
help
- When enabled make chat to terminate all SEND strings with a "\r"
- unless "\c" is met anywhere in the string.
+ When enabled make chat to terminate all SEND strings with a "\r"
+ unless "\c" is met anywhere in the string.
config BUSYBOX_FEATURE_CHAT_SWALLOW_OPTS
bool "Swallow options"
depends on BUSYBOX_CHAT
default y
help
- Busybox chat require no options. To make it not fail when used
- in place of original chat (which has a bunch of options) turn
- this on.
+ Busybox chat require no options. To make it not fail when used
+ in place of original chat (which has a bunch of options) turn
+ this on.
config BUSYBOX_FEATURE_CHAT_SEND_ESCAPES
bool "Support weird SEND escapes"
depends on BUSYBOX_CHAT
default y
help
- Original chat uses some escape sequences in SEND arguments which
- are not sent to device but rather performs special actions.
- E.g. "\K" means to send a break sequence to device.
- "\d" delays execution for a second, "\p" -- for a 1/100 of second.
- Before turning this option on think twice: do you really need them?
+ Original chat uses some escape sequences in SEND arguments which
+ are not sent to device but rather performs special actions.
+ E.g. "\K" means to send a break sequence to device.
+ "\d" delays execution for a second, "\p" -- for a 1/100 of second.
+ Before turning this option on think twice: do you really need them?
config BUSYBOX_FEATURE_CHAT_VAR_ABORT_LEN
bool "Support variable-length ABORT conditions"
depends on BUSYBOX_CHAT
default y
help
- Original chat uses fixed 50-bytes length ABORT conditions. Say N here.
+ Original chat uses fixed 50-bytes length ABORT conditions. Say N here.
config BUSYBOX_FEATURE_CHAT_CLR_ABORT
bool "Support revoking of ABORT conditions"
depends on BUSYBOX_CHAT
default y
help
- Support CLR_ABORT directive.
-
-config BUSYBOX_CHRT
- bool "chrt"
- default n
+ Support CLR_ABORT directive.
+config BUSYBOX_CONSPY
+ bool "conspy (10 kb)"
+ default y
help
- manipulate real-time attributes of a process.
- This requires sched_{g,s}etparam support in your libc.
-
+ A text-mode VNC like program for Linux virtual terminals.
+ example: conspy NUM shared access to console num
+ or conspy -nd NUM screenshot of console num
+ or conspy -cs NUM poor man's GNU screen like
config BUSYBOX_CROND
- bool "crond"
- default n
+ bool "crond (14 kb)"
+ default y
select BUSYBOX_FEATURE_SYSLOG
help
- Crond is a background daemon that parses individual crontab
- files and executes commands on behalf of the users in question.
- This is a port of dcron from slackware. It uses files of the
- format /var/spool/cron/crontabs/<username> files, for example:
- $ cat /var/spool/cron/crontabs/root
- # Run daily cron jobs at 4:40 every day:
- 40 4 * * * /etc/cron/daily > /dev/null 2>&1
+ Crond is a background daemon that parses individual crontab
+ files and executes commands on behalf of the users in question.
+ This is a port of dcron from slackware. It uses files of the
+ format /var/spool/cron/crontabs/<username> files, for example:
+ $ cat /var/spool/cron/crontabs/root
+ # Run daily cron jobs at 4:40 every day:
+ 40 4 * * * /etc/cron/daily > /dev/null 2>&1
config BUSYBOX_FEATURE_CROND_D
- bool "Support option -d to redirect output to stderr"
+ bool "Support -d (redirect output to stderr)"
depends on BUSYBOX_CROND
default y
help
- -d sets loglevel to 0 (most verbose) and directs all output to stderr.
+ -d N sets loglevel (0:most verbose) and directs all output to stderr.
config BUSYBOX_FEATURE_CROND_CALL_SENDMAIL
bool "Report command output via email (using sendmail)"
- default n
+ default y
depends on BUSYBOX_CROND
help
- Command output will be sent to corresponding user via email.
+ Command output will be sent to corresponding user via email.
+
+config BUSYBOX_FEATURE_CROND_SPECIAL_TIMES
+ bool "Support special times (@reboot, @daily, etc) in crontabs"
+ default y
+ depends on BUSYBOX_CROND
+ help
+ string meaning
+ ------ -------
+ @reboot Run once, at startup
+ @yearly Run once a year: "0 0 1 1 *"
+ @annually Same as @yearly: "0 0 1 1 *"
+ @monthly Run once a month: "0 0 1 * *"
+ @weekly Run once a week: "0 0 * * 0"
+ @daily Run once a day: "0 0 * * *"
+ @midnight Same as @daily: "0 0 * * *"
+ @hourly Run once an hour: "0 * * * *"
config BUSYBOX_FEATURE_CROND_DIR
string "crond spool directory"
default "/var/spool/cron"
depends on BUSYBOX_CROND || BUSYBOX_CRONTAB
help
- Location of crond spool.
-
+ Location of crond spool.
config BUSYBOX_CRONTAB
- bool "crontab"
- default n
- help
- Crontab manipulates the crontab for a particular user. Only
- the superuser may specify a different user and/or crontab directory.
- Note that Busybox binary must be setuid root for this applet to
- work properly.
-
-config BUSYBOX_BC
- bool "bc (45 kb)"
- default n
- select BUSYBOX_FEATURE_DC_BIG
- help
- bc is a command-line, arbitrary-precision calculator with a
- Turing-complete language. See the GNU bc manual
- (https://www.gnu.org/software/bc/manual/bc.html) and bc spec
- (http://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html).
-
- This bc has five differences to the GNU bc:
- 1) The period (.) is a shortcut for "last", as in the BSD bc.
- 2) Arrays are copied before being passed as arguments to
- functions. This behavior is required by the bc spec.
- 3) Arrays can be passed to the builtin "length" function to get
- the number of elements in the array. This prints "1":
- a[0] = 0; length(a[])
- 4) The precedence of the boolean "not" operator (!) is equal to
- that of the unary minus (-) negation operator. This still
- allows POSIX-compliant scripts to work while somewhat
- preserving expected behavior (versus C) and making parsing
- easier.
- 5) "read()" accepts expressions, not only numeric literals.
-
-
-config BUSYBOX_DC
- bool "dc"
- default n
- help
- Dc is a reverse-polish desk calculator which supports unlimited
- precision arithmetic.
-
-config BUSYBOX_FEATURE_DC_LIBM
- bool "Enable power and exp functions (requires libm)"
- default n
- depends on BUSYBOX_DC
+ bool "crontab (10 kb)"
+ default y
help
- Enable power and exp functions.
- NOTE: This will require libm to be present for linking.
-
+ Crontab manipulates the crontab for a particular user. Only
+ the superuser may specify a different user and/or crontab directory.
+ Note that busybox binary must be setuid root for this applet to
+ work properly.
config BUSYBOX_DEVFSD
bool "devfsd (obsolete)"
default n
- select BUSYBOX_PLATFORM_LINUX
select BUSYBOX_FEATURE_SYSLOG
help
- This is deprecated and should NOT be used anymore.
- Use linux >= 2.6 (optionally with hotplug) and mdev instead!
- See docs/mdev.txt for detailed instructions on how to use mdev
- instead.
+ This is deprecated and should NOT be used anymore.
+ Use linux >= 2.6 (optionally with hotplug) and mdev instead!
+ See docs/mdev.txt for detailed instructions on how to use mdev
+ instead.
- Provides compatibility with old device names on a devfs systems.
- You should set it to true if you have devfs enabled.
- The following keywords in devsfd.conf are supported:
- "CLEAR_CONFIG", "INCLUDE", "OPTIONAL_INCLUDE", "RESTORE",
- "PERMISSIONS", "EXECUTE", "COPY", "IGNORE",
- "MKOLDCOMPAT", "MKNEWCOMPAT","RMOLDCOMPAT", "RMNEWCOMPAT".
+ Provides compatibility with old device names on a devfs systems.
+ You should set it to true if you have devfs enabled.
+ The following keywords in devsfd.conf are supported:
+ "CLEAR_CONFIG", "INCLUDE", "OPTIONAL_INCLUDE", "RESTORE",
+ "PERMISSIONS", "EXECUTE", "COPY", "IGNORE",
+ "MKOLDCOMPAT", "MKNEWCOMPAT","RMOLDCOMPAT", "RMNEWCOMPAT".
- But only if they are written UPPERCASE!!!!!!!!
+ But only if they are written UPPERCASE!!!!!!!!
config BUSYBOX_DEVFSD_MODLOAD
bool "Adds support for MODLOAD keyword in devsfd.conf"
- default n
+ default y
depends on BUSYBOX_DEVFSD
help
- This actually doesn't work with busybox modutils but needs
- the external modutils.
+ This actually doesn't work with busybox modutils but needs
+ the external modutils.
config BUSYBOX_DEVFSD_FG_NP
- bool "Enables the -fg and -np options"
- default n
+ bool "Enable the -fg and -np options"
+ default y
depends on BUSYBOX_DEVFSD
help
- -fg Run the daemon in the foreground.
- -np Exit after parsing the configuration file.
- Do not poll for events.
+ -fg Run the daemon in the foreground.
+ -np Exit after parsing config. Do not poll for events.
config BUSYBOX_DEVFSD_VERBOSE
bool "Increases logging (and size)"
- default n
+ default y
depends on BUSYBOX_DEVFSD
help
- Increases logging to stderr or syslog.
+ Increases logging to stderr or syslog.
config BUSYBOX_FEATURE_DEVFS
bool "Use devfs names for all devices (obsolete)"
default n
- select BUSYBOX_PLATFORM_LINUX
help
- This is obsolete and should NOT be used anymore.
- Use linux >= 2.6 (optionally with hotplug) and mdev instead!
-
- For legacy systems -- if there is no way around devfsd -- this
- tells busybox to look for names like /dev/loop/0 instead of
- /dev/loop0. If your /dev directory has normal names instead of
- devfs names, you don't want this.
+ This is obsolete and should NOT be used anymore.
+ Use linux >= 2.6 (optionally with hotplug) and mdev instead!
+ For legacy systems -- if there is no way around devfsd -- this
+ tells busybox to look for names like /dev/loop/0 instead of
+ /dev/loop0. If your /dev directory has normal names instead of
+ devfs names, you don't want this.
config BUSYBOX_DEVMEM
- bool "devmem"
- default n
- help
- devmem is a small program that reads and writes from physical
- memory using /dev/mem.
-
-config BUSYBOX_EJECT
- bool "eject"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Used to eject cdroms. (defaults to /dev/cdrom)
-
-config BUSYBOX_FEATURE_EJECT_SCSI
- bool "SCSI support"
- default n
- depends on BUSYBOX_EJECT
+ bool "devmem (2.5 kb)"
+ default y
help
- Add the -s option to eject, this allows to eject SCSI-Devices and
- usb-storage devices.
-
+ devmem is a small program that reads and writes from physical
+ memory using /dev/mem.
config BUSYBOX_FBSPLASH
- bool "fbsplash"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Shows splash image and progress bar on framebuffer device.
- Can be used during boot phase of an embedded device. ~2kb.
- Usage:
- - use kernel option 'vga=xxx' or otherwise enable fb device.
- - put somewhere fbsplash.cfg file and an image in .ppm format.
- - $ setsid fbsplash [params] &
+ bool "fbsplash (26 kb)"
+ default y
+ help
+ Shows splash image and progress bar on framebuffer device.
+ Can be used during boot phase of an embedded device.
+ Usage:
+ - use kernel option 'vga=xxx' or otherwise enable fb device.
+ - put somewhere fbsplash.cfg file and an image in .ppm format.
+ - $ setsid fbsplash [params] &
-c: hide cursor
-d /dev/fbN: framebuffer device (if not /dev/fb0)
-s path_to_image_file (can be "-" for stdin)
-i path_to_cfg_file (can be "-" for stdin)
-f path_to_fifo (can be "-" for stdin)
- - if you want to run it only in presence of kernel parameter:
- grep -q "fbsplash=on" </proc/cmdline && BUSYBOX_setsid fbsplash [params] &
- - commands for fifo:
+ - if you want to run it only in presence of kernel parameter:
+ grep -q "fbsplash=on" </proc/cmdline && setsid fbsplash [params] &
+ - commands for fifo:
"NN" (ASCII decimal number) - percentage to show on progress bar
"exit" - well you guessed it
-
-config BUSYBOX_FLASHCP
- bool "flashcp"
+config BUSYBOX_FLASH_ERASEALL
+ bool "flash_eraseall (5.9 kb)"
default n # doesn't build on Ubuntu 8.04
help
- The flashcp binary, inspired by mtd-utils as of git head 5eceb74f7.
- This utility is used to copy images into a MTD device.
-
+ The flash_eraseall binary from mtd-utils as of git head c4c6a59eb.
+ This utility is used to erase the whole MTD device.
config BUSYBOX_FLASH_LOCK
- bool "flash_lock"
+ bool "flash_lock (2.1 kb)"
default n # doesn't build on Ubuntu 8.04
help
- The flash_lock binary from mtd-utils as of git head 5ec0c10d0. This
- utility locks part or all of the flash device.
+ The flash_lock binary from mtd-utils as of git head 5ec0c10d0. This
+ utility locks part or all of the flash device.
config BUSYBOX_FLASH_UNLOCK
- bool "flash_unlock"
+ bool "flash_unlock (1.3 kb)"
default n # doesn't build on Ubuntu 8.04
help
- The flash_unlock binary from mtd-utils as of git head 5ec0c10d0. This
- utility unlocks part or all of the flash device.
-
-config BUSYBOX_FLASH_ERASEALL
- bool "flash_eraseall"
+ The flash_unlock binary from mtd-utils as of git head 5ec0c10d0. This
+ utility unlocks part or all of the flash device.
+config BUSYBOX_FLASHCP
+ bool "flashcp (5.3 kb)"
default n # doesn't build on Ubuntu 8.04
help
- The flash_eraseall binary from mtd-utils as of git head c4c6a59eb.
- This utility is used to erase the whole MTD device.
-
-config BUSYBOX_IONICE
- bool "ionice"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Set/set program io scheduling class and priority
- Requires kernel >= 2.6.13
-
-config BUSYBOX_INOTIFYD
- bool "inotifyd"
- default n # doesn't build on Knoppix 5
- help
- Simple inotify daemon. Reports filesystem changes. Requires
- kernel >= 2.6.13
-
-config BUSYBOX_LAST
- bool "last"
- default n
- depends on BUSYBOX_FEATURE_WTMP
- help
- 'last' displays a list of the last users that logged into the system.
-
-choice
- prompt "Choose last implementation"
- depends on BUSYBOX_LAST
- default FEATURE_LAST_FANCY
-
-config BUSYBOX_FEATURE_LAST_SMALL
- bool "small"
- help
- This is a small version of last with just the basic set of
- features.
-
-config BUSYBOX_FEATURE_LAST_FANCY
- bool "huge"
- help
- 'last' displays detailed information about the last users that
- logged into the system (mimics sysvinit last). +900 bytes.
-endchoice
-
+ The flashcp binary, inspired by mtd-utils as of git head 5eceb74f7.
+ This utility is used to copy images into a MTD device.
config BUSYBOX_HDPARM
- bool "hdparm"
- default n
- depends on !BUSYBOX_DISABLE_HDPARM
- select BUSYBOX_PLATFORM_LINUX
+ bool "hdparm (25 kb)"
+ default y
help
- Get/Set hard drive parameters. Primarily intended for ATA
- drives. Adds about 13k (or around 30k if you enable the
- FEATURE_HDPARM_GET_IDENTITY option)....
+ Get/Set hard drive parameters. Primarily intended for ATA
+ drives.
config BUSYBOX_FEATURE_HDPARM_GET_IDENTITY
bool "Support obtaining detailed information directly from drives"
default y
depends on BUSYBOX_HDPARM
help
- Enables the -I and -i options to obtain detailed information
- directly from drives about their capabilities and supported ATA
- feature set. If no device name is specified, hdparm will read
- identify data from stdin. Enabling this option will add about 16k...
+ Enable the -I and -i options to obtain detailed information
+ directly from drives about their capabilities and supported ATA
+ feature set. If no device name is specified, hdparm will read
+ identify data from stdin. Enabling this option will add about 16k...
config BUSYBOX_FEATURE_HDPARM_HDIO_SCAN_HWIF
bool "Register an IDE interface (DANGEROUS)"
default y
depends on BUSYBOX_HDPARM
help
- Enables the 'hdparm -R' option to register an IDE interface.
- This is dangerous stuff, so you should probably say N.
+ Enable the 'hdparm -R' option to register an IDE interface.
+ This is dangerous stuff, so you should probably say N.
config BUSYBOX_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF
bool "Un-register an IDE interface (DANGEROUS)"
default y
depends on BUSYBOX_HDPARM
help
- Enables the 'hdparm -U' option to un-register an IDE interface.
- This is dangerous stuff, so you should probably say N.
+ Enable the 'hdparm -U' option to un-register an IDE interface.
+ This is dangerous stuff, so you should probably say N.
config BUSYBOX_FEATURE_HDPARM_HDIO_DRIVE_RESET
bool "Perform device reset (DANGEROUS)"
default y
depends on BUSYBOX_HDPARM
help
- Enables the 'hdparm -w' option to perform a device reset.
- This is dangerous stuff, so you should probably say N.
+ Enable the 'hdparm -w' option to perform a device reset.
+ This is dangerous stuff, so you should probably say N.
config BUSYBOX_FEATURE_HDPARM_HDIO_TRISTATE_HWIF
bool "Tristate device for hotswap (DANGEROUS)"
default y
depends on BUSYBOX_HDPARM
help
- Enables the 'hdparm -x' option to tristate device for hotswap,
- and the '-b' option to get/set bus state. This is dangerous
- stuff, so you should probably say N.
+ Enable the 'hdparm -x' option to tristate device for hotswap,
+ and the '-b' option to get/set bus state. This is dangerous
+ stuff, so you should probably say N.
config BUSYBOX_FEATURE_HDPARM_HDIO_GETSET_DMA
bool "Get/set using_dma flag"
default y
depends on BUSYBOX_HDPARM
help
- Enables the 'hdparm -d' option to get/set using_dma flag.
-
+ Enable the 'hdparm -d' option to get/set using_dma flag.
config BUSYBOX_HEXEDIT
bool "hexedit (21 kb)"
- default n
+ default y
help
Edit file in hexadecimal.
+config BUSYBOX_I2CGET
+ bool "i2cget (5.5 kb)"
+ default y
+ help
+ Read from I2C/SMBus chip registers.
+
+config BUSYBOX_I2CSET
+ bool "i2cset (6.7 kb)"
+ default y
+ help
+ Set I2C registers.
+
+config BUSYBOX_I2CDUMP
+ bool "i2cdump (7.1 kb)"
+ default y
+ help
+ Examine I2C registers.
+
+config BUSYBOX_I2CDETECT
+ bool "i2cdetect (7.1 kb)"
+ default y
+ help
+ Detect I2C chips.
+
+config BUSYBOX_I2CTRANSFER
+ bool "i2ctransfer (4.0 kb)"
+ default y
+ help
+ Send user-defined I2C messages in one transfer.
+
+config BUSYBOX_INOTIFYD
+ bool "inotifyd (3.6 kb)"
+ default n # doesn't build on Knoppix 5
+ help
+ Simple inotify daemon. Reports filesystem changes. Requires
+ kernel >= 2.6.13
+config BUSYBOX_LESS
+ bool "less (16 kb)"
+ default y
+ help
+ 'less' is a pager, meaning that it displays text files. It possesses
+ a wide array of features, and is an improvement over 'more'.
+
+config BUSYBOX_FEATURE_LESS_MAXLINES
+ int "Max number of input lines less will try to eat"
+ default 9999999
+ depends on BUSYBOX_LESS
+
+config BUSYBOX_FEATURE_LESS_BRACKETS
+ bool "Enable bracket searching"
+ default y
+ depends on BUSYBOX_LESS
+ help
+ This option adds the capability to search for matching left and right
+ brackets, facilitating programming.
+
+config BUSYBOX_FEATURE_LESS_FLAGS
+ bool "Enable -m/-M"
+ default y
+ depends on BUSYBOX_LESS
+ help
+ The -M/-m flag enables a more sophisticated status line.
+
+config BUSYBOX_FEATURE_LESS_TRUNCATE
+ bool "Enable -S"
+ default y
+ depends on BUSYBOX_LESS
+ help
+ The -S flag causes long lines to be truncated rather than
+ wrapped.
+
+config BUSYBOX_FEATURE_LESS_MARKS
+ bool "Enable marks"
+ default y
+ depends on BUSYBOX_LESS
+ help
+ Marks enable positions in a file to be stored for easy reference.
+
+config BUSYBOX_FEATURE_LESS_REGEXP
+ bool "Enable regular expressions"
+ default y
+ depends on BUSYBOX_LESS
+ help
+ Enable regular expressions, allowing complex file searches.
+
+config BUSYBOX_FEATURE_LESS_WINCH
+ bool "Enable automatic resizing on window size changes"
+ default y
+ depends on BUSYBOX_LESS
+ help
+ Makes less track window size changes.
+
+config BUSYBOX_FEATURE_LESS_ASK_TERMINAL
+ bool "Use 'tell me cursor position' ESC sequence to measure window"
+ default y
+ depends on BUSYBOX_FEATURE_LESS_WINCH
+ help
+ Makes less track window size changes.
+ If terminal size can't be retrieved and $LINES/$COLUMNS are not set,
+ this option makes less perform a last-ditch effort to find it:
+ position cursor to 999,999 and ask terminal to report real
+ cursor position using "ESC [ 6 n" escape sequence, then read stdin.
+ This is not clean but helps a lot on serial lines and such.
+
+config BUSYBOX_FEATURE_LESS_DASHCMD
+ bool "Enable flag changes ('-' command)"
+ default y
+ depends on BUSYBOX_LESS
+ help
+ This enables the ability to change command-line flags within
+ less itself ('-' keyboard command).
+
+config BUSYBOX_FEATURE_LESS_LINENUMS
+ bool "Enable -N (dynamic switching of line numbers)"
+ default y
+ depends on BUSYBOX_FEATURE_LESS_DASHCMD
+
+config BUSYBOX_FEATURE_LESS_RAW
+ bool "Enable -R ('raw control characters')"
+ default y
+ depends on BUSYBOX_FEATURE_LESS_DASHCMD
+ help
+ This is essential for less applet to work with tools that use colors
+ and paging, such as git, systemd tools or nmcli.
+config BUSYBOX_FEATURE_LESS_ENV
+ bool "Take options from $LESS environment variable"
+ default y
+ depends on BUSYBOX_FEATURE_LESS_DASHCMD
+ help
+ This is essential for less applet to work with tools that use colors
+ and paging, such as git, systemd tools or nmcli.
+config BUSYBOX_LSSCSI
+ bool "lsscsi (2.5 kb)"
+ default y
+ help
+ lsscsi is a utility for displaying information about SCSI buses in the
+ system and devices connected to them.
+
+ This version uses sysfs (/sys/bus/scsi/devices) only.
config BUSYBOX_MAKEDEVS
- bool "makedevs"
- default n
+ bool "makedevs (9.2 kb)"
+ default y
help
- 'makedevs' is a utility used to create a batch of devices with
- one command.
+ 'makedevs' is a utility used to create a batch of devices with
+ one command.
- There are two choices for command line behaviour, the interface
- as used by LEAF/Linux Router Project, or a device table file.
+ There are two choices for command line behaviour, the interface
+ as used by LEAF/Linux Router Project, or a device table file.
- 'leaf' is traditionally what busybox follows, it allows multiple
- devices of a particluar type to be created per command.
- e.g. /dev/hda[0-9]
- Device properties are passed as command line arguments.
+ 'leaf' is traditionally what busybox follows, it allows multiple
+ devices of a particluar type to be created per command.
+ e.g. /dev/hda[0-9]
+ Device properties are passed as command line arguments.
- 'table' reads device properties from a file or stdin, allowing
- a batch of unrelated devices to be made with one command.
- User/group names are allowed as an alternative to uid/gid.
+ 'table' reads device properties from a file or stdin, allowing
+ a batch of unrelated devices to be made with one command.
+ User/group names are allowed as an alternative to uid/gid.
choice
prompt "Choose makedevs behaviour"
depends on BUSYBOX_MAKEDEVS
- default FEATURE_MAKEDEVS_TABLE
+ default BUSYBOX_FEATURE_MAKEDEVS_TABLE
config BUSYBOX_FEATURE_MAKEDEVS_LEAF
bool "leaf"
@@ -720,171 +612,208 @@ config BUSYBOX_FEATURE_MAKEDEVS_TABLE
bool "table"
endchoice
-
config BUSYBOX_MAN
- bool "man"
- default n
+ bool "man (26 kb)"
+ default y
help
- Format and display manual pages.
-
+ Format and display manual pages.
config BUSYBOX_MICROCOM
- bool "microcom"
- default n
+ bool "microcom (5.7 kb)"
+ default y
help
- The poor man's minicom utility for chatting with serial port devices.
-
-config BUSYBOX_MOUNTPOINT
- bool "mountpoint"
- default n
+ The poor man's minicom utility for chatting with serial port devices.
+config BUSYBOX_MIM
+ bool "mim (0.5 kb)"
+ default y
+ depends on BUSYBOX_FEATURE_SH_EMBEDDED_SCRIPTS
help
- mountpoint checks if the directory is a mountpoint.
-
+ Run a script from a Makefile-like specification file.
+ Unlike 'make' dependencies aren't supported.
config BUSYBOX_MT
- bool "mt"
- default n
+ bool "mt (2.5 kb)"
+ default y
+ help
+ mt is used to control tape devices. You can use the mt utility
+ to advance or rewind a tape past a specified number of archive
+ files on the tape.
+config BUSYBOX_NANDWRITE
+ bool "nandwrite (4.8 kb)"
+ default y
help
- mt is used to control tape devices. You can use the mt utility
- to advance or rewind a tape past a specified number of archive
- files on the tape.
+ Write to the specified MTD device, with bad blocks awareness
+config BUSYBOX_NANDDUMP
+ bool "nanddump (5.2 kb)"
+ default y
+ help
+ Dump the content of raw NAND chip
+config BUSYBOX_PARTPROBE
+ bool "partprobe (3.5 kb)"
+ default y
+ help
+ Ask kernel to rescan partition table.
config BUSYBOX_RAIDAUTORUN
- bool "raidautorun"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "raidautorun (1.3 kb)"
+ default y
help
- raidautorun tells the kernel md driver to
- search and start RAID arrays.
-
+ raidautorun tells the kernel md driver to
+ search and start RAID arrays.
config BUSYBOX_READAHEAD
- bool "readahead"
- default n
+ bool "readahead (1.5 kb)"
+ default y
depends on BUSYBOX_LFS
- select BUSYBOX_PLATFORM_LINUX
help
- Preload the files listed on the command line into RAM cache so that
- subsequent reads on these files will not block on disk I/O.
+ Preload the files listed on the command line into RAM cache so that
+ subsequent reads on these files will not block on disk I/O.
- This applet just calls the readahead(2) system call on each file.
- It is mainly useful in system startup scripts to preload files
- or executables before they are used. When used at the right time
- (in particular when a CPU bound process is running) it can
- significantly speed up system startup.
-
- As readahead(2) blocks until each file has been read, it is best to
- run this applet as a background job.
+ This applet just calls the readahead(2) system call on each file.
+ It is mainly useful in system startup scripts to preload files
+ or executables before they are used. When used at the right time
+ (in particular when a CPU bound process is running) it can
+ significantly speed up system startup.
+ As readahead(2) blocks until each file has been read, it is best to
+ run this applet as a background job.
config BUSYBOX_RFKILL
- bool "rfkill"
- depends on !BUSYBOX_DISABLE_RFKILL
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "rfkill (4.4 kb)"
+ default n # doesn't build on Ubuntu 9.04
help
- Enable/disable wireless devices.
+ Enable/disable wireless devices.
- rfkill list : list all wireless devices
- rfkill list bluetooth : list all bluetooth devices
- rfkill list 1 : list device corresponding to the given index
- rfkill block|unblock wlan : block/unblock all wlan(wifi) devices
+ rfkill list : list all wireless devices
+ rfkill list bluetooth : list all bluetooth devices
+ rfkill list 1 : list device corresponding to the given index
+ rfkill block|unblock wlan : block/unblock all wlan(wifi) devices
config BUSYBOX_RUNLEVEL
- bool "runlevel"
- default n
+ bool "runlevel (559 bytes)"
+ default y
depends on BUSYBOX_FEATURE_UTMP
help
- find the current and previous system runlevel.
-
- This applet uses utmp but does not rely on busybox supporing
- utmp on purpose. It is used by e.g. emdebian via /etc/init.d/rc.
+ Find the current and previous system runlevel.
+ This applet uses utmp but does not rely on busybox supporing
+ utmp on purpose. It is used by e.g. emdebian via /etc/init.d/rc.
config BUSYBOX_RX
- bool "rx"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "rx (2.9 kb)"
+ default y
help
- Receive files using the Xmodem protocol.
-
-config BUSYBOX_SETSID
- bool "setsid"
+ Receive files using the Xmodem protocol.
+config BUSYBOX_SEEDRNG
+ bool "seedrng (1.3 kb)"
default n
help
- setsid runs a program in a new session
-
-config BUSYBOX_STRINGS
- bool "strings"
- default n
+ Seed the kernel RNG from seed files, meant to be called
+ once during startup, once during shutdown, and optionally
+ at some periodic interval in between.
+config BUSYBOX_SETFATTR
+ bool "setfattr (3.7 kb)"
+ default y
help
- strings prints the printable character sequences for each file
- specified.
-
-config BUSYBOX_TASKSET
- bool "taskset"
- default n # doesn't build on some non-x86 targets (m68k)
+ Set/delete extended attributes on files
+config BUSYBOX_SETSERIAL
+ bool "setserial (6.9 kb)"
+ default y
help
- Retrieve or set a processes's CPU affinity.
- This requires sched_{g,s}etaffinity support in your libc.
-
-config BUSYBOX_FEATURE_TASKSET_FANCY
- bool "Fancy output"
+ Retrieve or set Linux serial port.
+config BUSYBOX_STRINGS
+ bool "strings (4.6 kb)"
default y
- depends on BUSYBOX_TASKSET
help
- Add code for fancy output. This merely silences a compiler-warning
- and adds about 135 Bytes. May be needed for machines with alot
- of CPUs.
-
+ strings prints the printable character sequences for each file
+ specified.
config BUSYBOX_TIME
- bool "time"
- default n
+ bool "time (6.8 kb)"
+ default y
help
- The time command runs the specified program with the given arguments.
- When the command finishes, time writes a message to standard output
- giving timing statistics about this program run.
-
+ The time command runs the specified program with the given arguments.
+ When the command finishes, time writes a message to standard output
+ giving timing statistics about this program run.
+config BUSYBOX_TREE
+ bool "tree (0.6 kb)"
+ default y
+ help
+ List files and directories in a tree structure.
config BUSYBOX_TS
bool "ts (450 bytes)"
- default n
+ default y
+config BUSYBOX_TTYSIZE
+ bool "ttysize (432 bytes)"
+ default y
+ help
+ A replacement for "stty size". Unlike stty, can report only width,
+ only height, or both, in any order. It also does not complain on
+ error, but returns default 80x24.
+ Usage in shell scripts: width=`ttysize w`.
+config BUSYBOX_UBIATTACH
+ bool "ubiattach (4.2 kb)"
+ default y
+ help
+ Attach MTD device to an UBI device.
-config BUSYBOX_TIMEOUT
- bool "timeout"
- default n
+config BUSYBOX_UBIDETACH
+ bool "ubidetach (4.1 kb)"
+ default y
help
- Runs a program and watches it. If it does not terminate in
- specified number of seconds, it is sent a signal.
+ Detach MTD device from an UBI device.
-config BUSYBOX_TTYSIZE
- bool "ttysize"
- default n
+config BUSYBOX_UBIMKVOL
+ bool "ubimkvol (5.3 kb)"
+ default y
help
- A replacement for "stty size". Unlike stty, can report only width,
- only height, or both, in any order. It also does not complain on
- error, but returns default 80x24.
- Usage in shell scripts: width=`ttysize w`.
+ Create a UBI volume.
-config BUSYBOX_VOLNAME
- bool "volname"
- default n
+config BUSYBOX_UBIRMVOL
+ bool "ubirmvol (4.9 kb)"
+ default y
help
- Prints a CD-ROM volume name.
+ Delete a UBI volume.
-config BUSYBOX_WALL
- bool "wall"
- default n
- depends on BUSYBOX_FEATURE_UTMP
+config BUSYBOX_UBIRSVOL
+ bool "ubirsvol (4.2 kb)"
+ default y
help
- Write a message to all users that are logged in.
+ Resize a UBI volume.
+config BUSYBOX_UBIUPDATEVOL
+ bool "ubiupdatevol (5.2 kb)"
+ default y
+ help
+ Update a UBI volume.
+config BUSYBOX_UBIRENAME
+ bool "ubirename (2.4 kb)"
+ default y
+ help
+ Utility to rename UBI volumes
+config BUSYBOX_VOLNAME
+ bool "volname (1.6 kb)"
+ default y
+ help
+ Prints a CD-ROM volume name.
config BUSYBOX_WATCHDOG
- bool "watchdog"
- default y if ADK_TARGET_WITH_WATCHDOG
- default n
- depends on !BUSYBOX_DISABLE_WATCHDOG
- select BUSYBOX_PLATFORM_LINUX
- help
- The watchdog utility is used with hardware or software watchdog
- device drivers. It opens the specified watchdog device special file
- and periodically writes a magic character to the device. If the
- watchdog applet ever fails to write the magic character within a
- certain amount of time, the watchdog device assumes the system has
- hung, and will cause the hardware to reboot.
+ bool "watchdog (5.3 kb)"
+ default y
+ help
+ The watchdog utility is used with hardware or software watchdog
+ device drivers. It opens the specified watchdog device special file
+ and periodically writes a magic character to the device. If the
+ watchdog applet ever fails to write the magic character within a
+ certain amount of time, the watchdog device assumes the system has
+ hung, and will cause the hardware to reboot.
+
+config BUSYBOX_FEATURE_WATCHDOG_OPEN_TWICE
+ bool "Open watchdog device twice, closing it gracefully in between"
+ depends on BUSYBOX_WATCHDOG
+ default n # this behavior was essentially a hack for a broken driver
+ help
+ When enabled, the watchdog device is opened and then immediately
+ magic-closed, before being opened a second time. This may be necessary
+ for some watchdog devices, but can cause spurious warnings in the
+ kernel log if the nowayout feature is enabled. If this workaround
+ is really needed for you machine to work properly, consider whether
+ it should be fixed in the kernel driver instead. Even when disabled,
+ the behaviour is easily emulated with a "printf 'V' > /dev/watchdog"
+ immediately before starting the busybox watchdog daemon. Say n unless
+ you know that you absolutely need this.
endmenu
diff --git a/package/busybox/config/modutils/Config.in b/package/busybox/config/modutils/Config.in
index 22d554eca..795b00a0d 100644
--- a/package/busybox/config/modutils/Config.in
+++ b/package/busybox/config/modutils/Config.in
@@ -1,138 +1,92 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
#
menu "Linux Module Utilities"
-config BUSYBOX_MODINFO
- bool "modinfo"
- default n
- depends on !BUSYBOX_DISABLE_KMOD
- select BUSYBOX_PLATFORM_LINUX
- help
- Show information about a Linux Kernel module
-
config BUSYBOX_MODPROBE_SMALL
bool "Simplified modutils"
- default n
- depends on !BUSYBOX_DISABLE_KMOD
- select BUSYBOX_PLATFORM_LINUX
+ default y
help
- Simplified modutils.
-
- With this option modprobe does not require modules.dep file
- and does not use /etc/modules.conf file.
- It scans module files in /lib/modules/`uname -r` and
- determines dependencies and module alias names on the fly.
- This may make module loading slower, most notably
- when one needs to load module by alias (this requires
- scanning through module _bodies_).
+ Build smaller (~1.5 kbytes), simplified module tools.
- At the first attempt to load a module by alias modprobe
- will try to generate modules.dep.bb file in order to speed up
- future loads by alias. Failure to do so (read-only /lib/modules,
- etc) is not reported, and future modprobes will be slow too.
+ This option by itself does not enable any applets -
+ you need to select applets individually below.
- NB: modules.dep.bb file format is not compatible
- with modules.dep file as created/used by standard module tools.
+ With this option modprobe does not require modules.dep file
+ and does not use /etc/modules.conf file.
+ It scans module files in /lib/modules/`uname -r` and
+ determines dependencies and module alias names on the fly.
+ This may make module loading slower, most notably
+ when one needs to load module by alias (this requires
+ scanning through module _bodies_).
- Additional module parameters can be stored in
- /etc/modules/$module_name files.
+ At the first attempt to load a module by alias modprobe
+ will try to generate modules.dep.bb file in order to speed up
+ future loads by alias. Failure to do so (read-only /lib/modules,
+ etc) is not reported, and future modprobes will be slow too.
- Apart from modprobe, other utilities are also provided:
- - insmod is an alias to modprobe
- - rmmod is an alias to modprobe -r
- - depmod generates modules.dep.bb
+ NB: modules.dep.bb file format is not compatible
+ with modules.dep file as created/used by standard module tools.
- As of 2008-07, this code is experimental. It is 14kb smaller
- than "non-small" modutils.
+ Additional module parameters can be stored in
+ /etc/modules/$module_name files.
-config BUSYBOX_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
- bool "Accept module options on modprobe command line"
- default y
- depends on BUSYBOX_MODPROBE_SMALL
- select BUSYBOX_PLATFORM_LINUX
- help
- Allow insmod and modprobe take module options from command line.
-
-config BUSYBOX_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
- bool "Skip loading of already loaded modules"
+config BUSYBOX_DEPMOD
+ bool "depmod (27 kb)"
default y
- depends on BUSYBOX_MODPROBE_SMALL
help
- Check if the module is already loaded.
-
+ depmod generates modules.dep (and potentially modules.alias
+ and modules.symbols) that contain dependency information
+ for modprobe.
config BUSYBOX_INSMOD
- bool "insmod"
+ bool "insmod (22 kb)"
default y
- depends on !BUSYBOX_MODPROBE_SMALL
- depends on !BUSYBOX_DISABLE_KMOD
- select BUSYBOX_PLATFORM_LINUX
help
- insmod is used to load specified modules in the running kernel.
-
-config BUSYBOX_RMMOD
- bool "rmmod"
- default y
- depends on !BUSYBOX_MODPROBE_SMALL
- depends on !BUSYBOX_DISABLE_KMOD
- select BUSYBOX_PLATFORM_LINUX
- help
- rmmod is used to unload specified modules from the kernel.
-
+ insmod is used to load specified modules in the running kernel.
config BUSYBOX_LSMOD
- bool "lsmod"
+ bool "lsmod (1.9 kb)"
default y
- depends on !BUSYBOX_MODPROBE_SMALL
- depends on !BUSYBOX_DISABLE_KMOD
- select BUSYBOX_PLATFORM_LINUX
help
- lsmod is used to display a list of loaded modules.
+ lsmod is used to display a list of loaded modules.
config BUSYBOX_FEATURE_LSMOD_PRETTY_2_6_OUTPUT
bool "Pretty output"
- default n
- depends on BUSYBOX_LSMOD
- select BUSYBOX_PLATFORM_LINUX
+ default y
+ depends on BUSYBOX_LSMOD && !BUSYBOX_MODPROBE_SMALL
help
- This option makes output format of lsmod adjusted to
- the format of module-init-tools for Linux kernel 2.6.
- Increases size somewhat.
-
+ This option makes output format of lsmod adjusted to
+ the format of module-init-tools for Linux kernel 2.6.
+ Increases size somewhat.
+config BUSYBOX_MODINFO
+ bool "modinfo (24 kb)"
+ default y
+ help
+ Show information about a Linux Kernel module
config BUSYBOX_MODPROBE
- bool "modprobe"
- default n
- depends on !BUSYBOX_DISABLE_KMOD
- depends on !BUSYBOX_MODPROBE_SMALL
- select BUSYBOX_PLATFORM_LINUX
+ bool "modprobe (28 kb)"
+ default y
help
- Handle the loading of modules, and their dependencies on a high
- level.
+ Handle the loading of modules, and their dependencies on a high
+ level.
config BUSYBOX_FEATURE_MODPROBE_BLACKLIST
bool "Blacklist support"
- default n
- depends on BUSYBOX_MODPROBE
- select BUSYBOX_PLATFORM_LINUX
+ default y
+ depends on BUSYBOX_MODPROBE && !BUSYBOX_MODPROBE_SMALL
help
- Say 'y' here to enable support for the 'blacklist' command in
- modprobe.conf. This prevents the alias resolver to resolve
- blacklisted modules. This is useful if you want to prevent your
- hardware autodetection scripts to load modules like evdev, frame
- buffer drivers etc.
-
-config BUSYBOX_DEPMOD
- bool "depmod"
- default n
- depends on !BUSYBOX_DISABLE_KMOD
- depends on !BUSYBOX_MODPROBE_SMALL
- select BUSYBOX_PLATFORM_LINUX
+ Say 'y' here to enable support for the 'blacklist' command in
+ modprobe.conf. This prevents the alias resolver to resolve
+ blacklisted modules. This is useful if you want to prevent your
+ hardware autodetection scripts to load modules like evdev, frame
+ buffer drivers etc.
+config BUSYBOX_RMMOD
+ bool "rmmod (3.3 kb)"
+ default y
help
- depmod generates modules.dep (and potentially modules.alias
- and modules.symbols) that contain dependency information
- for modprobe.
+ rmmod is used to unload specified modules from the kernel.
comment "Options common to multiple modutils"
@@ -154,138 +108,132 @@ config BUSYBOX_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
config BUSYBOX_FEATURE_2_4_MODULES
bool "Support version 2.2/2.4 Linux kernels"
default n
- depends on BUSYBOX_INSMOD || BUSYBOX_RMMOD || BUSYBOX_LSMOD
- select BUSYBOX_PLATFORM_LINUX
- help
- Support module loading for 2.2.x and 2.4.x Linux kernels.
- This increases size considerably. Say N unless you plan
- to run ancient kernels.
-
-config BUSYBOX_FEATURE_INSMOD_TRY_MMAP
- bool "Try to load module from a mmap'ed area"
- default n
- depends on BUSYBOX_INSMOD || BUSYBOX_MODPROBE_SMALL
- select BUSYBOX_PLATFORM_LINUX
+ depends on (BUSYBOX_INSMOD || BUSYBOX_LSMOD || BUSYBOX_MODPROBE || BUSYBOX_RMMOD) && !BUSYBOX_MODPROBE_SMALL
help
- This option causes module loading code to try to mmap
- module first. If it does not work (for example,
- it does not work for compressed modules), module will be read
- (and unpacked if needed) into a memory block allocated by malloc.
-
- The only case when mmap works but malloc does not is when
- you are trying to load a big module on a very memory-constrained
- machine. Malloc will momentarily need 2x as much memory as mmap.
-
- Choosing N saves about 250 bytes of code (on 32-bit x86).
+ Support module loading for 2.2.x and 2.4.x Linux kernels.
+ This increases size considerably. Say N unless you plan
+ to run ancient kernels.
config BUSYBOX_FEATURE_INSMOD_VERSION_CHECKING
bool "Enable module version checking"
default n
depends on BUSYBOX_FEATURE_2_4_MODULES && (BUSYBOX_INSMOD || BUSYBOX_MODPROBE)
- select BUSYBOX_PLATFORM_LINUX
help
- Support checking of versions for modules. This is used to
- ensure that the kernel and module are made for each other.
+ Support checking of versions for modules. This is used to
+ ensure that the kernel and module are made for each other.
config BUSYBOX_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
bool "Add module symbols to kernel symbol table"
default n
depends on BUSYBOX_FEATURE_2_4_MODULES && (BUSYBOX_INSMOD || BUSYBOX_MODPROBE)
- select BUSYBOX_PLATFORM_LINUX
help
- By adding module symbols to the kernel symbol table, Oops messages
- occuring within kernel modules can be properly debugged. By enabling
- this feature, module symbols will always be added to the kernel symbol
- table for proper debugging support. If you are not interested in
- Oops messages from kernel modules, say N.
+ By adding module symbols to the kernel symbol table, Oops messages
+ occurring within kernel modules can be properly debugged. By enabling
+ this feature, module symbols will always be added to the kernel symbol
+ table for proper debugging support. If you are not interested in
+ Oops messages from kernel modules, say N.
config BUSYBOX_FEATURE_INSMOD_LOADINKMEM
bool "In kernel memory optimization (uClinux only)"
default n
depends on BUSYBOX_FEATURE_2_4_MODULES && (BUSYBOX_INSMOD || BUSYBOX_MODPROBE)
- select BUSYBOX_PLATFORM_LINUX
help
- This is a special uClinux only memory optimization that lets insmod
- load the specified kernel module directly into kernel space, reducing
- memory usage by preventing the need for two copies of the module
- being loaded into memory.
+ This is a special uClinux only memory optimization that lets insmod
+ load the specified kernel module directly into kernel space, reducing
+ memory usage by preventing the need for two copies of the module
+ being loaded into memory.
config BUSYBOX_FEATURE_INSMOD_LOAD_MAP
bool "Enable insmod load map (-m) option"
default n
depends on BUSYBOX_FEATURE_2_4_MODULES && BUSYBOX_INSMOD
- select BUSYBOX_PLATFORM_LINUX
help
- Enabling this, one would be able to get a load map
- output on stdout. This makes kernel module debugging
- easier.
- If you don't plan to debug kernel modules, you
- don't need this option.
+ Enabling this, one would be able to get a load map
+ output on stdout. This makes kernel module debugging
+ easier.
+ If you don't plan to debug kernel modules, you
+ don't need this option.
config BUSYBOX_FEATURE_INSMOD_LOAD_MAP_FULL
bool "Symbols in load map"
- default n
- depends on BUSYBOX_FEATURE_INSMOD_LOAD_MAP && !BUSYBOX_MODPROBE_SMALL
- select BUSYBOX_PLATFORM_LINUX
+ default y
+ depends on BUSYBOX_FEATURE_INSMOD_LOAD_MAP
help
- Without this option, -m will only output section
- load map. With this option, -m will also output
- symbols load map.
+ Without this option, -m will only output section
+ load map. With this option, -m will also output
+ symbols load map.
config BUSYBOX_FEATURE_CHECK_TAINTED_MODULE
bool "Support tainted module checking with new kernels"
default y
depends on (BUSYBOX_LSMOD || BUSYBOX_FEATURE_2_4_MODULES) && !BUSYBOX_MODPROBE_SMALL
- select BUSYBOX_PLATFORM_LINUX
help
- Support checking for tainted modules. These are usually binary
- only modules that will make the linux-kernel list ignore your
- support request.
- This option is required to support GPLONLY modules.
+ Support checking for tainted modules. These are usually binary
+ only modules that will make the linux-kernel list ignore your
+ support request.
+ This option is required to support GPLONLY modules.
+
+config BUSYBOX_FEATURE_INSMOD_TRY_MMAP
+ bool "Try to load module from a mmap'ed area"
+ default n
+ depends on (BUSYBOX_INSMOD || BUSYBOX_MODPROBE) && !BUSYBOX_MODPROBE_SMALL
+ help
+ This option causes module loading code to try to mmap
+ module first. If it does not work (for example,
+ it does not work for compressed modules), module will be read
+ (and unpacked if needed) into a memory block allocated by malloc.
+
+ The only case when mmap works but malloc does not is when
+ you are trying to load a big module on a very memory-constrained
+ machine. Malloc will momentarily need 2x as much memory as mmap.
+
+ Choosing N saves about 250 bytes of code (on 32-bit x86).
config BUSYBOX_FEATURE_MODUTILS_ALIAS
- bool "Support for module.aliases file"
+ bool "Support module.aliases file"
default y
- depends on BUSYBOX_DEPMOD || BUSYBOX_MODPROBE
- select BUSYBOX_PLATFORM_LINUX
+ depends on (BUSYBOX_DEPMOD || BUSYBOX_MODPROBE) && !BUSYBOX_MODPROBE_SMALL
help
- Generate and parse modules.alias containing aliases for bus
- identifiers:
- alias pcmcia:m*c*f03fn*pfn*pa*pb*pc*pd* parport_cs
+ Generate and parse modules.alias containing aliases for bus
+ identifiers:
+ alias pcmcia:m*c*f03fn*pfn*pa*pb*pc*pd* parport_cs
- and aliases for logical modules names e.g.:
- alias padlock_aes aes
- alias aes_i586 aes
- alias aes_generic aes
+ and aliases for logical modules names e.g.:
+ alias padlock_aes aes
+ alias aes_i586 aes
+ alias aes_generic aes
- Say Y if unsure.
+ Say Y if unsure.
config BUSYBOX_FEATURE_MODUTILS_SYMBOLS
- bool "Support for module.symbols file"
+ bool "Support module.symbols file"
default y
- depends on BUSYBOX_DEPMOD || BUSYBOX_MODPROBE
- select BUSYBOX_PLATFORM_LINUX
+ depends on (BUSYBOX_DEPMOD || BUSYBOX_MODPROBE) && !BUSYBOX_MODPROBE_SMALL
help
- Generate and parse modules.symbols containing aliases for
- symbol_request() kernel calls, such as:
- alias symbol:usb_sg_init usbcore
+ Generate and parse modules.symbols containing aliases for
+ symbol_request() kernel calls, such as:
+ alias symbol:usb_sg_init usbcore
- Say Y if unsure.
+ Say Y if unsure.
config BUSYBOX_DEFAULT_MODULES_DIR
string "Default directory containing modules"
default "/lib/modules"
- depends on BUSYBOX_DEPMOD || BUSYBOX_MODPROBE || BUSYBOX_MODPROBE_SMALL || BUSYBOX_MODINFO
+ depends on BUSYBOX_DEPMOD || BUSYBOX_MODPROBE || BUSYBOX_MODINFO
help
- Directory that contains kernel modules.
- Defaults to "/lib/modules"
+ Directory that contains kernel modules.
+ Defaults to "/lib/modules"
config BUSYBOX_DEFAULT_DEPMOD_FILE
string "Default name of modules.dep"
default "modules.dep"
- depends on BUSYBOX_DEPMOD || BUSYBOX_MODPROBE || BUSYBOX_MODPROBE_SMALL || BUSYBOX_MODINFO
- help
- Filename that contains kernel modules dependencies.
- Defaults to "modules.dep"
+ depends on BUSYBOX_DEPMOD || BUSYBOX_MODPROBE || BUSYBOX_MODINFO
+ help
+ Filename that contains kernel modules dependencies.
+ Defaults to "modules.dep".
+ If you configured the "simplified modutils" (BUSYBOX_MODPROBE_SMALL), a
+ ".bb" suffix will be added after this name. Do not specify ".bb"
+ here unless you intend your depmod or modprobe to work on
+ "modules.dep.bb.bb" or such.
endmenu
diff --git a/package/busybox/config/networking/Config.in b/package/busybox/config/networking/Config.in
index be486d361..341092334 100644
--- a/package/busybox/config/networking/Config.in
+++ b/package/busybox/config/networking/Config.in
@@ -1,155 +1,77 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
#
menu "Networking Utilities"
-config BUSYBOX_NAMEIF
- bool "nameif"
- default n
- select BUSYBOX_PLATFORM_LINUX
- select BUSYBOX_FEATURE_SYSLOG
- help
- nameif is used to rename network interface by its MAC address.
- Renamed interfaces MUST be in the down state.
- It is possible to use a file (default: /etc/mactab)
- with list of new interface names and MACs.
- Maximum interface name length: IFNAMSIZ = 16
- File fields are separated by space or tab.
- File format:
- # Comment
- new_interface_name XX:XX:XX:XX:XX:XX
-
-config BUSYBOX_FEATURE_NAMEIF_EXTENDED
- bool "Extended nameif"
+config BUSYBOX_FEATURE_IPV6
+ bool "Enable IPv6 support"
default y
- depends on BUSYBOX_NAMEIF
- help
- This extends the nameif syntax to support the bus_info, driver,
- phyaddr selectors. The syntax is compatible to the normal nameif.
- File format:
- new_interface_name driver=asix bus=usb-0000:00:08.2-3
- new_interface_name bus=usb-0000:00:08.2-3 00:80:C8:38:91:B5
- new_interface_name phy_address=2 00:80:C8:38:91:B5
- new_interface_name mac=00:80:C8:38:91:B5
- new_interface_name 00:80:C8:38:91:B5
-
-config BUSYBOX_NBDCLIENT
- bool "nbd-client"
- default n
help
- Network block device client
+ Enable IPv6 support in busybox.
+ This adds IPv6 support in the networking applets.
-config BUSYBOX_NC
- bool "nc"
+config BUSYBOX_FEATURE_UNIX_LOCAL
+ bool "Enable Unix domain socket support (usually not needed)"
default n
help
- A simple Unix utility which reads and writes data across network
- connections.
-
-config BUSYBOX_NETCAT
- bool "netcat (11 kb)"
- default y
- help
- Alias to nc.
+ Enable Unix domain socket support in all busybox networking
+ applets. Address of the form local:/path/to/unix/socket
+ will be recognized.
-config BUSYBOX_NC_SERVER
- bool "Netcat server options (-l)"
- default y
- depends on BUSYBOX_NC
- help
- Allow netcat to act as a server.
+ This extension is almost never used in real world usage.
+ You most likely want to say N.
-config BUSYBOX_NC_EXTRA
- bool "Netcat extensions (-eiw and filename)"
+config BUSYBOX_FEATURE_PREFER_IPV4_ADDRESS
+ bool "Prefer IPv4 addresses from DNS queries"
default y
- depends on BUSYBOX_NC
- help
- Add -e (support for executing the rest of the command line after
- making or receiving a successful connection), -i (delay interval for
- lines sent), -w (timeout for initial connection).
-
-config BUSYBOX_NC_110_COMPAT
- bool "Netcat 1.10 compatibility (+2.5k)"
- default n # off specially for Rob
- depends on BUSYBOX_NC
- help
- This option makes nc closely follow original nc-1.10.
- The code is about 2.5k bigger. It enables
- -s ADDR, -n, -u, -v, -o FILE, -z options, but loses
- busybox-specific extensions: -f FILE and -ll.
-
-config BUSYBOX_PING
- bool "ping"
- default y if ADK_TARGET_WITH_NET
- select BUSYBOX_PLATFORM_LINUX
- help
- ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to
- elicit an ICMP ECHO_RESPONSE from a host or gateway.
-
-config BUSYBOX_PING6
- bool "ping6"
- default y if ADK_TARGET_WITH_NET
- depends on BUSYBOX_FEATURE_IPV6 && BUSYBOX_PING
+ depends on BUSYBOX_FEATURE_IPV6
help
- This will give you a ping that can talk IPv6.
+ Use IPv4 address of network host if it has one.
-config BUSYBOX_FEATURE_FANCY_PING
- bool "Enable fancy ping output"
- default y
- depends on BUSYBOX_PING
- help
- Make the output from the ping applet include statistics, and at the
- same time provide full support for ICMP packets.
+ If this option is off, the first returned address will be used.
+ This may cause problems when your DNS server is IPv6-capable and
+ is returning IPv6 host addresses too. If IPv6 address
+ precedes IPv4 one in DNS reply, busybox network applets
+ (e.g. wget) will use IPv6 address. On an IPv6-incapable host
+ or network applets will fail to connect to the host
+ using IPv6 address.
-config BUSYBOX_WHOIS
- bool "whois"
+config BUSYBOX_VERBOSE_RESOLUTION_ERRORS
+ bool "Verbose resolution errors"
default n
help
- whois is a client for the whois directory service
+ Enable if you are not satisfied with simplistic
+ "can't resolve 'hostname.com'" and want to know more.
+ This may increase size of your executable a bit.
-config BUSYBOX_FEATURE_IPV6
- bool "Enable IPv6 support"
+config BUSYBOX_FEATURE_ETC_NETWORKS
+ bool "Support /etc/networks"
default n
help
- Enable IPv6 support in busybox.
- This adds IPv6 support in the networking applets.
+ Enable support for network names in /etc/networks. This is
+ a rarely used feature which allows you to use names
+ instead of IP/mask pairs in route command.
-config BUSYBOX_FEATURE_UNIX_LOCAL
- bool "Enable Unix domain socket support (usually not needed)"
+config BUSYBOX_FEATURE_ETC_SERVICES
+ bool "Consult /etc/services even for well-known ports"
default n
help
- Enable Unix domain socket support in all busybox networking
- applets. Address of the form local:/path/to/unix/socket
- will be recognized.
-
- This extension is almost never used in real world usage.
- You most likely want to say N.
+ Look up e.g. "telnet" and "http" in /etc/services file
+ instead of assuming ports 23 and 80.
+ This is almost never necessary (everybody uses standard ports),
+ and it makes sense to avoid reading this file.
+ If you disable this option, in the cases where port is explicitly
+ specified as a service name (e.g. "telnet HOST PORTNAME"),
+ it will still be looked up in /etc/services.
-config BUSYBOX_FEATURE_PREFER_IPV4_ADDRESS
- bool "Prefer IPv4 addresses from DNS queries"
+config BUSYBOX_FEATURE_HWIB
+ bool "Support infiniband HW"
default y
- depends on BUSYBOX_FEATURE_IPV6
- help
- Use IPv4 address of network host if it has one.
-
- If this option is off, the first returned address will be used.
- This may cause problems when your DNS server is IPv6-capable and
- is returning IPv6 host addresses too. If IPv6 address
- precedes IPv4 one in DNS reply, busybox network applets
- (e.g. wget) will use IPv6 address. On an IPv6-incapable host
- or network applets will fail to connect to the host
- using IPv6 address.
-
-config BUSYBOX_VERBOSE_RESOLUTION_ERRORS
- bool "Verbose resolution errors"
- default n
help
- Enable if you are not satisfied with simplistic
- "can't resolve 'hostname.com'" and want to know more.
- This may increase size of your executable a bit.
+ Support for printing infiniband addresses in network applets.
config BUSYBOX_FEATURE_TLS_SHA1
bool "In TLS code, support ciphers which use deprecated SHA1"
@@ -163,1028 +85,1175 @@ config BUSYBOX_FEATURE_TLS_SHA1
considered possibly insecure (although not yet definitely broken).
config BUSYBOX_ARP
- bool "arp"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "arp (10 kb)"
+ default y
help
- Manipulate the system ARP cache.
-
+ Manipulate the system ARP cache.
config BUSYBOX_ARPING
- bool "arping"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "arping (9 kb)"
+ default y
help
- Ping hosts by ARP packets.
-
+ Ping hosts by ARP packets.
config BUSYBOX_BRCTL
- bool "brctl"
- depends on !BUSYBOX_DISABLE_BRCTL
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "brctl (4.7 kb)"
+ default y
help
- Manage ethernet bridges.
- Supports addbr/delbr and addif/delif.
+ Manage ethernet bridges.
+ Supports addbr/delbr and addif/delif.
config BUSYBOX_FEATURE_BRCTL_FANCY
bool "Fancy options"
default y
depends on BUSYBOX_BRCTL
help
- Add support for extended option like:
- setageing, setfd, sethello, setmaxage,
- setpathcost, setportprio, setbridgeprio,
- stp
- This adds about 600 bytes.
+ Add support for extended option like:
+ setageing, setfd, sethello, setmaxage,
+ setpathcost, setportprio, setbridgeprio,
+ stp
+ This adds about 600 bytes.
config BUSYBOX_FEATURE_BRCTL_SHOW
- bool "Support show, showmac and showstp"
+ bool "Support show"
default y
depends on BUSYBOX_BRCTL && BUSYBOX_FEATURE_BRCTL_FANCY
help
- Add support for option which prints the current config:
- showmacs, showstp, show
-
+ Add support for option which prints the current config:
+ show
config BUSYBOX_DNSD
- bool "dnsd"
- default n
+ bool "dnsd (9.8 kb)"
+ default y
help
- Small and static DNS server daemon.
-
+ Small and static DNS server daemon.
config BUSYBOX_ETHER_WAKE
- bool "ether-wake"
- depends on !BUSYBOX_DISABLE_ETHER_WAKE
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Send a magic packet to wake up sleeping machines.
-
-config BUSYBOX_FAKEIDENTD
- bool "fakeidentd"
- default n
- select BUSYBOX_FEATURE_SYSLOG
+ bool "ether-wake (4.9 kb)"
+ default y
help
- fakeidentd listens on the ident port and returns a predefined
- fake value on any query.
-
+ Send a magic packet to wake up sleeping machines.
config BUSYBOX_FTPD
- bool "ftpd"
- default n
+ bool "ftpd (30 kb)"
+ default y
help
- simple FTP daemon. You have to run it via inetd.
+ Simple FTP daemon. You have to run it via inetd.
-config BUSYBOX_FEATURE_FTP_WRITE
- bool "Enable upload commands"
+config BUSYBOX_FEATURE_FTPD_WRITE
+ bool "Enable -w (upload commands)"
default y
depends on BUSYBOX_FTPD
help
- Enable all kinds of FTP upload commands (-w option)
+ Enable -w option. "ftpd -w" will accept upload commands
+ such as STOR, STOU, APPE, DELE, MKD, RMD, rename commands.
config BUSYBOX_FEATURE_FTPD_ACCEPT_BROKEN_LIST
bool "Enable workaround for RFC-violating clients"
default y
depends on BUSYBOX_FTPD
help
- Some ftp clients (among them KDE's Konqueror) issue illegal
- "LIST -l" requests. This option works around such problems.
- It might prevent you from listing files starting with "-" and
- it increases the code size by ~40 bytes.
- Most other ftp servers seem to behave similar to this.
+ Some ftp clients (among them KDE's Konqueror) issue illegal
+ "LIST -l" requests. This option works around such problems.
+ It might prevent you from listing files starting with "-" and
+ it increases the code size by ~40 bytes.
+ Most other ftp servers seem to behave similar to this.
+config BUSYBOX_FEATURE_FTPD_AUTHENTICATION
+ bool "Enable authentication"
+ default y
+ depends on BUSYBOX_FTPD
+ help
+ Require login, and change to logged in user's UID:GID before
+ accessing any files. Option "-a USER" allows "anonymous"
+ logins (treats them as if USER logged in).
+
+ If this option is not selected, ftpd runs with the rights
+ of the user it was started under, and does not require login.
+ Take care to not launch it under root.
config BUSYBOX_FTPGET
- bool "ftpget"
- default n
+ bool "ftpget (7.8 kb)"
+ default y
help
- Retrieve a remote file via FTP.
+ Retrieve a remote file via FTP.
config BUSYBOX_FTPPUT
- bool "ftpput"
- default n
+ bool "ftpput (7.5 kb)"
+ default y
help
- Store a remote file via FTP.
+ Store a remote file via FTP.
config BUSYBOX_FEATURE_FTPGETPUT_LONG_OPTIONS
bool "Enable long options in ftpget/ftpput"
default y
depends on BUSYBOX_LONG_OPTS && (BUSYBOX_FTPGET || BUSYBOX_FTPPUT)
- help
- Support long options for the ftpget/ftpput applet.
-
config BUSYBOX_HOSTNAME
- bool "hostname"
+ bool "hostname (5.5 kb)"
default y
help
- Show or set the system's host name.
+ Show or set the system's host name.
config BUSYBOX_DNSDOMAINNAME
- bool "dnsdomainname"
- default n
+ bool "dnsdomainname (3.6 kb)"
+ default y
help
- Alias to "hostname -d".
-
+ Alias to "hostname -d".
config BUSYBOX_HTTPD
- bool "httpd"
- default n
+ bool "httpd (32 kb)"
+ default y
help
- Serve web pages via an HTTP server.
+ HTTP server.
-config BUSYBOX_FEATURE_HTTPD_RANGES
- bool "Support 'Ranges:' header"
- default y
+config BUSYBOX_FEATURE_HTTPD_PORT_DEFAULT
+ int "Default port"
+ default 80
+ range 1 65535
depends on BUSYBOX_HTTPD
- help
- Makes httpd emit "Accept-Ranges: bytes" header and understand
- "Range: bytes=NNN-[MMM]" header. Allows for resuming interrupted
- downloads, seeking in multimedia players etc.
-config BUSYBOX_FEATURE_HTTPD_USE_SENDFILE
- bool "Use sendfile system call"
+config BUSYBOX_FEATURE_HTTPD_RANGES
+ bool "Support 'Ranges:' header"
default y
depends on BUSYBOX_HTTPD
help
- When enabled, httpd will use the kernel sendfile() function
- instead of read/write loop.
+ Makes httpd emit "Accept-Ranges: bytes" header and understand
+ "Range: bytes=NNN-[MMM]" header. Allows for resuming interrupted
+ downloads, seeking in multimedia players etc.
config BUSYBOX_FEATURE_HTTPD_SETUID
bool "Enable -u <user> option"
default y
depends on BUSYBOX_HTTPD
help
- This option allows the server to run as a specific user
- rather than defaulting to the user that starts the server.
- Use of this option requires special privileges to change to a
- different user.
+ This option allows the server to run as a specific user
+ rather than defaulting to the user that starts the server.
+ Use of this option requires special privileges to change to a
+ different user.
config BUSYBOX_FEATURE_HTTPD_BASIC_AUTH
- bool "Enable Basic http Authentication"
+ bool "Enable HTTP authentication"
default y
depends on BUSYBOX_HTTPD
help
- Utilizes password settings from /etc/httpd.conf for basic
- authentication on a per url basis.
- Example for httpd.conf file:
- /adm:toor:PaSsWd
+ Utilizes password settings from /etc/httpd.conf for basic
+ authentication on a per url basis.
+ Example for httpd.conf file:
+ /adm:toor:PaSsWd
config BUSYBOX_FEATURE_HTTPD_AUTH_MD5
- bool "Support MD5 crypted passwords for http Authentication"
+ bool "Support MD5-encrypted passwords in HTTP authentication"
default y
depends on BUSYBOX_FEATURE_HTTPD_BASIC_AUTH
help
- Enables encrypted passwords, and wildcard user/passwords
- in httpd.conf file.
- User '*' means 'any system user name is ok',
- password of '*' means 'use system password for this user'
- Examples:
- /adm:toor:$1$P/eKnWXS$aI1aPGxT.dJD5SzqAKWrF0
- /adm:root:*
- /wiki:*:*
+ Enables encrypted passwords, and wildcard user/passwords
+ in httpd.conf file.
+ User '*' means 'any system user name is ok',
+ password of '*' means 'use system password for this user'
+ Examples:
+ /adm:toor:$1$P/eKnWXS$aI1aPGxT.dJD5SzqAKWrF0
+ /adm:root:*
+ /wiki:*:*
config BUSYBOX_FEATURE_HTTPD_CGI
bool "Support Common Gateway Interface (CGI)"
default y
depends on BUSYBOX_HTTPD
help
- This option allows scripts and executables to be invoked
- when specific URLs are requested.
+ This option allows scripts and executables to be invoked
+ when specific URLs are requested.
config BUSYBOX_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
- bool "Support for running scripts through an interpreter"
+ bool "Support running scripts through an interpreter"
default y
depends on BUSYBOX_FEATURE_HTTPD_CGI
help
- This option enables support for running scripts through an
- interpreter. Turn this on if you want PHP scripts to work
- properly. You need to supply an additional line in your
- httpd.conf file:
- *.php:/path/to/your/php
+ This option enables support for running scripts through an
+ interpreter. Turn this on if you want PHP scripts to work
+ properly. You need to supply an additional line in your
+ httpd.conf file:
+ *.php:/path/to/your/php
config BUSYBOX_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
bool "Set REMOTE_PORT environment variable for CGI"
default y
depends on BUSYBOX_FEATURE_HTTPD_CGI
help
- Use of this option can assist scripts in generating
- references that contain a unique port number.
+ Use of this option can assist scripts in generating
+ references that contain a unique port number.
config BUSYBOX_FEATURE_HTTPD_ENCODE_URL_STR
bool "Enable -e option (useful for CGIs written as shell scripts)"
default y
depends on BUSYBOX_HTTPD
help
- This option allows html encoding of arbitrary strings for display
- by the browser. Output goes to stdout.
- For example, httpd -e "<Hello World>" produces
- "&#60Hello&#32World&#62".
+ This option allows html encoding of arbitrary strings for display
+ by the browser. Output goes to stdout.
+ For example, httpd -e "<Hello World>" produces
+ "&#60Hello&#32World&#62".
config BUSYBOX_FEATURE_HTTPD_ERROR_PAGES
- bool "Support for custom error pages"
+ bool "Support custom error pages"
default y
depends on BUSYBOX_HTTPD
help
- This option allows you to define custom error pages in
- the configuration file instead of the default HTTP status
- error pages. For instance, if you add the line:
- E404:/path/e404.html
- in the config file, the server will respond the specified
- '/path/e404.html' file instead of the terse '404 NOT FOUND'
- message.
+ This option allows you to define custom error pages in
+ the configuration file instead of the default HTTP status
+ error pages. For instance, if you add the line:
+ E404:/path/e404.html
+ in the config file, the server will respond the specified
+ '/path/e404.html' file instead of the terse '404 NOT FOUND'
+ message.
config BUSYBOX_FEATURE_HTTPD_PROXY
- bool "Support for reverse proxy"
+ bool "Support reverse proxy"
default y
depends on BUSYBOX_HTTPD
help
- This option allows you to define URLs that will be forwarded
- to another HTTP server. To setup add the following line to the
- configuration file
- P:/url/:http://hostname[:port]/new/path/
- Then a request to /url/myfile will be forwarded to
- http://hostname[:port]/new/path/myfile.
+ This option allows you to define URLs that will be forwarded
+ to another HTTP server. To setup add the following line to the
+ configuration file
+ P:/url/:http://hostname[:port]/new/path/
+ Then a request to /url/myfile will be forwarded to
+ http://hostname[:port]/new/path/myfile.
config BUSYBOX_FEATURE_HTTPD_GZIP
- bool "Support for GZIP content encoding"
+ bool "Support GZIP content encoding"
+ default y
+ depends on BUSYBOX_HTTPD
+ help
+ Makes httpd send files using GZIP content encoding if the
+ client supports it and a pre-compressed <file>.gz exists.
+
+config BUSYBOX_FEATURE_HTTPD_ETAG
+ bool "Support caching via ETag header"
+ default y
+ depends on BUSYBOX_HTTPD
+ help
+ If server responds with ETag then next time client (browser)
+ resend it via If-None-Match header.
+ Then httpd will check if file wasn't modified and if not,
+ return 304 Not Modified status code.
+ The ETag value is constructed from last modification date
+ in unix epoch, and size: "hex(last_mod)-hex(file_size)".
+ It's not completely reliable as hash functions but fair enough.
+
+config BUSYBOX_FEATURE_HTTPD_LAST_MODIFIED
+ bool "Add Last-Modified header to response"
default y
depends on BUSYBOX_HTTPD
help
- Makes httpd send files using GZIP content encoding if the
- client supports it and a pre-compressed <file>.gz exists.
+ The Last-Modified header is used for cache validation.
+ The client sends last seen mtime to server in If-Modified-Since.
+ Both headers MUST be an RFC 1123 formatted, which is hard to parse.
+ Use ETag header instead.
+config BUSYBOX_FEATURE_HTTPD_DATE
+ bool "Add Date header to response"
+ default y
+ depends on BUSYBOX_HTTPD
+ help
+ RFC2616 says that server MUST add Date header to response.
+ But it is almost useless and can be omitted.
+
+config BUSYBOX_FEATURE_HTTPD_ACL_IP
+ bool "ACL IP"
+ default y
+ depends on BUSYBOX_HTTPD
+ help
+ Support IP deny/allow rules
config BUSYBOX_IFCONFIG
- bool "ifconfig"
- default y if ADK_TARGET_WITH_NET
- select BUSYBOX_PLATFORM_LINUX
+ bool "ifconfig (12 kb)"
+ default y
help
- Ifconfig is used to configure the kernel-resident network interfaces.
+ Ifconfig is used to configure the kernel-resident network interfaces.
config BUSYBOX_FEATURE_IFCONFIG_STATUS
bool "Enable status reporting output (+7k)"
default y
depends on BUSYBOX_IFCONFIG
help
- If ifconfig is called with no arguments it will display the status
- of the currently active interfaces.
+ If ifconfig is called with no arguments it will display the status
+ of the currently active interfaces.
config BUSYBOX_FEATURE_IFCONFIG_SLIP
bool "Enable slip-specific options \"keepalive\" and \"outfill\""
- default n
+ default y
depends on BUSYBOX_IFCONFIG
help
- Allow "keepalive" and "outfill" support for SLIP. If you're not
- planning on using serial lines, leave this unchecked.
+ Allow "keepalive" and "outfill" support for SLIP. If you're not
+ planning on using serial lines, leave this unchecked.
config BUSYBOX_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
bool "Enable options \"mem_start\", \"io_addr\", and \"irq\""
- default n
+ default y
depends on BUSYBOX_IFCONFIG
help
- Allow the start address for shared memory, start address for I/O,
- and/or the interrupt line used by the specified device.
+ Allow the start address for shared memory, start address for I/O,
+ and/or the interrupt line used by the specified device.
config BUSYBOX_FEATURE_IFCONFIG_HW
bool "Enable option \"hw\" (ether only)"
default y
depends on BUSYBOX_IFCONFIG
help
- Set the hardware address of this interface, if the device driver
- supports this operation. Currently, we only support the 'ether'
- class.
+ Set the hardware address of this interface, if the device driver
+ supports this operation. Currently, we only support the 'ether'
+ class.
config BUSYBOX_FEATURE_IFCONFIG_BROADCAST_PLUS
bool "Set the broadcast automatically"
default y
depends on BUSYBOX_IFCONFIG
help
- Setting this will make ifconfig attempt to find the broadcast
- automatically if the value '+' is used.
-
+ Setting this will make ifconfig attempt to find the broadcast
+ automatically if the value '+' is used.
config BUSYBOX_IFENSLAVE
- bool "ifenslave"
- select ADK_LINUX_KERNEL_BONDING m if ADK_TARGET_OS_LINUX
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "ifenslave (13 kb)"
+ default y
help
- Userspace application to bind several interfaces
- to a logical interface (use with kernel bonding driver).
-
+ Userspace application to bind several interfaces
+ to a logical interface (use with kernel bonding driver).
config BUSYBOX_IFPLUGD
- bool "ifplugd"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "ifplugd (10 kb)"
+ default y
help
- Network interface plug detection daemon.
-
+ Network interface plug detection daemon.
config BUSYBOX_IFUP
- bool "ifup"
- default y if ADK_TARGET_WITH_NET
- help
- Activate the specified interfaces. This applet makes use
- of either "ifconfig" and "route" or the "ip" command to actually
- configure network interfaces. Therefore, you will probably also want
- to enable either IFCONFIG and ROUTE, or enable
- FEATURE_IFUPDOWN_IP and the various IP options. Of
- course you could use non-busybox versions of these programs, so
- against my better judgement (since this will surely result in plenty
- of support questions on the mailing list), I do not force you to
- enable these additional options. It is up to you to supply either
- "ifconfig", "route" and "run-parts" or the "ip" command, either
- via busybox or via standalone utilities.
+ bool "ifup (14 kb)"
+ default y
+ help
+ Activate the specified interfaces. This applet makes use
+ of either "ifconfig" and "route" or the "ip" command to actually
+ configure network interfaces. Therefore, you will probably also want
+ to enable either IFCONFIG and ROUTE, or enable
+ FEATURE_IFUPDOWN_IP and the various IP options. Of
+ course you could use non-busybox versions of these programs, so
+ against my better judgement (since this will surely result in plenty
+ of support questions on the mailing list), I do not force you to
+ enable these additional options. It is up to you to supply either
+ "ifconfig", "route" and "run-parts" or the "ip" command, either
+ via busybox or via standalone utilities.
config BUSYBOX_IFDOWN
- bool "ifdown"
- default y if ADK_TARGET_WITH_NET
+ bool "ifdown (13 kb)"
+ default y
help
- Deactivate the specified interfaces.
+ Deactivate the specified interfaces.
config BUSYBOX_IFUPDOWN_IFSTATE_PATH
string "Absolute path to ifstate file"
default "/var/run/ifstate"
- depends on BUSYBOX_IFUP
+ depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN
help
- ifupdown keeps state information in a file called ifstate.
- Typically it is located in /var/run/ifstate, however
- some distributions tend to put it in other places
- (debian, for example, uses /etc/network/run/ifstate).
- This config option defines location of ifstate.
+ ifupdown keeps state information in a file called ifstate.
+ Typically it is located in /var/run/ifstate, however
+ some distributions tend to put it in other places
+ (debian, for example, uses /etc/network/run/ifstate).
+ This config option defines location of ifstate.
config BUSYBOX_FEATURE_IFUPDOWN_IP
- bool "Use ip applet"
+ bool "Use ip tool (else ifconfig/route is used)"
default y
- depends on BUSYBOX_IFUP
+ depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN
help
- Use the iproute "ip" command to implement "ifup" and "ifdown", rather
- than the default of using the older 'ifconfig' and 'route' utilities.
+ Use the iproute "ip" command to implement "ifup" and "ifdown", rather
+ than the default of using the older "ifconfig" and "route" utilities.
-config BUSYBOX_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN
- bool "Use busybox ifconfig and route applets"
- default n
- depends on BUSYBOX_IFUP && !BUSYBOX_FEATURE_IFUPDOWN_IP
- select BUSYBOX_IFCONFIG
- select BUSYBOX_ROUTE
- help
- Use the busybox iproute "ifconfig" and "route" applets to
- implement the "ifup" and "ifdown" utilities.
+ If Y: you must install either the full-blown iproute2 package
+ or enable "ip" applet in busybox, or the "ifup" and "ifdown" applets
+ will not work.
- If left disabled, you must install the full-blown ifconfig
- and route utilities, or the "ifup" and "ifdown" applets will not
- work.
+ If N: you must install either the full-blown ifconfig and route
+ utilities, or enable these applets in busybox.
config BUSYBOX_FEATURE_IFUPDOWN_IPV4
- bool "Support for IPv4"
+ bool "Support IPv4"
default y
- depends on BUSYBOX_IFUP
+ depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN
help
- If you want ifup/ifdown to talk IPv4, leave this on.
+ If you want ifup/ifdown to talk IPv4, leave this on.
config BUSYBOX_FEATURE_IFUPDOWN_IPV6
- bool "Support for IPv6"
+ bool "Support IPv6"
default y
- depends on BUSYBOX_IFUP && BUSYBOX_FEATURE_IPV6
+ depends on (BUSYBOX_IFUP || BUSYBOX_IFDOWN) && BUSYBOX_FEATURE_IPV6
help
- If you need support for IPv6, turn this option on.
+ If you need support for IPv6, turn this option on.
-### UNUSED
-###config FEATURE_IFUPDOWN_IPX
-### bool "Support for IPX"
-### default y
-### depends on BUSYBOX_IFUPDOWN
-### help
-### If this option is selected you can use busybox to work with IPX
-### networks.
config BUSYBOX_FEATURE_IFUPDOWN_MAPPING
bool "Enable mapping support"
- default n
- depends on BUSYBOX_IFUP
+ default y
+ depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN
help
- This enables support for the "mapping" stanza, unless you have
- a weird network setup you don't need it.
+ This enables support for the "mapping" stanza, unless you have
+ a weird network setup you don't need it.
config BUSYBOX_FEATURE_IFUPDOWN_EXTERNAL_DHCP
- bool "Support for external dhcp clients"
+ bool "Support external DHCP clients"
default n
- depends on BUSYBOX_IFUP
+ depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN
help
- This enables support for the external dhcp clients. Clients are
- tried in the following order: dhcpcd, dhclient, pump and udhcpc.
- Otherwise, if udhcpc applet is enabled, it is used.
- Otherwise, ifup/ifdown will have no support for DHCP.
-
+ This enables support for the external dhcp clients. Clients are
+ tried in the following order: dhcpcd, dhclient, pump and udhcpc.
+ Otherwise, if udhcpc applet is enabled, it is used.
+ Otherwise, ifup/ifdown will have no support for DHCP.
config BUSYBOX_INETD
- bool "inetd"
- default n
+ bool "inetd (18 kb)"
+ default y
select BUSYBOX_FEATURE_SYSLOG
help
- Internet superserver daemon
+ Internet superserver daemon
config BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_ECHO
- bool "Support echo service"
+ bool "Support echo service on port 7"
default y
depends on BUSYBOX_INETD
help
- Echo received data internal inetd service
+ Internal service which echoes data back.
+ Activated by configuration lines like these:
+ echo stream tcp nowait root internal
+ echo dgram udp wait root internal
config BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD
- bool "Support discard service"
+ bool "Support discard service on port 8"
default y
depends on BUSYBOX_INETD
help
- Internet /dev/null internal inetd service
+ Internal service which discards all input.
+ Activated by configuration lines like these:
+ discard stream tcp nowait root internal
+ discard dgram udp wait root internal
config BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_TIME
- bool "Support time service"
+ bool "Support time service on port 37"
default y
depends on BUSYBOX_INETD
help
- Return 32 bit time since 1900 internal inetd service
+ Internal service which returns big-endian 32-bit number
+ of seconds passed since 1900-01-01. The number wraps around
+ on overflow.
+ Activated by configuration lines like these:
+ time stream tcp nowait root internal
+ time dgram udp wait root internal
config BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME
- bool "Support daytime service"
+ bool "Support daytime service on port 13"
default y
depends on BUSYBOX_INETD
help
- Return human-readable time internal inetd service
+ Internal service which returns human-readable time.
+ Activated by configuration lines like these:
+ daytime stream tcp nowait root internal
+ daytime dgram udp wait root internal
config BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN
- bool "Support chargen service"
+ bool "Support chargen service on port 19"
default y
depends on BUSYBOX_INETD
help
- Familiar character generator internal inetd service
+ Internal service which generates endless stream
+ of all ASCII chars beetween space and char 126.
+ Activated by configuration lines like these:
+ chargen stream tcp nowait root internal
+ chargen dgram udp wait root internal
config BUSYBOX_FEATURE_INETD_RPC
bool "Support RPC services"
- default n
+ default n # very rarely used, and needs Sun RPC support in libc
depends on BUSYBOX_INETD
- select BUSYBOX_FEATURE_HAVE_RPC
help
- Support Sun-RPC based services
-
+ Support Sun-RPC based services
config BUSYBOX_IP
- bool "ip"
- depends on !BUSYBOX_DISABLE_IP
- default y if ADK_TARGET_WITH_NET
- select BUSYBOX_PLATFORM_LINUX
+ bool "ip (35 kb)"
+ default y
+ help
+ The "ip" applet is a TCP/BUSYBOX_IP interface configuration and routing
+ utility.
+ Short forms (enabled below) are busybox-specific extensions.
+ The standard "ip" utility does not provide them. If you are
+ trying to be portable, it's better to use "ip CMD" forms.
+
+config BUSYBOX_IPADDR
+ bool "ipaddr (14 kb)"
+ default y
+ select BUSYBOX_FEATURE_IP_ADDRESS
+ help
+ Short form of "ip addr"
+
+config BUSYBOX_IPLINK
+ bool "iplink (17 kb)"
+ default y
+ select BUSYBOX_FEATURE_IP_LINK
+ help
+ Short form of "ip link"
+
+config BUSYBOX_IPROUTE
+ bool "iproute (15 kb)"
+ default y
+ select BUSYBOX_FEATURE_IP_ROUTE
+ help
+ Short form of "ip route"
+
+config BUSYBOX_IPTUNNEL
+ bool "iptunnel (9.6 kb)"
+ default y
+ select BUSYBOX_FEATURE_IP_TUNNEL
help
- The "ip" applet is a TCP/IP interface configuration and routing
- utility. You generally don't need "ip" to use busybox with
- TCP/IP.
+ Short form of "ip tunnel"
+
+config BUSYBOX_IPRULE
+ bool "iprule (10 kb)"
+ default y
+ select BUSYBOX_FEATURE_IP_RULE
+ help
+ Short form of "ip rule"
+
+config BUSYBOX_IPNEIGH
+ bool "ipneigh (8.3 kb)"
+ default y
+ select BUSYBOX_FEATURE_IP_NEIGH
+ help
+ Short form of "ip neigh"
config BUSYBOX_FEATURE_IP_ADDRESS
bool "ip address"
default y
- depends on BUSYBOX_IP
+ depends on BUSYBOX_IP || BUSYBOX_IPADDR
help
- Address manipulation support for the "ip" applet.
+ Address manipulation support for the "ip" applet.
config BUSYBOX_FEATURE_IP_LINK
bool "ip link"
default y
- depends on BUSYBOX_IP
+ depends on BUSYBOX_IP || BUSYBOX_IPLINK
help
- Configure network devices with "ip".
+ Configure network devices with "ip".
config BUSYBOX_FEATURE_IP_ROUTE
bool "ip route"
default y
- depends on BUSYBOX_IP
+ depends on BUSYBOX_IP || BUSYBOX_IPROUTE
help
- Add support for routing table management to "ip".
+ Add support for routing table management to "ip".
config BUSYBOX_FEATURE_IP_ROUTE_DIR
string "ip route configuration directory"
default "/etc/iproute2"
depends on BUSYBOX_FEATURE_IP_ROUTE
help
- Location of the "ip" applet routing configuration.
+ Location of the "ip" applet routing configuration.
config BUSYBOX_FEATURE_IP_TUNNEL
bool "ip tunnel"
- default n
- depends on BUSYBOX_IP
+ default y
+ depends on BUSYBOX_IP || BUSYBOX_IPTUNNEL
help
- Add support for tunneling commands to "ip".
+ Add support for tunneling commands to "ip".
config BUSYBOX_FEATURE_IP_RULE
bool "ip rule"
- default n
- depends on BUSYBOX_IP
+ default y
+ depends on BUSYBOX_IP || BUSYBOX_IPRULE
help
- Add support for rule commands to "ip".
+ Add support for rule commands to "ip".
config BUSYBOX_FEATURE_IP_NEIGH
bool "ip neighbor"
- default n
- depends on BUSYBOX_IP
+ default y
+ depends on BUSYBOX_IP || BUSYBOX_IPNEIGH
help
- Add support for neighbor commands to "ip".
+ Add support for neighbor commands to "ip".
config BUSYBOX_FEATURE_IP_RARE_PROTOCOLS
bool "Support displaying rarely used link types"
default n
- depends on BUSYBOX_IP
+ depends on BUSYBOX_IP || BUSYBOX_IPADDR || BUSYBOX_IPLINK || BUSYBOX_IPROUTE || BUSYBOX_IPTUNNEL || BUSYBOX_IPRULE || BUSYBOX_IPNEIGH
help
- If you are not going to use links of type "frad", "econet",
- "bif" etc, you probably don't need to enable this.
- Ethernet, wireless, infrared, ppp/slip, ip tunnelling
- link types are supported without this option selected.
-
-config BUSYBOX_IPADDR
- bool
- default n
-
-config BUSYBOX_IPLINK
- bool
- default n
-
-config BUSYBOX_IPROUTE
- bool
- default n
+ If you are not going to use links of type "frad", "econet",
+ "bif" etc, you probably don't need to enable this.
+ Ethernet, wireless, infrared, ppp/slip, ip tunnelling
+ link types are supported without this option selected.
+config BUSYBOX_IPCALC
+ bool "ipcalc (4.4 kb)"
+ default y
+ help
+ ipcalc takes an IP address and netmask and calculates the
+ resulting broadcast, network, and host range.
-config BUSYBOX_IPTUNNEL
- bool
- default n
+config BUSYBOX_FEATURE_IPCALC_LONG_OPTIONS
+ bool "Enable long options"
+ default y
+ depends on BUSYBOX_IPCALC && BUSYBOX_LONG_OPTS
-config BUSYBOX_IPRULE
- bool
- default n
+config BUSYBOX_FEATURE_IPCALC_FANCY
+ bool "Fancy IPCALC, more options, adds 1 kbyte"
+ default y
+ depends on BUSYBOX_IPCALC
+ help
+ Adds the options hostname, prefix and silent to the output of
+ "ipcalc".
+config BUSYBOX_FAKEIDENTD
+ bool "fakeidentd (8.7 kb)"
+ default y
+ select BUSYBOX_FEATURE_SYSLOG
+ help
+ fakeidentd listens on the ident port and returns a predefined
+ fake value on any query.
+config BUSYBOX_NAMEIF
+ bool "nameif (6.6 kb)"
+ default y
+ select BUSYBOX_FEATURE_SYSLOG
+ help
+ nameif is used to rename network interface by its MAC address.
+ Renamed interfaces MUST be in the down state.
+ It is possible to use a file (default: /etc/mactab)
+ with list of new interface names and MACs.
+ Maximum interface name length: IFNAMSIZ = 16
+ File fields are separated by space or tab.
+ File format:
+ # Comment
+ new_interface_name XX:XX:XX:XX:XX:XX
-config BUSYBOX_IPNEIGH
- bool
- default n
+config BUSYBOX_FEATURE_NAMEIF_EXTENDED
+ bool "Extended nameif"
+ default y
+ depends on BUSYBOX_NAMEIF
+ help
+ This extends the nameif syntax to support the bus_info, driver,
+ phyaddr selectors. The syntax is compatible to the normal nameif.
+ File format:
+ new_interface_name driver=asix bus=usb-0000:00:08.2-3
+ new_interface_name bus=usb-0000:00:08.2-3 00:80:C8:38:91:B5
+ new_interface_name phy_address=2 00:80:C8:38:91:B5
+ new_interface_name mac=00:80:C8:38:91:B5
+ new_interface_name 00:80:C8:38:91:B5
+config BUSYBOX_NBDCLIENT
+ bool "nbd-client (6 kb)"
+ default y
+ help
+ Network block device client
+config BUSYBOX_NC
+ bool "nc (11 kb)"
+ default y
+ help
+ A simple Unix utility which reads and writes data across network
+ connections.
-config BUSYBOX_IPCALC
- bool "ipcalc"
+config BUSYBOX_NETCAT
+ bool "netcat (11 kb)"
default n
help
- ipcalc takes an IP address and netmask and calculates the
- resulting broadcast, network, and host range.
+ Alias to nc.
-config BUSYBOX_FEATURE_IPCALC_FANCY
- bool "Fancy IPCALC, more options, adds 1 kbyte"
+config BUSYBOX_NC_SERVER
+ bool "Netcat server options (-l)"
default y
- depends on BUSYBOX_IPCALC
+ depends on BUSYBOX_NC || BUSYBOX_NETCAT
help
- Adds the options hostname, prefix and silent to the output of
- "ipcalc".
+ Allow netcat to act as a server.
-config BUSYBOX_FEATURE_IPCALC_LONG_OPTIONS
- bool "Enable long options"
+config BUSYBOX_NC_EXTRA
+ bool "Netcat extensions (-eiw and -f FILE)"
default y
- depends on BUSYBOX_IPCALC && BUSYBOX_LONG_OPTS
+ depends on BUSYBOX_NC || BUSYBOX_NETCAT
help
- Support long options for the ipcalc applet.
+ Add -e (support for executing the rest of the command line after
+ making or receiving a successful connection), -i (delay interval for
+ lines sent), -w (timeout for initial connection).
+config BUSYBOX_NC_110_COMPAT
+ bool "Netcat 1.10 compatibility (+2.5k)"
+ default y
+ depends on BUSYBOX_NC || BUSYBOX_NETCAT
+ help
+ This option makes nc closely follow original nc-1.10.
+ The code is about 2.5k bigger. It enables
+ -s ADDR, -n, -u, -v, -o FILE, -z options, but loses
+ busybox-specific extensions: -f FILE.
config BUSYBOX_NETSTAT
- bool "netstat"
- default y if ADK_TARGET_WITH_NET
- select BUSYBOX_PLATFORM_LINUX
+ bool "netstat (10 kb)"
+ default y
help
- netstat prints information about the Linux networking subsystem.
+ netstat prints information about the Linux networking subsystem.
config BUSYBOX_FEATURE_NETSTAT_WIDE
- bool "Enable wide netstat output"
- default n
+ bool "Enable wide output"
+ default y
depends on BUSYBOX_NETSTAT
help
- Add support for wide columns. Useful when displaying IPv6 addresses
- (-W option).
+ Add support for wide columns. Useful when displaying IPv6 addresses
+ (-W option).
config BUSYBOX_FEATURE_NETSTAT_PRG
bool "Enable PID/Program name output"
default y
depends on BUSYBOX_NETSTAT
help
- Add support for -p flag to print out PID and program name.
- +700 bytes of code.
-
+ Add support for -p flag to print out PID and program name.
+ +700 bytes of code.
config BUSYBOX_NSLOOKUP
- bool "nslookup"
- default y if ADK_TARGET_WITH_NET
+ bool "nslookup (9.7 kb)"
+ default y
help
- nslookup is a tool to query Internet name servers.
+ nslookup is a tool to query Internet name servers.
config BUSYBOX_FEATURE_NSLOOKUP_BIG
bool "Use internal resolver code instead of libc"
depends on BUSYBOX_NSLOOKUP
- default n
+ default y
config BUSYBOX_FEATURE_NSLOOKUP_LONG_OPTIONS
bool "Enable long options"
- default n
+ default y
depends on BUSYBOX_FEATURE_NSLOOKUP_BIG && BUSYBOX_LONG_OPTS
-
config BUSYBOX_NTPD
- bool "ntpd"
- depends on !BUSYBOX_DISABLE_NTPD
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "ntpd (22 kb)"
+ default y
help
- The NTP client/server daemon.
+ The NTP client/server daemon.
config BUSYBOX_FEATURE_NTPD_SERVER
bool "Make ntpd usable as a NTP server"
- default n
- depends on !BUSYBOX_DISABLE_NTPD
+ default y
depends on BUSYBOX_NTPD
help
- Make ntpd usable as a NTP server. If you disable this option
- ntpd will be usable only as a NTP client.
+ Make ntpd usable as a NTP server. If you disable this option
+ ntpd will be usable only as a NTP client.
config BUSYBOX_FEATURE_NTPD_CONF
bool "Make ntpd understand /etc/ntp.conf"
- default n
+ default y
depends on BUSYBOX_NTPD
help
- Make ntpd look in /etc/ntp.conf for peers. Only "server address"
- is supported.
+ Make ntpd look in /etc/ntp.conf for peers. Only "server address"
+ is supported.
-config BUSYBOX_PSCAN
- bool "pscan"
- default n
+config BUSYBOX_FEATURE_NTP_AUTH
+ bool "Support md5/sha1 message authentication codes"
+ default y
+ depends on BUSYBOX_NTPD
+config BUSYBOX_PING
+ bool "ping (10 kb)"
+ default y
help
- Simple network port scanner.
+ ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to
+ elicit an ICMP ECHO_RESPONSE from a host or gateway.
-config BUSYBOX_ROUTE
- bool "route"
- default y if ADK_TARGET_WITH_NET
- select BUSYBOX_PLATFORM_LINUX
+config BUSYBOX_PING6
+ bool "ping6 (11 kb)"
+ default y
+ depends on BUSYBOX_FEATURE_IPV6
help
- Route displays or manipulates the kernel's IP routing tables.
+ Alias to "ping -6".
+config BUSYBOX_FEATURE_FANCY_PING
+ bool "Enable fancy ping output"
+ default y
+ depends on BUSYBOX_PING || BUSYBOX_PING6
+ help
+ With this option off, ping will say "HOST is alive!"
+ or terminate with SIGALRM in 5 seconds otherwise.
+ No command-line options will be recognized.
+config BUSYBOX_PSCAN
+ bool "pscan (6 kb)"
+ default y
+ help
+ Simple network port scanner.
+config BUSYBOX_ROUTE
+ bool "route (8.7 kb)"
+ default y
+ help
+ Route displays or manipulates the kernel's IP routing tables.
config BUSYBOX_SLATTACH
- bool "slattach"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "slattach (6.2 kb)"
+ default y
help
- slattach is a small utility to attach network interfaces to serial
- lines.
-
+ slattach configures serial line as SLIP network interface.
config BUSYBOX_SSL_CLIENT
bool "ssl_client (25 kb)"
- default n
+ default y
select BUSYBOX_TLS
help
This tool pipes data to/from a socket, TLS-encrypting it.
-
config BUSYBOX_TC
- bool "tc"
- default n
+ bool "tc (8.3 kb)"
+ default y
help
- show / manipulate traffic control settings
-#
-#config FEATURE_TC_INGRESS
-# def_bool n
-# depends on BUSYBOX_TC
+ Show / manipulate traffic control settings
+config BUSYBOX_FEATURE_TC_INGRESS
+ bool "Enable ingress"
+ default y
+ depends on BUSYBOX_TC
config BUSYBOX_TCPSVD
- bool "tcpsvd"
- default n
+ bool "tcpsvd (14 kb)"
+ default y
help
- tcpsvd listens on a TCP port and runs a program for each new
- connection.
+ tcpsvd listens on a TCP port and runs a program for each new
+ connection.
+config BUSYBOX_UDPSVD
+ bool "udpsvd (13 kb)"
+ default y
+ help
+ udpsvd listens on an UDP port and runs a program for each new
+ connection.
config BUSYBOX_TELNET
- bool "telnet"
- default y if ADK_TARGET_WITH_NET
+ bool "telnet (8.8 kb)"
+ default y
help
- Telnet is an interface to the TELNET protocol, but is also commonly
- used to test other simple protocols.
+ Telnet is an interface to the TELNET protocol, but is also commonly
+ used to test other simple protocols.
config BUSYBOX_FEATURE_TELNET_TTYPE
bool "Pass TERM type to remote host"
default y
depends on BUSYBOX_TELNET
help
- Setting this option will forward the TERM environment variable to the
- remote host you are connecting to. This is useful to make sure that
- things like ANSI colors and other control sequences behave.
+ Setting this option will forward the TERM environment variable to the
+ remote host you are connecting to. This is useful to make sure that
+ things like ANSI colors and other control sequences behave.
config BUSYBOX_FEATURE_TELNET_AUTOLOGIN
bool "Pass USER type to remote host"
default y
depends on BUSYBOX_TELNET
help
- Setting this option will forward the USER environment variable to the
- remote host you are connecting to. This is useful when you need to
- log into a machine without telling the username (autologin). This
- option enables `-a' and `-l USER' arguments.
+ Setting this option will forward the USER environment variable to the
+ remote host you are connecting to. This is useful when you need to
+ log into a machine without telling the username (autologin). This
+ option enables '-a' and '-l USER' options.
config BUSYBOX_FEATURE_TELNET_WIDTH
bool "Enable window size autodetection"
default y
depends on BUSYBOX_TELNET
-
config BUSYBOX_TELNETD
- bool "telnetd"
- default n
+ bool "telnetd (12 kb)"
+ default y
select BUSYBOX_FEATURE_SYSLOG
help
- A daemon for the TELNET protocol, allowing you to log onto the host
- running the daemon. Please keep in mind that the TELNET protocol
- sends passwords in plain text. If you can't afford the space for an
- SSH daemon and you trust your network, you may say 'y' here. As a
- more secure alternative, you should seriously consider installing the
- very small Dropbear SSH daemon instead:
+ A daemon for the TELNET protocol, allowing you to log onto the host
+ running the daemon. Please keep in mind that the TELNET protocol
+ sends passwords in plain text. If you can't afford the space for an
+ SSH daemon and you trust your network, you may say 'y' here. As a
+ more secure alternative, you should seriously consider installing the
+ very small Dropbear SSH daemon instead:
http://matt.ucc.asn.au/dropbear/dropbear.html
- Note that for busybox telnetd to work you need several things:
- First of all, your kernel needs:
- UNIX98_PTYS=y
- DEVPTS_FS=y
+ Note that for busybox telnetd to work you need several things:
+ First of all, your kernel needs:
+ CONFIG_UNIX98_PTYS=y
- Next, you need a /dev/pts directory on your root filesystem:
+ Next, you need a /dev/pts directory on your root filesystem:
$ ls -ld /dev/pts
drwxr-xr-x 2 root root 0 Sep 23 13:21 /dev/pts/
- Next you need the pseudo terminal master multiplexer /dev/ptmx:
+ Next you need the pseudo terminal master multiplexer /dev/ptmx:
$ ls -la /dev/ptmx
crw-rw-rw- 1 root tty 5, 2 Sep 23 13:55 /dev/ptmx
- Any /dev/ttyp[0-9]* files you may have can be removed.
- Next, you need to mount the devpts filesystem on /dev/pts using:
+ Any /dev/ttyp[0-9]* files you may have can be removed.
+ Next, you need to mount the devpts filesystem on /dev/pts using:
mount -t devpts devpts /dev/pts
- You need to be sure that busybox has LOGIN and
- FEATURE_SUID enabled. And finally, you should make
- certain that Busybox has been installed setuid root:
+ You need to be sure that busybox has LOGIN and
+ FEATURE_SUID enabled. And finally, you should make
+ certain that busybox has been installed setuid root:
chown root.root /bin/busybox
chmod 4755 /bin/busybox
- with all that done, telnetd _should_ work....
-
+ with all that done, telnetd _should_ work....
config BUSYBOX_FEATURE_TELNETD_STANDALONE
bool "Support standalone telnetd (not inetd only)"
default y
depends on BUSYBOX_TELNETD
help
- Selecting this will make telnetd able to run standalone.
+ Selecting this will make telnetd able to run standalone.
+
+config BUSYBOX_FEATURE_TELNETD_PORT_DEFAULT
+ int "Default port"
+ default 23
+ range 1 65535
+ depends on BUSYBOX_FEATURE_TELNETD_STANDALONE
config BUSYBOX_FEATURE_TELNETD_INETD_WAIT
bool "Support -w SEC option (inetd wait mode)"
default y
depends on BUSYBOX_FEATURE_TELNETD_STANDALONE
help
- This option allows you to run telnetd in "inet wait" mode.
- Example inetd.conf line (note "wait", not usual "nowait"):
-
- telnet stream tcp wait root /bin/telnetd telnetd -w10
+ This option allows you to run telnetd in "inet wait" mode.
+ Example inetd.conf line (note "wait", not usual "nowait"):
- In this example, inetd passes _listening_ socket_ as fd 0
- to telnetd when connection appears.
- telnetd will wait for connections until all existing
- connections are closed, and no new connections
- appear during 10 seconds. Then it exits, and inetd continues
- to listen for new connections.
+ telnet stream tcp wait root /bin/telnetd telnetd -w10
- This option is rarely used. "tcp nowait" is much more usual
- way of running tcp services, including telnetd.
- You most probably want to say N here.
+ In this example, inetd passes _listening_ socket_ as fd 0
+ to telnetd when connection appears.
+ telnetd will wait for connections until all existing
+ connections are closed, and no new connections
+ appear during 10 seconds. Then it exits, and inetd continues
+ to listen for new connections.
+ This option is rarely used. "tcp nowait" is much more usual
+ way of running tcp services, including telnetd.
+ You most probably want to say N here.
config BUSYBOX_TFTP
- bool "tftp"
- default n
+ bool "tftp (11 kb)"
+ default y
help
- This enables the Trivial File Transfer Protocol client program. TFTP
- is usually used for simple, small transfers such as a root image
- for a network-enabled bootloader.
+ Trivial File Transfer Protocol client. TFTP is usually used
+ for simple, small transfers such as a root image
+ for a network-enabled bootloader.
+
+config BUSYBOX_FEATURE_TFTP_PROGRESS_BAR
+ bool "Enable progress bar"
+ default y
+ depends on BUSYBOX_TFTP
+
+config BUSYBOX_FEATURE_TFTP_HPA_COMPAT
+ bool "tftp-hpa compat (support -c get/put FILE)"
+ default y
+ depends on BUSYBOX_TFTP
config BUSYBOX_TFTPD
- bool "tftpd"
- default n
+ bool "tftpd (10 kb)"
+ default y
help
- This enables the Trivial File Transfer Protocol server program.
- It expects that stdin is a datagram socket and a packet
- is already pending on it. It will exit after one transfer.
- In other words: it should be run from inetd in nowait mode,
- or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR"
-
-comment "Common options for tftp/tftpd"
- depends on BUSYBOX_TFTP || BUSYBOX_TFTPD
+ Trivial File Transfer Protocol server.
+ It expects that stdin is a datagram socket and a packet
+ is already pending on it. It will exit after one transfer.
+ In other words: it should be run from inetd in nowait mode,
+ or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR"
config BUSYBOX_FEATURE_TFTP_GET
bool "Enable 'tftp get' and/or tftpd upload code"
default y
depends on BUSYBOX_TFTP || BUSYBOX_TFTPD
help
- Add support for the GET command within the TFTP client. This allows
- a client to retrieve a file from a TFTP server.
- Also enable upload support in tftpd, if tftpd is selected.
+ Add support for the GET command within the TFTP client. This allows
+ a client to retrieve a file from a TFTP server.
+ Also enable upload support in tftpd, if tftpd is selected.
- Note: this option does _not_ make tftpd capable of download
- (the usual operation people need from it)!
+ Note: this option does _not_ make tftpd capable of download
+ (the usual operation people need from it)!
config BUSYBOX_FEATURE_TFTP_PUT
bool "Enable 'tftp put' and/or tftpd download code"
default y
depends on BUSYBOX_TFTP || BUSYBOX_TFTPD
help
- Add support for the PUT command within the TFTP client. This allows
- a client to transfer a file to a TFTP server.
- Also enable download support in tftpd, if tftpd is selected.
+ Add support for the PUT command within the TFTP client. This allows
+ a client to transfer a file to a TFTP server.
+ Also enable download support in tftpd, if tftpd is selected.
config BUSYBOX_FEATURE_TFTP_BLOCKSIZE
bool "Enable 'blksize' and 'tsize' protocol options"
default y
depends on BUSYBOX_TFTP || BUSYBOX_TFTPD
help
- Allow tftp to specify block size, and tftpd to understand
- "blksize" and "tsize" options.
-
-config BUSYBOX_FEATURE_TFTP_PROGRESS_BAR
- bool "Enable tftp progress meter"
- default y
- depends on BUSYBOX_TFTP && BUSYBOX_FEATURE_TFTP_BLOCKSIZE
- help
- Show progress bar.
+ Allow tftp to specify block size, and tftpd to understand
+ "blksize" and "tsize" options.
config BUSYBOX_TFTP_DEBUG
bool "Enable debug"
default n
depends on BUSYBOX_TFTP || BUSYBOX_TFTPD
help
- Make tftp[d] print debugging messages on stderr.
- This is useful if you are diagnosing a bug in tftp[d].
-
+ Make tftp[d] print debugging messages on stderr.
+ This is useful if you are diagnosing a bug in tftp[d].
config BUSYBOX_TLS
bool #No description makes it a hidden option
default n
-
config BUSYBOX_TRACEROUTE
- bool "traceroute"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "traceroute (11 kb)"
+ default y
help
- Utility to trace the route of IP packets.
+ Utility to trace the route of IP packets.
config BUSYBOX_TRACEROUTE6
- bool "traceroute6"
- default n
- depends on BUSYBOX_FEATURE_IPV6 && BUSYBOX_TRACEROUTE
+ bool "traceroute6 (13 kb)"
+ default y
+ depends on BUSYBOX_FEATURE_IPV6
help
- Utility to trace the route of IPv6 packets.
+ Utility to trace the route of IPv6 packets.
config BUSYBOX_FEATURE_TRACEROUTE_VERBOSE
bool "Enable verbose output"
default y
- depends on BUSYBOX_TRACEROUTE
- help
- Add some verbosity to traceroute. This includes among other things
- hostnames and ICMP response types.
-
-config BUSYBOX_FEATURE_TRACEROUTE_SOURCE_ROUTE
- bool "Enable loose source route"
- default n
- depends on BUSYBOX_TRACEROUTE
+ depends on BUSYBOX_TRACEROUTE || BUSYBOX_TRACEROUTE6
help
- Add option to specify a loose source route gateway
- (8 maximum).
+ Add some verbosity to traceroute. This includes among other things
+ hostnames and ICMP response types.
config BUSYBOX_FEATURE_TRACEROUTE_USE_ICMP
- bool "Use ICMP instead of UDP"
- default n
- depends on BUSYBOX_TRACEROUTE
- help
- Add option -I to use ICMP ECHO instead of UDP datagrams.
-
+ bool "Enable -I option (use ICMP instead of UDP)"
+ default y
+ depends on BUSYBOX_TRACEROUTE || BUSYBOX_TRACEROUTE6
config BUSYBOX_TUNCTL
- bool "tunctl"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "tunctl (6.2 kb)"
+ default y
help
- tunctl creates or deletes tun devices.
+ tunctl creates or deletes tun devices.
config BUSYBOX_FEATURE_TUNCTL_UG
bool "Support owner:group assignment"
default y
depends on BUSYBOX_TUNCTL
help
- Allow to specify owner and group of newly created interface.
- 340 bytes of pure bloat. Say no here.
-
-source package/busybox/config/networking/udhcp/Config.in
-
-config BUSYBOX_IFUPDOWN_UDHCPC_CMD_OPTIONS
- string "ifup udhcpc command line options"
- default "-R" if BUSYBOX_NOMMU
- default "-R -b"
- depends on BUSYBOX_IFUP && BUSYBOX_UDHCPC
- help
- Command line options to pass to udhcpc from ifup.
- Intended to alter options not available in /etc/network/interfaces.
- (IE: --syslog --background etc...)
-
-config BUSYBOX_UDPSVD
- bool "udpsvd"
- default n
- help
- udpsvd listens on an UDP port and runs a program for each new
- connection.
-
+ Allow to specify owner and group of newly created interface.
+ 340 bytes of pure bloat. Say no here.
config BUSYBOX_VCONFIG
- bool "vconfig"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "vconfig (2.3 kb)"
+ default y
help
- Creates, removes, and configures VLAN interfaces
-
+ Creates, removes, and configures VLAN interfaces
config BUSYBOX_WGET
- bool "wget"
- depends on !BUSYBOX_DISABLE_WGET
- default n
+ bool "wget (38 kb)"
+ default y
help
- wget is a utility for non-interactive download of files from HTTP,
- HTTPS, and FTP servers.
+ wget is a utility for non-interactive download of files from HTTP
+ and FTP servers.
+
+config BUSYBOX_FEATURE_WGET_LONG_OPTIONS
+ bool "Enable long options"
+ default y
+ depends on BUSYBOX_WGET && BUSYBOX_LONG_OPTS
config BUSYBOX_FEATURE_WGET_STATUSBAR
- bool "Enable a nifty process meter (+2k)"
- default n
+ bool "Enable progress bar (+2k)"
+ default y
+ depends on BUSYBOX_WGET
+
+config BUSYBOX_FEATURE_WGET_FTP
+ bool "Enable FTP protocol (+1k)"
+ default y
depends on BUSYBOX_WGET
help
- Enable the transfer progress bar for wget transfers.
+ To support FTPS, enable FEATURE_WGET_HTTPS as well.
config BUSYBOX_FEATURE_WGET_AUTHENTICATION
bool "Enable HTTP authentication"
default y
depends on BUSYBOX_WGET
help
- Support authenticated HTTP transfers.
+ Support authenticated HTTP transfers.
-config BUSYBOX_FEATURE_WGET_LONG_OPTIONS
- bool "Enable long options"
+config BUSYBOX_FEATURE_WGET_TIMEOUT
+ bool "Enable timeout option -T SEC"
default y
- depends on BUSYBOX_WGET && BUSYBOX_LONG_OPTS
+ depends on BUSYBOX_WGET
help
- Support long options for the wget applet.
+ Supports network read and connect timeouts for wget,
+ so that wget will give up and timeout, through the -T
+ command line option.
-config BUSYBOX_FEATURE_WGET_TIMEOUT
- bool "Enable read timeout option -T SEC"
+ Currently only connect and network data read timeout are
+ supported (i.e., timeout is not applied to the DNS query). When
+ FEATURE_WGET_LONG_OPTIONS is also enabled, the --timeout option
+ will work in addition to -T.
+
+config BUSYBOX_FEATURE_WGET_HTTPS
+ bool "Support HTTPS using internal TLS code"
default y
depends on BUSYBOX_WGET
+ select BUSYBOX_TLS
help
- Supports network read timeout for wget, so that wget will give
- up and timeout when reading network data, through the -T command
- line option. Currently only network data read timeout is
- supported (i.e., timeout is not applied to the DNS nor TCP
- connection initialization). When FEATURE_WGET_LONG_OPTIONS is
- also enabled, the --timeout option will work in addition to -T.
+ wget will use internal TLS code to connect to https:// URLs.
+ It also enables FTPS support, but it's not well tested yet.
+ Note:
+ On NOMMU machines, ssl_helper applet should be available
+ in the $PATH for this to work. Make sure to select that applet.
+
+ Note: currently, TLS code only makes TLS I/O work, it
+ does *not* check that the peer is who it claims to be, etc.
+ IOW: it uses peer-supplied public keys to establish encryption
+ and signing keys, then encrypts and signs outgoing data and
+ decrypts incoming data.
+ It does not check signature hashes on the incoming data:
+ this means that attackers manipulating TCP packets can
+ send altered data and we unknowingly receive garbage.
+ (This check might be relatively easy to add).
+ It does not check public key's certificate:
+ this means that the peer may be an attacker impersonating
+ the server we think we are talking to.
+
+ If you think this is unacceptable, consider this. As more and more
+ servers switch to HTTPS-only operation, without such "crippled"
+ TLS code it is *impossible* to simply download a kernel source
+ from kernel.org. Which can in real world translate into
+ "my small automatic tooling to build cross-compilers from sources
+ no longer works, I need to additionally keep a local copy
+ of ~4 megabyte source tarball of a SSL library and ~2 megabyte
+ source of wget, need to compile and built both before I can
+ download anything. All this despite the fact that the build
+ is done in a QEMU sandbox on a machine with absolutely nothing
+ worth stealing, so I don't care if someone would go to a lot
+ of trouble to intercept my HTTPS download to send me an altered
+ kernel tarball".
+
+ If you still think this is unacceptable, send patches.
+
+ If you still think this is unacceptable, do not want to send
+ patches, but do want to waste bandwidth expaining how wrong
+ it is, you will be ignored.
+
+ FEATURE_WGET_OPENSSL does implement TLS verification
+ using the certificates available to OpenSSL.
config BUSYBOX_FEATURE_WGET_OPENSSL
bool "Try to connect to HTTPS using openssl"
- default n
+ default y
depends on BUSYBOX_WGET
help
- Choose how wget establishes SSL connection for https:// URLs.
-
- Busybox itself contains no SSL code. wget will spawn
- a helper program to talk over HTTPS.
-
- OpenSSL has a simple SSL client for debug purposes.
- If you select "openssl" helper, wget will effectively call
- "openssl s_client -quiet -connect IP:443 2>/dev/null"
- and pipe its data through it.
- Note inconvenient API: host resolution is done twice,
- and there is no guarantee openssl's idea of IPv6 address
- format is the same as ours.
- Another problem is that s_client prints debug information
- to stderr, and it needs to be suppressed. This means
- all error messages get suppressed too.
- openssl is also a big binary, often dynamically linked
- against ~15 libraries.
-
-config BUSYBOX_FEATURE_WGET_SSL_HELPER
- bool "Try to connect to HTTPS using ssl_helper"
- default n
- depends on BUSYBOX_WGET
+ Try to use openssl to handle HTTPS.
+
+ OpenSSL has a simple SSL client for debug purposes.
+ If you select this option, wget will effectively run:
+ "openssl s_client -quiet -connect hostname:443
+ -servername hostname 2>/dev/null" and pipe its data
+ through it. -servername is not used if hostname is numeric.
+ Note inconvenient API: host resolution is done twice,
+ and there is no guarantee openssl's idea of IPv6 address
+ format is the same as ours.
+ Another problem is that s_client prints debug information
+ to stderr, and it needs to be suppressed. This means
+ all error messages get suppressed too.
+ openssl is also a big binary, often dynamically linked
+ against ~15 libraries.
+
+ If openssl can't be executed, internal TLS code will be used
+ (if you enabled it); if openssl can be executed but fails later,
+ wget can't detect this, and download will fail.
+
+ By default BUSYBOX_TLS verification is performed, unless
+ --no-check-certificate option is passed.
+config BUSYBOX_WHOIS
+ bool "whois (6.3 kb)"
+ default y
help
- Choose how wget establishes SSL connection for https:// URLs.
-
- Busybox itself contains no SSL code. wget will spawn
- a helper program to talk over HTTPS.
-
- ssl_helper is a tool which can be built statically
- from busybox sources against a small embedded SSL library.
- Please see networking/ssl_helper/README.
- It does not require double host resolution and emits
- error messages to stderr.
-
- Precompiled static binary may be available at
- http://busybox.net/downloads/binaries/
-
+ whois is a client for the whois directory service
config BUSYBOX_ZCIP
- bool "zcip"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "zcip (8.4 kb)"
+ default y
select BUSYBOX_FEATURE_SYSLOG
help
- ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.
- It's a daemon that allocates and defends a dynamically assigned
- address on the 169.254/16 network, requiring no system administrator.
+ BUSYBOX_ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.
+ It's a daemon that allocates and defends a dynamically assigned
+ address on the 169.254/16 network, requiring no system administrator.
+
+ See http://www.zeroconf.org for further details, and "zcip.script"
+ in the busybox examples.
- See http://www.zeroconf.org for further details, and "zcip.script"
- in the busybox examples.
+source package/busybox/config/networking/udhcp/Config.in
+
+config BUSYBOX_IFUPDOWN_UDHCPC_CMD_OPTIONS
+ string "ifup udhcpc command line options"
+ default "-R -n" if BUSYBOX_NOMMU
+ default "-R -n -b"
+ depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN
+ help
+ Command line options to pass to udhcpc from ifup.
+ Intended to alter options not available in /etc/network/interfaces.
+ (IE: --syslog --background etc...)
endmenu
diff --git a/package/busybox/config/networking/udhcp/Config.in b/package/busybox/config/networking/udhcp/Config.in
index 02e56c3ef..111e6b5f5 100644
--- a/package/busybox/config/networking/udhcp/Config.in
+++ b/package/busybox/config/networking/udhcp/Config.in
@@ -1,148 +1,179 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
#
-config BUSYBOX_UDHCPC6
- bool "udhcp client for DHCPv6 (udhcpc6)"
- default n # not yet ready
- help
- udhcpc6 is a DHCPv6 client
-
config BUSYBOX_UDHCPD
- bool "udhcp server (udhcpd)"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "udhcpd (21 kb)"
+ default y
help
- udhcpd is a DHCP server geared primarily toward embedded systems,
- while striving to be fully functional and RFC compliant.
+ udhcpd is a DHCP server geared primarily toward embedded systems,
+ while striving to be fully functional and RFC compliant.
-config BUSYBOX_DHCPRELAY
- bool "dhcprelay"
+config BUSYBOX_FEATURE_UDHCPD_BASE_IP_ON_MAC
+ bool "Select IP address based on client MAC"
default n
+ depends on BUSYBOX_UDHCPD
help
- dhcprelay listens for dhcp requests on one or more interfaces
- and forwards these requests to a different interface or dhcp
- server.
+ If selected, udhcpd will base its selection of BUSYBOX_IP address to offer
+ on the client's hardware address. Otherwise udhcpd uses the next
+ consecutive free address.
-config BUSYBOX_DUMPLEASES
- bool "Lease display utility (dumpleases)"
- default n
- help
- dumpleases displays the leases written out by the udhcpd server.
- Lease times are stored in the file by time remaining in lease, or
- by the absolute time that it expires in seconds from epoch.
+ This reduces the frequency of IP address changes for clients
+ which let their lease expire, and makes consecutive DHCPOFFERS
+ for the same client to (almost always) contain the same
+ IP address.
config BUSYBOX_FEATURE_UDHCPD_WRITE_LEASES_EARLY
- bool "Rewrite the lease file at every new acknowledge"
+ bool "Rewrite lease file at every new acknowledge"
default y
depends on BUSYBOX_UDHCPD
help
- If selected, udhcpd will write a new file with leases every
- time a new lease has been accepted, thus eliminating the need
- to send SIGUSR1 for the initial writing or updating. Any timed
- rewriting remains undisturbed.
-
-config BUSYBOX_FEATURE_UDHCPD_BASE_IP_ON_MAC
- bool "Select IP address based on client MAC"
- default n
- depends on BUSYBOX_UDHCPD
- help
- If selected, udhcpd will base its selection of IP address to offer
- on the client's hardware address. Otherwise udhcpd uses the next
- consecutive free address.
-
- This reduces the frequency of IP address changes for clients
- which let their lease expire, and makes consecutive DHCPOFFERS
- for the same client to (almost always) contain the same
- IP address.
+ If selected, udhcpd will write a new file with leases every
+ time a new lease has been accepted, thus eliminating the need
+ to send SIGUSR1 for the initial writing or updating. Any timed
+ rewriting remains undisturbed.
config BUSYBOX_DHCPD_LEASES_FILE
string "Absolute path to lease file"
default "/var/lib/misc/udhcpd.leases"
depends on BUSYBOX_UDHCPD
help
- udhcpd stores addresses in a lease file. This is the absolute path
- of the file. Normally it is safe to leave it untouched.
+ udhcpd stores addresses in a lease file. This is the absolute path
+ of the file. Normally it is safe to leave it untouched.
+
+config BUSYBOX_DUMPLEASES
+ bool "dumpleases (5.1 kb)"
+ default y
+ help
+ dumpleases displays the leases written out by the udhcpd.
+ Lease times are stored in the file by time remaining in lease, or
+ by the absolute time that it expires in seconds from epoch.
+
+config BUSYBOX_DHCPRELAY
+ bool "dhcprelay (5.2 kb)"
+ default y
+ help
+ dhcprelay listens for DHCP requests on one or more interfaces
+ and forwards these requests to a different interface or DHCP
+ server.
config BUSYBOX_UDHCPC
- bool "udhcp client (udhcpc)"
+ bool "udhcpc (24 kb)"
default y
- select BUSYBOX_PLATFORM_LINUX
help
- udhcpc is a DHCP client geared primarily toward embedded systems,
- while striving to be fully functional and RFC compliant.
+ udhcpc is a DHCP client geared primarily toward embedded systems,
+ while striving to be fully functional and RFC compliant.
- The udhcp client negotiates a lease with the DHCP server and
- runs a script when a lease is obtained or lost.
+ The udhcp client negotiates a lease with the DHCP server and
+ runs a script when a lease is obtained or lost.
config BUSYBOX_FEATURE_UDHCPC_ARPING
bool "Verify that the offered address is free, using ARP ping"
default y
depends on BUSYBOX_UDHCPC
help
- If selected, udhcpc will send ARP probes and make sure
- the offered address is really not in use by anyone. The client
- will DHCPDECLINE the offer if the address is in use,
- and restart the discover process.
+ If selected, udhcpc will send BUSYBOX_ARP probes and make sure
+ the offered address is really not in use by anyone. The client
+ will DHCPDECLINE the offer if the address is in use,
+ and restart the discover process.
config BUSYBOX_FEATURE_UDHCPC_SANITIZEOPT
bool "Do not pass malformed host and domain names"
default y
depends on BUSYBOX_UDHCPC
help
- If selected, udhcpc will check some options (such as option 12 -
- hostname) and if they don't look like valid hostnames
- (for example, if they start with dash or contain spaces),
- they will be replaced with string "bad" when exporting
- to the environment.
+ If selected, udhcpc will check some options (such as option 12 -
+ hostname) and if they don't look like valid hostnames
+ (for example, if they start with dash or contain spaces),
+ they will be replaced with string "bad" when exporting
+ to the environment.
-config BUSYBOX_FEATURE_UDHCP_PORT
- bool "Enable '-P port' option for udhcpd and udhcpc"
- default n
- depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC
+config BUSYBOX_UDHCPC_DEFAULT_SCRIPT
+ string "Absolute path to config script"
+ default "/usr/share/udhcpc/default.script"
+ depends on BUSYBOX_UDHCPC
help
- At the cost of ~300 bytes, enables -P port option.
- This feature is typically not needed.
+ This script is called after udhcpc receives an answer. See
+ examples/udhcp for a working example. Normally it is safe
+ to leave this untouched.
-config BUSYBOX_UDHCP_DEBUG
- int "Maximum verbosity level for udhcp applets (0..9)"
- default 0
- range 0 9
- depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC || BUSYBOX_DHCPRELAY
+config BUSYBOX_UDHCPC6_DEFAULT_SCRIPT
+ string "Absolute path to config script for IPv6"
+ default "/usr/share/udhcpc/default6.script"
+ depends on BUSYBOX_UDHCPC6
+
+# udhcpc6 config is inserted here:
+config BUSYBOX_UDHCPC6
+ bool "udhcpc6 (21 kb)"
+ default y
+ depends on BUSYBOX_FEATURE_IPV6
help
- Verbosity can be increased with multiple -v options.
- This option controls how high it can be cranked up.
+ udhcpc6 is a DHCPv6 client
- Bigger values result in bigger code. Levels above 1
- are very verbose and useful for debugging only.
+config BUSYBOX_FEATURE_UDHCPC6_RFC3646
+ bool "Support RFC 3646 (DNS server and search list)"
+ default y
+ depends on BUSYBOX_UDHCPC6
+ help
+ List of DNS servers and domain search list can be requested with
+ "-O dns" and "-O search". If server gives these values,
+ they will be set in environment variables "dns" and "search".
-config BUSYBOX_FEATURE_UDHCP_RFC3397
- bool "Support for RFC3397 domain search (experimental)"
+config BUSYBOX_FEATURE_UDHCPC6_RFC4704
+ bool "Support RFC 4704 (Client FQDN)"
default y
- depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC
+ depends on BUSYBOX_UDHCPC6
help
- If selected, both client and server will support passing of domain
- search lists via option 119, specified in RFC 3397,
- and SIP servers option 120, specified in RFC 3361.
+ You can request FQDN to be given by server using "-O fqdn".
-config BUSYBOX_FEATURE_UDHCP_8021Q
- bool "Support for 802.1Q VLAN parameters"
+config BUSYBOX_FEATURE_UDHCPC6_RFC4833
+ bool "Support RFC 4833 (Timezones)"
default y
- depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC
+ depends on BUSYBOX_UDHCPC6
help
- If selected, both client and server will support passing of VLAN
- ID and priority via options 132 and 133 as per 802.1Q.
+ You can request POSIX timezone with "-O tz" and timezone name
+ with "-O timezone".
-config BUSYBOX_UDHCPC_DEFAULT_SCRIPT
- string "Absolute path to config script"
- default "/usr/share/udhcpc/default.script"
- depends on BUSYBOX_UDHCPC
+config BUSYBOX_FEATURE_UDHCPC6_RFC5970
+ bool "Support RFC 5970 (Network Boot)"
+ default y
+ depends on BUSYBOX_UDHCPC6
+ help
+ You can request bootfile-url with "-O bootfile_url" and
+ bootfile-params with "-O bootfile_params".
+
+comment "Common options for DHCP applets"
+ depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC || BUSYBOX_UDHCPC6 || BUSYBOX_DHCPRELAY
+
+config BUSYBOX_UDHCPC_DEFAULT_INTERFACE
+ string "Default interface name"
+ default "eth0"
+ depends on BUSYBOX_UDHCPC || BUSYBOX_UDHCPC6
+ help
+ The interface that will be used if no other interface is
+ specified on the commandline.
+
+config BUSYBOX_FEATURE_UDHCP_PORT
+ bool "Enable '-P port' option for udhcpd and udhcpc"
+ default n
+ depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC || BUSYBOX_UDHCPC6
help
- This script is called after udhcpc receives an answer. See
- examples/udhcp for a working example. Normally it is safe
- to leave this untouched.
+ At the cost of ~300 bytes, enables -P port option.
+ This feature is typically not needed.
+
+config BUSYBOX_UDHCP_DEBUG
+ int "Maximum verbosity level (0..9)"
+ default 2
+ range 0 9
+ depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC || BUSYBOX_UDHCPC6 || BUSYBOX_DHCPRELAY
+ help
+ Verbosity can be increased with multiple -v options.
+ This option controls how high it can be cranked up.
+
+ Bigger values result in bigger code. Levels above 1
+ are very verbose and useful for debugging only.
config BUSYBOX_UDHCPC_SLACK_FOR_BUGGY_SERVERS
int "DHCP options slack buffer size"
@@ -150,19 +181,36 @@ config BUSYBOX_UDHCPC_SLACK_FOR_BUGGY_SERVERS
range 0 924
depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC
help
- Some buggy DHCP servers send DHCP offer packets with option
- field larger than we expect (which might also be considered a
- buffer overflow attempt). These packets are normally discarded.
- If circumstances beyond your control force you to support such
- servers, this may help. The upper limit (924) makes dhcpc accept
- even 1500 byte packets (maximum-sized ethernet packets).
-
- This option does not make dhcp[cd] emit non-standard
- sized packets.
-
- Known buggy DHCP servers:
- 3Com OfficeConnect Remote 812 ADSL Router:
- seems to confuse maximum allowed UDP packet size with
- maximum size of entire IP packet, and sends packets which are
- 28 bytes too large.
- Seednet (ISP) VDSL: sends packets 2 bytes too large.
+ Some buggy DHCP servers send DHCP offer packets with option
+ field larger than we expect (which might also be considered a
+ buffer overflow attempt). These packets are normally discarded.
+ If circumstances beyond your control force you to support such
+ servers, this may help. The upper limit (924) makes udhcpc accept
+ even 1500 byte packets (maximum-sized ethernet packets).
+
+ This option does not make udhcp[cd] emit non-standard
+ sized packets.
+
+ Known buggy DHCP servers:
+ 3Com OfficeConnect Remote 812 ADSL Router:
+ seems to confuse maximum allowed UDP packet size with
+ maximum size of entire IP packet, and sends packets
+ which are 28 bytes too large.
+ Seednet (ISP) VDSL: sends packets 2 bytes too large.
+
+config BUSYBOX_FEATURE_UDHCP_RFC3397
+ bool "Support RFC 3397 domain search options"
+ default y
+ depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC
+ help
+ If selected, both client and server will support passing of domain
+ search lists via option 119, specified in RFC 3397,
+ and SIP servers option 120, specified in RFC 3361.
+
+config BUSYBOX_FEATURE_UDHCP_8021Q
+ bool "Support 802.1Q VLAN parameters options"
+ default y
+ depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC
+ help
+ If selected, both client and server will support passing of VLAN
+ ID and priority via options 132 and 133 as per 802.1Q.
diff --git a/package/busybox/config/printutils/Config.in b/package/busybox/config/printutils/Config.in
index b5dd69e39..2f3d8a680 100644
--- a/package/busybox/config/printutils/Config.in
+++ b/package/busybox/config/printutils/Config.in
@@ -1,28 +1,26 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
#
menu "Print Utilities"
-
config BUSYBOX_LPD
- bool "lpd"
- default n
+ bool "lpd (5.5 kb)"
+ default y
help
- lpd is a print spooling daemon.
-
+ lpd is a print spooling daemon.
config BUSYBOX_LPR
- bool "lpr"
- default n
+ bool "lpr (9.9 kb)"
+ default y
help
- lpr sends files (or standard input) to a print spooling daemon.
+ lpr sends files (or standard input) to a print spooling daemon.
config BUSYBOX_LPQ
- bool "lpq"
- default n
+ bool "lpq (9.9 kb)"
+ default y
help
- lpq is a print spool queue examination and manipulation program.
+ lpq is a print spool queue examination and manipulation program.
endmenu
diff --git a/package/busybox/config/procps/Config.in b/package/busybox/config/procps/Config.in
index 052b77e41..0c1733b9f 100644
--- a/package/busybox/config/procps/Config.in
+++ b/package/busybox/config/procps/Config.in
@@ -1,223 +1,203 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
#
menu "Process Utilities"
-config BUSYBOX_IOSTAT
- bool "iostat"
- default n
- help
- Report CPU and I/O statistics
-
-config BUSYBOX_LSOF
- bool "lsof"
- default n
+config BUSYBOX_FEATURE_FAST_TOP
+ bool "Faster /proc scanning code (+100 bytes)"
+ default n # all "fast or small" options default to small
help
- Show open files in the format of:
- PID <TAB> /path/to/executable <TAB> /path/to/opened/file
+ This option makes top and ps ~20% faster (or 20% less CPU hungry),
+ but code size is slightly bigger.
-config BUSYBOX_MPSTAT
- bool "mpstat"
- default n
- help
- Per-processor statistics
-
-config BUSYBOX_NMETER
- bool "nmeter"
- default n
- help
- Prints selected system stats continuously, one line per update.
-
-config BUSYBOX_PMAP
- bool "pmap"
- default n
- help
- Display processes' memory mappings.
-
-config BUSYBOX_POWERTOP
- bool "powertop"
- default n
- help
- Analyze power consumption on Intel-based laptops
-
-config BUSYBOX_PSTREE
- bool "pstree"
- default n
- help
- Display a tree of processes.
-
-config BUSYBOX_PWDX
- bool "pwdx"
- default n
- help
- Report current working directory of a process
-
-config BUSYBOX_SMEMCAP
- bool "smemcap"
- default n
- help
- smemcap is a tool for capturing process data for smem,
- a memory usage statistic tool.
-
-config BUSYBOX_UPTIME
- bool "uptime"
+config BUSYBOX_FEATURE_SHOW_THREADS
+ bool "Support thread display in ps/pstree/top"
default y
- select BUSYBOX_PLATFORM_LINUX #sysinfo()
- help
- uptime gives a one line display of the current time, how long
- the system has been running, how many users are currently logged
- on, and the system load averages for the past 1, 5, and 15 minutes.
-
-config BUSYBOX_FEATURE_UPTIME_UTMP_SUPPORT
- bool "Support for showing the number of users"
- default n
- depends on BUSYBOX_UPTIME && BUSYBOX_FEATURE_UTMP
+ depends on BUSYBOX_PS || BUSYBOX_TOP || BUSYBOX_PSTREE
help
- Makes uptime display the number of users currently logged on.
+ Enables the ps -T option, showing of threads in pstree,
+ and 'h' command in top.
config BUSYBOX_FREE
- bool "free"
- default n
- select BUSYBOX_PLATFORM_LINUX #sysinfo()
+ bool "free (3.1 kb)"
+ default y
help
- free displays the total amount of free and used physical and swap
- memory in the system, as well as the buffers used by the kernel.
- The shared memory column should be ignored; it is obsolete.
-
+ free displays the total amount of free and used physical and swap
+ memory in the system, as well as the buffers used by the kernel.
+ The shared memory column should be ignored; it is obsolete.
config BUSYBOX_FUSER
- bool "fuser"
- default n
+ bool "fuser (7 kb)"
+ default y
help
- fuser lists all PIDs (Process IDs) that currently have a given
- file open. fuser can also list all PIDs that have a given network
- (TCP or UDP) port open.
-
+ fuser lists all PIDs (Process IDs) that currently have a given
+ file open. fuser can also list all PIDs that have a given network
+ (TCP or UDP) port open.
+config BUSYBOX_IOSTAT
+ bool "iostat (7.6 kb)"
+ default y
+ help
+ Report CPU and I/O statistics
config BUSYBOX_KILL
- bool "kill"
+ bool "kill (3.1 kb)"
default y
help
- The command kill sends the specified signal to the specified
- process or process group. If no signal is specified, the TERM
- signal is sent.
+ The command kill sends the specified signal to the specified
+ process or process group. If no signal is specified, the TERM
+ signal is sent.
config BUSYBOX_KILLALL
- bool "killall"
- default n
- depends on BUSYBOX_KILL
+ bool "killall (5.6 kb)"
+ default y
help
- killall sends a signal to all processes running any of the
- specified commands. If no signal name is specified, SIGTERM is
- sent.
+ killall sends a signal to all processes running any of the
+ specified commands. If no signal name is specified, SIGTERM is
+ sent.
config BUSYBOX_KILLALL5
- bool "killall5"
+ bool "killall5 (5.3 kb)"
default y
- depends on BUSYBOX_KILL
-
+ help
+ The SystemV killall command. killall5 sends a signal
+ to all processes except kernel threads and the processes
+ in its own session, so it won't kill the shell that is running
+ the script it was called from.
+config BUSYBOX_LSOF
+ bool "lsof (3.4 kb)"
+ default y
+ help
+ Show open files in the format of:
+ PID <TAB> /path/to/executable <TAB> /path/to/opened/file
+config BUSYBOX_MPSTAT
+ bool "mpstat (9.8 kb)"
+ default y
+ help
+ Per-processor statistics
+config BUSYBOX_NMETER
+ bool "nmeter (11 kb)"
+ default y
+ help
+ Prints selected system stats continuously, one line per update.
config BUSYBOX_PGREP
- bool "pgrep"
+ bool "pgrep (6.5 kb)"
default y
help
- Look for processes by name.
+ Look for processes by name.
+config BUSYBOX_PKILL
+ bool "pkill (7.5 kb)"
+ default y
+ help
+ Send signals to processes by name.
config BUSYBOX_PIDOF
- bool "pidof"
- default n
+ bool "pidof (6.3 kb)"
+ default y
help
- Pidof finds the process id's (pids) of the named programs. It prints
- those id's on the standard output.
+ Pidof finds the process id's (pids) of the named programs. It prints
+ those id's on the standard output.
config BUSYBOX_FEATURE_PIDOF_SINGLE
- bool "Enable argument for single shot (-s)"
+ bool "Enable single shot (-s)"
default y
depends on BUSYBOX_PIDOF
help
- Support argument '-s' for returning only the first pid found.
+ Support '-s' for returning only the first pid found.
config BUSYBOX_FEATURE_PIDOF_OMIT
- bool "Enable argument for omitting pids (-o)"
+ bool "Enable omitting pids (-o PID)"
default y
depends on BUSYBOX_PIDOF
help
- Support argument '-o' for omitting the given pids in output.
- The special pid %PPID can be used to name the parent process
- of the pidof, in other words the calling shell or shell script.
-
-config BUSYBOX_PKILL
- bool "pkill"
- default n
+ Support '-o PID' for omitting the given pid(s) in output.
+ The special pid %PPID can be used to name the parent process
+ of the pidof, in other words the calling shell or shell script.
+config BUSYBOX_PMAP
+ bool "pmap (6 kb)"
+ default y
+ help
+ Display processes' memory mappings.
+config BUSYBOX_POWERTOP
+ bool "powertop (9.6 kb)"
+ default y
help
- Send signals to processes by name.
+ Analyze power consumption on Intel-based laptops
+config BUSYBOX_FEATURE_POWERTOP_INTERACTIVE
+ bool "Accept keyboard commands"
+ default y
+ depends on BUSYBOX_POWERTOP
+ help
+ Without this, powertop will only refresh display every 10 seconds.
+ No keyboard commands will work, only ^C to terminate.
config BUSYBOX_PS
- bool "ps"
- depends on !BUSYBOX_DISABLE_PS
+ bool "ps (11 kb)"
default y
help
- ps gives a snapshot of the current processes.
+ ps gives a snapshot of the current processes.
config BUSYBOX_FEATURE_PS_WIDE
- bool "Enable wide output option (-w)"
+ bool "Enable wide output (-w)"
default y
- depends on BUSYBOX_PS && !BUSYBOX_DESKTOP
+ depends on (BUSYBOX_PS || BUSYBOX_MINIPS) && !BUSYBOX_DESKTOP
help
- Support argument 'w' for wide output.
- If given once, 132 chars are printed, and if given more
- than once, the length is unlimited.
+ Support argument 'w' for wide output.
+ If given once, 132 chars are printed, and if given more
+ than once, the length is unlimited.
config BUSYBOX_FEATURE_PS_LONG
- bool "Enable long output option (-l)"
- default n
- depends on BUSYBOX_PS && !BUSYBOX_DESKTOP
+ bool "Enable long output (-l)"
+ default y
+ depends on (BUSYBOX_PS || BUSYBOX_MINIPS) && !BUSYBOX_DESKTOP
help
- Support argument 'l' for long output.
- Adds fields PPID, RSS, START, TIME & TTY
+ Support argument 'l' for long output.
+ Adds fields PPID, RSS, START, TIME & TTY
config BUSYBOX_FEATURE_PS_TIME
- bool "Enable time and elapsed time output"
- default n
- depends on BUSYBOX_PS && BUSYBOX_DESKTOP
- select BUSYBOX_PLATFORM_LINUX
- help
- Support -o time and -o etime output specifiers.
-
-config BUSYBOX_FEATURE_PS_ADDITIONAL_COLUMNS
- bool "Enable additional ps columns"
- default n
- depends on BUSYBOX_PS && BUSYBOX_DESKTOP
- help
- Support -o rgroup, -o ruser, -o nice output specifiers.
+ bool "Enable -o time and -o etime specifiers"
+ default y
+ depends on (BUSYBOX_PS || BUSYBOX_MINIPS) && BUSYBOX_DESKTOP
config BUSYBOX_FEATURE_PS_UNUSUAL_SYSTEMS
bool "Support Linux prior to 2.4.0 and non-ELF systems"
default n
depends on BUSYBOX_FEATURE_PS_TIME
help
- Include support for measuring HZ on old kernels and non-ELF systems
- (if you are on Linux 2.4.0+ and use ELF, you don't need this)
+ Include support for measuring HZ on old kernels and non-ELF systems
+ (if you are on Linux 2.4.0+ and use ELF, you don't need this)
-config BUSYBOX_RENICE
- bool "renice"
- default n
+config BUSYBOX_FEATURE_PS_ADDITIONAL_COLUMNS
+ bool "Enable -o rgroup, -o ruser, -o nice specifiers"
+ default y
+ depends on (BUSYBOX_PS || BUSYBOX_MINIPS) && BUSYBOX_DESKTOP
+config BUSYBOX_PSTREE
+ bool "pstree (9.3 kb)"
+ default y
help
- Renice alters the scheduling priority of one or more running
- processes.
-
+ Display a tree of processes.
+config BUSYBOX_PWDX
+ bool "pwdx (3.7 kb)"
+ default y
+ help
+ Report current working directory of a process
+config BUSYBOX_SMEMCAP
+ bool "smemcap (2.5 kb)"
+ default y
+ help
+ smemcap is a tool for capturing process data for smem,
+ a memory usage statistic tool.
config BUSYBOX_BB_SYSCTL
- bool "sysctl"
+ bool "sysctl (7.4 kb)"
default y
help
- Configure kernel parameters at runtime.
-
+ Configure kernel parameters at runtime.
config BUSYBOX_TOP
- bool "top"
- default n
+ bool "top (18 kb)"
+ default y
help
- The top program provides a dynamic real-time view of a running
- system.
+ The top program provides a dynamic real-time view of a running
+ system.
config BUSYBOX_FEATURE_TOP_INTERACTIVE
bool "Accept keyboard commands"
@@ -232,61 +212,66 @@ config BUSYBOX_FEATURE_TOP_CPU_USAGE_PERCENTAGE
default y
depends on BUSYBOX_TOP
help
- Make top display CPU usage for each process.
- This adds about 2k.
+ Make top display CPU usage for each process.
+ This adds about 2k.
config BUSYBOX_FEATURE_TOP_CPU_GLOBAL_PERCENTS
bool "Show CPU global usage percentage"
default y
depends on BUSYBOX_FEATURE_TOP_CPU_USAGE_PERCENTAGE
help
- Makes top display "CPU: NN% usr NN% sys..." line.
- This adds about 0.5k.
+ Makes top display "CPU: NN% usr NN% sys..." line.
+ This adds about 0.5k.
config BUSYBOX_FEATURE_TOP_SMP_CPU
bool "SMP CPU usage display ('c' key)"
default y
depends on BUSYBOX_FEATURE_TOP_CPU_GLOBAL_PERCENTS
help
- Allow 'c' key to switch between individual/cumulative CPU stats
- This adds about 0.5k.
+ Allow 'c' key to switch between individual/cumulative CPU stats
+ This adds about 0.5k.
config BUSYBOX_FEATURE_TOP_DECIMALS
bool "Show 1/10th of a percent in CPU/mem statistics"
default y
depends on BUSYBOX_FEATURE_TOP_CPU_USAGE_PERCENTAGE
help
- Show 1/10th of a percent in CPU/mem statistics.
- This adds about 0.3k.
+ Show 1/10th of a percent in CPU/mem statistics.
+ This adds about 0.3k.
config BUSYBOX_FEATURE_TOP_SMP_PROCESS
bool "Show CPU process runs on ('j' field)"
default y
depends on BUSYBOX_TOP
help
- Show CPU where process was last found running on.
- This is the 'j' field.
+ Show CPU where process was last found running on.
+ This is the 'j' field.
config BUSYBOX_FEATURE_TOPMEM
bool "Topmem command ('s' key)"
default y
depends on BUSYBOX_TOP
help
- Enable 's' in top (gives lots of memory info).
-
-config BUSYBOX_FEATURE_SHOW_THREADS
- bool "Support for showing threads in ps/pstree/top"
+ Enable 's' in top (gives lots of memory info).
+config BUSYBOX_UPTIME
+ bool "uptime (3.7 kb)"
default y
- depends on BUSYBOX_PS || BUSYBOX_TOP || BUSYBOX_PSTREE
help
- Enables the ps -T option, showing of threads in pstree,
- and 'h' command in top.
+ uptime gives a one line display of the current time, how long
+ the system has been running, how many users are currently logged
+ on, and the system load averages for the past 1, 5, and 15 minutes.
+config BUSYBOX_FEATURE_UPTIME_UTMP_SUPPORT
+ bool "Show the number of users"
+ default y
+ depends on BUSYBOX_UPTIME && BUSYBOX_FEATURE_UTMP
+ help
+ Display the number of users currently logged on.
config BUSYBOX_WATCH
- bool "watch"
- default n
+ bool "watch (4.4 kb)"
+ default y
help
- watch is used to execute a program periodically, showing
- output to the screen.
+ watch is used to execute a program periodically, showing
+ output to the screen.
endmenu
diff --git a/package/busybox/config/runit/Config.in b/package/busybox/config/runit/Config.in
index 2df1c2d90..ac1a248ac 100644
--- a/package/busybox/config/runit/Config.in
+++ b/package/busybox/config/runit/Config.in
@@ -1,103 +1,98 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
#
menu "Runit Utilities"
+config BUSYBOX_CHPST
+ bool "chpst (9 kb)"
+ default y
+ help
+ chpst changes the process state according to the given options, and
+ execs specified program.
-config BUSYBOX_RUNSV
- bool "runsv"
- default n
+config BUSYBOX_SETUIDGID
+ bool "setuidgid (4 kb)"
+ default y
+ help
+ Sets soft resource limits as specified by options
+
+config BUSYBOX_ENVUIDGID
+ bool "envuidgid (3.9 kb)"
+ default y
+ help
+ Sets $UID to account's uid and $GID to account's gid
+
+config BUSYBOX_ENVDIR
+ bool "envdir (2.5 kb)"
+ default y
help
- runsv starts and monitors a service and optionally an appendant log
- service.
+ Sets various environment variables as specified by files
+ in the given directory
+config BUSYBOX_SOFTLIMIT
+ bool "softlimit (4.5 kb)"
+ default y
+ help
+ Sets soft resource limits as specified by options
+config BUSYBOX_RUNSV
+ bool "runsv (7.8 kb)"
+ default y
+ help
+ runsv starts and monitors a service and optionally an appendant log
+ service.
config BUSYBOX_RUNSVDIR
- bool "runsvdir"
- default n
+ bool "runsvdir (6.3 kb)"
+ default y
help
- runsvdir starts a runsv process for each subdirectory, or symlink to
- a directory, in the services directory dir, up to a limit of 1000
- subdirectories, and restarts a runsv process if it terminates.
+ runsvdir starts a runsv process for each subdirectory, or symlink to
+ a directory, in the services directory dir, up to a limit of 1000
+ subdirectories, and restarts a runsv process if it terminates.
config BUSYBOX_FEATURE_RUNSVDIR_LOG
bool "Enable scrolling argument log"
depends on BUSYBOX_RUNSVDIR
default n
help
- Enable feature where second parameter of runsvdir holds last error
- message (viewable via top/ps). Otherwise (feature is off
- or no parameter), error messages go to stderr only.
-
+ Enable feature where second parameter of runsvdir holds last error
+ message (viewable via top/ps). Otherwise (feature is off
+ or no parameter), error messages go to stderr only.
config BUSYBOX_SV
- bool "sv"
- default n
+ bool "sv (8.5 kb)"
+ default y
help
- sv reports the current status and controls the state of services
- monitored by the runsv supervisor.
+ sv reports the current status and controls the state of services
+ monitored by the runsv supervisor.
config BUSYBOX_SV_DEFAULT_SERVICE_DIR
string "Default directory for services"
default "/var/service"
depends on BUSYBOX_SV || BUSYBOX_SVC || BUSYBOX_SVOK
help
- Default directory for services.
- Defaults to "/var/service"
+ Default directory for services.
+ Defaults to "/var/service"
config BUSYBOX_SVC
- bool "svc"
- default n
+ bool "svc (8.4 kb)"
+ default y
help
- svc controls the state of services monitored by the runsv supervisor.
- It is comaptible with daemontools command with the same name.
+ svc controls the state of services monitored by the runsv supervisor.
+ It is compatible with daemontools command with the same name.
config BUSYBOX_SVOK
bool "svok (1.5 kb)"
- default n
+ default y
help
svok checks whether runsv supervisor is running.
It is compatible with daemontools command with the same name.
-
config BUSYBOX_SVLOGD
- bool "svlogd"
- default n
- help
- svlogd continuously reads log data from its standard input, optionally
- filters log messages, and writes the data to one or more automatically
- rotated logs.
-
-config BUSYBOX_CHPST
- bool "chpst"
- default n
- help
- chpst changes the process state according to the given options, and
- execs specified program.
-
-config BUSYBOX_SETUIDGID
- bool "setuidgid"
- default n
- help
- Sets soft resource limits as specified by options
-
-config BUSYBOX_ENVUIDGID
- bool "envuidgid"
- default n
- help
- Sets $UID to account's uid and $GID to account's gid
-
-config BUSYBOX_ENVDIR
- bool "envdir"
- default n
- help
- Sets various environment variables as specified by files
- in the given directory
-
-config BUSYBOX_SOFTLIMIT
- bool "softlimit"
- default n
+ bool "svlogd (16 kb)"
+ default y
help
- Sets soft resource limits as specified by options
+ svlogd continuously reads log data from its standard input, optionally
+ filters log messages, and writes the data to one or more automatically
+ rotated logs.
endmenu
diff --git a/package/busybox/config/selinux/Config.in b/package/busybox/config/selinux/Config.in
index 8818ef5a1..ab2d8a206 100644
--- a/package/busybox/config/selinux/Config.in
+++ b/package/busybox/config/selinux/Config.in
@@ -1,124 +1,99 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
#
menu "SELinux Utilities"
depends on BUSYBOX_SELINUX
-
config BUSYBOX_CHCON
- bool "chcon"
+ bool "chcon (8.9 kb)"
default n
depends on BUSYBOX_SELINUX
help
- Enable support to change the security context of file.
-
-config BUSYBOX_FEATURE_CHCON_LONG_OPTIONS
- bool "Enable long options"
- default y
- depends on BUSYBOX_CHCON && BUSYBOX_LONG_OPTS
- help
- Support long options for the chcon applet.
-
+ Enable support to change the security context of file.
config BUSYBOX_GETENFORCE
- bool "getenforce"
+ bool "getenforce (1.7 kb)"
default n
depends on BUSYBOX_SELINUX
help
- Enable support to get the current mode of SELinux.
-
+ Enable support to get the current mode of SELinux.
config BUSYBOX_GETSEBOOL
- bool "getsebool"
+ bool "getsebool (5.5 kb)"
default n
depends on BUSYBOX_SELINUX
help
- Enable support to get SELinux boolean values.
-
+ Enable support to get SELinux boolean values.
config BUSYBOX_LOAD_POLICY
- bool "load_policy"
+ bool "load_policy (1.6 kb)"
default n
depends on BUSYBOX_SELINUX
help
- Enable support to load SELinux policy.
-
+ Enable support to load SELinux policy.
config BUSYBOX_MATCHPATHCON
- bool "matchpathcon"
+ bool "matchpathcon (6.1 kb)"
default n
depends on BUSYBOX_SELINUX
help
- Enable support to get default security context of the
- specified path from the file contexts configuration.
-
-config BUSYBOX_RESTORECON
- bool "restorecon"
+ Enable support to get default security context of the
+ specified path from the file contexts configuration.
+config BUSYBOX_RUNCON
+ bool "runcon (6.6 kb)"
default n
depends on BUSYBOX_SELINUX
help
- Enable support to relabel files. The feature is almost
- the same as setfiles, but usage is a little different.
-
-config BUSYBOX_RUNCON
- bool "runcon"
+ Enable support to run command in specified security context.
+config BUSYBOX_SELINUXENABLED
+ bool "selinuxenabled (321 bytes)"
default n
depends on BUSYBOX_SELINUX
help
- Enable support to run command in speficied security context.
-
-config BUSYBOX_FEATURE_RUNCON_LONG_OPTIONS
- bool "Enable long options"
- default y
- depends on BUSYBOX_RUNCON && BUSYBOX_LONG_OPTS
- help
- Support long options for the runcon applet.
-
-config BUSYBOX_SELINUXENABLED
- bool "selinuxenabled"
+ Enable support for this command to be used within shell scripts
+ to determine if selinux is enabled.
+config BUSYBOX_SESTATUS
+ bool "sestatus (12 kb)"
default n
depends on BUSYBOX_SELINUX
help
- Enable support for this command to be used within shell scripts
- to determine if selinux is enabled.
-
+ Displays the status of SELinux.
config BUSYBOX_SETENFORCE
- bool "setenforce"
+ bool "setenforce (2.1 kb)"
default n
depends on BUSYBOX_SELINUX
help
- Enable support to modify the mode SELinux is running in.
-
+ Enable support to modify the mode SELinux is running in.
config BUSYBOX_SETFILES
- bool "setfiles"
+ bool "setfiles (13 kb)"
default n
depends on BUSYBOX_SELINUX
help
- Enable support to modify to relabel files.
- Notice: If you built libselinux with -D_FILE_OFFSET_BITS=64,
- (It is default in libselinux's Makefile), you _must_ enable
- CONFIG_LFS.
+ Enable support to modify to relabel files.
+ Notice: If you built libselinux with -D_FILE_OFFSET_BITS=64,
+ (It is default in libselinux's Makefile), you _must_ enable
+ CONFIG_LFS.
config BUSYBOX_FEATURE_SETFILES_CHECK_OPTION
bool "Enable check option"
default n
depends on BUSYBOX_SETFILES
help
- Support "-c" option (check the validity of the contexts against
- the specified binary policy) for setfiles. Requires libsepol.
+ Support "-c" option (check the validity of the contexts against
+ the specified binary policy) for setfiles. Requires libsepol.
-config BUSYBOX_SETSEBOOL
- bool "setsebool"
+config BUSYBOX_RESTORECON
+ bool "restorecon (12 kb)"
default n
depends on BUSYBOX_SELINUX
help
- Enable support for change boolean.
- semanage and -P option is not supported yet.
-
-config BUSYBOX_SESTATUS
- bool "sestatus"
+ Enable support to relabel files. The feature is almost
+ the same as setfiles, but usage is a little different.
+config BUSYBOX_SETSEBOOL
+ bool "setsebool (1.7 kb)"
default n
depends on BUSYBOX_SELINUX
help
- Displays the status of SELinux.
+ Enable support for change boolean.
+ semanage and -P option is not supported yet.
endmenu
diff --git a/package/busybox/config/shell/Config.in b/package/busybox/config/shell/Config.in
index 05d1aaccd..6ffa3b2b0 100644
--- a/package/busybox/config/shell/Config.in
+++ b/package/busybox/config/shell/Config.in
@@ -1,425 +1,608 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
#
menu "Shells"
-config BUSYBOX_ASH
+
+choice
+ prompt "Choose which shell is aliased to 'sh' name"
+ default BUSYBOX_SH_IS_ASH
+ help
+ Choose which shell you want to be executed by 'sh' alias.
+ The ash shell is the most bash compatible and full featured one.
+
+# note: cannot use "select BUSYBOX_ASH" here, it breaks "make allnoconfig"
+config BUSYBOX_SH_IS_ASH
+ depends on !BUSYBOX_NOMMU
bool "ash"
- default n
+ select BUSYBOX_SHELL_ASH
+ help
+ Choose ash to be the shell executed by 'sh' name.
+ The ash code will be built into busybox. If you don't select
+ "ash" choice (CONFIG_ASH), this shell may only be invoked by
+ the name 'sh' (and not 'ash').
+
+config BUSYBOX_SH_IS_HUSH
+ bool "hush"
+ select BUSYBOX_SHELL_HUSH
+ help
+ Choose hush to be the shell executed by 'sh' name.
+ The hush code will be built into busybox. If you don't select
+ "hush" choice (CONFIG_HUSH), this shell may only be invoked by
+ the name 'sh' (and not 'hush').
+
+config BUSYBOX_SH_IS_NONE
+ bool "none"
+
+endchoice
+
+choice
+ prompt "Choose which shell is aliased to 'bash' name"
+ default BUSYBOX_BASH_IS_NONE
+ help
+ Choose which shell you want to be executed by 'bash' alias.
+ The ash shell is the most bash compatible and full featured one,
+ although compatibility is far from being complete.
+
+ Note that selecting this option does not switch on any bash
+ compatibility code. It merely makes it possible to install
+ /bin/bash (sym)link and run scripts which start with
+ #!/bin/bash line.
+
+ Many systems use it in scripts which use bash-specific features,
+ even simple ones like $RANDOM. Without this option, busybox
+ can't be used for running them because it won't recongnize
+ "bash" as a supported applet name.
+
+config BUSYBOX_BASH_IS_ASH
+ depends on !BUSYBOX_NOMMU
+ bool "ash"
+ select BUSYBOX_SHELL_ASH
+ help
+ Choose ash to be the shell executed by 'bash' name.
+ The ash code will be built into busybox. If you don't select
+ "ash" choice (CONFIG_ASH), this shell may only be invoked by
+ the name 'bash' (and not 'ash').
+
+config BUSYBOX_BASH_IS_HUSH
+ bool "hush"
+ select BUSYBOX_SHELL_HUSH
+ help
+ Choose hush to be the shell executed by 'bash' name.
+ The hush code will be built into busybox. If you don't select
+ "hush" choice (CONFIG_HUSH), this shell may only be invoked by
+ the name 'bash' (and not 'hush').
+
+config BUSYBOX_BASH_IS_NONE
+ bool "none"
+
+endchoice
+
+
+config BUSYBOX_SHELL_ASH
+ bool #hidden option
+ depends on !BUSYBOX_NOMMU
+
+config BUSYBOX_ASH
+ bool "ash (78 kb)"
+ default y
depends on !BUSYBOX_NOMMU
+ select BUSYBOX_SHELL_ASH
help
- Tha 'ash' shell adds about 60k in the default configuration and is
- the most complete and most pedantically correct shell included with
- busybox. This shell is actually a derivative of the Debian 'dash'
- shell (by Herbert Xu), which was created by porting the 'ash' shell
- (written by Kenneth Almquist) from NetBSD.
+ The most complete and most pedantically correct shell included with
+ busybox. This shell is actually a derivative of the Debian 'dash'
+ shell (by Herbert Xu), which was created by porting the 'ash' shell
+ (written by Kenneth Almquist) from NetBSD.
+
+# ash options
+# note: Don't remove !NOMMU part in the next line; it would break
+# menuconfig's indenting.
+if !BUSYBOX_NOMMU && (BUSYBOX_SHELL_ASH || BUSYBOX_ASH || BUSYBOX_SH_IS_ASH || BUSYBOX_BASH_IS_ASH)
+
+config BUSYBOX_ASH_OPTIMIZE_FOR_SIZE
+ bool "Optimize for size instead of speed"
+ default y
+ depends on BUSYBOX_SHELL_ASH
+
+config BUSYBOX_ASH_INTERNAL_GLOB
+ bool "Use internal glob() implementation"
+ default y # Y is bigger, but because of uclibc glob() bug, let Y be default for now
+ depends on BUSYBOX_SHELL_ASH
+ help
+ Do not use glob() function from libc, use internal implementation.
+ Use this if you are getting "glob.h: No such file or directory"
+ or similar build errors.
+ Note that as of now (2017-01), uclibc and musl glob() both have bugs
+ which would break ash if you select N here.
config BUSYBOX_ASH_BASH_COMPAT
bool "bash-compatible extensions"
default y
- depends on BUSYBOX_ASH
+ depends on BUSYBOX_SHELL_ASH
+
+config BUSYBOX_ASH_BASH_SOURCE_CURDIR
+ bool "'source' and '.' builtins search current directory after $PATH"
+ default n # do not encourage non-standard behavior
+ depends on BUSYBOX_ASH_BASH_COMPAT
help
- Enable bash-compatible extensions.
+ This is not compliant with standards. Avoid if possible.
-config BUSYBOX_ASH_IDLE_TIMEOUT
- bool "Idle timeout variable"
- default n
- depends on BUSYBOX_ASH
+config BUSYBOX_ASH_BASH_NOT_FOUND_HOOK
+ bool "command_not_found_handle hook support"
+ default y
+ depends on BUSYBOX_ASH_BASH_COMPAT
help
- Enables bash-like auto-logout after $TMOUT seconds of idle time.
+ Enable support for the 'command_not_found_handle' hook function,
+ from GNU bash, which allows for alternative command not found
+ handling.
config BUSYBOX_ASH_JOB_CONTROL
bool "Job control"
default y
- depends on BUSYBOX_ASH
- help
- Enable job control in the ash shell.
+ depends on BUSYBOX_SHELL_ASH
config BUSYBOX_ASH_ALIAS
bool "Alias support"
default y
- depends on BUSYBOX_ASH
- help
- Enable alias support in the ash shell.
+ depends on BUSYBOX_SHELL_ASH
-config BUSYBOX_ASH_GETOPTS
- bool "Builtin getopt to parse positional parameters"
+config BUSYBOX_ASH_RANDOM_SUPPORT
+ bool "Pseudorandom generator and $RANDOM variable"
default y
- depends on BUSYBOX_ASH
+ depends on BUSYBOX_SHELL_ASH
help
- Enable support for getopts builtin in ash.
+ Enable pseudorandom generator and dynamic variable "$RANDOM".
+ Each read of "$RANDOM" will generate a new pseudorandom value.
+ You can reset the generator by using a specified start value.
+ After "unset RANDOM" the generator will switch off and this
+ variable will no longer have special treatment.
-config BUSYBOX_ASH_BUILTIN_ECHO
- bool "Builtin version of 'echo'"
+config BUSYBOX_ASH_EXPAND_PRMT
+ bool "Expand prompt string"
default y
- depends on BUSYBOX_ASH
+ depends on BUSYBOX_SHELL_ASH
help
- Enable support for echo builtin in ash.
+ $PS# may contain volatile content, such as backquote commands.
+ This option recreates the prompt string from the environment
+ variable each time it is displayed.
-config BUSYBOX_ASH_BUILTIN_PRINTF
- bool "Builtin version of 'printf'"
+config BUSYBOX_ASH_IDLE_TIMEOUT
+ bool "Idle timeout variable $TMOUT"
default y
- depends on BUSYBOX_ASH
+ depends on BUSYBOX_SHELL_ASH
help
- Enable support for printf builtin in ash.
+ Enable bash-like auto-logout after $TMOUT seconds of idle time.
-config BUSYBOX_ASH_BUILTIN_TEST
- bool "Builtin version of 'test'"
+config BUSYBOX_ASH_MAIL
+ bool "Check for new mail in interactive shell"
default y
- depends on BUSYBOX_ASH
+ depends on BUSYBOX_SHELL_ASH
help
- Enable support for test builtin in ash.
+ Enable "check for new mail" function:
+ if set, $MAIL file and $MAILPATH list of files
+ are checked for mtime changes, and "you have mail"
+ message is printed if change is detected.
-config BUSYBOX_ASH_HELP
- bool "help builtin"
+config BUSYBOX_ASH_ECHO
+ bool "echo builtin"
default y
- depends on BUSYBOX_ASH
- help
- Enable help builtin in ash.
+ depends on BUSYBOX_SHELL_ASH
-config BUSYBOX_ASH_CMDCMD
- bool "'command' command to override shell builtins"
+config BUSYBOX_ASH_PRINTF
+ bool "printf builtin"
default y
- depends on BUSYBOX_ASH
- help
- Enable support for the ash 'command' builtin, which allows
- you to run the specified command with the specified arguments,
- even when there is an ash builtin command with the same name.
+ depends on BUSYBOX_SHELL_ASH
-config BUSYBOX_ASH_MAIL
- bool "Check for new mail on interactive shells"
- default n
- depends on BUSYBOX_ASH
- help
- Enable "check for new mail" function in the ash shell.
+config BUSYBOX_ASH_TEST
+ bool "test builtin"
+ default y
+ depends on BUSYBOX_SHELL_ASH
-config BUSYBOX_ASH_OPTIMIZE_FOR_SIZE
- bool "Optimize for size instead of speed"
+config BUSYBOX_ASH_SLEEP
+ bool "sleep builtin"
default y
- depends on BUSYBOX_ASH
- help
- Compile ash for reduced size at the price of speed.
+ depends on BUSYBOX_SHELL_ASH
-config BUSYBOX_ASH_INTERNAL_GLOB
- bool "Use internal glob() implementation"
- default y # Y is bigger, but because of uclibc glob() bug, let Y be default for now
- depends on BUSYBOX_ASH
- help
- Do not use glob() function from libc, use internal implementation.
- Use this if you are getting "glob.h: No such file or directory"
- or similar build errors.
+config BUSYBOX_ASH_HELP
+ bool "help builtin"
+ default y
+ depends on BUSYBOX_SHELL_ASH
-config BUSYBOX_ASH_RANDOM_SUPPORT
- bool "Pseudorandom generator and $RANDOM variable"
+config BUSYBOX_ASH_GETOPTS
+ bool "getopts builtin"
default y
- depends on BUSYBOX_ASH
- help
- Enable pseudorandom generator and dynamic variable "$RANDOM".
- Each read of "$RANDOM" will generate a new pseudorandom value.
- You can reset the generator by using a specified start value.
- After "unset RANDOM" the generator will switch off and this
- variable will no longer have special treatment.
+ depends on BUSYBOX_SHELL_ASH
-config BUSYBOX_ASH_EXPAND_PRMT
- bool "Expand prompt string"
+config BUSYBOX_ASH_CMDCMD
+ bool "command builtin"
default y
- depends on BUSYBOX_ASH
+ depends on BUSYBOX_SHELL_ASH
help
- "PS#" may contain volatile content, such as backquote commands.
- This option recreates the prompt string from the environment
- variable each time it is displayed.
+ Enable support for the 'command' builtin, which allows
+ you to run the specified command or builtin,
+ even when there is a function with the same name.
+endif # ash options
config BUSYBOX_CTTYHACK
- bool "cttyhack"
- default n
+ bool "cttyhack (2.4 kb)"
+ default y
help
- One common problem reported on the mailing list is the "can't
- access tty; job control turned off" error message, which typically
- appears when one tries to use a shell with stdin/stdout on
- /dev/console.
- This device is special - it cannot be a controlling tty.
-
- The proper solution is to use the correct device instead of
- /dev/console.
+ One common problem reported on the mailing list is the "can't
+ access tty; job control turned off" error message, which typically
+ appears when one tries to use a shell with stdin/stdout on
+ /dev/console.
+ This device is special - it cannot be a controlling tty.
- cttyhack provides a "quick and dirty" solution to this problem.
- It analyzes stdin with various ioctls, trying to determine whether
- it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line).
- On Linux it also checks sysfs for a pointer to the active console.
- If cttyhack is able to find the real console device, it closes
- stdin/out/err and reopens that device.
- Then it executes the given program. Opening the device will make
- that device a controlling tty. This may require cttyhack
- to be a session leader.
+ The proper solution is to use the correct device instead of
+ /dev/console.
- Example for /etc/inittab (for busybox init):
+ cttyhack provides a "quick and dirty" solution to this problem.
+ It analyzes stdin with various ioctls, trying to determine whether
+ it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line).
+ On Linux it also checks sysfs for a pointer to the active console.
+ If cttyhack is able to find the real console device, it closes
+ stdin/out/err and reopens that device.
+ Then it executes the given program. Opening the device will make
+ that device a controlling tty. This may require cttyhack
+ to be a session leader.
- ::respawn:/bin/cttyhack /bin/sh
+ Example for /etc/inittab (for busybox init):
- Starting an interactive shell from boot shell script:
+ ::respawn:/bin/cttyhack /bin/sh
- setsid cttyhack sh
+ Starting an interactive shell from boot shell script:
- Giving controlling tty to shell running with PID 1:
+ setsid cttyhack sh
- # exec cttyhack sh
+ Giving controlling tty to shell running with PID 1:
- Without cttyhack, you need to know exact tty name,
- and do something like this:
+ # exec cttyhack sh
- # exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1'
+ Without cttyhack, you need to know exact tty name,
+ and do something like this:
- Starting getty on a controlling tty from a shell script:
+ # exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1'
- # getty 115200 $(cttyhack)
+ Starting getty on a controlling tty from a shell script:
+ # getty 115200 $(cttyhack)
config BUSYBOX_HUSH
- bool "hush"
- default y if ADK_TARGET_UCLINUX
- default n
+ bool "hush (68 kb)"
+ default y
select BUSYBOX_SHELL_HUSH
help
- hush is a small shell (25k). It handles the normal flow control
- constructs such as if/then/elif/else/fi, for/in/do/done, while loops,
- case/esac. Redirections, here documents, $((arithmetic))
- and functions are supported.
+ hush is a small shell. It handles the normal flow control
+ constructs such as if/then/elif/else/fi, for/in/do/done, while loops,
+ case/esac. Redirections, here documents, $((arithmetic))
+ and functions are supported.
- It will compile and work on no-mmu systems.
+ It will compile and work on no-mmu systems.
- It does not handle select, aliases, tilde expansion,
- &>file and >&file redirection of stdout+stderr.
+ It does not handle select, aliases, tilde expansion,
+ &>file and >&file redirection of stdout+stderr.
config BUSYBOX_SHELL_HUSH
bool "Internal shell for embedded script support"
default n
+# hush options
+# It's only needed to get "nice" menuconfig indenting.
+if BUSYBOX_SHELL_HUSH || BUSYBOX_HUSH || BUSYBOX_SH_IS_HUSH || BUSYBOX_BASH_IS_HUSH
+
config BUSYBOX_HUSH_BASH_COMPAT
bool "bash-compatible extensions"
default y
- depends on BUSYBOX_HUSH
- help
- Enable bash-compatible extensions.
+ depends on BUSYBOX_SHELL_HUSH
config BUSYBOX_HUSH_BRACE_EXPANSION
bool "Brace expansion"
default y
depends on BUSYBOX_HUSH_BASH_COMPAT
help
- Enable {abc,def} extension.
+ Enable {abc,def} extension.
-config BUSYBOX_HUSH_HELP
- bool "help builtin"
- default y
- depends on BUSYBOX_HUSH
+config BUSYBOX_HUSH_BASH_SOURCE_CURDIR
+ bool "'source' and '.' builtins search current directory after $PATH"
+ default n # do not encourage non-standard behavior
+ depends on BUSYBOX_HUSH_BASH_COMPAT
help
- Enable help builtin in hush. Code size + ~1 kbyte.
+ This is not compliant with standards. Avoid if possible.
+
+config BUSYBOX_HUSH_LINENO_VAR
+ bool "$LINENO variable (bashism)"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
config BUSYBOX_HUSH_INTERACTIVE
bool "Interactive mode"
default y
- depends on BUSYBOX_HUSH
+ depends on BUSYBOX_SHELL_HUSH
help
- Enable interactive mode (prompt and command editing).
- Without this, hush simply reads and executes commands
- from stdin just like a shell script from a file.
- No prompt, no PS1/PS2 magic shell variables.
+ Enable interactive mode (prompt and command editing).
+ Without this, hush simply reads and executes commands
+ from stdin just like a shell script from a file.
+ No prompt, no PS1/PS2 magic shell variables.
config BUSYBOX_HUSH_SAVEHISTORY
bool "Save command history to .hush_history"
default y
depends on BUSYBOX_HUSH_INTERACTIVE && BUSYBOX_FEATURE_EDITING_SAVEHISTORY
- help
- Enable history saving in hush.
config BUSYBOX_HUSH_JOB
bool "Job control"
default y
depends on BUSYBOX_HUSH_INTERACTIVE
help
- Enable job control: Ctrl-Z backgrounds, Ctrl-C interrupts current
- command (not entire shell), fg/bg builtins work. Without this option,
- "cmd &" still works by simply spawning a process and immediately
- prompting for next command (or executing next command in a script),
- but no separate process group is formed.
+ Enable job control: Ctrl-Z backgrounds, Ctrl-C interrupts current
+ command (not entire shell), fg/bg builtins work. Without this option,
+ "cmd &" still works by simply spawning a process and immediately
+ prompting for next command (or executing next command in a script),
+ but no separate process group is formed.
config BUSYBOX_HUSH_TICK
- bool "Process substitution"
+ bool "Support command substitution"
default y
- depends on BUSYBOX_HUSH
+ depends on BUSYBOX_SHELL_HUSH
help
- Enable process substitution `command` and $(command) in hush.
+ Enable `command` and $(command).
config BUSYBOX_HUSH_IF
bool "Support if/then/elif/else/fi"
default y
- depends on BUSYBOX_HUSH
- help
- Enable if/then/elif/else/fi in hush.
+ depends on BUSYBOX_SHELL_HUSH
config BUSYBOX_HUSH_LOOPS
bool "Support for, while and until loops"
default y
- depends on BUSYBOX_HUSH
- help
- Enable for, while and until loops in hush.
+ depends on BUSYBOX_SHELL_HUSH
config BUSYBOX_HUSH_CASE
bool "Support case ... esac statement"
default y
- depends on BUSYBOX_HUSH
+ depends on BUSYBOX_SHELL_HUSH
help
- Enable case ... esac statement in hush. +400 bytes.
+ Enable case ... esac statement. +400 bytes.
config BUSYBOX_HUSH_FUNCTIONS
bool "Support funcname() { commands; } syntax"
default y
- depends on BUSYBOX_HUSH
+ depends on BUSYBOX_SHELL_HUSH
help
- Enable support for shell functions in hush. +800 bytes.
+ Enable support for shell functions. +800 bytes.
config BUSYBOX_HUSH_LOCAL
- bool "Support local builtin"
+ bool "local builtin"
default y
depends on BUSYBOX_HUSH_FUNCTIONS
help
- Enable support for local variables in functions.
+ Enable support for local variables in functions.
config BUSYBOX_HUSH_RANDOM_SUPPORT
bool "Pseudorandom generator and $RANDOM variable"
default y
- depends on BUSYBOX_HUSH
+ depends on BUSYBOX_SHELL_HUSH
help
- Enable pseudorandom generator and dynamic variable "$RANDOM".
- Each read of "$RANDOM" will generate a new pseudorandom value.
+ Enable pseudorandom generator and dynamic variable "$RANDOM".
+ Each read of "$RANDOM" will generate a new pseudorandom value.
+
+config BUSYBOX_HUSH_MODE_X
+ bool "Support 'hush -x' option and 'set -x' command"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
+ help
+ This instructs hush to print commands before execution.
+ Adds ~300 bytes.
+
+config BUSYBOX_HUSH_ECHO
+ bool "echo builtin"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
+
+config BUSYBOX_HUSH_PRINTF
+ bool "printf builtin"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
+
+config BUSYBOX_HUSH_TEST
+ bool "test builtin"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
+
+config BUSYBOX_HUSH_HELP
+ bool "help builtin"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
+
+config BUSYBOX_HUSH_EXPORT
+ bool "export builtin"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
config BUSYBOX_HUSH_EXPORT_N
bool "Support 'export -n' option"
default y
- depends on BUSYBOX_HUSH
+ depends on BUSYBOX_HUSH_EXPORT
help
- export -n unexports variables. It is a bash extension.
+ export -n unexports variables. It is a bash extension.
-config BUSYBOX_HUSH_MODE_X
- bool "Support 'hush -x' option and 'set -x' command"
+config BUSYBOX_HUSH_READONLY
+ bool "readonly builtin"
default y
- depends on BUSYBOX_HUSH
+ depends on BUSYBOX_SHELL_HUSH
help
- This instructs hush to print commands before execution.
- Adds ~300 bytes.
+ Enable support for read-only variables.
-choice
-prompt "Choose which shell is aliased to 'sh' name"
+config BUSYBOX_HUSH_KILL
+ bool "kill builtin (supports kill %jobspec)"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
-config BUSYBOX_SH_IS_NONE
- bool "none"
+config BUSYBOX_HUSH_WAIT
+ bool "wait builtin"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
-config BUSYBOX_SH_IS_ASH
- bool "ash"
+config BUSYBOX_HUSH_COMMAND
+ bool "command builtin"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
-config BUSYBOX_SH_IS_HUSH
- bool "hush"
+config BUSYBOX_HUSH_TRAP
+ bool "trap builtin"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
-endchoice
+config BUSYBOX_HUSH_TYPE
+ bool "type builtin"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
-choice
-prompt "Choose which shell is aliased to 'bash' name"
+config BUSYBOX_HUSH_TIMES
+ bool "times builtin"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
-config BUSYBOX_BASH_IS_NONE
- bool "none"
+config BUSYBOX_HUSH_READ
+ bool "read builtin"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
-config BUSYBOX_BASH_IS_ASH
- bool "ash"
+config BUSYBOX_HUSH_SET
+ bool "set builtin"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
-config BUSYBOX_BASH_IS_HUSH
- bool "hush"
+config BUSYBOX_HUSH_UNSET
+ bool "unset builtin"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
-endchoice
+config BUSYBOX_HUSH_ULIMIT
+ bool "ulimit builtin"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
+
+config BUSYBOX_HUSH_UMASK
+ bool "umask builtin"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
+
+config BUSYBOX_HUSH_GETOPTS
+ bool "getopts builtin"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
+
+config BUSYBOX_HUSH_MEMLEAK
+ bool "memleak builtin (debugging)"
+ default n
+ depends on BUSYBOX_SHELL_HUSH
+
+endif # hush options
+
+
+comment "Options common to all shells"
+if BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH
config BUSYBOX_FEATURE_SH_MATH
bool "POSIX math support"
default y
- depends on BUSYBOX_ASH || BUSYBOX_HUSH
+ depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH
help
- Enable math support in the shell via $((...)) syntax.
+ Enable math support in the shell via $((...)) syntax.
config BUSYBOX_FEATURE_SH_MATH_64
bool "Extend POSIX math support to 64 bit"
default y
depends on BUSYBOX_FEATURE_SH_MATH
help
- Enable 64-bit math support in the shell. This will make the shell
- slightly larger, but will allow computation with very large numbers.
- This is not in POSIX, so do not rely on this in portable code.
+ Enable 64-bit math support in the shell. This will make the shell
+ slightly larger, but will allow computation with very large numbers.
+ This is not in POSIX, so do not rely on this in portable code.
+
+config BUSYBOX_FEATURE_SH_MATH_BASE
+ bool "Support BASE#nnnn literals"
+ default y
+ depends on BUSYBOX_FEATURE_SH_MATH
config BUSYBOX_FEATURE_SH_EXTRA_QUIET
bool "Hide message on interactive shell startup"
default y
- depends on BUSYBOX_HUSH || BUSYBOX_ASH
+ depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH
help
- Remove the busybox introduction when starting a shell.
+ Remove the busybox introduction when starting a shell.
config BUSYBOX_FEATURE_SH_STANDALONE
bool "Standalone shell"
default n
- depends on (BUSYBOX_HUSH || BUSYBOX_ASH)
- help
- This option causes busybox shells to use busybox applets
- in preference to executables in the PATH whenever possible. For
- example, entering the command 'ifconfig' into the shell would cause
- busybox to use the ifconfig busybox applet. Specifying the fully
- qualified executable name, such as '/sbin/ifconfig' will still
- execute the /sbin/ifconfig executable on the filesystem. This option
- is generally used when creating a statically linked version of busybox
- for use as a rescue shell, in the event that you screw up your system.
-
- This is implemented by re-execing /proc/self/exe (typically)
- with right parameters. Some selected applets ("NOFORK" applets)
- can even be executed without creating new process.
- Instead, busybox will call <applet>_main() internally.
-
- However, this causes problems in chroot jails without mounted /proc
- and with ps/top (command name can be shown as 'exe' for applets
- started this way).
-# untrue?
-# Note that this will *also* cause applets to take precedence
-# over shell builtins of the same name. So turning this on will
-# eliminate any performance gained by turning on the builtin "echo"
-# and "test" commands in ash.
-# untrue?
-# Note that when using this option, the shell will attempt to directly
-# run '/bin/busybox'. If you do not have the busybox binary sitting in
-# that exact location with that exact name, this option will not work at
-# all.
+ depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH
+ help
+ This option causes busybox shells to use busybox applets
+ in preference to executables in the PATH whenever possible. For
+ example, entering the command 'ifconfig' into the shell would cause
+ busybox to use the ifconfig busybox applet. Specifying the fully
+ qualified executable name, such as '/sbin/ifconfig' will still
+ execute the /sbin/ifconfig executable on the filesystem. This option
+ is generally used when creating a statically linked version of busybox
+ for use as a rescue shell, in the event that you screw up your system.
+
+ This is implemented by re-execing /proc/self/exe (typically)
+ with right parameters.
+
+ However, there are drawbacks: it is problematic in chroot jails
+ without mounted /proc, and ps/top may show command name as 'exe'
+ for applets started this way.
config BUSYBOX_FEATURE_SH_NOFORK
bool "Run 'nofork' applets directly"
default n
- depends on (BUSYBOX_HUSH || BUSYBOX_ASH)
+ depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH
help
- This option causes busybox shells to not execute typical
- fork/exec/wait sequence, but call <applet>_main directly,
- if possible. (Sometimes it is not possible: for example,
- this is not possible in pipes).
+ This option causes busybox shells to not execute typical
+ fork/exec/wait sequence, but call <applet>_main directly,
+ if possible. (Sometimes it is not possible: for example,
+ this is not possible in pipes).
- This will be done only for some applets (those which are marked
- NOFORK in include/applets.h).
+ This will be done only for some applets (those which are marked
+ NOFORK in include/applets.h).
- This may significantly speed up some shell scripts.
+ This may significantly speed up some shell scripts.
- This feature is relatively new. Use with care. Report bugs
- to project mailing list.
+ This feature is relatively new. Use with care. Report bugs
+ to project mailing list.
+
+config BUSYBOX_FEATURE_SH_READ_FRAC
+ bool "read -t N.NNN support (+110 bytes)"
+ default y
+ depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH
+ help
+ Enable support for fractional second timeout in read builtin.
config BUSYBOX_FEATURE_SH_HISTFILESIZE
bool "Use $HISTFILESIZE"
default y
- depends on BUSYBOX_HUSH || BUSYBOX_ASH
+ depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH
help
- This option makes busybox shells to use $HISTFILESIZE variable
- to set shell history size. Note that its max value is capped
- by "History size" setting in library tuning section.
+ This option makes busybox shells to use $HISTFILESIZE variable
+ to set shell history size. Note that its max value is capped
+ by "History size" setting in library tuning section.
+
+config BUSYBOX_FEATURE_SH_EMBEDDED_SCRIPTS
+ bool "Embed scripts in the binary"
+ default y
+ depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH
+ help
+ Allow scripts to be compressed and embedded in the busybox
+ binary. The scripts should be placed in the 'embed' directory
+ at build time. Like applets, scripts can be run as
+ 'busybox SCRIPT ...' or by linking their name to the binary.
+
+ This also allows applets to be implemented as scripts: place
+ the script in 'applets_sh' and a stub C file containing
+ configuration in the appropriate subsystem directory.
+endif # Options common to all shells
endmenu
diff --git a/package/busybox/config/sysklogd/Config.in b/package/busybox/config/sysklogd/Config.in
index aaa6509e1..0d8b63557 100644
--- a/package/busybox/config/sysklogd/Config.in
+++ b/package/busybox/config/sysklogd/Config.in
@@ -1,63 +1,119 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
#
menu "System Logging Utilities"
+config BUSYBOX_KLOGD
+ bool "klogd (5.7 kb)"
+ default y
+ help
+ klogd is a utility which intercepts and logs all
+ messages from the Linux kernel and sends the messages
+ out to the 'syslogd' utility so they can be logged. If
+ you wish to record the messages produced by the kernel,
+ you should enable this option.
+
+comment "klogd should not be used together with syslog to kernel printk buffer"
+ depends on BUSYBOX_KLOGD && BUSYBOX_FEATURE_KMSG_SYSLOG
+
+config BUSYBOX_FEATURE_KLOGD_KLOGCTL
+ bool "Use the klogctl() interface"
+ default y
+ depends on BUSYBOX_KLOGD
+ help
+ The klogd applet supports two interfaces for reading
+ kernel messages. Linux provides the klogctl() interface
+ which allows reading messages from the kernel ring buffer
+ independently from the file system.
+
+ If you answer 'N' here, klogd will use the more portable
+ approach of reading them from /proc or a device node.
+ However, this method requires the file to be available.
+
+ If in doubt, say 'Y'.
+config BUSYBOX_LOGGER
+ bool "logger (6.3 kb)"
+ default y
+ select BUSYBOX_FEATURE_SYSLOG
+ help
+ The logger utility allows you to send arbitrary text
+ messages to the system log (i.e. the 'syslogd' utility) so
+ they can be logged. This is generally used to help locate
+ problems that occur within programs and scripts.
+config BUSYBOX_LOGREAD
+ bool "logread (4.8 kb)"
+ default y
+ help
+ If you enabled Circular Buffer support, you almost
+ certainly want to enable this feature as well. This
+ utility will allow you to read the messages that are
+ stored in the syslogd circular buffer.
+
+config BUSYBOX_FEATURE_LOGREAD_REDUCED_LOCKING
+ bool "Double buffering"
+ default y
+ depends on BUSYBOX_LOGREAD
+ help
+ 'logread' output to slow serial terminals can have
+ side effects on syslog because of the semaphore.
+ This option make logread to double buffer copy
+ from circular buffer, minimizing semaphore
+ contention at some minor memory expense.
config BUSYBOX_SYSLOGD
- bool "syslogd"
+ bool "syslogd (13 kb)"
default y
help
- The syslogd utility is used to record logs of all the
- significant events that occur on a system. Every
- message that is logged records the date and time of the
- event, and will generally also record the name of the
- application that generated the message. When used in
- conjunction with klogd, messages from the Linux kernel
- can also be recorded. This is terribly useful,
- especially for finding what happened when something goes
- wrong. And something almost always will go wrong if
- you wait long enough....
+ The syslogd utility is used to record logs of all the
+ significant events that occur on a system. Every
+ message that is logged records the date and time of the
+ event, and will generally also record the name of the
+ application that generated the message. When used in
+ conjunction with klogd, messages from the Linux kernel
+ can also be recorded. This is terribly useful,
+ especially for finding what happened when something goes
+ wrong. And something almost always will go wrong if
+ you wait long enough....
config BUSYBOX_FEATURE_ROTATE_LOGFILE
bool "Rotate message files"
default y
depends on BUSYBOX_SYSLOGD
help
- This enables syslogd to rotate the message files
- on his own. No need to use an external rotatescript.
+ This enables syslogd to rotate the message files
+ on his own. No need to use an external rotate script.
config BUSYBOX_FEATURE_REMOTE_LOG
bool "Remote Log support"
default y
depends on BUSYBOX_SYSLOGD
help
- When you enable this feature, the syslogd utility can
- be used to send system log messages to another system
- connected via a network. This allows the remote
- machine to log all the system messages, which can be
- terribly useful for reducing the number of serial
- cables you use. It can also be a very good security
- measure to prevent system logs from being tampered with
- by an intruder.
+ When you enable this feature, the syslogd utility can
+ be used to send system log messages to another system
+ connected via a network. This allows the remote
+ machine to log all the system messages, which can be
+ terribly useful for reducing the number of serial
+ cables you use. It can also be a very good security
+ measure to prevent system logs from being tampered with
+ by an intruder.
config BUSYBOX_FEATURE_SYSLOGD_DUP
bool "Support -D (drop dups) option"
default y
depends on BUSYBOX_SYSLOGD
help
- Option -D instructs syslogd to drop consecutive messages
- which are totally the same.
+ Option -D instructs syslogd to drop consecutive messages
+ which are totally the same.
config BUSYBOX_FEATURE_SYSLOGD_CFG
bool "Support syslog.conf"
- default n
+ default y
depends on BUSYBOX_SYSLOGD
help
- Supports restricted syslogd config. See docs/syslog.conf.txt
+ Supports restricted syslogd config. See docs/syslog.conf.txt
config BUSYBOX_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS
bool "Include milliseconds in timestamps"
@@ -73,105 +129,43 @@ config BUSYBOX_FEATURE_SYSLOGD_READ_BUFFER_SIZE
range 256 20000
depends on BUSYBOX_SYSLOGD
help
- This option sets the size of the syslog read buffer.
- Actual memory usage increases around five times the
- change done here.
+ This option sets the size of the syslog read buffer.
+ Actual memory usage increases around five times the
+ change done here.
config BUSYBOX_FEATURE_IPC_SYSLOG
bool "Circular Buffer support"
default y
depends on BUSYBOX_SYSLOGD
help
- When you enable this feature, the syslogd utility will
- use a circular buffer to record system log messages.
- When the buffer is filled it will continue to overwrite
- the oldest messages. This can be very useful for
- systems with little or no permanent storage, since
- otherwise system logs can eventually fill up your
- entire filesystem, which may cause your system to
- break badly.
+ When you enable this feature, the syslogd utility will
+ use a circular buffer to record system log messages.
+ When the buffer is filled it will continue to overwrite
+ the oldest messages. This can be very useful for
+ systems with little or no permanent storage, since
+ otherwise system logs can eventually fill up your
+ entire filesystem, which may cause your system to
+ break badly.
config BUSYBOX_FEATURE_IPC_SYSLOG_BUFFER_SIZE
int "Circular buffer size in Kbytes (minimum 4KB)"
- default 32
+ default 16
range 4 2147483647
depends on BUSYBOX_FEATURE_IPC_SYSLOG
help
- This option sets the size of the circular buffer
- used to record system log messages.
+ This option sets the size of the circular buffer
+ used to record system log messages.
config BUSYBOX_FEATURE_KMSG_SYSLOG
- bool "Linux kernel printk buffer support"
- default n
- depends on BUSYBOX_SYSLOGD
- select BUSYBOX_PLATFORM_LINUX
- help
- When you enable this feature, the syslogd utility will
- write system log message to the Linux kernel's printk buffer.
- This can be used as a smaller alternative to the syslogd IPC
- support, as klogd and logread aren't needed.
-
- NOTICE: Syslog facilities in log entries needs kernel 3.5+.
-
-config BUSYBOX_LOGREAD
- bool "logread"
- default y
- depends on BUSYBOX_FEATURE_IPC_SYSLOG
- help
- If you enabled Circular Buffer support, you almost
- certainly want to enable this feature as well. This
- utility will allow you to read the messages that are
- stored in the syslogd circular buffer.
-
-config BUSYBOX_FEATURE_LOGREAD_REDUCED_LOCKING
- bool "Double buffering"
- default y
- depends on BUSYBOX_LOGREAD
- help
- 'logread' ouput to slow serial terminals can have
- side effects on syslog because of the semaphore.
- This option make logread to double buffer copy
- from circular buffer, minimizing semaphore
- contention at some minor memory expense.
-
-config BUSYBOX_KLOGD
- bool "klogd"
- default y
- help
- klogd is a utility which intercepts and logs all
- messages from the Linux kernel and sends the messages
- out to the 'syslogd' utility so they can be logged. If
- you wish to record the messages produced by the kernel,
- you should enable this option.
-
-comment "klogd should not be used together with syslog to kernel printk buffer"
- depends on BUSYBOX_KLOGD && BUSYBOX_FEATURE_KMSG_SYSLOG
-
-config BUSYBOX_FEATURE_KLOGD_KLOGCTL
- bool "Use the klogctl() interface"
+ bool "Linux kernel printk buffer support"
default y
- depends on BUSYBOX_KLOGD
- select BUSYBOX_PLATFORM_LINUX
+ depends on BUSYBOX_SYSLOGD
help
- The klogd applet supports two interfaces for reading
- kernel messages. Linux provides the klogctl() interface
- which allows reading messages from the kernel ring buffer
- independently from the file system.
-
- If you answer 'N' here, klogd will use the more portable
- approach of reading them from /proc or a device node.
- However, this method requires the file to be available.
+ When you enable this feature, the syslogd utility will
+ write system log message to the Linux kernel's printk buffer.
+ This can be used as a smaller alternative to the syslogd IPC
+ support, as klogd and logread aren't needed.
- If in doubt, say 'Y'.
-
-config BUSYBOX_LOGGER
- bool "logger"
- default y
- select BUSYBOX_FEATURE_SYSLOG
- help
- The logger utility allows you to send arbitrary text
- messages to the system log (i.e. the 'syslogd' utility) so
- they can be logged. This is generally used to help locate
- problems that occur within programs and scripts.
+ NOTICE: Syslog facilities in log entries needs kernel 3.5+.
endmenu
diff --git a/package/busybox/config/util-linux/Config.in b/package/busybox/config/util-linux/Config.in
index 106ebd934..77b2b83f1 100644
--- a/package/busybox/config/util-linux/Config.in
+++ b/package/busybox/config/util-linux/Config.in
@@ -1,656 +1,585 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
#
menu "Linux System Utilities"
-config BUSYBOX_BLKDISCARD
- bool "blkdiscard"
- default n
- help
- blkdiscard discards sectors on a given device.
-
-config BUSYBOX_BLOCKDEV
- bool "blockdev"
- default n
- help
- Performs some ioctls with block devices.
-
-config BUSYBOX_FALLOCATE
- bool "fallocate (4.1 kb)"
- default n
+config BUSYBOX_ACPID
+ bool "acpid (9 kb)"
+ default y
help
- Preallocate space for files.
+ acpid listens to ACPI events coming either in textual form from
+ /proc/acpi/event (though it is marked deprecated it is still widely
+ used and _is_ a standard) or in binary form from specified evdevs
+ (just use /dev/input/event*).
-config BUSYBOX_FATATTR
- bool "fatattr"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- fatattr lists or changes the file attributes on a fat file system.
+ It parses the event to retrieve ACTION and a possible PARAMETER.
+ It then spawns /etc/acpi/<ACTION>[/<PARAMETER>] either via run-parts
+ (if the resulting path is a directory) or directly as an executable.
-config BUSYBOX_FSTRIM
- bool "fstrim"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Discard unused blocks on a mounted filesystem.
+ N.B. acpid relies on run-parts so have the latter installed.
-config BUSYBOX_MDEV
- bool "mdev"
+config BUSYBOX_FEATURE_ACPID_COMPAT
+ bool "Accept and ignore redundant options"
default y
- select BUSYBOX_PLATFORM_LINUX
+ depends on BUSYBOX_ACPID
help
- mdev is a mini-udev implementation for dynamically creating device
- nodes in the /dev directory.
-
- For more information, please see docs/mdev.txt
-
-config BUSYBOX_FEATURE_MDEV_CONF
- bool "Support /etc/mdev.conf"
+ Accept and ignore compatibility options -g -m -s -S -v.
+config BUSYBOX_BLKDISCARD
+ bool "blkdiscard (4.3 kb)"
default y
- depends on BUSYBOX_MDEV
help
- Add support for the mdev config file to control ownership and
- permissions of the device nodes.
-
- For more information, please see docs/mdev.txt
-
-config BUSYBOX_FEATURE_MDEV_RENAME
- bool "Support subdirs/symlinks"
+ blkdiscard discards sectors on a given device.
+config BUSYBOX_BLKID
+ bool "blkid (12 kb)"
default y
- depends on BUSYBOX_FEATURE_MDEV_CONF
+ select BUSYBOX_VOLUMEID
help
- Add support for renaming devices and creating symlinks.
+ Lists labels and UUIDs of all filesystems.
- For more information, please see docs/mdev.txt
-
-config BUSYBOX_FEATURE_MDEV_RENAME_REGEXP
- bool "Support regular expressions substitutions when renaming device"
+config BUSYBOX_FEATURE_BLKID_TYPE
+ bool "Print filesystem type"
default y
- depends on BUSYBOX_FEATURE_MDEV_RENAME
+ depends on BUSYBOX_BLKID
help
- Add support for regular expressions substitutions when renaming
- device.
-
-config BUSYBOX_FEATURE_MDEV_EXEC
- bool "Support command execution at device addition/removal"
+ Show TYPE="filesystem type"
+config BUSYBOX_BLOCKDEV
+ bool "blockdev (2.3 kb)"
default y
- depends on BUSYBOX_FEATURE_MDEV_CONF
help
- This adds support for an optional field to /etc/mdev.conf for
- executing commands when devices are created/removed.
-
- For more information, please see docs/mdev.txt
-
-config BUSYBOX_FEATURE_MDEV_LOAD_FIRMWARE
- bool "Support loading of firmwares"
+ Performs some ioctls with block devices.
+config BUSYBOX_CAL
+ bool "cal (5.8 kb)"
default y
- depends on BUSYBOX_MDEV
help
- Some devices need to load firmware before they can be usable.
-
- These devices will request userspace look up the files in
- /lib/firmware/ and if it exists, send it to the kernel for
- loading into the hardware.
-
-config BUSYBOX_FEATURE_MDEV_DAEMON
- bool "Support daemon mode"
+ cal is used to display a monthly calendar.
+config BUSYBOX_CHRT
+ bool "chrt (4.7 kb)"
default y
- depends on BUSYBOX_MDEV
- help
- Adds the -d option to run mdev in daemon mode handling hotplug
- events from the kernel like udev. If the system generates many
- hotplug events this mode of operation will consume less
- resources than registering mdev as hotplug helper or using the
- uevent applet.
-
-config BUSYBOX_MKE2FS
- bool "mke2fs"
- default n
- select PLATFORM_LINUX
- help
- Utility to create EXT2 filesystems.
-
-config BUSYBOX_MKFS_EXT2
- bool "mkfs.ext2"
- default n
- select PLATFORM_LINUX
- help
- Alias to "mke2fs".
-
-config BUSYBOX_MKDOSFS
- bool "mkdosfs"
- default n
- select PLATFORM_LINUX
- help
- Utility to create FAT32 filesystems.
-
-config BUSYBOX_NSENTER
- bool "nsenter"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Run program with namespaces of other processes.
-
-config BUSYBOX_FEATURE_NSENTER_LONG_OPTS
- bool "Enable long options"
- default n
- depends on BUSYBOX_NSENTER && BUSYBOX_LONG_OPTS
- help
- Support long options for the nsenter applet. This makes
- the busybox implementation more compatible with upstream.
-
-config BUSYBOX_REV
- bool "rev"
- default n
help
- Reverse lines of a file or files.
-
-config BUSYBOX_UEVENT
- bool "uevent"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- uevent is a netlink listener for kernel uevent notifications
- sent via netlink. It is usually used for dynamic device creation.
-
-config BUSYBOX_UNSHARE
- bool "unshare"
- default n
- depends on BUSYBOX_LONG_OPTS && !BUSYBOX_NOMMU
- select BUSYBOX_PLATFORM_LINUX
+ Manipulate real-time attributes of a process.
+ This requires sched_{g,s}etparam support in your libc.
+config BUSYBOX_DMESG
+ bool "dmesg (3.7 kb)"
+ default y
help
- Run program with some namespaces unshared from parent.
+ dmesg is used to examine or control the kernel ring buffer. When the
+ Linux kernel prints messages to the system log, they are stored in
+ the kernel ring buffer. You can use dmesg to print the kernel's ring
+ buffer, clear the kernel ring buffer, change the size of the kernel
+ ring buffer, and change the priority level at which kernel messages
+ are also logged to the system console. Enable this option if you
+ wish to enable the 'dmesg' utility.
-config BUSYBOX_ACPID
- bool "acpid"
- default n
- select BUSYBOX_PLATFORM_LINUX
+config BUSYBOX_FEATURE_DMESG_PRETTY
+ bool "Pretty output"
+ default y
+ depends on BUSYBOX_DMESG
help
- acpid listens to ACPI events coming either in textual form from
- /proc/acpi/event (though it is marked deprecated it is still widely
- used and _is_ a standard) or in binary form from specified evdevs
- (just use /dev/input/event*).
+ If you wish to scrub the syslog level from the output, say 'Y' here.
+ The syslog level is a string prefixed to every line with the form
+ "<#>".
- It parses the event to retrieve ACTION and a possible PARAMETER.
- It then spawns /etc/acpi/<ACTION>[/<PARAMETER>] either via run-parts
- (if the resulting path is a directory) or directly as an executable.
+ With this option you will see:
+ # dmesg
+ Linux version 2.6.17.4 .....
+ BIOS-provided physical RAM map:
+ BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
- N.B. acpid relies on run-parts so have the latter installed.
-
-config BUSYBOX_FEATURE_ACPID_COMPAT
- bool "Accept and ignore redundant options"
+ Without this option you will see:
+ # dmesg
+ <5>Linux version 2.6.17.4 .....
+ <6>BIOS-provided physical RAM map:
+ <6> BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
+config BUSYBOX_EJECT
+ bool "eject (4 kb)"
default y
- depends on BUSYBOX_ACPID
help
- Accept and ignore compatibility options -g -m -s -S -v.
+ Used to eject cdroms. (defaults to /dev/cdrom)
-config BUSYBOX_BLKID
- bool "blkid"
+config BUSYBOX_FEATURE_EJECT_SCSI
+ bool "SCSI support"
default y
- select BUSYBOX_PLATFORM_LINUX
- select BUSYBOX_VOLUMEID
- help
- Lists labels and UUIDs of all filesystems.
- WARNING:
- With all submodules selected, it will add ~8k to busybox.
-
-config BUSYBOX_FEATURE_BLKID_TYPE
- bool "Print filesystem type"
- default n
- depends on BUSYBOX_BLKID
+ depends on BUSYBOX_EJECT
help
- Show TYPE="filesystem type"
-
-config BUSYBOX_DMESG
- bool "dmesg"
+ Add the -s option to eject, this allows to eject SCSI-Devices and
+ usb-storage devices.
+config BUSYBOX_FALLOCATE
+ bool "fallocate (4.1 kb)"
default y
- select BUSYBOX_PLATFORM_LINUX
help
- dmesg is used to examine or control the kernel ring buffer. When the
- Linux kernel prints messages to the system log, they are stored in
- the kernel ring buffer. You can use dmesg to print the kernel's ring
- buffer, clear the kernel ring buffer, change the size of the kernel
- ring buffer, and change the priority level at which kernel messages
- are also logged to the system console. Enable this option if you
- wish to enable the 'dmesg' utility.
-
-config BUSYBOX_FEATURE_DMESG_PRETTY
- bool "Pretty dmesg output"
+ Preallocate space for files.
+config BUSYBOX_FATATTR
+ bool "fatattr (1.9 kb)"
default y
- depends on BUSYBOX_DMESG
help
- If you wish to scrub the syslog level from the output, say 'Y' here.
- The syslog level is a string prefixed to every line with the form
- "<#>".
-
- With this option you will see:
- # dmesg
- Linux version 2.6.17.4 .....
- BIOS-provided physical RAM map:
- BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
-
- Without this option you will see:
- # dmesg
- <5>Linux version 2.6.17.4 .....
- <6>BIOS-provided physical RAM map:
- <6> BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
-
+ fatattr lists or changes the file attributes on a fat file system.
config BUSYBOX_FBSET
- bool "fbset"
- depends on !BUSYBOX_DISABLE_FBSET
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "fbset (5.9 kb)"
+ default y
help
- fbset is used to show or change the settings of a Linux frame buffer
- device. The frame buffer device provides a simple and unique
- interface to access a graphics display. Enable this option
- if you wish to enable the 'fbset' utility.
+ fbset is used to show or change the settings of a Linux frame buffer
+ device. The frame buffer device provides a simple and unique
+ interface to access a graphics display. Enable this option
+ if you wish to enable the 'fbset' utility.
config BUSYBOX_FEATURE_FBSET_FANCY
- bool "Turn on extra fbset options"
+ bool "Enable extra options"
default y
depends on BUSYBOX_FBSET
help
- This option enables extended fbset options, allowing one to set the
- framebuffer size, color depth, etc. interface to access a graphics
- display. Enable this option if you wish to enable extended fbset
- options.
+ This option enables extended fbset options, allowing one to set the
+ framebuffer size, color depth, etc. interface to access a graphics
+ display. Enable this option if you wish to enable extended fbset
+ options.
config BUSYBOX_FEATURE_FBSET_READMODE
- bool "Turn on fbset readmode support"
+ bool "Enable readmode support"
default y
depends on BUSYBOX_FBSET
help
- This option allows fbset to read the video mode database stored by
- default as /etc/fb.modes, which can be used to set frame buffer
- device to pre-defined video modes.
-
-config BUSYBOX_FDFLUSH
- bool "fdflush"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- fdflush is only needed when changing media on slightly-broken
- removable media drives. It is used to make Linux believe that a
- hardware disk-change switch has been actuated, which causes Linux to
- forget anything it has cached from the previous media. If you have
- such a slightly-broken drive, you will need to run fdflush every time
- you change a disk. Most people have working hardware and can safely
- leave this disabled.
-
+ This option allows fbset to read the video mode database stored by
+ default as /etc/fb.modes, which can be used to set frame buffer
+ device to pre-defined video modes.
config BUSYBOX_FDFORMAT
- bool "fdformat"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "fdformat (4.4 kb)"
+ default y
help
- fdformat is used to low-level format a floppy disk.
-
+ fdformat is used to low-level format a floppy disk.
config BUSYBOX_FDISK
- bool "fdisk"
- default n
- depends on !BUSYBOX_DISABLE_FDISK
- select BUSYBOX_PLATFORM_LINUX
+ bool "fdisk (37 kb)"
+ default y
help
- The fdisk utility is used to divide hard disks into one or more
- logical disks, which are generally called partitions. This utility
- can be used to list and edit the set of partitions or BSD style
- 'disk slices' that are defined on a hard drive.
+ The fdisk utility is used to divide hard disks into one or more
+ logical disks, which are generally called partitions. This utility
+ can be used to list and edit the set of partitions or BSD style
+ 'disk slices' that are defined on a hard drive.
config BUSYBOX_FDISK_SUPPORT_LARGE_DISKS
bool "Support over 4GB disks"
default y
depends on BUSYBOX_FDISK
- depends on !BUSYBOX_LFS # with LFS no special code is needed
- help
- Enable this option to support large disks > 4GB.
+ depends on !BUSYBOX_LFS # with BUSYBOX_LFS no special code is needed
config BUSYBOX_FEATURE_FDISK_WRITABLE
bool "Write support"
default y
depends on BUSYBOX_FDISK
help
- Enabling this option allows you to create or change a partition table
- and write those changes out to disk. If you leave this option
- disabled, you will only be able to view the partition table.
+ Enabling this option allows you to create or change a partition table
+ and write those changes out to disk. If you leave this option
+ disabled, you will only be able to view the partition table.
config BUSYBOX_FEATURE_AIX_LABEL
bool "Support AIX disklabels"
default n
depends on BUSYBOX_FDISK && BUSYBOX_FEATURE_FDISK_WRITABLE
help
- Enabling this option allows you to create or change AIX disklabels.
- Most people can safely leave this option disabled.
+ Enabling this option allows you to create or change AIX disklabels.
+ Most people can safely leave this option disabled.
config BUSYBOX_FEATURE_SGI_LABEL
bool "Support SGI disklabels"
default n
depends on BUSYBOX_FDISK && BUSYBOX_FEATURE_FDISK_WRITABLE
help
- Enabling this option allows you to create or change SGI disklabels.
- Most people can safely leave this option disabled.
+ Enabling this option allows you to create or change SGI disklabels.
+ Most people can safely leave this option disabled.
config BUSYBOX_FEATURE_SUN_LABEL
bool "Support SUN disklabels"
default n
depends on BUSYBOX_FDISK && BUSYBOX_FEATURE_FDISK_WRITABLE
help
- Enabling this option allows you to create or change SUN disklabels.
- Most people can safely leave this option disabled.
+ Enabling this option allows you to create or change SUN disklabels.
+ Most people can safely leave this option disabled.
config BUSYBOX_FEATURE_OSF_LABEL
bool "Support BSD disklabels"
default n
depends on BUSYBOX_FDISK && BUSYBOX_FEATURE_FDISK_WRITABLE
help
- Enabling this option allows you to create or change BSD disklabels
- and define and edit BSD disk slices.
+ Enabling this option allows you to create or change BSD disklabels
+ and define and edit BSD disk slices.
config BUSYBOX_FEATURE_GPT_LABEL
bool "Support GPT disklabels"
default n
depends on BUSYBOX_FDISK && BUSYBOX_FEATURE_FDISK_WRITABLE
help
- Enabling this option allows you to view GUID Partition Table
- disklabels.
+ Enabling this option allows you to view GUID Partition Table
+ disklabels.
config BUSYBOX_FEATURE_FDISK_ADVANCED
bool "Support expert mode"
default y
depends on BUSYBOX_FDISK && BUSYBOX_FEATURE_FDISK_WRITABLE
help
- Enabling this option allows you to do terribly unsafe things like
- define arbitrary drive geometry, move the beginning of data in a
- partition, and similarly evil things. Unless you have a very good
- reason you would be wise to leave this disabled.
-
+ Enabling this option allows you to do terribly unsafe things like
+ define arbitrary drive geometry, move the beginning of data in a
+ partition, and similarly evil things. Unless you have a very good
+ reason you would be wise to leave this disabled.
config BUSYBOX_FINDFS
- bool "findfs"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "findfs (12 kb)"
+ default y
select BUSYBOX_VOLUMEID
help
- Prints the name of a filesystem with given label or UUID.
- WARNING:
- With all submodules selected, it will add ~8k to busybox.
-
+ Prints the name of a filesystem with given label or UUID.
config BUSYBOX_FLOCK
- bool "flock"
- default n
+ bool "flock (6.3 kb)"
+ default y
help
- Manage locks from shell scripts
+ Manage locks from shell scripts
+config BUSYBOX_FDFLUSH
+ bool "fdflush (1.3 kb)"
+ default y
+ help
+ fdflush is only needed when changing media on slightly-broken
+ removable media drives. It is used to make Linux believe that a
+ hardware disk-change switch has been actuated, which causes Linux to
+ forget anything it has cached from the previous media. If you have
+ such a slightly-broken drive, you will need to run fdflush every time
+ you change a disk. Most people have working hardware and can safely
+ leave this disabled.
config BUSYBOX_FREERAMDISK
- bool "freeramdisk"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "freeramdisk (1.3 kb)"
+ default y
help
- Linux allows you to create ramdisks. This utility allows you to
- delete them and completely free all memory that was used for the
- ramdisk. For example, if you boot Linux into a ramdisk and later
- pivot_root, you may want to free the memory that is allocated to the
- ramdisk. If you have no use for freeing memory from a ramdisk, leave
- this disabled.
-
+ Linux allows you to create ramdisks. This utility allows you to
+ delete them and completely free all memory that was used for the
+ ramdisk. For example, if you boot Linux into a ramdisk and later
+ pivot_root, you may want to free the memory that is allocated to the
+ ramdisk. If you have no use for freeing memory from a ramdisk, leave
+ this disabled.
config BUSYBOX_FSCK_MINIX
- bool "fsck_minix"
- default n
+ bool "fsck.minix (13 kb)"
+ default y
help
- The minix filesystem is a nice, small, compact, read-write filesystem
- with little overhead. It is not a journaling filesystem however and
- can experience corruption if it is not properly unmounted or if the
- power goes off in the middle of a write. This utility allows you to
- check for and attempt to repair any corruption that occurs to a minix
- filesystem.
-
+ The minix filesystem is a nice, small, compact, read-write filesystem
+ with little overhead. It is not a journaling filesystem however and
+ can experience corruption if it is not properly unmounted or if the
+ power goes off in the middle of a write. This utility allows you to
+ check for and attempt to repair any corruption that occurs to a minix
+ filesystem.
config BUSYBOX_FSFREEZE
bool "fsfreeze (3.5 kb)"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ default y
select BUSYBOX_LONG_OPTS
help
Halt new accesses and flush writes on a mounted filesystem.
-
-config BUSYBOX_MKFS_EXT2
- bool "mkfs_ext2"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Utility to create EXT2 filesystems.
-
-config BUSYBOX_MKFS_MINIX
- bool "mkfs_minix"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- The minix filesystem is a nice, small, compact, read-write filesystem
- with little overhead. If you wish to be able to create minix
- filesystems this utility will do the job for you.
-
-config BUSYBOX_FEATURE_MINIX2
- bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
+config BUSYBOX_FSTRIM
+ bool "fstrim (4.4 kb)"
default y
- depends on BUSYBOX_FSCK_MINIX || BUSYBOX_MKFS_MINIX
- help
- If you wish to be able to create version 2 minix filesystems, enable
- this. If you enabled 'mkfs_minix' then you almost certainly want to
- be using the version 2 filesystem support.
-
-config BUSYBOX_MKFS_REISER
- bool "mkfs_reiser"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Utility to create ReiserFS filesystems.
- Note: this applet needs a lot of testing and polishing.
-
-config BUSYBOX_MKFS_VFAT
- bool "mkfs_vfat"
- default n
- select BUSYBOX_PLATFORM_LINUX
help
- Utility to create FAT32 filesystems.
-
+ Discard unused blocks on a mounted filesystem.
config BUSYBOX_GETOPT
- bool "getopt"
- default n
+ bool "getopt (5.8 kb)"
+ default y
help
- The getopt utility is used to break up (parse) options in command
- lines to make it easy to write complex shell scripts that also check
- for legal (and illegal) options. If you want to write horribly
- complex shell scripts, or use some horribly complex shell script
- written by others, this utility may be for you. Most people will
- wisely leave this disabled.
+ The getopt utility is used to break up (parse) options in command
+ lines to make it easy to write complex shell scripts that also check
+ for legal (and illegal) options. If you want to write horribly
+ complex shell scripts, or use some horribly complex shell script
+ written by others, this utility may be for you. Most people will
+ wisely leave this disabled.
config BUSYBOX_FEATURE_GETOPT_LONG
- bool "Support option -l"
- default y if LONG_OPTS
- depends on BUSYBOX_GETOPT
+ bool "Support -l LONGOPTs"
+ default y
+ depends on BUSYBOX_GETOPT && BUSYBOX_LONG_OPTS
help
- Enable support for long options (option -l).
-
+ Enable support for long options (option -l).
config BUSYBOX_HEXDUMP
- bool "hexdump"
- default n
- help
- The hexdump utility is used to display binary data in a readable
- way that is comparable to the output from most hex editors.
-
-config BUSYBOX_FEATURE_HEXDUMP_REVERSE
- bool "Support -R, reverse of 'hexdump -Cv'"
+ bool "hexdump (8.6 kb)"
default y
- depends on BUSYBOX_HEXDUMP
help
- The hexdump utility is used to display binary data in an ascii
- readable way. This option creates binary data from an ascii input.
- NB: this option is non-standard. It's unwise to use it in scripts
- aimed to be portable.
+ The hexdump utility is used to display binary data in a readable
+ way that is comparable to the output from most hex editors.
config BUSYBOX_HD
- bool "hd"
- default n
+ bool "hd (7.8 kb)"
+ default y
help
- hd is an alias to hexdump -C.
-
+ hd is an alias to hexdump -C.
config BUSYBOX_XXD
bool "xxd (8.9 kb)"
- default n
+ default y
help
The xxd utility is used to display binary data in a readable
way that is comparable to the output from most hex editors.
-
config BUSYBOX_HWCLOCK
- bool "hwclock"
- default y if ADK_TARGET_WITH_RTC
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- The hwclock utility is used to read and set the hardware clock
- on a system. This is primarily used to set the current time on
- shutdown in the hardware clock, so the hardware will keep the
- correct time when Linux is _not_ running.
-
-config BUSYBOX_FEATURE_HWCLOCK_LONG_OPTIONS
- bool "Support long options (--hctosys,...)"
+ bool "hwclock (5.8 kb)"
default y
- depends on BUSYBOX_HWCLOCK && BUSYBOX_LONG_OPTS
help
- By default, the hwclock utility only uses short options. If you
- are overly fond of its long options, such as --hctosys, --utc, etc)
- then enable this option.
+ The hwclock utility is used to read and set the hardware clock
+ on a system. This is primarily used to set the current time on
+ shutdown in the hardware clock, so the hardware will keep the
+ correct time when Linux is _not_ running.
config BUSYBOX_FEATURE_HWCLOCK_ADJTIME_FHS
bool "Use FHS /var/lib/hwclock/adjtime"
default n # util-linux-ng in Fedora 13 still uses /etc/adjtime
depends on BUSYBOX_HWCLOCK
help
- Starting with FHS 2.3, the adjtime state file is supposed to exist
- at /var/lib/hwclock/adjtime instead of /etc/adjtime. If you wish
- to use the FHS behavior, answer Y here, otherwise answer N for the
- classic /etc/adjtime path.
-
- pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO
+ Starting with FHS 2.3, the adjtime state file is supposed to exist
+ at /var/lib/hwclock/adjtime instead of /etc/adjtime. If you wish
+ to use the FHS behavior, answer Y here, otherwise answer N for the
+ classic /etc/adjtime path.
+ pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO
+config BUSYBOX_IONICE
+ bool "ionice (3.8 kb)"
+ default y
+ help
+ Set/set program io scheduling class and priority
+ Requires kernel >= 2.6.13
config BUSYBOX_IPCRM
- bool "ipcrm"
- default n
+ bool "ipcrm (3.2 kb)"
+ default y
help
- The ipcrm utility allows the removal of System V interprocess
- communication (IPC) objects and the associated data structures
- from the system.
-
+ The ipcrm utility allows the removal of System V interprocess
+ communication (IPC) objects and the associated data structures
+ from the system.
config BUSYBOX_IPCS
- bool "ipcs"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "ipcs (11 kb)"
+ default y
+ help
+ The ipcs utility is used to provide information on the currently
+ allocated System V interprocess (IPC) objects in the system.
+config BUSYBOX_LAST
+ bool "last (6.1 kb)"
+ default y
+ depends on BUSYBOX_FEATURE_WTMP
help
- The ipcs utility is used to provide information on the currently
- allocated System V interprocess (IPC) objects in the system.
+ 'last' displays a list of the last users that logged into the system.
+config BUSYBOX_FEATURE_LAST_FANCY
+ bool "Output extra information"
+ default y
+ depends on BUSYBOX_LAST
+ help
+ 'last' displays detailed information about the last users that
+ logged into the system (mimics sysvinit last). +900 bytes.
config BUSYBOX_LOSETUP
- bool "losetup"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "losetup (5.5 kb)"
+ default y
help
- losetup is used to associate or detach a loop device with a regular
- file or block device, and to query the status of a loop device. This
- version does not currently support enabling data encryption.
-
+ losetup is used to associate or detach a loop device with a regular
+ file or block device, and to query the status of a loop device. This
+ version does not currently support enabling data encryption.
config BUSYBOX_LSPCI
- bool "lspci"
- depends on !BUSYBOX_DISABLE_LSPCI
- default n
- #select PLATFORM_LINUX
+ bool "lspci (6.3 kb)"
+ default y
help
- lspci is a utility for displaying information about PCI buses in the
- system and devices connected to them.
-
- This version uses sysfs (/sys/bus/pci/devices) only.
+ lspci is a utility for displaying information about PCI buses in the
+ system and devices connected to them.
+ This version uses sysfs (/sys/bus/pci/devices) only.
config BUSYBOX_LSUSB
- bool "lsusb"
- depends on !BUSYBOX_DISABLE_LSUSB
- default n
- #select PLATFORM_LINUX
+ bool "lsusb (4.2 kb)"
+ default y
+ help
+ lsusb is a utility for displaying information about USB buses in the
+ system and devices connected to them.
+
+ This version uses sysfs (/sys/bus/usb/devices) only.
+config BUSYBOX_MDEV
+ bool "mdev (17 kb)"
+ default y
help
- lsusb is a utility for displaying information about USB buses in the
- system and devices connected to them.
+ mdev is a mini-udev implementation for dynamically creating device
+ nodes in the /dev directory.
+
+ For more information, please see docs/mdev.txt
- This version uses sysfs (/sys/bus/usb/devices) only.
+config BUSYBOX_FEATURE_MDEV_CONF
+ bool "Support /etc/mdev.conf"
+ default y
+ depends on BUSYBOX_MDEV
+ help
+ Add support for the mdev config file to control ownership and
+ permissions of the device nodes.
+ For more information, please see docs/mdev.txt
+
+config BUSYBOX_FEATURE_MDEV_RENAME
+ bool "Support subdirs/symlinks"
+ default y
+ depends on BUSYBOX_FEATURE_MDEV_CONF
+ help
+ Add support for renaming devices and creating symlinks.
+
+ For more information, please see docs/mdev.txt
+
+config BUSYBOX_FEATURE_MDEV_RENAME_REGEXP
+ bool "Support regular expressions substitutions when renaming device"
+ default y
+ depends on BUSYBOX_FEATURE_MDEV_RENAME
+ help
+ Add support for regular expressions substitutions when renaming
+ device.
+
+config BUSYBOX_FEATURE_MDEV_EXEC
+ bool "Support command execution at device addition/removal"
+ default y
+ depends on BUSYBOX_FEATURE_MDEV_CONF
+ help
+ This adds support for an optional field to /etc/mdev.conf for
+ executing commands when devices are created/removed.
+
+ For more information, please see docs/mdev.txt
+
+config BUSYBOX_FEATURE_MDEV_LOAD_FIRMWARE
+ bool "Support loading of firmware"
+ default y
+ depends on BUSYBOX_MDEV
+ help
+ Some devices need to load firmware before they can be usable.
+
+ These devices will request userspace look up the files in
+ /lib/firmware/ and if it exists, send it to the kernel for
+ loading into the hardware.
+
+config BUSYBOX_FEATURE_MDEV_DAEMON
+ bool "Support daemon mode"
+ default y
+ depends on BUSYBOX_MDEV
+ help
+ Adds the -d option to run mdev in daemon mode handling hotplug
+ events from the kernel like udev. If the system generates many
+ hotplug events this mode of operation will consume less
+ resources than registering mdev as hotplug helper or using the
+ uevent applet.
+config BUSYBOX_MESG
+ bool "mesg (1.4 kb)"
+ default y
+ help
+ Mesg controls access to your terminal by others. It is typically
+ used to allow or disallow other users to write to your terminal
+
+config BUSYBOX_FEATURE_MESG_ENABLE_ONLY_GROUP
+ bool "Enable writing to tty only by group, not by everybody"
+ default y
+ depends on BUSYBOX_MESG
+ help
+ Usually, ttys are owned by group "tty", and "write" tool is
+ setgid to this group. This way, "mesg y" only needs to enable
+ "write by owning group" bit in tty mode.
+
+ If you set this option to N, "mesg y" will enable writing
+ by anybody at all. This is not recommended.
+config BUSYBOX_MKE2FS
+ bool "mke2fs (10 kb)"
+ default y
+ help
+ Utility to create EXT2 filesystems.
+
+config BUSYBOX_MKFS_EXT2
+ bool "mkfs.ext2 (10 kb)"
+ default y
+ help
+ Alias to "mke2fs".
+config BUSYBOX_MKFS_MINIX
+ bool "mkfs.minix (10 kb)"
+ default y
+ help
+ The minix filesystem is a nice, small, compact, read-write filesystem
+ with little overhead. If you wish to be able to create minix
+ filesystems this utility will do the job for you.
+
+config BUSYBOX_FEATURE_MINIX2
+ bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
+ default y
+ depends on BUSYBOX_FSCK_MINIX || BUSYBOX_MKFS_MINIX
+ help
+ If you wish to be able to create version 2 minix filesystems, enable
+ this. If you enabled 'mkfs_minix' then you almost certainly want to
+ be using the version 2 filesystem support.
+config BUSYBOX_MKFS_REISER
+ bool "mkfs_reiser"
+ default n
+ help
+ Utility to create ReiserFS filesystems.
+ Note: this applet needs a lot of testing and polishing.
+config BUSYBOX_MKDOSFS
+ bool "mkdosfs (7.2 kb)"
+ default y
+ help
+ Utility to create FAT32 filesystems.
+
+config BUSYBOX_MKFS_VFAT
+ bool "mkfs.vfat (7.2 kb)"
+ default y
+ help
+ Alias to "mkdosfs".
config BUSYBOX_MKSWAP
- bool "mkswap"
+ bool "mkswap (6.3 kb)"
default n
help
- The mkswap utility is used to configure a file or disk partition as
- Linux swap space. This allows Linux to use the entire file or
- partition as if it were additional RAM, which can greatly increase
- the capability of low-memory machines. This additional memory is
- much slower than real RAM, but can be very helpful at preventing your
- applications being killed by the Linux out of memory (OOM) killer.
- Once you have created swap space using 'mkswap' you need to enable
- the swap space using the 'swapon' utility.
+ The mkswap utility is used to configure a file or disk partition as
+ Linux swap space. This allows Linux to use the entire file or
+ partition as if it were additional RAM, which can greatly increase
+ the capability of low-memory machines. This additional memory is
+ much slower than real RAM, but can be very helpful at preventing your
+ applications being killed by the Linux out of memory (OOM) killer.
+ Once you have created swap space using 'mkswap' you need to enable
+ the swap space using the 'swapon' utility.
config BUSYBOX_FEATURE_MKSWAP_UUID
bool "UUID support"
default y
depends on BUSYBOX_MKSWAP
help
- Generate swap spaces with universally unique identifiers.
-
+ Generate swap spaces with universally unique identifiers.
config BUSYBOX_MORE
- bool "more"
- default n
+ bool "more (7 kb)"
+ default y
help
- more is a simple utility which allows you to read text one screen
- sized page at a time. If you want to read text that is larger than
- the screen, and you are using anything faster than a 300 baud modem,
- you will probably find this utility very helpful. If you don't have
- any need to reading text files, you can leave this disabled.
-
+ more is a simple utility which allows you to read text one screen
+ sized page at a time. If you want to read text that is larger than
+ the screen, and you are using anything faster than a 300 baud modem,
+ you will probably find this utility very helpful. If you don't have
+ any need to reading text files, you can leave this disabled.
config BUSYBOX_MOUNT
- bool "mount"
+ bool "mount (23 kb)"
default y
- depends on !BUSYBOX_DISABLE_MOUNT
- select BUSYBOX_PLATFORM_LINUX
help
- All files and filesystems in Unix are arranged into one big directory
- tree. The 'mount' utility is used to graft a filesystem onto a
- particular part of the tree. A filesystem can either live on a block
- device, or it can be accessible over the network, as is the case with
- NFS filesystems. Most people using BusyBox will also want to enable
- the 'mount' utility.
+ All files and filesystems in Unix are arranged into one big directory
+ tree. The 'mount' utility is used to graft a filesystem onto a
+ particular part of the tree. A filesystem can either live on a block
+ device, or it can be accessible over the network, as is the case with
+ NFS filesystems.
config BUSYBOX_FEATURE_MOUNT_FAKE
- bool "Support option -f"
- default n
+ bool "Support -f (fake mount)"
+ default y
depends on BUSYBOX_MOUNT
help
- Enable support for faking a file system mount.
+ Enable support for faking a file system mount.
config BUSYBOX_FEATURE_MOUNT_VERBOSE
- bool "Support option -v"
- default n
+ bool "Support -v (verbose)"
+ default y
depends on BUSYBOX_MOUNT
help
- Enable multi-level -v[vv...] verbose messages. Useful if you
- debug mount problems and want to see what is exactly passed
- to the kernel.
+ Enable multi-level -v[vv...] verbose messages. Useful if you
+ debug mount problems and want to see what is exactly passed
+ to the kernel.
config BUSYBOX_FEATURE_MOUNT_HELPERS
bool "Support mount helpers"
- default y
+ default n
depends on BUSYBOX_MOUNT
help
- Enable mounting of virtual file systems via external helpers.
- E.g. "mount obexfs#-b00.11.22.33.44.55 /mnt" will in effect call
- "obexfs -b00.11.22.33.44.55 /mnt"
- Also "mount -t sometype [-o opts] fs /mnt" will try
- "sometype [-o opts] fs /mnt" if simple mount syscall fails.
- The idea is to use such virtual filesystems in /etc/fstab.
+ Enable mounting of virtual file systems via external helpers.
+ E.g. "mount obexfs#-b00.11.22.33.44.55 /mnt" will in effect call
+ "obexfs -b00.11.22.33.44.55 /mnt"
+ Also "mount -t sometype [-o opts] fs /mnt" will try
+ "sometype [-o opts] fs /mnt" if simple mount syscall fails.
+ The idea is to use such virtual filesystems in /etc/fstab.
config BUSYBOX_FEATURE_MOUNT_LABEL
bool "Support specifying devices by label or UUID"
@@ -658,139 +587,161 @@ config BUSYBOX_FEATURE_MOUNT_LABEL
depends on BUSYBOX_MOUNT
select BUSYBOX_VOLUMEID
help
- This allows for specifying a device by label or uuid, rather than by
- name. This feature utilizes the same functionality as blkid/findfs.
- This also enables label or uuid support for swapon.
+ This allows for specifying a device by label or uuid, rather than by
+ name. This feature utilizes the same functionality as blkid/findfs.
config BUSYBOX_FEATURE_MOUNT_NFS
bool "Support mounting NFS file systems on Linux < 2.6.23"
default n
depends on BUSYBOX_MOUNT
- select BUSYBOX_FEATURE_HAVE_RPC
select BUSYBOX_FEATURE_SYSLOG
help
- Enable mounting of NFS file systems on Linux kernels prior
- to version 2.6.23. Note that in this case mounting of NFS
- over IPv6 will not be possible.
+ Enable mounting of NFS file systems on Linux kernels prior
+ to version 2.6.23. Note that in this case mounting of NFS
+ over IPv6 will not be possible.
- Note that this option links in RPC support from libc,
- which is rather large (~10 kbytes on uclibc).
+ Note that this option links in RPC support from libc,
+ which is rather large (~10 kbytes on uclibc).
config BUSYBOX_FEATURE_MOUNT_CIFS
bool "Support mounting CIFS/SMB file systems"
- default n
+ default y
depends on BUSYBOX_MOUNT
help
- Enable support for samba mounts.
+ Enable support for samba mounts.
config BUSYBOX_FEATURE_MOUNT_FLAGS
depends on BUSYBOX_MOUNT
- bool "Support lots of -o flags in mount"
+ bool "Support lots of -o flags"
default y
help
- Without this, mount only supports ro/rw/remount. With this, it
- supports nosuid, suid, dev, nodev, exec, noexec, sync, async, atime,
- noatime, diratime, nodiratime, loud, bind, move, shared, slave,
- private, unbindable, rshared, rslave, rprivate, and runbindable.
+ Without this, mount only supports ro/rw/remount. With this, it
+ supports nosuid, suid, dev, nodev, exec, noexec, sync, async, atime,
+ noatime, diratime, nodiratime, loud, bind, move, shared, slave,
+ private, unbindable, rshared, rslave, rprivate, and runbindable.
config BUSYBOX_FEATURE_MOUNT_FSTAB
depends on BUSYBOX_MOUNT
- bool "Support /etc/fstab and -a"
+ bool "Support /etc/fstab and -a (mount all)"
default y
help
- Support mount all and looking for files in /etc/fstab.
+ Support mount all and looking for files in /etc/fstab.
config BUSYBOX_FEATURE_MOUNT_OTHERTAB
depends on BUSYBOX_FEATURE_MOUNT_FSTAB
bool "Support -T <alt_fstab>"
- default n
+ default y
help
- Support mount -T (specifying an alternate fstab)
+ Support mount -T (specifying an alternate fstab)
+config BUSYBOX_MOUNTPOINT
+ bool "mountpoint (4.9 kb)"
+ default y
+ help
+ mountpoint checks if the directory is a mountpoint.
+config BUSYBOX_NOLOGIN
+ bool "nologin"
+ default y
+ depends on BUSYBOX_FEATURE_SH_EMBEDDED_SCRIPTS
+ help
+ Politely refuse a login
+config BUSYBOX_NOLOGIN_DEPENDENCIES
+ bool "Enable dependencies for nologin"
+ default n # Y default makes it harder to select single-applet test
+ depends on BUSYBOX_NOLOGIN
+ select BUSYBOX_CAT
+ select BUSYBOX_ECHO
+ select BUSYBOX_SLEEP
+ help
+ nologin is implemented as a shell script. It requires the
+ following in the runtime environment:
+ cat echo sleep
+ If you know these will be available externally you can
+ disable this option.
+config BUSYBOX_NSENTER
+ bool "nsenter (6.5 kb)"
+ default y
+ help
+ Run program with namespaces of other processes.
config BUSYBOX_PIVOT_ROOT
- bool "pivot_root"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "pivot_root (1.1 kb)"
+ default y
help
- The pivot_root utility swaps the mount points for the root filesystem
- with some other mounted filesystem. This allows you to do all sorts
- of wild and crazy things with your Linux system and is far more
- powerful than 'chroot'.
-
- Note: This is for initrd in linux 2.4. Under initramfs (introduced
- in linux 2.6) use switch_root instead.
+ The pivot_root utility swaps the mount points for the root filesystem
+ with some other mounted filesystem. This allows you to do all sorts
+ of wild and crazy things with your Linux system and is far more
+ powerful than 'chroot'.
+ Note: This is for initrd in linux 2.4. Under initramfs (introduced
+ in linux 2.6) use switch_root instead.
config BUSYBOX_RDATE
- bool "rdate"
- depends on !BUSYBOX_DISABLE_RDATE
- default n
+ bool "rdate (5.6 kb)"
+ default y
help
- The rdate utility allows you to synchronize the date and time of your
- system clock with the date and time of a remote networked system using
- the RFC868 protocol, which is built into the inetd daemon on most
- systems.
-
+ The rdate utility allows you to synchronize the date and time of your
+ system clock with the date and time of a remote networked system using
+ the RFC868 protocol, which is built into the inetd daemon on most
+ systems.
config BUSYBOX_RDEV
- bool "rdev"
+ bool "rdev (1.8 kb)"
default y
help
- Print the device node associated with the filesystem mounted at '/'.
-
+ Print the device node associated with the filesystem mounted at '/'.
config BUSYBOX_READPROFILE
- bool "readprofile"
- default n
- #select PLATFORM_LINUX
+ bool "readprofile (7.1 kb)"
+ default y
help
- This allows you to parse /proc/profile for basic profiling.
-
+ This allows you to parse /proc/profile for basic profiling.
+config BUSYBOX_RENICE
+ bool "renice (4.2 kb)"
+ default y
+ help
+ Renice alters the scheduling priority of one or more running
+ processes.
+config BUSYBOX_REV
+ bool "rev (4.4 kb)"
+ default y
+ help
+ Reverse lines of a file or files.
config BUSYBOX_RTCWAKE
- bool "rtcwake"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "rtcwake (6.8 kb)"
+ default y
help
- Enter a system sleep state until specified wakeup time.
-
+ Enter a system sleep state until specified wakeup time.
config BUSYBOX_SCRIPT
- bool "script"
- default n
+ bool "script (8.6 kb)"
+ default y
help
- The script makes typescript of terminal session.
-
+ The script makes typescript of terminal session.
config BUSYBOX_SCRIPTREPLAY
- bool "scriptreplay"
- default n
+ bool "scriptreplay (2.4 kb)"
+ default y
help
- This program replays a typescript, using timing information
- given by script -t.
-
+ This program replays a typescript, using timing information
+ given by script -t.
config BUSYBOX_SETARCH
- bool "setarch"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ bool "setarch (3.6 kb)"
+ default y
help
- The linux32 utility is used to create a 32bit environment for the
- specified program (usually a shell). It only makes sense to have
- this util on a system that supports both 64bit and 32bit userland
- (like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
+ The linux32 utility is used to create a 32bit environment for the
+ specified program (usually a shell). It only makes sense to have
+ this util on a system that supports both 64bit and 32bit userland
+ (like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
config BUSYBOX_LINUX32
- bool "linux32"
- default n
- select PLATFORM_LINUX
+ bool "linux32 (3.3 kb)"
+ default y
help
- Alias to "setarch linux32".
+ Alias to "setarch linux32".
config BUSYBOX_LINUX64
- bool "linux64"
- default n
- select PLATFORM_LINUX
+ bool "linux64 (3.3 kb)"
+ default y
help
- Alias to "setarch linux64".
-
+ Alias to "setarch linux64".
config BUSYBOX_SETPRIV
bool "setpriv (6.6 kb)"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ default y
select BUSYBOX_LONG_OPTS
help
Run a program with different Linux privilege settings.
@@ -823,411 +774,182 @@ config BUSYBOX_FEATURE_SETPRIV_CAPABILITY_NAMES
e.g. "net_admin", or using their index, e.g. "cap_12". Enabling
this option allows using the human-readable names in addition to
the index-based names.
-
+config BUSYBOX_SETSID
+ bool "setsid (3.6 kb)"
+ default y
+ help
+ setsid runs a program in a new session
config BUSYBOX_SWAPON
- bool "swapon"
+ bool "swapon (15 kb)"
default n
- select PLATFORM_LINUX
help
- This option enables the 'swapon' utility.
- Once you have created some swap space using 'mkswap', you also need
- to enable your swap space with the 'swapon' utility. The 'swapoff'
- utility is used, typically at system shutdown, to disable any swap
- space. If you are not using any swap space, you can leave this
- option disabled.
+ Once you have created some swap space using 'mkswap', you also need
+ to enable your swap space with the 'swapon' utility. The 'swapoff'
+ utility is used, typically at system shutdown, to disable any swap
+ space. If you are not using any swap space, you can leave this
+ option disabled.
config BUSYBOX_FEATURE_SWAPON_DISCARD
bool "Support discard option -d"
- default n
+ default y
depends on BUSYBOX_SWAPON
help
- Enable support for discarding swap area blocks at swapon and/or as
- the kernel frees them. This option enables both the -d option on
- 'swapon' and the 'discard' option for swap entries in /etc/fstab.
+ Enable support for discarding swap area blocks at swapon and/or as
+ the kernel frees them. This option enables both the -d option on
+ 'swapon' and the 'discard' option for swap entries in /etc/fstab.
config BUSYBOX_FEATURE_SWAPON_PRI
bool "Support priority option -p"
default y
depends on BUSYBOX_SWAPON
help
- Enable support for setting swap device priority in swapon.
+ Enable support for setting swap device priority in swapon.
config BUSYBOX_SWAPOFF
- bool "swapoff"
- default n
- select PLATFORM_LINUX
- help
- This option enables the 'swapoff' utility.
-
-config BUSYBOX_SWITCH_ROOT
- bool "switch_root"
+ bool "swapoff (14 kb)"
default n
- select BUSYBOX_PLATFORM_LINUX
- help
- The switch_root utility is used from initramfs to select a new
- root device. Under initramfs, you have to use this instead of
- pivot_root. (Stop reading here if you don't care why.)
-
- Booting with initramfs extracts a gzipped cpio archive into rootfs
- (which is a variant of ramfs/tmpfs). Because rootfs can't be moved
- or unmounted*, pivot_root will not work from initramfs. Instead,
- switch_root deletes everything out of rootfs (including itself),
- does a mount --move that overmounts rootfs with the new root, and
- then execs the specified init program.
-
- * Because the Linux kernel uses rootfs internally as the starting
- and ending point for searching through the kernel's doubly linked
- list of active mount points. That's why.
-
-config BUSYBOX_UMOUNT
- bool "umount"
- default y
- depends on !BUSYBOX_DISABLE_UMOUNT
- select BUSYBOX_PLATFORM_LINUX
- help
- When you want to remove a mounted filesystem from its current mount
- point, for example when you are shutting down the system, the
- 'umount' utility is the tool to use. If you enabled the 'mount'
- utility, you almost certainly also want to enable 'umount'.
-
-config BUSYBOX_FEATURE_UMOUNT_ALL
- bool "Support option -a"
- default y
- depends on BUSYBOX_UMOUNT
- help
- Support -a option to unmount all currently mounted filesystems.
-
-comment "Common options for mount/umount"
- depends on BUSYBOX_MOUNT || BUSYBOX_UMOUNT
-
-config BUSYBOX_FEATURE_MOUNT_LOOP
- bool "Support loopback mounts"
- default y
- depends on BUSYBOX_MOUNT || BUSYBOX_UMOUNT
- help
- Enabling this feature allows automatic mounting of files (containing
- filesystem images) via the linux kernel's loopback devices.
- The mount command will detect you are trying to mount a file instead
- of a block device, and transparently associate the file with a
- loopback device. The umount command will also free that loopback
- device.
-
- You can still use the 'losetup' utility (to manually associate files
- with loop devices) if you need to do something advanced, such as
- specify an offset or cryptographic options to the loopback device.
- (If you don't want umount to free the loop device, use "umount -D".)
-
-config BUSYBOX_FEATURE_MOUNT_LOOP_CREATE
- bool "Create new loopback devices if needed"
- default y
- depends on BUSYBOX_FEATURE_MOUNT_LOOP
- help
- Linux kernels >= 2.6.24 support unlimited loopback devices. They are
- allocated for use when trying to use a loop device. The loop device
- must however exist.
-
- This feature lets mount to try to create next /dev/loopN device
- if it does not find a free one.
-config BUSYBOX_FEATURE_MTAB_SUPPORT
- bool "Support for the old /etc/mtab file"
- default n
- depends on BUSYBOX_MOUNT || BUSYBOX_UMOUNT
- select BUSYBOX_FEATURE_MOUNT_FAKE
- help
- Historically, Unix systems kept track of the currently mounted
- partitions in the file "/etc/mtab". These days, the kernel exports
- the list of currently mounted partitions in "/proc/mounts", rendering
- the old mtab file obsolete. (In modern systems, /etc/mtab should be
- a symlink to /proc/mounts.)
-
- The only reason to have mount maintain an /etc/mtab file itself is if
- your stripped-down embedded system does not have a /proc directory.
- If you must use this, keep in mind it's inherently brittle (for
- example a mount under chroot won't update it), can't handle modern
- features like separate per-process filesystem namespaces, requires
- that your /etc directory be writable, tends to get easily confused
- by --bind or --move mounts, won't update if you rename a directory
- that contains a mount point, and so on. (In brief: avoid.)
-
- About the only reason to use this is if you've removed /proc from
- your kernel.
-
-config BUSYBOX_VOLUMEID
- bool #No description makes it a hidden option
- default n
-
-menu "Filesystem/Volume identification"
- depends on BUSYBOX_VOLUMEID
-
-config BUSYBOX_FEATURE_VOLUMEID_BCACHE
- bool "bcache filesystem"
- default n
- depends on BUSYBOX_VOLUMEID
- help
- TODO
-
-config BUSYBOX_FEATURE_VOLUMEID_EXT
- bool "Ext filesystem"
- default y
- depends on BUSYBOX_VOLUMEID
- help
- TODO
-
-config BUSYBOX_FEATURE_VOLUMEID_BTRFS
- bool "btrfs filesystem"
- default y
- depends on BUSYBOX_VOLUMEID
- help
- TODO
-
-config BUSYBOX_FEATURE_VOLUMEID_REISERFS
- bool "Reiser filesystem"
- default y
- depends on BUSYBOX_VOLUMEID
- help
- TODO
-
-config BUSYBOX_FEATURE_VOLUMEID_F2FS
- bool "f2fs filesystem"
- default y
- depends on BUSYBOX_VOLUMEID
- help
- F2FS (aka Flash-Friendly File System) is a log-structured file system,
- which is adapted to newer forms of storage. F2FS also remedies some
- known issues of the older log structured file systems, such as high
- cleaning overhead.
-
-config BUSYBOX_FEATURE_VOLUMEID_FAT
- bool "fat filesystem"
+config BUSYBOX_FEATURE_SWAPONOFF_LABEL
+ bool "Support specifying devices by label or UUID"
default y
- depends on BUSYBOX_VOLUMEID
+ depends on BUSYBOX_SWAPON || BUSYBOX_SWAPOFF
+ select BUSYBOX_VOLUMEID
help
- TODO
-
-config BUSYBOX_FEATURE_VOLUMEID_EXFAT
- bool "exFAT filesystem"
- default y
- depends on BUSYBOX_VOLUMEID
- help
- exFAT (extended FAT) is a proprietary file system designed especially
- for flash drives. It has many features from NTFS, but with less
- overhead. exFAT is used on most SDXC cards for consumer electronics.
-
-config BUSYBOX_FEATURE_VOLUMEID_HFS
- bool "hfs filesystem"
+ This allows for specifying a device by label or uuid, rather than by
+ name. This feature utilizes the same functionality as blkid/findfs.
+config BUSYBOX_SWITCH_ROOT
+ bool "switch_root (5.5 kb)"
default y
- depends on BUSYBOX_VOLUMEID
help
- TODO
+ The switch_root utility is used from initramfs to select a new
+ root device. Under initramfs, you have to use this instead of
+ pivot_root. (Stop reading here if you don't care why.)
-config BUSYBOX_FEATURE_VOLUMEID_MINIX
- bool "minix filesystem"
- default y
- depends on BUSYBOX_VOLUMEID
+ Booting with initramfs extracts a gzipped cpio archive into rootfs
+ (which is a variant of ramfs/tmpfs). Because rootfs can't be moved
+ or unmounted*, pivot_root will not work from initramfs. Instead,
+ switch_root deletes everything out of rootfs (including itself),
+ does a mount --move that overmounts rootfs with the new root, and
+ then execs the specified init program.
-config BUSYBOX_FEATURE_VOLUMEID_NILFS
- bool "nilfs filesystem"
- default y
- depends on BUSYBOX_VOLUMEID
- help
- TODO
+ * Because the Linux kernel uses rootfs internally as the starting
+ and ending point for searching through the kernel's doubly linked
+ list of active mount points. That's why.
-config BUSYBOX_FEATURE_VOLUMEID_JFS
- bool "jfs filesystem"
+config BUSYBOX_TASKSET
+ bool "taskset (4.2 kb)"
default y
- depends on BUSYBOX_VOLUMEID
help
- TODO
-
-### config FEATURE_VOLUMEID_UFS
-### bool "ufs filesystem"
-### default y
-### depends on BUSYBOX_VOLUMEID
-### help
-### TODO
+ Retrieve or set a processes's CPU affinity.
+ This requires sched_{g,s}etaffinity support in your libc.
-config BUSYBOX_FEATURE_VOLUMEID_XFS
- bool "xfs filesystem"
+config BUSYBOX_FEATURE_TASKSET_FANCY
+ bool "Fancy output"
default y
- depends on BUSYBOX_VOLUMEID
+ depends on BUSYBOX_TASKSET
help
- TODO
+ Needed for machines with more than 32-64 CPUs:
+ affinity parameter 0xHHHHHHHHHHHHHHHHHHHH can be arbitrarily long
+ in this case. Otherwise, it is limited to sizeof(long).
-config BUSYBOX_FEATURE_VOLUMEID_NTFS
- bool "ntfs filesystem"
+config BUSYBOX_FEATURE_TASKSET_CPULIST
+ bool "CPU list support (-c option)"
default y
- depends on BUSYBOX_VOLUMEID
+ depends on BUSYBOX_FEATURE_TASKSET_FANCY
help
- TODO
-
-config BUSYBOX_FEATURE_VOLUMEID_ISO9660
- bool "iso9660 filesystem"
+ Add support for taking/printing affinity as CPU list when '-c'
+ option is used. For example, it prints '0-3,7' instead of mask '8f'.
+config BUSYBOX_UEVENT
+ bool "uevent (3.1 kb)"
default y
- depends on BUSYBOX_VOLUMEID
help
- TODO
-
-config BUSYBOX_FEATURE_VOLUMEID_UDF
- bool "udf filesystem"
+ uevent is a netlink listener for kernel uevent notifications
+ sent via netlink. It is usually used for dynamic device creation.
+config BUSYBOX_UMOUNT
+ bool "umount (5.1 kb)"
default y
- depends on BUSYBOX_VOLUMEID
help
- TODO
+ When you want to remove a mounted filesystem from its current mount
+ point, for example when you are shutting down the system, the
+ 'umount' utility is the tool to use. If you enabled the 'mount'
+ utility, you almost certainly also want to enable 'umount'.
-config BUSYBOX_FEATURE_VOLUMEID_LUKS
- bool "luks filesystem"
+config BUSYBOX_FEATURE_UMOUNT_ALL
+ bool "Support -a (unmount all)"
default y
- depends on BUSYBOX_VOLUMEID
+ depends on BUSYBOX_UMOUNT
help
- TODO
-
-config BUSYBOX_FEATURE_VOLUMEID_LINUXSWAP
- bool "linux swap filesystem"
+ Support -a option to unmount all currently mounted filesystems.
+config BUSYBOX_UNSHARE
+ bool "unshare (7.2 kb)"
default y
- depends on BUSYBOX_VOLUMEID
+ depends on !BUSYBOX_NOMMU
+ select BUSYBOX_LONG_OPTS
help
- TODO
-
-### config FEATURE_VOLUMEID_LVM
-### bool "lvm"
-### default y
-### depends on BUSYBOX_VOLUMEID
-### help
-### TODO
-
-config BUSYBOX_FEATURE_VOLUMEID_CRAMFS
- bool "cramfs filesystem"
+ Run program with some namespaces unshared from parent.
+config BUSYBOX_WALL
+ bool "wall (2.6 kb)"
default y
- depends on BUSYBOX_VOLUMEID
+ depends on BUSYBOX_FEATURE_UTMP
help
- TODO
+ Write a message to all users that are logged in.
-### config FEATURE_VOLUMEID_HPFS
-### bool "hpfs filesystem"
-### default y
-### depends on BUSYBOX_VOLUMEID
-### help
-### TODO
+comment "Common options for mount/umount"
+ depends on BUSYBOX_MOUNT || BUSYBOX_UMOUNT
-config BUSYBOX_FEATURE_VOLUMEID_ROMFS
- bool "romfs filesystem"
+config BUSYBOX_FEATURE_MOUNT_LOOP
+ bool "Support loopback mounts"
default y
- depends on BUSYBOX_VOLUMEID
+ depends on BUSYBOX_MOUNT || BUSYBOX_UMOUNT
help
- TODO
+ Enabling this feature allows automatic mounting of files (containing
+ filesystem images) via the linux kernel's loopback devices.
+ The mount command will detect you are trying to mount a file instead
+ of a block device, and transparently associate the file with a
+ loopback device. The umount command will also free that loopback
+ device.
-config BUSYBOX_FEATURE_VOLUMEID_SQUASHFS
- bool "SquashFS filesystem"
- default y
- depends on BUSYBOX_VOLUMEID && BUSYBOX_FEATURE_BLKID_TYPE
- help
- Squashfs is a compressed read-only filesystem for Linux. Squashfs is
- intended for general read-only filesystem use and in constrained block
- device/memory systems (e.g. embedded systems) where low overhead is
- needed.
+ You can still use the 'losetup' utility (to manually associate files
+ with loop devices) if you need to do something advanced, such as
+ specify an offset or cryptographic options to the loopback device.
+ (If you don't want umount to free the loop device, use "umount -D".)
-config BUSYBOX_FEATURE_VOLUMEID_SYSV
- bool "sysv filesystem"
+config BUSYBOX_FEATURE_MOUNT_LOOP_CREATE
+ bool "Create new loopback devices if needed"
default y
- depends on BUSYBOX_VOLUMEID
+ depends on BUSYBOX_FEATURE_MOUNT_LOOP
help
- TODO
+ Linux kernels >= 2.6.24 support unlimited loopback devices. They are
+ allocated for use when trying to use a loop device. The loop device
+ must however exist.
-### config FEATURE_VOLUMEID_MINIX
-### bool "minix filesystem"
-### default y
-### depends on BUSYBOX_VOLUMEID
-### help
-### TODO
+ This feature lets mount to try to create next /dev/loopN device
+ if it does not find a free one.
-### These only detect partition tables - not used (yet?)
-### config FEATURE_VOLUMEID_MAC
-### bool "mac filesystem"
-### default y
-### depends on BUSYBOX_VOLUMEID
-### help
-### TODO
-###
-### config FEATURE_VOLUMEID_MSDOS
-### bool "msdos filesystem"
-### default y
-### depends on BUSYBOX_VOLUMEID
-### help
-### TODO
-
-config BUSYBOX_FEATURE_VOLUMEID_OCFS2
- bool "ocfs2 filesystem"
- default y
- depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_MTAB_SUPPORT
+ bool "Support old /etc/mtab file"
+ default n
+ depends on BUSYBOX_MOUNT || BUSYBOX_UMOUNT
+ select BUSYBOX_FEATURE_MOUNT_FAKE
help
- TODO
-
-### config FEATURE_VOLUMEID_HIGHPOINTRAID
-### bool "highpoint raid"
-### default y
-### depends on BUSYBOX_VOLUMEID
-### help
-### TODO
-
-### config FEATURE_VOLUMEID_ISWRAID
-### bool "intel raid"
-### default y
-### depends on BUSYBOX_VOLUMEID
-### help
-### TODO
-
-### config FEATURE_VOLUMEID_LSIRAID
-### bool "lsi raid"
-### default y
-### depends on BUSYBOX_VOLUMEID
-### help
-### TODO
-
-### config FEATURE_VOLUMEID_VIARAID
-### bool "via raid"
-### default y
-### depends on BUSYBOX_VOLUMEID
-### help
-### TODO
-
-### config FEATURE_VOLUMEID_SILICONRAID
-### bool "silicon raid"
-### default y
-### depends on BUSYBOX_VOLUMEID
-### help
-### TODO
-
-### config FEATURE_VOLUMEID_NVIDIARAID
-### bool "nvidia raid"
-### default y
-### depends on BUSYBOX_VOLUMEID
-### help
-### TODO
-
-### config FEATURE_VOLUMEID_PROMISERAID
-### bool "promise raid"
-### default y
-### depends on BUSYBOX_VOLUMEID
-### help
-### TODO
-
-config BUSYBOX_FEATURE_VOLUMEID_LINUXRAID
- bool "linuxraid"
- default y
- depends on BUSYBOX_VOLUMEID
- help
- TODO
-
-config BUSYBOX_FEATURE_VOLUMEID_UBIFS
- bool "UBIFS filesystem"
- default y
- depends on BUSYBOX_VOLUMEID
- help
- UBIFS (Unsorted Block Image File System) is a file
- system for use with raw flash memory media.
-
-
-endmenu
+ Historically, Unix systems kept track of the currently mounted
+ partitions in the file "/etc/mtab". These days, the kernel exports
+ the list of currently mounted partitions in "/proc/mounts", rendering
+ the old mtab file obsolete. (In modern systems, /etc/mtab should be
+ a symlink to /proc/mounts.)
+
+ The only reason to have mount maintain an /etc/mtab file itself is if
+ your stripped-down embedded system does not have a /proc directory.
+ If you must use this, keep in mind it's inherently brittle (for
+ example a mount under chroot won't update it), can't handle modern
+ features like separate per-process filesystem namespaces, requires
+ that your /etc directory be writable, tends to get easily confused
+ by --bind or --move mounts, won't update if you rename a directory
+ that contains a mount point, and so on. (In brief: avoid.)
+
+ About the only reason to use this is if you've removed /proc from
+ your kernel.
+
+source package/busybox/config/util-linux/volume_id/Config.in
endmenu
diff --git a/package/busybox/config/util-linux/volume_id/Config.in b/package/busybox/config/util-linux/volume_id/Config.in
new file mode 100644
index 000000000..74824fb42
--- /dev/null
+++ b/package/busybox/config/util-linux/volume_id/Config.in
@@ -0,0 +1,203 @@
+# DO NOT EDIT. This file is generated from Config.src
+#
+# For a description of the syntax of this configuration file,
+# see docs/Kconfig-language.txt.
+#
+
+config BUSYBOX_VOLUMEID
+ bool #No description makes it a hidden option
+ default n
+
+menu "Filesystem/Volume identification"
+ depends on BUSYBOX_VOLUMEID
+
+config BUSYBOX_FEATURE_VOLUMEID_BCACHE
+ bool "bcache filesystem"
+ default y
+ depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_BTRFS
+ bool "btrfs filesystem"
+ default y
+ depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_CRAMFS
+ bool "cramfs filesystem"
+ default y
+ depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_EROFS
+ bool "erofs filesystem"
+ default y
+ depends on BUSYBOX_VOLUMEID
+ help
+ Erofs is a compressed readonly filesystem for Linux.
+config BUSYBOX_FEATURE_VOLUMEID_EXFAT
+ bool "exFAT filesystem"
+ default y
+ depends on BUSYBOX_VOLUMEID
+ help
+ exFAT (extended FAT) is a proprietary file system designed especially
+ for flash drives. It has many features from NTFS, but with less
+ overhead. exFAT is used on most SDXC cards for consumer electronics.
+config BUSYBOX_FEATURE_VOLUMEID_EXT
+ bool "Ext filesystem"
+ default y
+ depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_F2FS
+ bool "f2fs filesystem"
+ default y
+ depends on BUSYBOX_VOLUMEID
+ help
+ F2FS (aka Flash-Friendly File System) is a log-structured file system,
+ which is adapted to newer forms of storage. F2FS also remedies some
+ known issues of the older log structured file systems, such as high
+ cleaning overhead.
+config BUSYBOX_FEATURE_VOLUMEID_FAT
+ bool "fat filesystem"
+ default y
+ depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_HFS
+ bool "hfs filesystem"
+ default y
+ depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_ISO9660
+ bool "iso9660 filesystem"
+ default y
+ depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_JFS
+ bool "jfs filesystem"
+ default y
+ depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_LFS
+ bool "LittleFS filesystem"
+ default y
+ depends on BUSYBOX_VOLUMEID && BUSYBOX_FEATURE_BLKID_TYPE
+ help
+ LittleFS is a small fail-safe filesystem designed for embedded
+ systems. It has strong copy-on-write guarantees and storage on disk
+ is always kept in a valid state. It also provides a form of dynamic
+ wear levelling for systems that can not fit a full flash translation
+ layer.
+config BUSYBOX_FEATURE_VOLUMEID_LINUXRAID
+ bool "linuxraid"
+ default y
+ depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_LINUXSWAP
+ bool "linux swap filesystem"
+ default y
+ depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_LUKS
+ bool "luks filesystem"
+ default y
+ depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_MINIX
+ bool "minix filesystem"
+ default y
+ depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_NILFS
+ bool "nilfs filesystem"
+ default y
+ depends on BUSYBOX_VOLUMEID
+ help
+ NILFS is a New Implementation of a Log-Structured File System (LFS)
+ that supports continuous snapshots. This provides features like
+ versioning of the entire filesystem, restoration of files that
+ were deleted a few minutes ago. NILFS keeps consistency like
+ conventional LFS, so it provides quick recovery after system crashes.
+
+ The possible use of NILFS includes versioning, tamper detection,
+ SOX compliance logging, and so forth. It can serve as an alternative
+ filesystem for Linux desktop environment, or as a basis of advanced
+ storage appliances.
+config BUSYBOX_FEATURE_VOLUMEID_NTFS
+ bool "ntfs filesystem"
+ default y
+ depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_OCFS2
+ bool "ocfs2 filesystem"
+ default y
+ depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_REISERFS
+ bool "Reiser filesystem"
+ default y
+ depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_ROMFS
+ bool "romfs filesystem"
+ default y
+ depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_SQUASHFS
+ bool "SquashFS filesystem"
+ default y
+ depends on BUSYBOX_VOLUMEID && BUSYBOX_FEATURE_BLKID_TYPE
+ help
+ Squashfs is a compressed read-only filesystem for Linux. Squashfs is
+ intended for general read-only filesystem use and in constrained block
+ device/memory systems (e.g. embedded systems) where low overhead is
+ needed.
+config BUSYBOX_FEATURE_VOLUMEID_SYSV
+ bool "sysv filesystem"
+ default y
+ depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_UBIFS
+ bool "UBIFS filesystem"
+ default y
+ depends on BUSYBOX_VOLUMEID
+ help
+ UBIFS (Unsorted Block Image File System) is a file
+ system for use with raw flash memory media.
+config BUSYBOX_FEATURE_VOLUMEID_UDF
+ bool "udf filesystem"
+ default y
+ depends on BUSYBOX_VOLUMEID
+### config FEATURE_VOLUMEID_HIGHPOINTRAID
+### bool "highpoint raid"
+### default y
+### depends on BUSYBOX_VOLUMEID
+### config FEATURE_VOLUMEID_HPFS
+### bool "hpfs filesystem"
+### default y
+### depends on BUSYBOX_VOLUMEID
+### config FEATURE_VOLUMEID_ISWRAID
+### bool "intel raid"
+### default y
+### depends on BUSYBOX_VOLUMEID
+### config FEATURE_VOLUMEID_LSIRAID
+### bool "lsi raid"
+### default y
+### depends on BUSYBOX_VOLUMEID
+### config FEATURE_VOLUMEID_LVM
+### bool "lvm"
+### default y
+### depends on BUSYBOX_VOLUMEID
+### config FEATURE_VOLUMEID_MAC
+### bool "mac filesystem"
+### default y
+### depends on BUSYBOX_VOLUMEID
+### config FEATURE_VOLUMEID_MSDOS
+### bool "msdos filesystem"
+### default y
+### depends on BUSYBOX_VOLUMEID
+### config FEATURE_VOLUMEID_NVIDIARAID
+### bool "nvidia raid"
+### default y
+### depends on BUSYBOX_VOLUMEID
+### config FEATURE_VOLUMEID_PROMISERAID
+### bool "promise raid"
+### default y
+### depends on BUSYBOX_VOLUMEID
+### config FEATURE_VOLUMEID_SILICONRAID
+### bool "silicon raid"
+### default y
+### depends on BUSYBOX_VOLUMEID
+### config FEATURE_VOLUMEID_UFS
+### bool "ufs filesystem"
+### default y
+### depends on BUSYBOX_VOLUMEID
+### config FEATURE_VOLUMEID_VIARAID
+### bool "via raid"
+### default y
+### depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_XFS
+ bool "xfs filesystem"
+ default y
+ depends on BUSYBOX_VOLUMEID
+
+endmenu
diff --git a/package/busybox/extract_config.sh b/package/busybox/extract_config.sh
new file mode 100755
index 000000000..1d2b08f0f
--- /dev/null
+++ b/package/busybox/extract_config.sh
@@ -0,0 +1,56 @@
+#!/bin/bash
+
+[[ -d "$1" ]] || {
+ echo "Usage: $(basename $0) <busybox_sourcedir>"
+ exit 1
+}
+
+bbsrc="$(realpath $1)"
+cd $(dirname $0)
+
+[[ -e config.new ]] && {
+ echo -n "config.new exists already. delete? [y|n] "
+ read ans
+ case "$ans" in
+ y|Y)
+ rm -rf config.new
+ ;;
+ n|N)
+ ;;
+ *)
+ echo "what is '$ans'?"
+ exit 1
+ esac
+}
+mkdir -p config.new
+
+# store config paths relative to $bbsrc into an array
+readarray -t configs <<< $(cd "$bbsrc"; find . -type f -name Config.in)
+
+# copy each config into config.new
+for config in "${configs[@]}"; do
+ mkdir -p config.new/$(dirname $config)
+ cp "$bbsrc/$config" "config.new/$config"
+done
+
+# store defined config symbols into an array
+readarray -t symbols <<< $(grep -hr '^config ' config.new | cut -d' ' -f2)
+
+### customize busybox config system for OpenADK
+
+cd config.new
+
+# no extra mainmenu, allow replacing PREFIX
+sed -i -e 's/^mainmenu/# mainmenu/' -e 's,./_install,@IDIR@,' Config.in
+
+# prefix all symbols with BUSYBOX_ to create a namespace
+# limit replacement to lines containing given keywords to
+# not mess up help texts and prompts too much
+keywords='\(config\|depends\|range\|select\|default\|^if \)'
+sympipe=$(IFS='|'; echo "${symbols[*]}" | sed -e 's/|/\\|/g')
+sympipe_s='/'$keywords'/s/\b\('$sympipe'\)\b/BUSYBOX_\1/g'
+
+# fix path of all sourced files
+source_s='s,^\(source *\)\([^ ]*\)$,\1package/busybox/config/\2,'
+
+sed -i -e "$sympipe_s" -e "$source_s" "${configs[@]}"
diff --git a/package/busybox/files/ntpd.init b/package/busybox/files/ntpd.init
index 15c460dcc..0f578574a 100644
--- a/package/busybox/files/ntpd.init
+++ b/package/busybox/files/ntpd.init
@@ -1,6 +1,6 @@
#!/bin/sh
#PKG busybox
-#INIT 60
+#INIT 45
. /etc/rc.conf
case $1 in
diff --git a/package/busybox/patches/009-disable-Oz.patch b/package/busybox/patches/009-disable-Oz.patch
new file mode 100644
index 000000000..11830586f
--- /dev/null
+++ b/package/busybox/patches/009-disable-Oz.patch
@@ -0,0 +1,20 @@
+diff -Nur busybox-1.36.1.orig/Makefile.flags busybox-1.36.1/Makefile.flags
+--- busybox-1.36.1.orig/Makefile.flags 2023-01-03 15:14:43.000000000 +0100
++++ busybox-1.36.1/Makefile.flags 2023-07-30 15:24:31.983113101 +0200
+@@ -87,14 +87,14 @@
+ #CFLAGS += $(call cc-option,-Wconversion,)
+
+ ifneq ($(CONFIG_DEBUG),y)
+-CFLAGS += $(call cc-option,-Oz,$(call cc-option,-Os,$(call cc-option,-O2,)))
++CFLAGS += $(call cc-option,-Os,$(call cc-option,-O2,))
+ else
+ CFLAGS += $(call cc-option,-g,)
+ #CFLAGS += "-D_FORTIFY_SOURCE=2"
+ ifeq ($(CONFIG_DEBUG_PESSIMIZE),y)
+ CFLAGS += $(call cc-option,-O0,)
+ else
+-CFLAGS += $(call cc-option,-Oz,$(call cc-option,-Os,$(call cc-option,-O2,)))
++CFLAGS += $(call cc-option,-Os,$(call cc-option,-O2,))
+ endif
+ endif
+ ifeq ($(CONFIG_DEBUG_SANITIZE),y)
diff --git a/package/bzip2/Makefile b/package/bzip2/Makefile
index ad3d19f03..723d1abcc 100644
--- a/package/bzip2/Makefile
+++ b/package/bzip2/Makefile
@@ -31,7 +31,7 @@ $(eval $(call PKG_template,BZIP2,bzip2,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPEN
$(eval $(call PKG_template,LIBBZ2,libbz2,${PKG_VERSION}-${PKG_RELEASE},,${PKGSD_LIBBZ2},${PKGSC_LIBBZ2},${PKG_OPTS}))
HOST_STYLE:= manual
-HOST_MAKE_FILE:= Makefile
+HOST_MAKE_FILE:= Makefile-libbz2_so
ifneq ($(ADK_TARGET_USE_STATIC_LIBS_ONLY),y)
MAKE_FILE:= Makefile-libbz2_so
@@ -50,8 +50,13 @@ host-build:
PREFIX=${HOST_WRKINST}/usr ${HOST_ALL_TARGET})
bzip2-hostinstall:
+ ${INSTALL_DIR} ${STAGING_HOST_DIR}/usr/include
+ $(CP) ${WRKBUILD}/bzlib.h ${STAGING_HOST_DIR}/usr/include
+ ${INSTALL_DIR} ${STAGING_HOST_DIR}/usr/lib
+ $(CP) ${WRKBUILD}/libbz2.so* ${STAGING_HOST_DIR}/usr/lib
+ (cd ${STAGING_HOST_DIR}/usr/lib; ln -sf libbz2.so.1.0.8 libbz2.so)
${INSTALL_DIR} ${STAGING_HOST_DIR}/usr/bin
- $(INSTALL_BIN) ${WRKBUILD}/bzip2 ${STAGING_HOST_DIR}/usr/bin/bzip2
+ $(INSTALL_BIN) ${WRKBUILD}/bzip2-shared ${STAGING_HOST_DIR}/usr/bin/bzip2
do-install:
${INSTALL_DIR} $(STAGING_TARGET_DIR)/usr/include
@@ -66,7 +71,7 @@ libbz2-install:
${IDIR_LIBBZ2}/usr/lib
$(CP) ${WRKBUILD}/libbz2.so* \
${STAGING_TARGET_DIR}/usr/lib
- (cd ${STAGING_TARGET_DIR}/usr/lib; ln -sf libbz2.so.1.0.6 libbz2.so)
+ (cd ${STAGING_TARGET_DIR}/usr/lib; ln -sf libbz2.so.1.0.8 libbz2.so)
${INSTALL_DIR} $(IDIR_LIBBZ2_DEV)/usr/include
$(CP) $(WRKBUILD)/bzlib.h $(IDIR_LIBBZ2_DEV)/usr/include
diff --git a/package/bzr/Makefile b/package/bzr/Makefile
deleted file mode 100644
index 53f7d00fa..000000000
--- a/package/bzr/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(ADK_TOPDIR)/rules.mk
-
-PKG_NAME:= bzr
-PKG_VERSION:= 2.6.0
-PKG_RELEASE:= 1
-PKG_HASH:= 0994797182eb828867eee81cccc79480bd2946c99304266bc427b902cf91dab0
-PKG_DESCR:= source code management system
-PKG_SECTION:= dev/scm
-PKG_BUILDDEP:= python2
-PKG_DEPENDS:= python2
-PKG_URL:= http://bazaar.canonical.com/en/
-PKG_SITES:= https://launchpad.net/bzr/2.6/2.6.0/+download/
-
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
-
-PKG_HOST_DEPENDS:= !darwin
-
-include $(ADK_TOPDIR)/mk/package.mk
-
-$(eval $(call PKG_template,BZR,bzr,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-
-CONFIG_STYLE:= manual
-BUILD_STYLE:= manual
-INSTALL_STYLE:= manual
-
-include $(ADK_TOPDIR)/mk/python.mk
-
-do-build:
- cd $(WRKBUILD); env PYTHONPATH=$(PYTHON_LIBDIR) $(PYTHON) ./setup.py install --prefix=$(WRKINST)/usr build_ext --allow-python-fallback
-
-do-install:
- $(INSTALL_DIR) $(IDIR_BZR)/usr/lib/python$(PYTHON_VERSION)/site-packages
- $(CP) $(WRKINST)/usr/lib/python$(PYTHON_VERSION)/site-packages/* \
- $(IDIR_BZR)/usr/lib/python$(PYTHON_VERSION)/site-packages
- $(INSTALL_DIR) $(IDIR_BZR)/usr/bin
- $(INSTALL_BIN) $(WRKBUILD)/bzr $(IDIR_BZR)/usr/bin
-
-include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/c-ares/Makefile b/package/c-ares/Makefile
index 5e4bd0b6a..6da3e7c7a 100644
--- a/package/c-ares/Makefile
+++ b/package/c-ares/Makefile
@@ -4,13 +4,13 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= c-ares
-PKG_VERSION:= 1.13.0
+PKG_VERSION:= 1.18.1
PKG_RELEASE:= 1
-PKG_HASH:= 03f708f1b14a26ab26c38abd51137640cb444d3ec72380b21b20f1a8d2861da7
+PKG_HASH:= 1a7d52a8a84a9fbffb1be9133c0f6e17217d91ea5a6fa61f6b4729cda78ebbcf
PKG_DESCR:= asynchronous dns library
PKG_SECTION:= libs/net
-PKG_URL:= http://c-ares.haxx.se
-PKG_SITES:= http://c-ares.haxx.se/download/
+PKG_URL:= https://c-ares.org
+PKG_SITES:= https://c-ares.org/download/
PKG_OPTS:= dev
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
diff --git a/package/ca-certificates/Makefile b/package/ca-certificates/Makefile
index 3ee99af45..9316f738e 100644
--- a/package/ca-certificates/Makefile
+++ b/package/ca-certificates/Makefile
@@ -4,13 +4,13 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= ca-certificates
-PKG_VERSION:= 20160104
+PKG_VERSION:= 20230311
PKG_RELEASE:= 1
-PKG_HASH:= 09eb770122e23260316120c0cbbddc8a1d33e7147210ce44e146084d5d5abcdd
+PKG_HASH:= 83de934afa186e279d1ed08ea0d73f5cf43a6fbfb5f00874b6db3711c64576f3
PKG_DESCR:= collection of common ca certificates
PKG_SECTION:= app/crypto
PKG_URL:= http://packages.debian.org/sid/ca-certificates
-PKG_SITES:= http://http.debian.net/debian/pool/main/c/ca-certificates/
+PKG_SITES:= https://snapshot.debian.org/archive/debian/20230317T205011Z/pool/main/c/ca-certificates/
DISTFILES:= $(PKG_NAME)_$(PKG_VERSION).tar.xz
WRKDIST= $(WRKDIR)/ca-certificates
diff --git a/package/ca-certificates/patches/patch-Makefile b/package/ca-certificates/patches/patch-Makefile
index 24e9fab9c..ca81984e3 100644
--- a/package/ca-certificates/patches/patch-Makefile
+++ b/package/ca-certificates/patches/patch-Makefile
@@ -1,6 +1,5 @@
- fix for the completely empty DESTDIR
---- ca-certificates-20090814.orig/Makefile 2009-07-08 23:18:57.000000000 +0200
-+++ ca-certificates-20090814/Makefile 2009-08-22 20:36:42.614405912 +0200
+--- ca-certificates.orig/Makefile 2021-01-19 09:22:26.000000000 +0100
++++ ca-certificates/Makefile 2023-05-26 05:48:59.304310295 +0200
@@ -17,7 +17,7 @@ clean:
install:
diff --git a/package/ca-certificates/patches/patch-mozilla_Makefile b/package/ca-certificates/patches/patch-mozilla_Makefile
new file mode 100644
index 000000000..768f26373
--- /dev/null
+++ b/package/ca-certificates/patches/patch-mozilla_Makefile
@@ -0,0 +1,11 @@
+--- ca-certificates.orig/mozilla/Makefile 2022-01-11 14:34:24.000000000 +0100
++++ ca-certificates/mozilla/Makefile 2023-09-22 10:25:22.731768501 +0200
+@@ -3,7 +3,7 @@
+ #
+
+ all:
+- python3 certdata2pem.py
++ /bin/python3 certdata2pem.py
+
+ clean:
+ -rm -f *.crt
diff --git a/package/ca-certificates/patches/patch-sbin_Makefile b/package/ca-certificates/patches/patch-sbin_Makefile
deleted file mode 100644
index ff59e4856..000000000
--- a/package/ca-certificates/patches/patch-sbin_Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
- fix for the completely empty DESTDIR
---- ca-certificates-20090814.orig/sbin/Makefile 2007-02-02 07:23:19.000000000 +0100
-+++ ca-certificates-20090814/sbin/Makefile 2009-08-22 20:37:17.581921717 +0200
-@@ -8,4 +8,5 @@ all:
- clean:
-
- install:
-+ mkdir -p $(DESTDIR)/usr/sbin
- install -m755 update-ca-certificates $(DESTDIR)/usr/sbin/
diff --git a/package/ccid/Makefile b/package/ccid/Makefile
index e7750ba84..a4943716c 100644
--- a/package/ccid/Makefile
+++ b/package/ccid/Makefile
@@ -4,14 +4,14 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= ccid
-PKG_VERSION:= 1.4.17
+PKG_VERSION:= 1.5.5
PKG_RELEASE:= 1
-PKG_HASH:= ccdab8a9bc1ad288242d5f9ef399405e9cb96fb09caadb43e3649cbaba84c451
+PKG_HASH:= 194708f75fe369d45dd7c15e8b3e8a7db8b49cfc5557574ca2a2e76ef12ca0ca
PKG_DESCR:= generic usb ccid and iccd driver
PKG_SECTION:= app/crypto
PKG_BUILDDEP:= pcsc-lite
-PKG_URL:= http://pcsclite.alioth.debian.org/ccid.html
-PKG_SITES:= http://distfiles.openadk.org/
+PKG_URL:= https://ccid.apdu.fr/
+PKG_SITES:= https://ccid.apdu.fr/files/
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
@@ -19,14 +19,15 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,CCID,ccid,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-CONFIGURE_ARGS+= --enable-twinserial
+CONFIGURE_ARGS+= --disable-twinserial \
+ --enable-libusb
ccid-install:
$(INSTALL_DIR) $(IDIR_CCID)/etc/reader.conf.d
$(INSTALL_DIR) $(IDIR_CCID)/usr/lib/pcsc/drivers
$(INSTALL_DATA) ./files/gemalto.conf \
$(IDIR_CCID)/etc/reader.conf.d
- $(CP) $(WRKINST)/usr/lib/pcsc/drivers/* \
+ -$(CP) $(WRKINST)/usr/lib/pcsc/drivers/* \
$(IDIR_CCID)/usr/lib/pcsc/drivers
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/ccid/patches/patch-configure b/package/ccid/patches/patch-configure
deleted file mode 100644
index 7235e9ef8..000000000
--- a/package/ccid/patches/patch-configure
+++ /dev/null
@@ -1,21 +0,0 @@
---- ccid-1.4.4.orig/configure 2011-05-13 11:19:09.000000000 +0200
-+++ ccid-1.4.4/configure 2011-07-28 10:54:49.000000000 +0200
-@@ -12207,17 +12207,8 @@ done
- # Select OS specific versions of source files.
-
-
--BUNDLE_HOST=`uname | sed -e s,/,_,`
-+BUNDLE_HOST=Linux
- DYN_LIB_EXT="so"
--case "$BUNDLE_HOST" in
--Darwin)
-- BUNDLE_HOST=MacOS
-- DYN_LIB_EXT="dylib"
-- ;;
--SunOS)
-- BUNDLE_HOST=Solaris
-- ;;
-- esac
-
- # --disable-libusb
- # Check whether --enable-libusb was given.
diff --git a/package/ccid/patches/patch-ltmain_sh b/package/ccid/patches/patch-ltmain_sh
deleted file mode 100644
index 0801e7522..000000000
--- a/package/ccid/patches/patch-ltmain_sh
+++ /dev/null
@@ -1,11 +0,0 @@
---- ccid-1.4.4.orig/ltmain.sh 2011-05-13 11:19:08.000000000 +0200
-+++ ccid-1.4.4/ltmain.sh 2011-07-27 11:54:42.000000000 +0200
-@@ -5840,7 +5840,7 @@ func_mode_link ()
- # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
- -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
- -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-- -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
-+ -O*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*)
- func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
- func_append compile_command " $arg"
diff --git a/package/cdrkit/patches/patch-Makefile b/package/cdrkit/patches/patch-Makefile
deleted file mode 100644
index b4b1ce790..000000000
--- a/package/cdrkit/patches/patch-Makefile
+++ /dev/null
@@ -1,465 +0,0 @@
---- cdrkit-1.1.11.orig/Makefile 2007-05-06 12:23:54.000000000 +0200
-+++ cdrkit-1.1.11/Makefile 2015-05-31 21:33:44.000000000 +0200
-@@ -1,72 +1,408 @@
--ifneq ($(CFLAGS),)
--CMAKETWEAKS += ( cd build ; cmake .. -DCMAKE_C_FLAGS="$(CFLAGS)" ) || exit 1;
--endif
-+# CMAKE generated file: DO NOT EDIT!
-+# Generated by "Unix Makefiles" Generator, CMake Version 3.2
-
--ifneq ($(LDFLAGS),)
--CMAKETWEAKS += (cd build ; cmake .. -DCMAKE_EXE_LINKER_FLAGS:STRING="$(LDFLAGS)" -DCMAKE_MODULE_LINKER_FLAGS:STRING="$(LDFLAGS)" -DCMAKE_SHARED_LINKER_FLAGS:STRING="$(LDFLAGS)" ) || exit 1;
--endif
-+# Default target executed when no arguments are given to make.
-+default_target: all
-+.PHONY : default_target
-
--ifneq ($(PREFIX),)
--CMAKETWEAKS += ( cd build ; cmake .. -DCMAKE_INSTALL_PREFIX="$(PREFIX)") || exit 1;
--endif
-+# Allow only one "make -f Makefile2" at a time, but pass parallelism.
-+.NOTPARALLEL:
-
--ifneq ($(MANSUBDIR),)
--CMAKETWEAKS += ( cd build ; cmake .. -DMANSUBDIR="$(MANSUBDIR)" ) || exit 1;
--endif
-+#=============================================================================
-+# Special targets provided by cmake.
-
--default_target: all
-+# Disable implicit rules so canonical targets will work.
-+.SUFFIXES:
-
--DISTNAME=cdrkit-$(shell cat VERSION)
--DEBSRCNAME=cdrkit_$(shell cat VERSION | sed -e "s,pre,~pre,").orig.tar.gz
-+# Remove some rules from gmake that .SUFFIXES does not remove.
-+SUFFIXES =
-
--build/Makefile:
-- @-mkdir build 2>/dev/null
-- cd build && cmake ..
-+.SUFFIXES: .hpux_make_needs_suffix_list
-
--cmakepurge:
-- rm -rf install_manifest.txt progress.make CMakeFiles CMakeCache.txt cmake_install.cmake
-- rm -rf */install_manifest.txt */progress.make */CMakeFiles */CMakeCache.txt */cmake_install.cmake
-- rm -rf */*/install_manifest.txt */*/progress.make */*/CMakeFiles */*/CMakeCache.txt */*/cmake_install.cmake
-- rm */Makefile */*/Makefile
-+# Suppress display of executed commands.
-+$(VERBOSE).SILENT:
-+
-+# A target that is always out of date.
-+cmake_force:
-+.PHONY : cmake_force
-+
-+#=============================================================================
-+# Set environment variables for the build.
-+
-+# The shell in which to execute make rules.
-+SHELL = /bin/sh
-+
-+# The CMake executable.
-+CMAKE_COMMAND = /home/wbx/adk/host_x86_64-linux-gnu/usr/bin/cmake
-+
-+# The command to remove a file.
-+RM = /home/wbx/adk/host_x86_64-linux-gnu/usr/bin/cmake -E remove -f
-+
-+# Escaping for special characters.
-+EQUALS = =
-+
-+# The top-level source directory on which CMake was run.
-+CMAKE_SOURCE_DIR = /home/wbx/adk/build_raspberry-pi_uclibc-ng_arm_hard_eabihf/w-cdrkit-1.1.11-1/cdrkit-1.1.11
-+
-+# The top-level build directory on which CMake was run.
-+CMAKE_BINARY_DIR = /home/wbx/adk/build_raspberry-pi_uclibc-ng_arm_hard_eabihf/w-cdrkit-1.1.11-1/cdrkit-1.1.11
-+
-+#=============================================================================
-+# Targets provided globally by CMake.
-+
-+# Special rule for the target install/strip
-+install/strip: preinstall
-+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
-+ /home/wbx/adk/host_x86_64-linux-gnu/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
-+.PHONY : install/strip
-+
-+# Special rule for the target install/strip
-+install/strip/fast: install/strip
-+.PHONY : install/strip/fast
-+
-+# Special rule for the target edit_cache
-+edit_cache:
-+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..."
-+ /home/wbx/adk/host_x86_64-linux-gnu/usr/bin/ccmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
-+.PHONY : edit_cache
-+
-+# Special rule for the target edit_cache
-+edit_cache/fast: edit_cache
-+.PHONY : edit_cache/fast
-+
-+# Special rule for the target rebuild_cache
-+rebuild_cache:
-+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
-+ /home/wbx/adk/host_x86_64-linux-gnu/usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
-+.PHONY : rebuild_cache
-+
-+# Special rule for the target rebuild_cache
-+rebuild_cache/fast: rebuild_cache
-+.PHONY : rebuild_cache/fast
-+
-+# Special rule for the target install
-+install: preinstall
-+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
-+ /home/wbx/adk/host_x86_64-linux-gnu/usr/bin/cmake -P cmake_install.cmake
-+.PHONY : install
-+
-+# Special rule for the target install
-+install/fast: preinstall/fast
-+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
-+ /home/wbx/adk/host_x86_64-linux-gnu/usr/bin/cmake -P cmake_install.cmake
-+.PHONY : install/fast
-+
-+# Special rule for the target list_install_components
-+list_install_components:
-+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
-+.PHONY : list_install_components
-+
-+# Special rule for the target list_install_components
-+list_install_components/fast: list_install_components
-+.PHONY : list_install_components/fast
-+
-+# Special rule for the target install/local
-+install/local: preinstall
-+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
-+ /home/wbx/adk/host_x86_64-linux-gnu/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
-+.PHONY : install/local
-+
-+# Special rule for the target install/local
-+install/local/fast: install/local
-+.PHONY : install/local/fast
-+
-+# The main all target
-+all: cmake_check_build_system
-+ $(CMAKE_COMMAND) -E cmake_progress_start /home/wbx/adk/build_raspberry-pi_uclibc-ng_arm_hard_eabihf/w-cdrkit-1.1.11-1/cdrkit-1.1.11/CMakeFiles /home/wbx/adk/build_raspberry-pi_uclibc-ng_arm_hard_eabihf/w-cdrkit-1.1.11-1/cdrkit-1.1.11/CMakeFiles/progress.marks
-+ $(MAKE) -f CMakeFiles/Makefile2 all
-+ $(CMAKE_COMMAND) -E cmake_progress_start /home/wbx/adk/build_raspberry-pi_uclibc-ng_arm_hard_eabihf/w-cdrkit-1.1.11-1/cdrkit-1.1.11/CMakeFiles 0
-+.PHONY : all
-
-+# The main clean target
- clean:
-- rm -rf build
-+ $(MAKE) -f CMakeFiles/Makefile2 clean
-+.PHONY : clean
-
--tarball:
--# if test "$(shell svn status | grep -v -i make)" ; then echo Uncommited files found. Run \"svn status\" to display them. ; exit 1 ; fi
-- @if test -f ../$(DISTNAME).tar.gz ; then echo ../$(DISTNAME).tar.gz exists, not overwritting ; exit 1; fi
-- -svn up
-- rm -rf tmp
-- mkdir tmp
-- svn export . tmp/$(DISTNAME)
-- rm -rf tmp/$(DISTNAME)/debian
-- tar -f - -c -C tmp $(DISTNAME) | gzip -9 > ../$(DISTNAME).tar.gz
-- rm -rf tmp
-- test -e /etc/debian_version && ln -f ../$(DISTNAME).tar.gz ../$(DEBSRCNAME) || true
-- test -e ../tarballs && ln -f ../$(DISTNAME).tar.gz ../tarballs/$(DEBSRCNAME) || true
-+# The main clean target
-+clean/fast: clean
-+.PHONY : clean/fast
-
--tarball-remove:
-- rm -f ../$(DISTNAME).tar.gz ../tarballs/$(DEBSRCNAME) ../$(DEBSRCNAME)
-+# Prepare targets for installation.
-+preinstall: all
-+ $(MAKE) -f CMakeFiles/Makefile2 preinstall
-+.PHONY : preinstall
-
--SVNBASE=$(shell svn info | grep URL: | cut -f2 -d' ' | xargs dirname)
--release: tarball
-- svn ci
-- svn cp $(SVNBASE)/trunk $(SVNBASE)/tags/release_$(shell cat VERSION)
-+# Prepare targets for installation.
-+preinstall/fast:
-+ $(MAKE) -f CMakeFiles/Makefile2 preinstall
-+.PHONY : preinstall/fast
-
--#%::
--# $(MAKE) $(MAKE_FLAGS) build/Makefile
--# $(CMAKETWEAKS)
--# $(MAKE) -C build $(MAKE_FLAGS) $@
-+# clear depends
-+depend:
-+ $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
-+.PHONY : depend
-
--# needs to be explicite, for PHONY and install (AKA INSTALL) file on cygwin
--install: build/Makefile
-- $(CMAKETWEAKS)
-- $(MAKE) -C build $(MAKE_FLAGS) $@
-+#=============================================================================
-+# Target rules for targets named devdump
-
--all: build/Makefile
-- $(CMAKETWEAKS)
-- $(MAKE) -C build $(MAKE_FLAGS) $@
-+# Build rule for target.
-+devdump: cmake_check_build_system
-+ $(MAKE) -f CMakeFiles/Makefile2 devdump
-+.PHONY : devdump
-
--.PHONY: install all
-+# fast build rule for target.
-+devdump/fast:
-+ $(MAKE) -f genisoimage/CMakeFiles/devdump.dir/build.make genisoimage/CMakeFiles/devdump.dir/build
-+.PHONY : devdump/fast
-+
-+#=============================================================================
-+# Target rules for targets named genisoimage
-+
-+# Build rule for target.
-+genisoimage: cmake_check_build_system
-+ $(MAKE) -f CMakeFiles/Makefile2 genisoimage
-+.PHONY : genisoimage
-+
-+# fast build rule for target.
-+genisoimage/fast:
-+ $(MAKE) -f genisoimage/CMakeFiles/genisoimage.dir/build.make genisoimage/CMakeFiles/genisoimage.dir/build
-+.PHONY : genisoimage/fast
-+
-+#=============================================================================
-+# Target rules for targets named isodebug
-+
-+# Build rule for target.
-+isodebug: cmake_check_build_system
-+ $(MAKE) -f CMakeFiles/Makefile2 isodebug
-+.PHONY : isodebug
-+
-+# fast build rule for target.
-+isodebug/fast:
-+ $(MAKE) -f genisoimage/CMakeFiles/isodebug.dir/build.make genisoimage/CMakeFiles/isodebug.dir/build
-+.PHONY : isodebug/fast
-+
-+#=============================================================================
-+# Target rules for targets named isodump
-+
-+# Build rule for target.
-+isodump: cmake_check_build_system
-+ $(MAKE) -f CMakeFiles/Makefile2 isodump
-+.PHONY : isodump
-+
-+# fast build rule for target.
-+isodump/fast:
-+ $(MAKE) -f genisoimage/CMakeFiles/isodump.dir/build.make genisoimage/CMakeFiles/isodump.dir/build
-+.PHONY : isodump/fast
-+
-+#=============================================================================
-+# Target rules for targets named isoinfo
-+
-+# Build rule for target.
-+isoinfo: cmake_check_build_system
-+ $(MAKE) -f CMakeFiles/Makefile2 isoinfo
-+.PHONY : isoinfo
-+
-+# fast build rule for target.
-+isoinfo/fast:
-+ $(MAKE) -f genisoimage/CMakeFiles/isoinfo.dir/build.make genisoimage/CMakeFiles/isoinfo.dir/build
-+.PHONY : isoinfo/fast
-+
-+#=============================================================================
-+# Target rules for targets named isovfy
-+
-+# Build rule for target.
-+isovfy: cmake_check_build_system
-+ $(MAKE) -f CMakeFiles/Makefile2 isovfy
-+.PHONY : isovfy
-+
-+# fast build rule for target.
-+isovfy/fast:
-+ $(MAKE) -f genisoimage/CMakeFiles/isovfy.dir/build.make genisoimage/CMakeFiles/isovfy.dir/build
-+.PHONY : isovfy/fast
-+
-+#=============================================================================
-+# Target rules for targets named wodim
-+
-+# Build rule for target.
-+wodim: cmake_check_build_system
-+ $(MAKE) -f CMakeFiles/Makefile2 wodim
-+.PHONY : wodim
-+
-+# fast build rule for target.
-+wodim/fast:
-+ $(MAKE) -f wodim/CMakeFiles/wodim.dir/build.make wodim/CMakeFiles/wodim.dir/build
-+.PHONY : wodim/fast
-+
-+#=============================================================================
-+# Target rules for targets named wodimstuff
-+
-+# Build rule for target.
-+wodimstuff: cmake_check_build_system
-+ $(MAKE) -f CMakeFiles/Makefile2 wodimstuff
-+.PHONY : wodimstuff
-+
-+# fast build rule for target.
-+wodimstuff/fast:
-+ $(MAKE) -f wodim/CMakeFiles/wodimstuff.dir/build.make wodim/CMakeFiles/wodimstuff.dir/build
-+.PHONY : wodimstuff/fast
-+
-+#=============================================================================
-+# Target rules for targets named edc
-+
-+# Build rule for target.
-+edc: cmake_check_build_system
-+ $(MAKE) -f CMakeFiles/Makefile2 edc
-+.PHONY : edc
-+
-+# fast build rule for target.
-+edc/fast:
-+ $(MAKE) -f libedc/CMakeFiles/edc.dir/build.make libedc/CMakeFiles/edc.dir/build
-+.PHONY : edc/fast
-+
-+#=============================================================================
-+# Target rules for targets named hfs_iso
-+
-+# Build rule for target.
-+hfs_iso: cmake_check_build_system
-+ $(MAKE) -f CMakeFiles/Makefile2 hfs_iso
-+.PHONY : hfs_iso
-+
-+# fast build rule for target.
-+hfs_iso/fast:
-+ $(MAKE) -f libhfs_iso/CMakeFiles/hfs_iso.dir/build.make libhfs_iso/CMakeFiles/hfs_iso.dir/build
-+.PHONY : hfs_iso/fast
-+
-+#=============================================================================
-+# Target rules for targets named paranoia
-+
-+# Build rule for target.
-+paranoia: cmake_check_build_system
-+ $(MAKE) -f CMakeFiles/Makefile2 paranoia
-+.PHONY : paranoia
-+
-+# fast build rule for target.
-+paranoia/fast:
-+ $(MAKE) -f libparanoia/CMakeFiles/paranoia.dir/build.make libparanoia/CMakeFiles/paranoia.dir/build
-+.PHONY : paranoia/fast
-+
-+#=============================================================================
-+# Target rules for targets named icedax
-+
-+# Build rule for target.
-+icedax: cmake_check_build_system
-+ $(MAKE) -f CMakeFiles/Makefile2 icedax
-+.PHONY : icedax
-+
-+# fast build rule for target.
-+icedax/fast:
-+ $(MAKE) -f icedax/CMakeFiles/icedax.dir/build.make icedax/CMakeFiles/icedax.dir/build
-+.PHONY : icedax/fast
-+
-+#=============================================================================
-+# Target rules for targets named usal
-+
-+# Build rule for target.
-+usal: cmake_check_build_system
-+ $(MAKE) -f CMakeFiles/Makefile2 usal
-+.PHONY : usal
-+
-+# fast build rule for target.
-+usal/fast:
-+ $(MAKE) -f libusal/CMakeFiles/usal.dir/build.make libusal/CMakeFiles/usal.dir/build
-+.PHONY : usal/fast
-+
-+#=============================================================================
-+# Target rules for targets named rols
-+
-+# Build rule for target.
-+rols: cmake_check_build_system
-+ $(MAKE) -f CMakeFiles/Makefile2 rols
-+.PHONY : rols
-+
-+# fast build rule for target.
-+rols/fast:
-+ $(MAKE) -f librols/CMakeFiles/rols.dir/build.make librols/CMakeFiles/rols.dir/build
-+.PHONY : rols/fast
-+
-+#=============================================================================
-+# Target rules for targets named unls
-+
-+# Build rule for target.
-+unls: cmake_check_build_system
-+ $(MAKE) -f CMakeFiles/Makefile2 unls
-+.PHONY : unls
-+
-+# fast build rule for target.
-+unls/fast:
-+ $(MAKE) -f libunls/CMakeFiles/unls.dir/build.make libunls/CMakeFiles/unls.dir/build
-+.PHONY : unls/fast
-+
-+#=============================================================================
-+# Target rules for targets named readom
-+
-+# Build rule for target.
-+readom: cmake_check_build_system
-+ $(MAKE) -f CMakeFiles/Makefile2 readom
-+.PHONY : readom
-+
-+# fast build rule for target.
-+readom/fast:
-+ $(MAKE) -f readom/CMakeFiles/readom.dir/build.make readom/CMakeFiles/readom.dir/build
-+.PHONY : readom/fast
-
-+#=============================================================================
-+# Target rules for targets named netscsid
-+
-+# Build rule for target.
-+netscsid: cmake_check_build_system
-+ $(MAKE) -f CMakeFiles/Makefile2 netscsid
-+.PHONY : netscsid
-+
-+# fast build rule for target.
-+netscsid/fast:
-+ $(MAKE) -f netscsid/CMakeFiles/netscsid.dir/build.make netscsid/CMakeFiles/netscsid.dir/build
-+.PHONY : netscsid/fast
-+
-+# Help Target
-+help:
-+ @echo "The following are some of the valid targets for this Makefile:"
-+ @echo "... all (the default if no target is provided)"
-+ @echo "... clean"
-+ @echo "... depend"
-+ @echo "... install/strip"
-+ @echo "... edit_cache"
-+ @echo "... rebuild_cache"
-+ @echo "... install"
-+ @echo "... list_install_components"
-+ @echo "... install/local"
-+ @echo "... isodebug"
-+ @echo "... genisoimage"
-+ @echo "... isodump"
-+ @echo "... isoinfo"
-+ @echo "... devdump"
-+ @echo "... isovfy"
-+ @echo "... wodimstuff"
-+ @echo "... wodim"
-+ @echo "... edc"
-+ @echo "... hfs_iso"
-+ @echo "... paranoia"
-+ @echo "... icedax"
-+ @echo "... usal"
-+ @echo "... rols"
-+ @echo "... unls"
-+ @echo "... readom"
-+ @echo "... netscsid"
-+.PHONY : help
-+
-+
-+
-+#=============================================================================
-+# Special targets to cleanup operation of make.
-+
-+# Special rule to run CMake to check the build system integrity.
-+# No rule that depends on this can have commands that come from listfiles
-+# because they might be regenerated.
-+cmake_check_build_system:
-+ $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
-+.PHONY : cmake_check_build_system
-
diff --git a/package/cdrkit/patches/patch-genisoimage_genisoimage_h b/package/cdrkit/patches/patch-genisoimage_genisoimage_h
new file mode 100644
index 000000000..99f696ded
--- /dev/null
+++ b/package/cdrkit/patches/patch-genisoimage_genisoimage_h
@@ -0,0 +1,11 @@
+--- cdrkit-1.1.11.orig/genisoimage/genisoimage.h 2008-05-25 23:00:55.000000000 +0200
++++ cdrkit-1.1.11/genisoimage/genisoimage.h 2024-02-12 14:32:15.046582134 +0100
+@@ -376,7 +376,7 @@ extern int use_fileversion;
+ extern int split_SL_component;
+ extern int split_SL_field;
+ extern char *trans_tbl;
+-char *outfile;
++extern char *outfile;
+
+ #define JMAX 64 /* maximum Joliet file name length (spec) */
+ #define JLONGMAX 103 /* out of spec Joliet file name length */
diff --git a/package/cfgfs/Makefile b/package/cfgfs/Makefile
index addec9a7f..9fa6e571f 100644
--- a/package/cfgfs/Makefile
+++ b/package/cfgfs/Makefile
@@ -4,8 +4,8 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= cfgfs
-PKG_VERSION:= 1.0.10
-PKG_RELEASE:= 4
+PKG_VERSION:= 1.0.11
+PKG_RELEASE:= 1
PKG_DESCR:= compressed config filesystem
PKG_SECTION:= base/adk
PKG_URL:= http://www.openadk.org/
diff --git a/package/cfgfs/src/fwcf.sh b/package/cfgfs/src/fwcf.sh
index ea8452850..70d0fa5c0 100644
--- a/package/cfgfs/src/fwcf.sh
+++ b/package/cfgfs/src/fwcf.sh
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright (c) 2006-2007
# Thorsten Glaser <tg@mirbsd.de>
-# Copyright (c) 2009-2017
+# Copyright (c) 2009-2023
# Waldemar Brodkorb <wbx@openadk.org>
#
# Provided that these terms and disclaimer and all copyright notices
@@ -43,7 +43,7 @@
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
wd=$(pwd)
cd /
-what='Configuration Filesystem Utility (cfgfs), Version 1.10'
+what='Configuration Filesystem Utility (cfgfs), Version 1.11'
who=$(id -u)
if [ $who -ne 0 ]; then
@@ -56,7 +56,7 @@ usage() {
$what
Usage:
{ halt | poweroff | reboot } [-Ffn] [-d delay]
- cfgfs { commit | erase | setup | status | dump | restore } [flags]
+ cfgfs { commit | erase | setup | status | diff | dump | restore } [flags]
EOF
exit 1
}
@@ -101,7 +101,7 @@ if [[ $me != cfgfs ]]; then
fi
case $1 in
-(commit|erase|setup|status|dump|restore) ;;
+(commit|erase|setup|status|diff|dump|restore) ;;
(*) cat >&2 <<EOF
$what
Syntax:
@@ -109,6 +109,7 @@ Syntax:
$0 erase
$0 setup [-N]
$0 status [-rq]
+ $0 diff [<diff options>]
$0 { dump | restore } [<filename>]
EOF
exit 1 ;;
@@ -132,12 +133,20 @@ echo $rootdisk|grep mmcblk >/dev/null 2>&1
if [ $? -ne 0 ]; then
rootdisk=${rootdisk%[1-9]}
fi
-part=$(fdisk -l $rootdisk 2>/dev/null|grep '^/dev'|tail -1|awk '{ print $1 }')
+# find last partition with an 88 id
+part=$(fdisk -l $rootdisk 2>/dev/null|awk '{if ($2=="*") { print $1" "$9} else {print $1" "$8}}'|grep '^/dev.*88.*'|tail -1|awk '{ print $1 }')
if [ -f .cfgfs ]; then
. /.cfgfs
fi
if [ -z $part ]; then
- part=$(fdisk -l /dev/sda 2>/dev/null|grep '^/dev'|tail -1|awk '{ print $1 }')
+ part=$(fdisk -l /dev/sda 2>/dev/null|awk '{if ($2=="*") { print $1" "$9} else {print $1" "$8}}'|grep '^/dev.*88.*'|tail -1|awk '{ print $1 }')
+ # find GPT partition
+ if [ -z $part ]; then
+ partnum=$(gdisk -l /dev/sda 2>/dev/null|fgrep "cfgfs"|awk '{ print $1 }')
+ if [ ! -z $partnum ]; then
+ part=/dev/sda${partnum}
+ fi
+ fi
if [ -z $part ]; then
# otherwise search for MTD device with name cfgfs
part=/dev/mtd$(fgrep '"cfgfs"' /proc/mtd 2>/dev/null | sed 's/^mtd\([^:]*\):.*$/\1/')ro
@@ -434,5 +443,42 @@ if test $1 = restore; then
exit 0
fi
+if test $1 = diff; then
+ if test ! -e /tmp/.cfgfs; then
+ cat >&2 <<-EOF
+ cfgfs: error: not yet initialised
+ explanation: "cfgfs setup" was not yet run
+ EOF
+ [[ $1 = -f ]] || exit 11
+ fi
+ shift
+ tempd=/tmp/.cfgfs/temp
+ mount -t tmpfs none $tempd
+ (cd /tmp/.cfgfs/root; tar cf - .) | (cd $tempd; tar xpf - 2>/dev/null)
+ x=$(dd if="$part" bs=4 count=1 2>/dev/null)
+ [[ "$x" = "FWCF" ]] && cfgfs.helper -U $tempd <"$part"
+
+ if test -e $tempd/.cfgfs_deleted; then
+ while IFS= read -r file; do
+ rm -f "$tempd/$file"
+ done <$tempd/.cfgfs_deleted
+ rm -f $tempd/.cfgfs_deleted
+ fi
+ (cd /etc; find . -type f; \
+ cd $tempd; find . -type f \
+ ) | grep -v -e '^./.cfgfs' -e '^./.rnd$' | sort -u | while read f; do
+ f=${f#./}
+ if [ ! -e "/etc/$f" ]; then
+ echo "Deleted: /etc/$f"
+ elif [ ! -e "$tempd/$f" ]; then
+ echo "New: /etc/$f"
+ else
+ diff "$@" "$tempd/$f" "/etc/$f"
+ fi
+ done
+ umount $tempd
+ exit 0
+fi
+
echo 'cfgfs: cannot be reached...'
exit 255
diff --git a/package/cherokee/Makefile b/package/cherokee/Makefile
index 571e3d81e..a701c7fd9 100644
--- a/package/cherokee/Makefile
+++ b/package/cherokee/Makefile
@@ -4,20 +4,24 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= cherokee
-PKG_VERSION:= 1.2.101
+PKG_VERSION:= 1.2.103
PKG_RELEASE:= 1
-PKG_HASH:= ca465ab3772479fc843b38ffc45113bf24d8bfae9185cdd5176b099d5a17feb8
+PKG_HASH:= 7ec379bf7e9d6fdf952d91fadc43eb6ee5295119aea7d8dabbf89f2799a53ae6
PKG_DESCR:= small and fast webserver
PKG_SECTION:= net/http
PKG_URL:= http://www.cherokee-project.com
-PKG_SITES:= http://mirror.aarnet.edu.au/pub/cherokee/1.2/1.2.101/
+PKG_SITES:= https://github.com/cherokee/webserver/archive/
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
+PKG_CFLINE_CHEROKEE:= depends on ADK_BROKEN
+
+DISTFILES:= v${PKG_VERSION}.zip
+WRKDIST= ${WRKDIR}/webserver-${PKG_VERSION}
include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,CHEROKEE,cherokee,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+AUTOTOOL_STYLE:= autogen
CONFIGURE_ENV+= ac_cv_func_malloc_0_nonnull=yes \
ac_cv_func_realloc_0_nonnull=yes
CONFIGURE_ARGS+= --enable-static-module=all \
diff --git a/package/cherrypy/Makefile b/package/cherrypy/Makefile
index 8f27f0dc8..602ca0738 100644
--- a/package/cherrypy/Makefile
+++ b/package/cherrypy/Makefile
@@ -9,8 +9,8 @@ PKG_RELEASE:= 1
PKG_HASH:= 5fccc9ad3bf9a1df83bbb934772f34f42571421bdd75f90f74c170b6c0ef13b1
PKG_DESCR:= python web framework
PKG_SECTION:= dev/python
-PKG_DEPENDS:= python2
-PKG_BUILDDEP:= python2
+PKG_DEPENDS:= python3
+PKG_BUILDDEP:= python3
PKG_URL:= http://www.cherrypy.org/
PKG_SITES:= https://pypi.python.org/packages/source/C/CherryPy/
@@ -25,7 +25,7 @@ CONFIG_STYLE:= manual
BUILD_STYLE:= manual
INSTALL_STYLE:= manual
-include $(ADK_TOPDIR)/mk/python.mk
+include $(ADK_TOPDIR)/mk/python3.mk
do-build:
cd $(WRKBUILD); env PYTHONPATH=$(PYTHON_LIBDIR) $(PYTHON) ./setup.py build
@@ -35,6 +35,6 @@ do-install:
$(INSTALL_DIR) $(IDIR_CHERRYPY)/usr/bin
$(INSTALL_DIR) $(IDIR_CHERRYPY)/usr/lib/python$(PYTHON_VERSION)
$(CP) $(WRKINST)/usr/lib/python$(PYTHON_VERSION)/* $(IDIR_CHERRYPY)/usr/lib/python$(PYTHON_VERSION)
- $(CP) $(WRKINST)/usr/lib/python$(PYTHON_VERSION)/site-packages/cherrypy/cherryd $(IDIR_CHERRYPY)/usr/bin
+ $(CP) $(WRKINST)/usr/lib/python$(PYTHON_VERSION)/site-packages/CherryPy-$(PKG_VERSION)-py3.9.egg/cherrypy/cherryd $(IDIR_CHERRYPY)/usr/bin
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/chocolate-doom/Makefile b/package/chocolate-doom/Makefile
new file mode 100644
index 000000000..08ddc55d9
--- /dev/null
+++ b/package/chocolate-doom/Makefile
@@ -0,0 +1,32 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= chocolate-doom
+PKG_VERSION:= 3.0.1
+PKG_RELEASE:= 1
+PKG_HASH:= a54383beef6a52babc5b00d58fcf53a454f012ced7b1936ba359b13f1f10ac66
+PKG_DESCR:= doom
+PKG_SECTION:= app/games
+PKG_DEPENDS:= libsdl2 libsdl2-mixer libsdl2-net
+PKG_BUILDDEP:= sdl2 sdl2-mixer sdl2-net
+PKG_URL:= https://www.chocolate-doom.org
+PKG_SITES:= https://github.com/chocolate-doom/chocolate-doom/archive/refs/tags/
+
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
+WRKDIST= ${WRKDIR}/$(PKG_NAME)-$(PKG_NAME)-$(PKG_VERSION)
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,CHOCOLATE_DOOM,chocolate-doom,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+AUTOTOOL_STYLE:= autogen
+TARGET_CFLAGS+= -fcommon
+
+chocolate-doom-install:
+ $(INSTALL_DIR) $(IDIR_CHOCOLATE_DOOM)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/chocolate-doom \
+ $(IDIR_CHOCOLATE_DOOM)/usr/bin
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/cifs-utils/Makefile b/package/cifs-utils/Makefile
index 1ce067624..37084f9f3 100644
--- a/package/cifs-utils/Makefile
+++ b/package/cifs-utils/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= cifs-utils
-PKG_VERSION:= 6.7
+PKG_VERSION:= 7.0
PKG_RELEASE:= 1
-PKG_HASH:= b2f21612474ab012e75accd167aab607a0614ff67efb56ea0f36789fa785cfab
+PKG_HASH:= 0defaab85bd3ea46ffc45ab41fb0d0ad54d05ae2cfaa7e503de86d4f12bc8161
PKG_DESCR:= network filesystem utilities
PKG_SECTION:= net/fs
PKG_KDEPENDS:= cifs
@@ -20,6 +20,7 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,CIFS_UTILS,cifs-utils,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
AUTOTOOL_STYLE:= autoreconf
+CONFIGURE_ENV+= ac_cv_func_malloc_0_nonnull=yes
CONFIGURE_ARGS+= --disable-cifsupcall \
--disable-cifsidmap \
--disable-cifsacl \
diff --git a/package/cifs-utils/patches/patch-Makefile_am b/package/cifs-utils/patches/patch-Makefile_am
index 81f21cd5a..98d2d616b 100644
--- a/package/cifs-utils/patches/patch-Makefile_am
+++ b/package/cifs-utils/patches/patch-Makefile_am
@@ -1,11 +1,12 @@
---- cifs-utils-6.3.orig/Makefile.am 2014-01-09 17:19:53.000000000 +0100
-+++ cifs-utils-6.3/Makefile.am 2014-05-06 13:53:28.814703381 +0200
-@@ -4,7 +4,7 @@ ACLOCAL_AMFLAGS = -I aclocal
- root_sbindir = $(ROOTSBINDIR)
- root_sbin_PROGRAMS = mount.cifs
- mount_cifs_SOURCES = mount.cifs.c mtab.c resolve_host.c util.c
--mount_cifs_LDADD = $(LIBCAP) $(CAPNG_LDADD) $(RT_LDADD)
-+mount_cifs_LDADD = $(LIBCAP) $(CAPNG_LDADD) $(RT_LDADD) $(LIBOBJS)
+--- cifs-utils-7.0.orig/Makefile.am 2022-08-11 22:40:15.000000000 +0200
++++ cifs-utils-7.0/Makefile.am 2024-01-04 12:50:47.888452316 +0100
+@@ -117,9 +117,6 @@ endif
- man_MANS = mount.cifs.8
- include_HEADERS = cifsidmap.h
+ SUBDIRS = contrib
+
+-install-exec-hook: install-sbinPROGRAMS
+- (cd $(DESTDIR)$(ROOTSBINDIR) && ln -sf mount.cifs mount.smb3)
+-
+ install-data-hook:
+ if CONFIG_MAN
+ ( cd $(DESTDIR)$(man8dir) && ln -sf mount.cifs.8 mount.smb3.8)
diff --git a/package/cifs-utils/patches/patch-cifs_idmap_c b/package/cifs-utils/patches/patch-cifs_idmap_c
deleted file mode 100644
index be55be79f..000000000
--- a/package/cifs-utils/patches/patch-cifs_idmap_c
+++ /dev/null
@@ -1,16 +0,0 @@
---- cifs-utils-6.1.orig/cifs.idmap.c 2013-07-02 21:13:33.000000000 +0200
-+++ cifs-utils-6.1/cifs.idmap.c 2013-10-28 07:33:27.000000000 +0100
-@@ -27,7 +27,13 @@
- #endif /* HAVE_CONFIG_H */
-
- #include <string.h>
-+#ifdef HAVE_GNU_GETOPT_LONG
- #include <getopt.h>
-+#else
-+#include "gnu_getopt.h"
-+#define getopt_long gnu_getopt_long
-+#define option gnu_option
-+#endif
- #include <syslog.h>
- #include <dirent.h>
- #include <sys/types.h>
diff --git a/package/cifs-utils/patches/patch-configure_ac b/package/cifs-utils/patches/patch-configure_ac
deleted file mode 100644
index 7355a238c..000000000
--- a/package/cifs-utils/patches/patch-configure_ac
+++ /dev/null
@@ -1,33 +0,0 @@
---- cifs-utils-6.7.orig/configure.ac 2017-03-02 17:51:05.000000000 +0100
-+++ cifs-utils-6.7/configure.ac 2017-03-27 01:54:09.082783577 +0200
-@@ -93,13 +93,25 @@ AC_CHECK_TYPES([ptrdiff_t, ssize_t, uint
-
- # Checks for library functions.
- AC_FUNC_GETMNTENT
--AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
--AC_FUNC_MALLOC
--AC_FUNC_REALLOC
--AC_FUNC_STRNLEN
-
- # check for required functions
--AC_CHECK_FUNCS([alarm atexit endpwent getmntent getpass gettimeofday inet_ntop memset realpath setenv strchr strcmp strdup strerror strncasecmp strndup strpbrk strrchr strstr strtol strtoul tolower uname], , [AC_MSG_ERROR([necessary functions(s) not found])])
-+AC_CHECK_FUNCS([alarm atexit endpwent getmntent getpass gettimeofday inet_ntop malloc memset realloc realpath setenv strchr strcmp strdup strerror strncasecmp strndup strnlen strpbrk strrchr strstr strtol strtoul tolower uname], , [AC_MSG_ERROR([necessary functions(s) not found])])
-+
-+AC_CHECK_FUNCS([getopt_long], , [AC_MSG_ERROR([getopt_long function not found])])
-+AC_MSG_CHECKING([if getopt_long is GNU specific])
-+AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[
-+#include <features.h>
-+#ifndef __GLIBC__
-+#error No GNU extension
-+#endif
-+ ]],[[;]])
-+ ],[
-+ AC_DEFINE(HAVE_GNU_GETOPT_LONG, 1, [Whether getopt_long has GNU extensions])
-+ AC_MSG_RESULT([yes])
-+ ],[
-+ AC_LIBOBJ([gnu_getopt])
-+ AC_MSG_RESULT([no])
-+])
-
- AC_CHECK_FUNCS(clock_gettime, [], [
- AC_CHECK_LIB(rt, clock_gettime, [
diff --git a/package/cifs-utils/patches/patch-mount_cifs_c b/package/cifs-utils/patches/patch-mount_cifs_c
deleted file mode 100644
index 583514808..000000000
--- a/package/cifs-utils/patches/patch-mount_cifs_c
+++ /dev/null
@@ -1,24 +0,0 @@
---- cifs-utils-6.7.orig/mount.cifs.c 2017-03-02 17:51:05.000000000 +0100
-+++ cifs-utils-6.7/mount.cifs.c 2017-03-27 18:57:14.519371156 +0200
-@@ -34,7 +34,13 @@
- #include <sys/utsname.h>
- #include <sys/socket.h>
- #include <arpa/inet.h>
-+#ifdef HAVE_GNU_GETOPT_LONG
- #include <getopt.h>
-+#else
-+#include "gnu_getopt.h"
-+#define getopt_long gnu_getopt_long
-+#define option gnu_option
-+#endif
- #include <errno.h>
- #include <netdb.h>
- #include <string.h>
-@@ -61,7 +67,6 @@
- #include "mount.h"
- #include "util.h"
- #include "resolve_host.h"
--#include "data_blob.h"
-
- #ifndef MS_MOVE
- #define MS_MOVE 8192
diff --git a/package/cifs-utils/patches/patch-mtab_c b/package/cifs-utils/patches/patch-mtab_c
deleted file mode 100644
index 90655935f..000000000
--- a/package/cifs-utils/patches/patch-mtab_c
+++ /dev/null
@@ -1,10 +0,0 @@
---- cifs-utils-6.7.orig/mtab.c 2017-03-02 17:51:05.000000000 +0100
-+++ cifs-utils-6.7/mtab.c 2017-03-27 01:54:09.094784041 +0200
-@@ -36,6 +36,7 @@
- #include <time.h>
- #include <fcntl.h>
- #include <mntent.h>
-+#include <paths.h>
- #include <stdlib.h>
- #include <signal.h>
- #include <paths.h>
diff --git a/package/clamav/Makefile b/package/clamav/Makefile
index dec13a95f..1812b4dcb 100644
--- a/package/clamav/Makefile
+++ b/package/clamav/Makefile
@@ -4,14 +4,14 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= clamav
-PKG_VERSION:= 0.99.2
+PKG_VERSION:= 0.103.4
PKG_RELEASE:= 1
-PKG_HASH:= 167bd6a13e05ece326b968fdb539b05c2ffcfef6018a274a10aeda85c2c0027a
+PKG_HASH:= def0ad15500fa6aff81d8e68b9f83aa75ee5b607a01335c1d26dbcc959932f85
PKG_DESCR:= anti-virus software
PKG_SECTION:= sys/misc
-PKG_DEPENDS:= libressl zlib libpcre
-PKG_BUILDDEP:= libressl zlib pcre
-PKG_NEEDS:= threads
+PKG_DEPENDS:= libressl zlib libpcre libncurses libcurl libmspack
+PKG_BUILDDEP:= libressl zlib pcre ncurses curl libmspack
+PKG_NEEDS:= c++ threads
PKG_URL:= http://www.clamav.net/
PKG_SITES:= http://www.clamav.net/downloads/production/
@@ -24,8 +24,10 @@ $(eval $(call PKG_template,CLAMAV,clamav,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEP
TARGET_LDFLAGS+= -ltinfo
CONFIGURE_ENV+= ac_cv_c_mmap_private=yes
CONFIGURE_ARGS+= --enable-mempool \
+ --with-system-libmspack \
--disable-xml \
--disable-check \
+ --with-libcurl="$(STAGING_TARGET_DIR)/usr" \
--with-openssl="$(STAGING_TARGET_DIR)/usr" \
--with-pcre="$(STAGING_TARGET_DIR)/usr"
diff --git a/package/clamav/patches/patch-clamdscan_proto_c b/package/clamav/patches/patch-clamdscan_proto_c
index c7120c9d5..a1d18ce41 100644
--- a/package/clamav/patches/patch-clamdscan_proto_c
+++ b/package/clamav/patches/patch-clamdscan_proto_c
@@ -1,6 +1,6 @@
---- clamav-0.98.7.orig/clamdscan/proto.c 2015-04-22 21:49:57.000000000 +0200
-+++ clamav-0.98.7/clamdscan/proto.c 2015-11-11 19:22:21.000000000 +0100
-@@ -36,6 +36,7 @@
+--- clamav-0.103.0.orig/clamdscan/proto.c 2020-09-13 02:27:09.000000000 +0200
++++ clamav-0.103.0/clamdscan/proto.c 2021-01-28 04:40:12.604606645 +0100
+@@ -39,6 +39,7 @@
#include <errno.h>
#include <stdlib.h>
#include <sys/types.h>
diff --git a/package/clamav/patches/patch-libclamav_mbox_c b/package/clamav/patches/patch-libclamav_mbox_c
new file mode 100644
index 000000000..86e81131a
--- /dev/null
+++ b/package/clamav/patches/patch-libclamav_mbox_c
@@ -0,0 +1,11 @@
+--- clamav-0.103.0.orig/libclamav/mbox.c 2020-09-13 02:27:10.000000000 +0200
++++ clamav-0.103.0/libclamav/mbox.c 2021-01-28 04:48:50.156979494 +0100
+@@ -91,7 +91,7 @@
+ #include <features.h>
+ #endif
+
+-#if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 1
++#if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 && !defined(__UCLIBC__) || defined(__UCLIBC_HAS_BACKTRACE__)
+ #define HAVE_BACKTRACE
+ #endif
+ #endif
diff --git a/package/cmake/Makefile b/package/cmake/Makefile
index 431d0850b..9ad0a74a3 100644
--- a/package/cmake/Makefile
+++ b/package/cmake/Makefile
@@ -4,14 +4,14 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= cmake
-PKG_VERSION:= 3.8.2
+PKG_VERSION:= 3.21.3
PKG_RELEASE:= 1
-PKG_HASH:= da3072794eb4c09f2d782fcee043847b99bb4cf8d4573978d9b2024214d6e92d
+PKG_HASH:= d14d06df4265134ee42c4d50f5a60cb8b471b7b6a47da8e5d914d49dd783794f
PKG_DESCR:= build utility
PKG_SECTION:= dev/tools
HOST_BUILDDEP:= curl-host
PKG_URL:= http://www.cmake.org/
-PKG_SITES:= http://www.cmake.org/files/v3.8/
+PKG_SITES:= https://github.com/Kitware/CMake/releases/download/v3.21.3/
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
diff --git a/package/collectd/Makefile b/package/collectd/Makefile
index 46fa04118..3948ed519 100644
--- a/package/collectd/Makefile
+++ b/package/collectd/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= collectd
-PKG_VERSION:= 5.7.0
+PKG_VERSION:= 5.12.0
PKG_RELEASE:= 1
-PKG_HASH:= 25a05fbdc6baad571554342bbac6141928bf95a47fc60ee3b32e46d0c89ef2b2
+PKG_HASH:= 5bae043042c19c31f77eb8464e56a01a5454e0b39fa07cf7ad0f1bfc9c3a09d6
PKG_DESCR:= system statistics collection daemon
PKG_SECTION:= sys/misc
PKG_BUILDDEP:= libtool
diff --git a/package/coreutils/Makefile b/package/coreutils/Makefile
index 60d33c19a..f27fd4f00 100644
--- a/package/coreutils/Makefile
+++ b/package/coreutils/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= coreutils
-PKG_VERSION:= 8.25
+PKG_VERSION:= 9.4
PKG_RELEASE:= 1
-PKG_HASH:= 31e67c057a5b32a582f26408c789e11c2e8d676593324849dcf5779296cdce87
+PKG_HASH:= ea613a4cf44612326e917201bbbcdfbd301de21ffc3b59b6e5c07e040b275e52
PKG_DESCR:= file, shell and text utilities
PKG_SECTION:= base/apps
PKG_NEEDS:= threads
@@ -19,7 +19,6 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call HOST_template,COREUTILS,coreutils,$(PKG_VERSION)-${PKG_RELEASE}))
$(eval $(call PKG_template,COREUTILS,coreutils,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-AUTOTOOL_STYLE:= autoreconf
CONFIGURE_ARGS+= --disable-rpath
coreutils-install:
diff --git a/package/coreutils/patches/patch-Makefile_am b/package/coreutils/patches/patch-Makefile_am
deleted file mode 100644
index 20f1fff1d..000000000
--- a/package/coreutils/patches/patch-Makefile_am
+++ /dev/null
@@ -1,27 +0,0 @@
---- coreutils-8.24.orig/Makefile.am 2015-07-03 22:07:38.000000000 +0200
-+++ coreutils-8.24/Makefile.am 2015-07-06 20:55:18.000000000 +0200
-@@ -17,7 +17,7 @@
-
- ALL_RECURSIVE_TARGETS =
-
--SUBDIRS = po . gnulib-tests
-+SUBDIRS = . gnulib-tests
-
- changelog_etc = \
- ChangeLog-2005 \
-@@ -35,8 +35,7 @@ changelog_etc = \
- old/sh-utils/ChangeLog.0 \
- old/sh-utils/NEWS \
- old/textutils/ChangeLog \
-- old/textutils/NEWS \
-- po/ChangeLog-2007
-+ old/textutils/NEWS
-
- EXTRA_DIST = \
- $(changelog_etc) \
-@@ -223,5 +222,4 @@ AM_CPPFLAGS = -Ilib -I$(top_srcdir)/lib
- include $(top_srcdir)/lib/local.mk
- include $(top_srcdir)/src/local.mk
- include $(top_srcdir)/doc/local.mk
--include $(top_srcdir)/man/local.mk
- include $(top_srcdir)/tests/local.mk
diff --git a/package/coreutils/patches/patch-configure_ac b/package/coreutils/patches/patch-configure_ac
deleted file mode 100644
index 2ec02088f..000000000
--- a/package/coreutils/patches/patch-configure_ac
+++ /dev/null
@@ -1,14 +0,0 @@
---- coreutils-8.24.orig/configure.ac 2015-06-26 19:05:22.000000000 +0200
-+++ coreutils-8.24/configure.ac 2015-07-06 20:55:57.000000000 +0200
-@@ -589,11 +589,6 @@ AM_CONDITIONAL([CROSS_COMPILING], [test
-
- ############################################################################
-
--# As long as "grep 'PRI[diouxX]' po/*.pot" reports matches in
--# translatable strings, we must use need-formatstring-macros here.
--AM_GNU_GETTEXT([external], [need-formatstring-macros])
--AM_GNU_GETTEXT_VERSION([0.19.2])
--
- # For a test of uniq: it uses the $LOCALE_FR envvar.
- gt_LOCALE_FR
-
diff --git a/package/coreutils/patches/patch-man_local_mk b/package/coreutils/patches/patch-man_local_mk
deleted file mode 100644
index 5bf9e5cc1..000000000
--- a/package/coreutils/patches/patch-man_local_mk
+++ /dev/null
@@ -1,16 +0,0 @@
---- coreutils-8.22.orig/man/local.mk 2013-12-04 15:48:30.000000000 +0100
-+++ coreutils-8.22/man/local.mk 2014-02-21 16:08:08.000000000 +0100
-@@ -18,12 +18,7 @@
-
- EXTRA_DIST += man/help2man man/dummy-man
-
--## Graceful degradation for systems lacking perl.
--if HAVE_PERL
--run_help2man = $(PERL) -- $(srcdir)/man/help2man
--else
--run_help2man = $(SHELL) $(srcdir)/man/dummy-man
--endif
-+run_help2man = echo
-
- man1_MANS = @man1_MANS@
- EXTRA_DIST += $(man1_MANS:.1=.x)
diff --git a/package/cpio/Makefile b/package/cpio/Makefile
index c1764b566..e1f03e8fa 100644
--- a/package/cpio/Makefile
+++ b/package/cpio/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= cpio
-PKG_VERSION:= 2.11
+PKG_VERSION:= 2.15
PKG_RELEASE:= 1
-PKG_HASH:= 601b1d774cd6e4cd39416203c91ec59dbd65dd27d79d75e1a9b89497ea643978
+PKG_HASH:= efa50ef983137eefc0a02fdb51509d624b5e3295c980aa127ceee4183455499e
PKG_DESCR:= archive utility
PKG_SECTION:= app/archive
PKG_URL:= http://www.gnu.org/software/cpio/
diff --git a/package/cpio/patches/patch-gnu_stdio_in_h b/package/cpio/patches/patch-gnu_stdio_in_h
deleted file mode 100644
index fa9b89fb8..000000000
--- a/package/cpio/patches/patch-gnu_stdio_in_h
+++ /dev/null
@@ -1,13 +0,0 @@
---- cpio-2.11.orig/gnu/stdio.in.h 2010-03-10 10:27:03.000000000 +0100
-+++ cpio-2.11/gnu/stdio.in.h 2013-07-16 12:56:00.000000000 +0200
-@@ -138,8 +138,10 @@ _GL_WARN_ON_USE (fflush, "fflush is not
- /* 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. */
-+/*
- #undef gets
- _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
-+*/
-
- #if @GNULIB_FOPEN@
- # if @REPLACE_FOPEN@
diff --git a/package/cpio/patches/patch-src_filetypes_h b/package/cpio/patches/patch-src_filetypes_h
deleted file mode 100644
index f33bfa9f3..000000000
--- a/package/cpio/patches/patch-src_filetypes_h
+++ /dev/null
@@ -1,8 +0,0 @@
---- cpio-2.11.orig/src/filetypes.h 2010-02-12 11:19:23.000000000 +0100
-+++ cpio-2.11/src/filetypes.h 2010-06-08 18:26:43.633473938 +0200
-@@ -82,4 +82,4 @@
- #define lstat stat
- #endif
- int lstat ();
--int stat ();
-+//int stat ();
diff --git a/package/crda/Makefile b/package/crda/Makefile
deleted file mode 100644
index c63608b6e..000000000
--- a/package/crda/Makefile
+++ /dev/null
@@ -1,53 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(ADK_TOPDIR)/rules.mk
-
-PKG_NAME:= crda
-PKG_VERSION:= 1.1.3
-PKG_RELEASE:= 1
-PKG_HASH:= aa8a7fe92f0765986c421a5b6768a185375ac210393df0605ee132f6754825f0
-PKG_DESCR:= central regulatory domain agent for wireless networks
-PKG_SECTION:= net/wifi
-PKG_DEPENDS:= libnl
-PKG_BUILDDEP:= libnl
-PKG_URL:= http://wireless.kernel.org/en/developers/Regulatory
-PKG_SITES:= http://linuxwireless.org/download/crda/
-
-DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.bz2
-
-PKG_FLAVOURS_CRDA:= WITH_UDEV
-PKGFD_WITH_UDEV:= install shipped udev rules
-PKGFS_WITH_UDEV:= udev
-PKGFB_WITH_UDEV:= eudev
-
-PKG_CHOICES_CRDA:= WITH_LIBRESSL WITH_GCRYPT
-PKGCD_WITH_LIBRESSL:= ssl support via libressl library
-PKGCB_WITH_LIBRESSL:= libressl
-PKGCS_WITH_LIBRESSL:= libressl
-PKGCD_WITH_GCRYPT:= ssl support via gcrypt library
-PKGCB_WITH_GCRYPT:= libgcrypt
-PKGCS_WITH_GCRYPT:= libgcrypt
-
-include $(ADK_TOPDIR)/mk/package.mk
-
-$(eval $(call PKG_template,CRDA,crda,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
-
-CONFIG_STYLE:= manual
-ALL_TARGET:= all_noverify
-
-ifneq ($(ADK_PACKAGE_CRDA_WITH_LIBRESSL),)
-XAKE_FLAGS+= USE_OPENSSL=1
-endif
-
-crda-install:
- $(INSTALL_DIR) $(IDIR_CRDA)/usr/sbin
- $(INSTALL_BIN) $(WRKINST)/sbin/{crda,regdbdump} \
- $(IDIR_CRDA)/usr/sbin
-ifneq ($(ADK_PACKAGE_CRDA_WITH_UDEV),)
- $(INSTALL_DIR) $(IDIR_CRDA)/lib/udev/rules.d
- $(INSTALL_DATA) $(WRKINST)/lib/udev/rules.d/85-regulatory.rules \
- $(IDIR_CRDA)/lib/udev/rules.d
-endif
-
-include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/crda/patches/patch-Makefile b/package/crda/patches/patch-Makefile
deleted file mode 100644
index 752b3aeb5..000000000
--- a/package/crda/patches/patch-Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
---- crda-1.1.3.orig/Makefile 2012-01-19 03:19:09.000000000 +0100
-+++ crda-1.1.3/Makefile 2015-11-14 09:17:04.000000000 +0100
-@@ -103,7 +103,7 @@ $(REG_BIN):
- keys-%.c: utils/key2pub.py $(wildcard $(PUBKEY_DIR)/*.pem)
- $(NQ) ' GEN ' $@
- $(NQ) ' Trusted pubkeys:' $(wildcard $(PUBKEY_DIR)/*.pem)
-- $(Q)./utils/key2pub.py --$* $(wildcard $(PUBKEY_DIR)/*.pem) $@
-+ $(Q)PATH="/usr/bin:/usr/local/bin" ./utils/key2pub.py --$* $(wildcard $(PUBKEY_DIR)/*.pem) $@
-
- %.o: %.c regdb.h reglib.h
- $(NQ) ' CC ' $@
diff --git a/package/cryptodev-linux/Makefile b/package/cryptodev-linux/Makefile
index cfd060552..d81a1b918 100644
--- a/package/cryptodev-linux/Makefile
+++ b/package/cryptodev-linux/Makefile
@@ -4,7 +4,7 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= cryptodev-linux
-PKG_VERSION:= a705360197260d28535746ae98c461ba2cfb7a9e
+PKG_VERSION:= 5e7121e45ff283d30097da381fd7e97c4bb61364
PKG_GIT:= hash
PKG_RELEASE:= 1
PKG_DESCR:= device that allows access to kernel cryptographic drivers
diff --git a/package/cryptsetup/Makefile b/package/cryptsetup/Makefile
index 2661ac0ae..1a24306ac 100644
--- a/package/cryptsetup/Makefile
+++ b/package/cryptsetup/Makefile
@@ -4,22 +4,63 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= cryptsetup
-PKG_VERSION:= 2.0.3
+PKG_VERSION:= 2.4.1
PKG_RELEASE:= 1
-PKG_HASH:= 4d6cca04c1f5ff4a68d045d190efb2623087eda0274ded92f92a4b6911e501d4
-PKG_DESCR:= utility used to conveniently setup disk encryption
+PKG_HASH:= a356a727a83a464ade566e95239622a22dbe4e0f482b198fdb04ab0d3a5a9c5f
+PKG_DESCR:= utility used to conveniently setup disk encryption
PKG_SECTION:= app/crypto
PKG_DEPENDS:= libgcrypt device-mapper libuuid libpopt json-c libncurses
PKG_BUILDDEP:= libgcrypt popt e2fsprogs lvm json-c ncurses
+PKG_NEEDS:= iconv
+PKG_KDEPENDS:= crypto-user-api-hash crypto-user-api-skcipher
+PKG_KDEPENDS+= crypto-user-api-rng crypto-user-api-aead
+# these are the default algorithms used by older and newer cryptsetup versions
+PKG_KDEPENDS+= dm-crypt crypto-essiv crypto-cbc crypto-xts
+PKG_KDEPENDS+= crypto-aes crypto-sha1 crypto-sha256
PKG_URL:= https://gitlab.com/cryptsetup/cryptsetup
-PKG_SITES:= https://www.kernel.org/pub/linux/utils/cryptsetup/v2.0/
+PKG_SITES:= https://www.kernel.org/pub/linux/utils/cryptsetup/v2.4/
PKG_OPTS:= dev
+PKG_FLAVOURS_CRYPTSETUP:= WITH_LIBARGON2
+PKGFD_WITH_LIBARGON2:= use libargon2 instead of the slow internal one
+PKGFS_WITH_LIBARGON2:= libargon2
+PKGFB_WITH_LIBARGON2:= libargon2
+PKGFX_WITH_LIBARGON2:= y
+
+PKG_CHOICES_CRYPTSETUP:= WITH_GCRYPT WITH_KERNEL WITH_NETTLE WITH_OPENSSL
+PKGCD_WITH_GCRYPT:= use libgcrypt crypto backend
+PKGCS_WITH_GCRYPT:= libgcrypt libgpg-error
+PKGCB_WITH_GCRYPT:= libgcrypt libgpg-error
+PKGCD_WITH_KERNEL:= use kernel user API crypto backend (slow)
+PKGCD_WITH_NETTLE:= use libnettle crypto backend
+PKGCS_WITH_NETTLE:= libnettle
+PKGCB_WITH_NETTLE:= libnettle
+PKGCD_WITH_OPENSSL:= use OpenSSL crypto backend
+PKGCS_WITH_OPENSSL:= libressl
+PKGCB_WITH_OPENSSL:= libressl
+
include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,CRYPTSETUP,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-CONFIGURE_ARGS+= --disable-selinux
+CONFIGURE_ARGS+= --disable-selinux \
+ --disable-ssh-token \
+ --disable-udev \
+ --disable-nls \
+ --enable-libargon2
+
+ifeq (${ADK_PACKAGE_CRYPTSETUP_WITH_GCRYPT},y)
+CONFIGURE_ARGS+= --with-crypto_backend=gcrypt
+endif
+ifeq (${ADK_PACKAGE_CRYPTSETUP_WITH_KERNEL},y)
+CONFIGURE_ARGS+= --with-crypto_backend=kernel
+endif
+ifeq (${ADK_PACKAGE_CRYPTSETUP_WITH_NETTLE},y)
+CONFIGURE_ARGS+= --with-crypto_backend=nettle
+endif
+ifeq (${ADK_PACKAGE_CRYPTSETUP_WITH_OPENSSL},y)
+CONFIGURE_ARGS+= --with-crypto_backend=openssl
+endif
cryptsetup-install:
${INSTALL_DIR} ${IDIR_CRYPTSETUP}/usr/sbin ${IDIR_CRYPTSETUP}/usr/lib
diff --git a/package/cups/Makefile b/package/cups/Makefile
index 1f4251669..9ecb5b17f 100644
--- a/package/cups/Makefile
+++ b/package/cups/Makefile
@@ -4,20 +4,19 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= cups
-PKG_VERSION:= 1.7.1
-PKG_RELEASE:= 4
-PKG_HASH:= f52bec893d9daf92b6029be79c07e6c516b4c85ffae3e6e01885cc85e9081681
+PKG_VERSION:= 2.3.6
+PKG_RELEASE:= 1
+PKG_HASH:= 3a96912fc88f62c5d8ac9b251bf0652f1cbe7e69cde16919103aea39f31a1a84
PKG_DESCR:= common unix printing system
PKG_SECTION:= net/misc
PKG_DEPENDS:= zlib
-PKG_BUILDDEP:= cups-host zlib
-PKG_NEEDS:= threads c++
+PKG_BUILDDEP:= zlib
+PKG_NEEDS:= threads c++ iconv
PKG_URL:= http://www.cups.org/
-PKG_SITES:= http://www.cups.org/software/${PKG_VERSION}/
+PKG_SITES:= https://github.com/apple/cups/archive/refs/tags/
PKG_OPTS:= dev
-PKG_NOPARALLEL:= 1
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}-source.tar.bz2
+DISTFILES:= v${PKG_VERSION}.tar.gz
include ${ADK_TOPDIR}/mk/host.mk
include ${ADK_TOPDIR}/mk/package.mk
@@ -25,35 +24,25 @@ include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call HOST_template,CUPS,cups,${PKG_VERSION}-${PKG_RELEASE}))
$(eval $(call PKG_template,CUPS,cups,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-ifeq ($(ADK_PACKAGE_LIBICONV),y)
-TARGET_LDFLAGS+= -liconv
-endif
-
ifneq ($(ADK_HOST_LINUX),y)
HOST_LINUX_ONLY:= 1
endif
-HOST_LDFLAGS+= -liconv
HOST_CONFIGURE_ARGS+= --disable-tcp-wrappers \
--disable-webif \
--disable-gssapi \
--disable-avahi \
--disable-pam \
--disable-dbus \
- --without-java \
- --without-perl \
- --without-python \
- --without-php \
--disable-gnutls \
- --disable-openssl \
--disable-cdsassl \
--disable-dbus \
--disable-ssl \
+ --disable-systemd \
--with-components=core \
--with-rcdir=$(STAGING_HOST_DIR)/etc
CONFIGURE_ENV+= ac_cv_func_sigset=no \
OPTIM='-fPIC -std=c89' LSB_BUILD=y
-
CONFIGURE_ARGS+= --with-cups-user=cups \
--with-cups-group=cups \
--libdir=/usr/lib \
@@ -76,8 +65,6 @@ CONFIGURE_ARGS+= --with-cups-user=cups \
--with-components=core \
--with-rcdir=$(STAGING_TARGET_DIR)/etc
-FAKE_FLAGS+= DSTROOT="${WRKINST}" STRIP="/bin/true"
-
cups-install:
${INSTALL_DIR} ${IDIR_CUPS}/usr/lib
${CP} ${WRKINST}/usr/lib/libcups*.so* ${IDIR_CUPS}/usr/lib/
diff --git a/package/cups/patches/patch-Makedefs_in b/package/cups/patches/patch-Makedefs_in
deleted file mode 100644
index 1a8f91894..000000000
--- a/package/cups/patches/patch-Makedefs_in
+++ /dev/null
@@ -1,10 +0,0 @@
---- cups-1.7.1.orig/Makedefs.in 2013-07-17 17:21:18.000000000 +0200
-+++ cups-1.7.1/Makedefs.in 2014-01-31 08:40:55.000000000 +0100
-@@ -238,7 +238,6 @@ DBUSDIR = @DBUSDIR@
- # Rules...
- #
-
--.SILENT:
- .SUFFIXES: .1 .1.gz .1m .1m.gz .3 .3.gz .5 .5.gz .7 .7.gz .8 .8.gz .a .c .cxx .h .man .o .gz
-
- .c.o:
diff --git a/package/cups/patches/patch-configure b/package/cups/patches/patch-configure
deleted file mode 100644
index 3a4974140..000000000
--- a/package/cups/patches/patch-configure
+++ /dev/null
@@ -1,14 +0,0 @@
---- cups-1.7.1.orig/configure 2014-01-08 17:26:27.000000000 +0100
-+++ cups-1.7.1/configure 2014-01-31 16:48:50.000000000 +0100
-@@ -2490,9 +2490,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
--uname=`uname`
--uversion=`uname -r | sed -e '1,$s/^[^0-9]*\([0-9]*\)\.\([0-9]*\).*/\1\2/'`
--uarch=`uname -m`
-+uname=Linux
-+uversion=3.0
-
- case "$uname" in
- Darwin*)
diff --git a/package/curl/Makefile b/package/curl/Makefile
index b4e1f5abc..f01184500 100644
--- a/package/curl/Makefile
+++ b/package/curl/Makefile
@@ -4,31 +4,36 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= curl
-PKG_VERSION:= 7.60.0
+PKG_VERSION:= 8.6.0
PKG_RELEASE:= 1
-PKG_HASH:= 8736ff8ded89ddf7e926eec7b16f82597d029fc1469f3a551f1fafaac164e6a0
+PKG_HASH:= 3ccd55d91af9516539df80625f818c734dc6f2ecf9bada33c76765e99121db15
PKG_DESCR:= client-side url transfer tool
PKG_SECTION:= net/http
-PKG_DEPENDS:= libcurl
PKG_BUILDDEP:= zlib
PKG_NEEDS:= threads
-PKG_URL:= http://curl.haxx.se/
-PKG_SITES:= http://curl.haxx.se/download/
+PKG_URL:= https://curl.se/
+PKG_SITES:= https://curl.se/download/
PKG_LIBNAME:= libcurl
PKG_OPTS:= dev
-PKG_SUBPKGS:= CURL LIBCURL
+PKG_SUBPKGS:= LIBCURL CURL
PKGSD_LIBCURL:= client-side url transfer library
PKGSC_LIBCURL:= libs/net
PKGSS_LIBCURL:= zlib
+PKGSD_CURL:= client-side url transfer utiity
+PKGSC_CURL:= net/http
+PKGSS_CURL:= zlib libcurl
-PKG_FLAVOURS_CURL:= WITH_IPV6
+PKG_FLAVOURS_LIBCURL:= WITH_IPV6
PKGFD_WITH_IPV6:= enable ipv6 support
-PKG_CHOICES_CURL:= WITH_LIBRESSL WITH_GNUTLS WITH_WOLFSSL WITHOUT_SSL
+PKG_CHOICES_LIBCURL:= WITH_LIBRESSL WITH_OPENSSL WITH_GNUTLS WITH_WOLFSSL WITHOUT_SSL
PKGCD_WITH_LIBRESSL:= use libressl for crypto
PKGCS_WITH_LIBRESSL:= libressl ca-certificates
PKGCB_WITH_LIBRESSL:= libressl
+PKGCD_WITH_OPENSSL:= use libopenssl for crypto
+PKGCS_WITH_OPENSSL:= libopenssl ca-certificates
+PKGCB_WITH_OPENSSL:= openssl
PKGCD_WITH_GNUTLS:= use gnutls for crypto
PKGCS_WITH_GNUTLS:= libgnutls ca-certificates
PKGCB_WITH_GNUTLS:= gnutls
@@ -41,40 +46,43 @@ include ${ADK_TOPDIR}/mk/host.mk
include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call HOST_template,CURL,curl,${PKG_VERSION}-${PKG_RELEASE}))
-$(eval $(call PKG_template,CURL,curl,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,LIBCURL,libcurl,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_LIBCURL},${PKGSD_LIBCURL},${PKGSC_LIBCURL},${PKG_OPTS}))
+$(eval $(call PKG_template,CURL,curl,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-ifeq (${ADK_PACKAGE_CURL_WITH_LIBRESSL},y)
-CONFIGURE_ARGS+= --with-ssl="${STAGING_TARGET_DIR}/usr" \
- --without-gnutls \
- --without-axtls
+HOST_CONFIGURE_ARGS+= --without-ssl \
+ --without-libpsl
+
+ifeq (${ADK_PACKAGE_LIBCURL_WITH_LIBRESSL},y)
+CONFIGURE_ARGS+= --with-openssl="${STAGING_TARGET_DIR}/usr" \
+ --without-gnutls
+endif
+ifeq (${ADK_PACKAGE_LIBCURL_WITH_OPENSSL},y)
+CONFIGURE_ARGS+= --with-openssl="${STAGING_TARGET_DIR}/usr" \
+ --without-gnutls
endif
-ifeq (${ADK_PACKAGE_CURL_WITH_GNUTLS},y)
+ifeq (${ADK_PACKAGE_LIBCURL_WITH_GNUTLS},y)
CONFIGURE_ARGS+= --with-gnutls="${STAGING_TARGET_DIR}/usr" \
- --without-ssl \
- --without-axtls
+ --without-openssl
endif
-ifeq (${ADK_PACKAGE_CURL_WITH_WOLFSSL},y)
+ifeq (${ADK_PACKAGE_LIBCURL_WITH_WOLFSSL},y)
CONFIGURE_ARGS+= --with-cyassl="${STAGING_TARGET_DIR}/usr" \
- --without-ssl \
- --without-gnutls \
- --without-axtls
+ --without-openssl \
+ --without-gnutls
endif
-ifeq (${ADK_PACKAGE_CURL_WITHOUT_SSL},y)
+ifeq (${ADK_PACKAGE_LIBCURL_WITHOUT_SSL},y)
CONFIGURE_ARGS+= --without-ssl \
- --without-gnutls \
- --without-axtls
+ --without-gnutls
endif
-CONFIGURE_ENV+= curl_typeof_curl_socklen_t=socklen_t
+CONFIGURE_ENV+= curl_typeof_curl_socklen_t=socklen_t \
+ LDFLAGS='$(TARGET_LDFLAGS) -latomic'
CONFIGURE_ARGS+= --enable-cookies \
- --enable-crypto-auth \
- --enable-nonblocking \
--enable-file \
--enable-ftp \
--enable-http \
--enable-proxy \
--disable-curldebug \
+ --disable-ntlm \
--disable-ntlm-wb \
--disable-symbol-hiding \
--disable-ares \
@@ -89,13 +97,13 @@ CONFIGURE_ARGS+= --enable-cookies \
--disable-telnet \
--disable-verbose \
--without-libssh2 \
+ --without-libpsl \
--without-librtmp \
- --without-libidn \
--with-ca-path="/etc/ssl/certs" \
--with-random="/dev/urandom" \
--without-ca-bundle
-ifneq (${ADK_PACKAGE_CURL_WITH_IPV6},)
+ifneq (${ADK_PACKAGE_LIBCURL_WITH_IPV6},)
CONFIGURE_ARGS+= --enable-ipv6
else
CONFIGURE_ARGS+= --disable-ipv6
diff --git a/package/cxxtools/Makefile b/package/cxxtools/Makefile
deleted file mode 100644
index 0d02595c8..000000000
--- a/package/cxxtools/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include ${ADK_TOPDIR}/rules.mk
-
-PKG_NAME:= cxxtools
-PKG_VERSION:= 2.2.1
-PKG_RELEASE:= 2
-PKG_HASH:= 8cebb6d6cda7c93cc4f7c0d552a68d50dd5530b699cf87916bb3b708fdc4e342
-PKG_DESCR:= collection of general-purpose c++ classes
-PKG_NEEDS:= c++
-PKG_SECTION:= libs/misc
-PKG_URL:= http://www.tntnet.org/
-PKG_SITES:= http://www.tntnet.org/download/
-PKG_OPTS:= dev
-
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
-
-include ${ADK_TOPDIR}/mk/package.mk
-
-$(eval $(call PKG_template,CXXTOOLS,cxxtools,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-
-ifeq ($(ADK_TARGET_ARCH_XTENSA),y)
-CONFIGURE_ARGS+= --with-atomictype=generic
-endif
-ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI3),y)
-CONFIGURE_ARGS+= --with-atomictype=pthread
-endif
-ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI3P),y)
-CONFIGURE_ARGS+= --with-atomictype=pthread
-endif
-CONFIGURE_ARGS+= --disable-demos \
- --disable-unittest
-
-cxxtools-install:
- ${INSTALL_DIR} ${IDIR_CXXTOOLS}/usr/lib
- ${CP} ${WRKINST}/usr/lib/libcxxtools.so* ${IDIR_CXXTOOLS}/usr/lib
-
-include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/dansguardian/Makefile b/package/dansguardian/Makefile
deleted file mode 100644
index 4d27872ed..000000000
--- a/package/dansguardian/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include ${ADK_TOPDIR}/rules.mk
-
-PKG_NAME:= dansguardian
-PKG_VERSION:= 2.12.0.3
-PKG_RELEASE:= 2
-PKG_HASH:= c74e9a32b97f9a9a056fced3da23fe48fca2bc6aa9af670afe9a53dc819414f5
-PKG_DESCR:= web content filter proxy
-PKG_SECTION:= net/proxy
-PKG_DEPENDS:= libpcre zlib
-PKG_BUILDDEP:= pcre zlib
-PKG_NEEDS:= c++
-PKG_URL:= http://dansguardian.org/
-PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=dansguardian/}
-
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
-
-include ${ADK_TOPDIR}/mk/package.mk
-
-$(eval $(call PKG_template,DANSGUARDIAN,dansguardian,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-
-CONFIGURE_ARGS+= --enable-orig-ip \
- --with-proxyuser=proxy \
- --with-proxygroup=proxy
-
-dansguardian-install:
- ${INSTALL_DIR} ${IDIR_DANSGUARDIAN}/usr/sbin \
- ${IDIR_DANSGUARDIAN}/etc/dansguardian \
- ${IDIR_DANSGUARDIAN}/usr/share/dansguardian/languages/ukenglish
- ${CP} ${WRKINST}/usr/share/dansguardian/languages/ukenglish/* \
- ${IDIR_DANSGUARDIAN}/usr/share/dansguardian/languages/ukenglish
- ${CP} ${WRKINST}/usr/share/dansguardian/transparent1x1.gif \
- ${IDIR_DANSGUARDIAN}/usr/share/dansguardian
- ${CP} ${WRKINST}/etc/dansguardian/* \
- ${IDIR_DANSGUARDIAN}/etc/dansguardian
- ${INSTALL_BIN} ${WRKINST}/usr/sbin/dansguardian \
- ${IDIR_DANSGUARDIAN}/usr/sbin/
-
-include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/dansguardian/files/dansguardian.init b/package/dansguardian/files/dansguardian.init
deleted file mode 100644
index f8f40a9ca..000000000
--- a/package/dansguardian/files/dansguardian.init
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/sh
-#PKG dansguardian
-#INIT 80
-
-. /etc/rc.conf
-
-case $1 in
-autostop) ;;
-autostart)
- test x"${dansguardian:-NO}" = x"NO" && exit 0
- test x"$dansguardian" = x"DAEMON" && test -x /bin/mksh && exec mksh -T- $0 start
- exec sh $0 start
- ;;
-start)
- if [ ! -f /var/log/dansguardian-access.log ];then
- touch /var/log/dansguardian-access.log
- chown proxy:proxy /var/log/dansguardian-access.log
- fi
- /usr/sbin/dansguardian
- ;;
-stop)
- kill $(pgrep -f /usr/sbin/dansguardian)
- ;;
-restart)
- sh $0 stop
- sh $0 start
- ;;
-
-*)
- echo "usage: $0 {start | stop | restart}"
- exit 1
-esac
-exit $?
diff --git a/package/dansguardian/files/dansguardian.postinst b/package/dansguardian/files/dansguardian.postinst
deleted file mode 100644
index 8068f3d34..000000000
--- a/package/dansguardian/files/dansguardian.postinst
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-. $IPKG_INSTROOT/etc/functions.sh
-gid=$(get_next_gid)
-add_user dansguardian $(get_next_uid) $gid /etc/dansguardian
-add_group dansguardian $gid
-add_rcconf dansguardian NO
diff --git a/package/dansguardian/patches/patch-src_ImageContainer_cpp b/package/dansguardian/patches/patch-src_ImageContainer_cpp
deleted file mode 100644
index 27ccecafc..000000000
--- a/package/dansguardian/patches/patch-src_ImageContainer_cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- dansguardian-2.12.0.3.orig/src/ImageContainer.cpp 2012-09-29 22:06:45.000000000 +0200
-+++ dansguardian-2.12.0.3/src/ImageContainer.cpp 2013-12-07 10:07:04.000000000 +0100
-@@ -16,6 +16,7 @@
- #include <stdexcept>
- #include <cerrno>
- #include <limits.h>
-+#include <string.h>
-
-
- // GLOBALS
diff --git a/package/dansguardian/patches/patch-src_SocketArray_cpp b/package/dansguardian/patches/patch-src_SocketArray_cpp
deleted file mode 100644
index c08c483eb..000000000
--- a/package/dansguardian/patches/patch-src_SocketArray_cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- dansguardian-2.12.0.3.orig/src/SocketArray.cpp 2011-08-02 15:31:45.000000000 +0200
-+++ dansguardian-2.12.0.3/src/SocketArray.cpp 2013-12-07 10:07:51.000000000 +0100
-@@ -14,6 +14,7 @@
-
- #include <syslog.h>
- #include <cerrno>
-+#include <string.h>
-
-
- // GLOBALS
diff --git a/package/dansguardian/patches/patch-src_UDSocket_cpp b/package/dansguardian/patches/patch-src_UDSocket_cpp
deleted file mode 100644
index 3922e98f1..000000000
--- a/package/dansguardian/patches/patch-src_UDSocket_cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- dansguardian-2.12.0.3.orig/src/UDSocket.cpp 2012-09-29 22:06:45.000000000 +0200
-+++ dansguardian-2.12.0.3/src/UDSocket.cpp 2013-12-07 10:05:50.000000000 +0100
-@@ -21,6 +21,7 @@
- #include <unistd.h>
- #include <stdexcept>
- #include <stddef.h>
-+#include <string.h>
-
- #ifdef DGDEBUG
- #include <iostream>
diff --git a/package/daq/Makefile b/package/daq/Makefile
index 536edead0..3e72dca8c 100644
--- a/package/daq/Makefile
+++ b/package/daq/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= daq
-PKG_VERSION:= 2.0.6
+PKG_VERSION:= 2.0.7
PKG_RELEASE:= 1
-PKG_HASH:= d41da5f7793e66044e6927dd868c0525e7ee4ec1a3515bf74ef9a30cd9273af0
+PKG_HASH:= d1f6709bc5dbddee3fdf170cdc1e49fb926e2031d4869ecf367a8c47efc87279
PKG_DESCR:= data acquisition library
PKG_SECTION:= libs/misc
PKG_DEPENDS:= libpcap libdnet
diff --git a/package/davfs2/Makefile b/package/davfs2/Makefile
index 79cb2f960..556ccb9f1 100644
--- a/package/davfs2/Makefile
+++ b/package/davfs2/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= davfs2
-PKG_VERSION:= 1.5.2
+PKG_VERSION:= 1.7.0
PKG_RELEASE:= 1
-PKG_HASH:= be34a19ab57a6ea77ecb82083e9e4c1882e12b2de64257de567ad5ee7a17b358
+PKG_HASH:= 251db75a27380cca1330b1b971700c5e5dcc0c90e5a47622285f0140edfe3a2f
PKG_DESCR:= webdav filesystem
PKG_SECTION:= net/fs
PKG_DEPENDS:= fuse-utils neon
@@ -14,7 +14,7 @@ PKG_BUILDDEP:= neon fuse
PKG_URL:= http://savannah.nongnu.org/projects/davfs2/
PKG_SITES:= http://download.savannah.gnu.org/releases/davfs2/
-PKG_LIBC_DEPENDS:= uclibc-ng glibc
+PKG_LIBC_DEPENDS:= glibc
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
@@ -22,7 +22,7 @@ include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,DAVFS2,davfs2,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-AUTOTOOLS_STYLE:= autoreconf
+AUTOTOOL_STYLE:= autoreconf
CONFIGURE_ARGS+= --with-neon
CONFIGURE_ENV+= ac_cv_func_malloc_0_nonnull=yes
diff --git a/package/davfs2/patches/patch-configure_ac b/package/davfs2/patches/patch-configure_ac
new file mode 100644
index 000000000..c07fcf365
--- /dev/null
+++ b/package/davfs2/patches/patch-configure_ac
@@ -0,0 +1,11 @@
+--- davfs2-1.7.0.orig/configure.ac 2022-09-08 22:17:15.000000000 +0200
++++ davfs2-1.7.0/configure.ac 2024-02-22 09:55:30.529042778 +0100
+@@ -36,7 +36,7 @@ AC_PROG_LN_S
+ # Checks for libraries.
+ AM_GNU_GETTEXT_VERSION(0.19.8)
+ AM_GNU_GETTEXT([external])
+-NE_REQUIRE_VERSIONS([0], [27 28 29 30 31 32])
++NE_REQUIRE_VERSIONS([0], [27 28 29 30 31 32 33])
+ DAV_CHECK_NEON
+
+ # Checks for header files.
diff --git a/package/davfs2/patches/patch-src_Makefile_am b/package/davfs2/patches/patch-src_Makefile_am
deleted file mode 100644
index 318ebd27b..000000000
--- a/package/davfs2/patches/patch-src_Makefile_am
+++ /dev/null
@@ -1,12 +0,0 @@
---- davfs2-1.5.2.orig/src/Makefile.am 2014-04-22 21:19:02.000000000 +0200
-+++ davfs2-1.5.2/src/Makefile.am 2015-10-20 07:52:29.000000000 +0200
-@@ -32,8 +32,7 @@ mount_davfs_SOURCES = cache.c dav_coda.c
- kernel_interface.h mount_davfs.h webdav.h
- umount_davfs_SOURCES = umount_davfs.c defaults.h
-
--AM_CFLAGS = -Wall -Werror=format-security \
-- -fstack-protector --param=ssp-buffer-size=4
-+AM_CFLAGS = -Wall -Werror=format-security
- DEFS = -DPROGRAM_NAME=\"mount.davfs\" \
- -DDAV_SYS_CONF_DIR=\"$(pkgsysconfdir)\" \
- -DDAV_LOCALSTATE_DIR=\"$(dav_localstatedir)\" \
diff --git a/package/davfs2/patches/patch-src_Makefile_in b/package/davfs2/patches/patch-src_Makefile_in
deleted file mode 100644
index c99e6071d..000000000
--- a/package/davfs2/patches/patch-src_Makefile_in
+++ /dev/null
@@ -1,12 +0,0 @@
---- davfs2-1.5.2.orig/src/Makefile.in 2014-08-23 20:13:17.000000000 +0200
-+++ davfs2-1.5.2/src/Makefile.in 2016-09-24 10:24:45.225043359 +0200
-@@ -248,8 +248,7 @@ mount_davfs_SOURCES = cache.c dav_coda.c
- kernel_interface.h mount_davfs.h webdav.h
-
- umount_davfs_SOURCES = umount_davfs.c defaults.h
--AM_CFLAGS = -Wall -Werror=format-security \
-- -fstack-protector --param=ssp-buffer-size=4
-+AM_CFLAGS =
-
- all: all-am
-
diff --git a/package/dbus-python/Makefile b/package/dbus-python/Makefile
index 41bddeadd..ead0f05b9 100644
--- a/package/dbus-python/Makefile
+++ b/package/dbus-python/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= dbus-python
-PKG_VERSION:= 1.2.0
-PKG_RELEASE:= 2
-PKG_HASH:= e12c6c8b2bf3a9302f75166952cbe41d6b38c3441bbc6767dbd498942316c6df
+PKG_VERSION:= 1.3.2
+PKG_RELEASE:= 1
+PKG_HASH:= ad67819308618b5069537be237f8e68ca1c7fcc95ee4a121fe6845b1418248f8
PKG_DESCR:= python bindings for dbus
PKG_SECTION:= dev/python
PKG_DEPENDS:= dbus dbus-glib
@@ -20,15 +20,17 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,DBUS_PYTHON,dbus-python,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+include $(ADK_TOPDIR)/mk/python3.mk
+
dbus-python-install:
- $(INSTALL_DIR) $(IDIR_DBUS_PYTHON)/usr/lib/python2.7/site-packages/
- $(CP) $(WRKINST)/usr/lib/python2.7/site-packages/*.so \
- $(IDIR_DBUS_PYTHON)/usr/lib/python2.7/site-packages/
- $(INSTALL_DIR) $(IDIR_DBUS_PYTHON)/usr/lib/python2.7/site-packages/dbus
- $(CP) $(WRKINST)/usr/lib/python2.7/site-packages/dbus/*.py \
- $(IDIR_DBUS_PYTHON)/usr/lib/python2.7/site-packages/dbus/
- $(INSTALL_DIR) $(IDIR_DBUS_PYTHON)/usr/lib/python2.7/site-packages/dbus/mainloop
- $(CP) $(WRKINST)/usr/lib/python2.7/site-packages/dbus/mainloop/*.py \
- $(IDIR_DBUS_PYTHON)/usr/lib/python2.7/site-packages/dbus/mainloop
+ $(INSTALL_DIR) $(IDIR_DBUS_PYTHON)/usr/lib/python$(PYTHON_VERSION)/site-packages/
+ $(CP) $(WRKINST)/usr/lib/python$(PYTHON_VERSION)/site-packages/*.so \
+ $(IDIR_DBUS_PYTHON)/usr/lib/python$(PYTHON_VERSION)/site-packages/
+ $(INSTALL_DIR) $(IDIR_DBUS_PYTHON)/usr/lib/python$(PYTHON_VERSION)/site-packages/dbus
+ $(CP) $(WRKINST)/usr/lib/python$(PYTHON_VERSION)/site-packages/dbus/*.py \
+ $(IDIR_DBUS_PYTHON)/usr/lib/python$(PYTHON_VERSION)/site-packages/dbus/
+ $(INSTALL_DIR) $(IDIR_DBUS_PYTHON)/usr/lib/python$(PYTHON_VERSION)/site-packages/dbus/mainloop
+ $(CP) $(WRKINST)/usr/lib/python$(PYTHON_VERSION)/site-packages/dbus/mainloop/*.py \
+ $(IDIR_DBUS_PYTHON)/usr/lib/python$(PYTHON_VERSION)/site-packages/dbus/mainloop
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/dbus-python/patches/patch-configure b/package/dbus-python/patches/patch-configure
deleted file mode 100644
index f13116469..000000000
--- a/package/dbus-python/patches/patch-configure
+++ /dev/null
@@ -1,11 +0,0 @@
---- dbus-python-1.2.0.orig/configure 2013-05-08 09:48:42.000000000 +0200
-+++ dbus-python-1.2.0/configure 2013-12-13 12:52:44.522656370 +0100
-@@ -11762,7 +11762,7 @@ $as_echo "$as_me: PYTHON_INCLUDES overri
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python headers using $PYTHON-config --includes" >&5
- $as_echo_n "checking for Python headers using $PYTHON-config --includes... " >&6; }
-- PYTHON_INCLUDES=`$PYTHON-config --includes`
-+ PYTHON_INCLUDES=`python-config --includes`
- if test $? = 0; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_INCLUDES" >&5
- $as_echo "$PYTHON_INCLUDES" >&6; }
diff --git a/package/dbus/Makefile b/package/dbus/Makefile
index c32a5fdcd..90ac2f089 100644
--- a/package/dbus/Makefile
+++ b/package/dbus/Makefile
@@ -5,7 +5,7 @@ include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= dbus
PKG_VERSION:= 1.10.20
-PKG_RELEASE:= 1
+PKG_RELEASE:= 3
PKG_HASH:= e574b9780b5425fde4d973bb596e7ea0f09e00fe2edd662da9016e976c460b48
PKG_DESCR:= desktop bus daemon
PKG_SECTION:= sys/misc
@@ -24,10 +24,6 @@ PKGSD_LIBDBUS:= DBUS library
PKGSC_LIBDBUS:= libs/misc
PKGSS_LIBDBUS:= libexpat libuuid
-PKG_FLAVOURS_DBUS:= WITH_SYSTEMD
-PKGFD_WITH_SYSTEMD:= enable systemd support
-PKGFB_WITH_SYSTEMD:= systemd
-
include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,DBUS,dbus,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
@@ -36,20 +32,15 @@ $(eval $(call PKG_template,LIBDBUS,libdbus,${PKG_VERSION}-${PKG_RELEASE},${PKGSS
TARGET_LDFLAGS+= -luuid
AUTOTOOL_STYLE:= autoreconf
-ifeq ($(ADK_PACKAGE_DBUS_WITH_SYSTEMD),y)
-CONFIGURE_ARGS+= --enable-systemd --with-systemdsystemunitdir=/usr/lib/systemd/system
-TARGET_LDFLAGS+= -lsystemd
-else
-CONFIGURE_ARGS+= --disable-systemd
-endif
-
-CONFIGURE_ARGS+= --disable-tests \
+CONFIGURE_ARGS+= --disable-systemd \
+ --disable-tests \
--disable-asserts \
--enable-abstract-sockets \
--with-dbus-user=dbus \
--with-system-socket=/run/dbus/system_bus_socket \
--with-system-pid-file=/run/dbus/dbus.pid \
--disable-verbose-mode \
+ --disable-apparmor \
--disable-kqueue \
--disable-selinux \
--disable-libaudit \
@@ -76,10 +67,6 @@ dbus-install:
${CP} ${WRKINST}/etc/dbus-1 ${IDIR_DBUS}/etc
${CP} ${WRKINST}/usr/share/dbus-1 ${IDIR_DBUS}/usr/share
${CP} ${WRKINST}/usr/bin/dbus-* ${IDIR_DBUS}/usr/bin
-ifeq ($(ADK_PACKAGE_DBUS_WITH_SYSTEMD),y)
- ${INSTALL_DIR} ${IDIR_DBUS}/usr/lib/systemd
- ${CP} ${WRKINST}/usr/lib/systemd/* ${IDIR_DBUS}/usr/lib/systemd
-endif
# workaround for dev subpackage
${INSTALL_DIR} $(IDIR_DBUS_DEV)/usr/include/dbus-1.0/dbus
$(CP) $(WRKBUILD)/dbus/dbus-arch-deps.h \
diff --git a/package/deco/Makefile b/package/deco/Makefile
index 532f9e22a..bb3c1ca08 100644
--- a/package/deco/Makefile
+++ b/package/deco/Makefile
@@ -20,6 +20,7 @@ include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,DECO,deco,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+TARGET_CFLAGS+= -fcommon
TARGET_LDFLAGS+= -ltinfo
INSTALL_STYLE:= manual
diff --git a/package/dhcp/Makefile b/package/dhcp/Makefile
index d86e13725..a007837d1 100644
--- a/package/dhcp/Makefile
+++ b/package/dhcp/Makefile
@@ -4,13 +4,13 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= dhcp
-PKG_VERSION:= 4.3.5
+PKG_VERSION:= 4.4.3-P1
PKG_RELEASE:= 1
-PKG_HASH:= eb95936bf15d2393c55dd505bc527d1d4408289cec5a9fa8abb99f7577e7f954
+PKG_HASH:= 0ac416bb55997ca8632174fd10737fd61cdb8dba2752160a335775bc21dc73c7
PKG_DESCR:= dhcp server
PKG_SECTION:= net/dns
PKG_URL:= https://www.isc.org/software/dhcp/
-PKG_SITES:= ftp://ftp.isc.org/isc/dhcp/${PKG_VERSION}/
+PKG_SITES:= https://downloads.isc.org/isc/dhcp/$(PKG_VERSION)/
PKG_NOPARALLEL:= 1
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
diff --git a/package/dhcp/patches/patch-bind_Makefile_in b/package/dhcp/patches/patch-bind_Makefile_in
deleted file mode 100644
index 8f686ec26..000000000
--- a/package/dhcp/patches/patch-bind_Makefile_in
+++ /dev/null
@@ -1,13 +0,0 @@
---- dhcp-4.3.5.orig/bind/Makefile.in 2016-09-27 21:54:32.000000000 +0200
-+++ dhcp-4.3.5/bind/Makefile.in 2016-11-26 07:21:39.000000000 +0100
-@@ -30,7 +30,9 @@ bindconfig = --disable-kqueue --disable-
- --without-openssl --without-libxml2 --enable-exportlib \
- --with-gssapi=no --enable-threads=no @BINDCONFIG@ \
- --with-export-includedir=${binddir}/include \
-- --with-export-libdir=${binddir}/lib
-+ --with-export-libdir=${binddir}/lib \
-+ --target=@target_alias@ --host=@host_alias@ \
-+ --build=@build_alias@
-
- @BIND_ATF_FALSE@cleandirs = ./lib ./include
- @BIND_ATF_TRUE@cleandirs = ./lib ./include ./atf
diff --git a/package/dhcp/patches/patch-common_discover_c b/package/dhcp/patches/patch-common_discover_c
deleted file mode 100644
index 372ca8e1c..000000000
--- a/package/dhcp/patches/patch-common_discover_c
+++ /dev/null
@@ -1,13 +0,0 @@
---- dhcp-4.3.5.orig/common/discover.c 2016-09-27 21:16:50.000000000 +0200
-+++ dhcp-4.3.5/common/discover.c 2016-11-26 07:09:35.000000000 +0100
-@@ -692,8 +692,8 @@ next_iface6(struct iface_info *info, int
- for (i=0; i<16; i++) {
- unsigned char byte;
- static const char hex[] = "0123456789abcdef";
-- byte = ((index(hex, buf[i * 2]) - hex) << 4) |
-- (index(hex, buf[i * 2 + 1]) - hex);
-+ byte = ((strchr(hex, buf[i * 2]) - hex) << 4) |
-+ (strchr(hex, buf[i * 2 + 1]) - hex);
- addr.sin6_addr.s6_addr[i] = byte;
- }
- memcpy(&info->addr, &addr, sizeof(addr));
diff --git a/package/dillo/Makefile b/package/dillo/Makefile
index 31316f69c..0535edb69 100644
--- a/package/dillo/Makefile
+++ b/package/dillo/Makefile
@@ -24,6 +24,8 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,DILLO,dillo,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+TARGET_CFLAGS+= -fcommon
+TARGET_CXXFLAGS+= -fcommon
TARGET_LDFLAGS+= -liconv
CONFIGURE_ENV+= PNG_CONFIG=$(STAGING_TARGET_DIR)/scripts/libpng-config
CONFIGURE_ARGS+= --enable-ssl
diff --git a/package/dillo/patches/patch-dpi_https_c b/package/dillo/patches/patch-dpi_https_c
new file mode 100644
index 000000000..90c91198d
--- /dev/null
+++ b/package/dillo/patches/patch-dpi_https_c
@@ -0,0 +1,14 @@
+--- dillo-3.0.5.orig/dpi/https.c 2015-06-30 16:06:08.000000000 +0200
++++ dillo-3.0.5/dpi/https.c 2024-03-04 08:18:34.867259406 +0100
+@@ -476,7 +476,11 @@ static int handle_certificate_problem(SS
+ case X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT:
+ /*Either self signed and untrusted*/
+ /*Extract CN from certificate name information*/
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ if ((cn = strstr(remote_cert->name, "/CN=")) == NULL) {
++#else
++ if ((cn = strstr(X509_get_subject_name(remote_cert), "/CN=")) == NULL) {
++#endif
+ strcpy(buf, "(no CN given)");
+ } else {
+ char *cn_end;
diff --git a/package/dnsmasq/Makefile b/package/dnsmasq/Makefile
index 7c80b2be3..d204305b0 100644
--- a/package/dnsmasq/Makefile
+++ b/package/dnsmasq/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= dnsmasq
-PKG_VERSION:= 2.81
+PKG_VERSION:= 2.90
PKG_RELEASE:= 1
-PKG_HASH:= 749ca903537c5197c26444ac24b0dce242cf42595fdfe6b9a5b9e4c7ad32f8fb
+PKG_HASH:= 8e50309bd837bfec9649a812e066c09b6988b73d749b7d293c06c57d46a109e4
PKG_DESCR:= lightweight dns, dhcp and tftp server
PKG_SECTION:= net/dns
PKG_KDEPENDS:= inotify-user
diff --git a/package/dosfstools/Makefile b/package/dosfstools/Makefile
index f015fa37a..8238eced9 100644
--- a/package/dosfstools/Makefile
+++ b/package/dosfstools/Makefile
@@ -4,14 +4,15 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= dosfstools
-PKG_VERSION:= 4.1
+PKG_VERSION:= 4.2
PKG_RELEASE:= 1
-PKG_HASH:= e6b2aca70ccc3fe3687365009dd94a2e18e82b688ed4e260e04b7412471cc173
+PKG_HASH:= 64926eebf90092dca21b14259a5301b7b98e7b1943e8a201c7d726084809b527
PKG_DESCR:= utilities to create and check fat filesystems
PKG_SECTION:= sys/fs
-PKG_NEEDS:= iconv
PKG_URL:= http://www.daniel-baumann.ch/software/dosfstools/
-PKG_SITES:= https://github.com/dosfstools/dosfstools/releases/download/v$(PKG_VERSION)/
+PKG_SITES:= https://github.com/dosfstools/dosfstools/releases/download/v4.2/
+
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_CFLINE_DOSFSTOOLS:= select BUSYBOX_FSCK
diff --git a/package/drbd-utils/Makefile b/package/drbd-utils/Makefile
deleted file mode 100644
index 26445fbe7..000000000
--- a/package/drbd-utils/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(ADK_TOPDIR)/rules.mk
-
-PKG_NAME:= drbd-utils
-PKG_VERSION:= 8.9.6
-PKG_RELEASE:= 1
-PKG_HASH:= 297b77c9b3f88de2e7dae459234f2753ea4fc2805282b2d276e35cf51e292913
-PKG_DESCR:= admin tools for drbd-utils
-PKG_SECTION:= sys/fs
-PKG_SITES:= http://oss.linbit.com/drbd/
-
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
-
-include $(ADK_TOPDIR)/mk/package.mk
-
-$(eval $(call PKG_template,DRBD_UTILS,drbd-utils,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-
-XAKE_FLAGS+= GENETLINK_H=$(STAGING_TARGET_DIR)/usr/include/linux/genetlink.h
-CONFIGURE_ARGS+= --with-distro=generic \
- --without-manual \
- --with-pacemaker \
- --without-heartbeat \
- --without-km \
- --without-xen \
- --without-udev
-
-drbd-utils-install:
- $(INSTALL_DIR) $(IDIR_DRBD_UTILS)/etc
- $(CP) ./files/drbd.conf $(IDIR_DRBD_UTILS)/etc
- $(INSTALL_DIR) $(IDIR_DRBD_UTILS)/usr/lib/drbd
- $(INSTALL_DIR) $(IDIR_DRBD_UTILS)/usr/sbin
- $(CP) $(WRKINST)/usr/lib/drbd/* \
- $(IDIR_DRBD_UTILS)/usr/lib/drbd/
- $(INSTALL_BIN) $(WRKINST)/usr/sbin/drbd* \
- $(IDIR_DRBD_UTILS)/usr/sbin
-
-include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/drbd-utils/files/drbd.conf b/package/drbd-utils/files/drbd.conf
deleted file mode 100644
index 8eb55e497..000000000
--- a/package/drbd-utils/files/drbd.conf
+++ /dev/null
@@ -1,21 +0,0 @@
-#resource r1 {
-# protocol C;
-#
-# startup { wfc-timeout 0; degr-wfc-timeout 120; }
-# disk { on-io-error detach; }
-# net { timeout 60; connect-int 10; ping-int 10;
-# max-buffers 2048; max-epoch-size 2048; }
-# syncer { rate 5M; } # sync when r0 and r1 are finished syncing.
-# on alice {
-# address 192.168.1.1:7790;
-# disk /dev/sdb1;
-# device /dev/drbd1;
-# meta-disk "internal";
-# }
-# on bob {
-# address 192.168.1.2:7790;
-# disk "/dev/sdb1";
-# device "/dev/drbd2";
-# meta-disk "internal";
-# }
-#}
diff --git a/package/drbd-utils/files/drbd.conffiles b/package/drbd-utils/files/drbd.conffiles
deleted file mode 100644
index 9096001bf..000000000
--- a/package/drbd-utils/files/drbd.conffiles
+++ /dev/null
@@ -1 +0,0 @@
-/etc/drbd.conf
diff --git a/package/dropbear/Makefile b/package/dropbear/Makefile
index 34210e585..520e0b841 100644
--- a/package/dropbear/Makefile
+++ b/package/dropbear/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= dropbear
-PKG_VERSION:= 2018.76
+PKG_VERSION:= 2022.83
PKG_RELEASE:= 1
-PKG_HASH:= f2fb9167eca8cf93456a5fc1d4faf709902a3ab70dd44e352f3acbc3ffdaea65
+PKG_HASH:= bc5a121ffbc94b5171ad5ebe01be42746d50aa797c9549a4639894a16749443b
PKG_DESCR:= ssh server/client designed for embedded systems
PKG_SECTION:= net/security
PKG_URL:= http://matt.ucc.asn.au/dropbear/
@@ -39,6 +39,7 @@ CONFIGURE_ARGS+= --disable-pam \
--disable-wtmpx \
--disable-loginfunc \
--disable-pututxline \
+ --disable-harden \
--disable-zlib
ifeq (${ADK_PACKAGE_DROPBEAR_WITH_UTMP},)
CONFIGURE_ARGS+= --disable-utmp --disable-pututline
@@ -48,8 +49,8 @@ endif
pre-configure:
- $(SED) 's,^/\* #define PKG_MULTI.*,#define PKG_MULTI,g' $(WRKBUILD)/options.h
- $(SED) 's,^#define DO_HOST_LOOKUP,/* & */,g' $(WRKBUILD)/options.h
+ echo "#define DO_HOST_LOOKUP 0" >>$(WRKBUILD)/localoptions.h
+ echo "#define DROPBEAR_X11FWD 1" >>$(WRKBUILD)/localoptions.h
do-build:
cd ${WRKBUILD} && env ${MAKE_ENV} ${MAKE} \
@@ -75,9 +76,9 @@ do-install:
$(IDIR_DBCONVERT)/usr/bin/dropbearconvert
# ssh pubkey
test -z $(ADK_RUNTIME_SSH_PUBKEY) || ( \
- $(INSTALL_DIR) $(IDIR_DROPBEAR)/etc/dropbear; \
+ $(INSTALL_DIR) $(IDIR_DROPBEAR)/root/.ssh; \
echo $(ADK_RUNTIME_SSH_PUBKEY) \
- >$(IDIR_DROPBEAR)/etc/dropbear/authorized_keys; \
+ >$(IDIR_DROPBEAR)/root/.ssh/authorized_keys; \
)
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/dropbear/files/dropbear.init b/package/dropbear/files/dropbear.init
index 9bf74098e..3e464e34b 100644
--- a/package/dropbear/files/dropbear.init
+++ b/package/dropbear/files/dropbear.init
@@ -24,19 +24,19 @@ start)
test $rv = 0 || exit 1
test -f /etc/dropbear/dropbear_rsa_host_key || exit 1
fi
- if test ! -f /etc/dropbear/dropbear_dss_host_key; then
+ if test ! -f /etc/dropbear/dropbear_ecdsa_host_key; then
# take it easy here, since above already catched the worst cases
if test -x /usr/bin/dropbearkey; then
- echo "dropbear: generating SSH private key (DSS)"
- /usr/bin/dropbearkey -f /etc/dropbear/dropbear_dss_host_key -t dss
+ echo "dropbear: generating SSH private key (ECDSA)"
+ /usr/bin/dropbearkey -f /etc/dropbear/dropbear_ecdsa_host_key -t ecdsa
echo "dropbear: key generation exited with code $?"
fi
fi
- if test ! -f /etc/dropbear/dropbear_ecdsa_host_key; then
+ if test ! -f /etc/dropbear/dropbear_ed25519_host_key; then
# take it easy here, since above already catched the worst cases
if test -x /usr/bin/dropbearkey; then
- echo "dropbear: generating SSH private key (ECDSA)"
- /usr/bin/dropbearkey -f /etc/dropbear/dropbear_ecdsa_host_key -t ecdsa
+ echo "dropbear: generating SSH private key (ED25519)"
+ /usr/bin/dropbearkey -f /etc/dropbear/dropbear_ed25519_host_key -t ed25519
echo "dropbear: key generation exited with code $?"
fi
fi
diff --git a/package/dropbear/files/dropbear.service b/package/dropbear/files/dropbear.service
deleted file mode 100644
index eeb86cfa7..000000000
--- a/package/dropbear/files/dropbear.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Dropbear SSH daemon
-After=syslog.target network.target
-
-[Service]
-EnvironmentFile=-/etc/default/dropbear
-ExecStart=/usr/sbin/dropbear -F -R $DROPBEAR_ARGS
-ExecReload=/bin/kill -HUP $MAINPID
-
-[Install]
-WantedBy=multi-user.target
diff --git a/package/dropbear/patches/patch-Makefile_in b/package/dropbear/patches/patch-Makefile_in
deleted file mode 100644
index 3a139a546..000000000
--- a/package/dropbear/patches/patch-Makefile_in
+++ /dev/null
@@ -1,35 +0,0 @@
---- dropbear-2014.63.orig/Makefile.in 2014-02-19 15:05:24.000000000 +0100
-+++ dropbear-2014.63/Makefile.in 2014-03-01 18:27:41.000000000 +0100
-@@ -81,10 +81,10 @@ AR=@AR@
- RANLIB=@RANLIB@
- STRIP=@STRIP@
- INSTALL=@INSTALL@
--CPPFLAGS=@CPPFLAGS@
--CFLAGS+=-I. -I$(srcdir) $(CPPFLAGS) @CFLAGS@
--LIBS+=@LIBS@
--LDFLAGS=@LDFLAGS@
-+CPPFLAGS=@CPPFLAGS@ -I. -I$(srcdir)
-+LIBS+=@LIBS@ @CRYPTLIB@
-+LDFLAGS+=@LDFLAGS@
-+
-
- EXEEXT=@EXEEXT@
-
-@@ -163,7 +163,7 @@ dropbearkey: $(dropbearkeyobjs)
- dropbearconvert: $(dropbearconvertobjs)
-
- dropbear: $(HEADERS) $(LIBTOM_DEPS) Makefile
-- $(CC) $(LDFLAGS) -o $@$(EXEEXT) $($@objs) $(LIBTOM_LIBS) $(LIBS) @CRYPTLIB@
-+ $(CC) $(LDFLAGS) -o $@$(EXEEXT) $($@objs) $(LIBTOM_LIBS) $(LIBS)
-
- dbclient: $(HEADERS) $(LIBTOM_DEPS) Makefile
- $(CC) $(LDFLAGS) -o $@$(EXEEXT) $($@objs) $(LIBTOM_LIBS) $(LIBS)
-@@ -184,7 +184,7 @@ ifeq ($(MULTI),1)
- endif
-
- dropbearmulti$(EXEEXT): $(HEADERS) $(MULTIOBJS) $(LIBTOM_DEPS) Makefile
-- $(CC) $(LDFLAGS) -o $@ $(MULTIOBJS) $(LIBTOM_LIBS) $(LIBS) @CRYPTLIB@
-+ $(CC) $(LDFLAGS) -o $@ $(MULTIOBJS) $(LIBTOM_LIBS) $(LIBS)
-
- multibinary: dropbearmulti$(EXEEXT)
-
diff --git a/package/dropbear/patches/patch-svr-authpubkey_c b/package/dropbear/patches/patch-svr-authpubkey_c
deleted file mode 100644
index 0de885cfb..000000000
--- a/package/dropbear/patches/patch-svr-authpubkey_c
+++ /dev/null
@@ -1,109 +0,0 @@
---- dropbear-2017.75.orig/svr-authpubkey.c 2017-05-18 16:47:02.000000000 +0200
-+++ dropbear-2017.75/svr-authpubkey.c 2017-07-06 19:45:36.765143131 +0200
-@@ -220,24 +220,33 @@ static int checkpubkey(char* algo, unsig
- goto out;
- }
-
-- /* we don't need to check pw and pw_dir for validity, since
-- * its been done in checkpubkeyperms. */
-- len = strlen(ses.authstate.pw_dir);
-- /* allocate max required pathname storage,
-- * = path + "/.ssh/authorized_keys" + '\0' = pathlen + 22 */
-- filename = m_malloc(len + 22);
-- snprintf(filename, len + 22, "%s/.ssh/authorized_keys",
-- ses.authstate.pw_dir);
-+ /* special case for root authorized_keys in /etc/dropbear/authorized_keys */
-+ if (ses.authstate.pw_uid != 0) {
-
-- /* open the file as the authenticating user. */
-- origuid = getuid();
-- origgid = getgid();
-- if ((setegid(ses.authstate.pw_gid)) < 0 ||
-- (seteuid(ses.authstate.pw_uid)) < 0) {
-- dropbear_exit("Failed to set euid");
-- }
-+ /* we don't need to check pw and pw_dir for validity, since
-+ * its been done in checkpubkeyperms. */
-+ len = strlen(ses.authstate.pw_dir);
-+ /* allocate max required pathname storage,
-+ * = path + "/.ssh/authorized_keys" + '\0' = pathlen + 22 */
-+ filename = m_malloc(len + 22);
-+ snprintf(filename, len + 22, "%s/.ssh/authorized_keys",
-+ ses.authstate.pw_dir);
-
-- authfile = fopen(filename, "r");
-+ /* open the file as the authenticating user. */
-+ origuid = getuid();
-+ origgid = getgid();
-+ if ((setegid(ses.authstate.pw_gid)) < 0 ||
-+ (seteuid(ses.authstate.pw_uid)) < 0) {
-+ dropbear_exit("Failed to set euid");
-+ }
-+
-+ authfile = fopen(filename, "r");
-+
-+ } else {
-+ origuid = getuid();
-+ origgid = getgid();
-+ authfile = fopen("/etc/dropbear/authorized_keys","r");
-+ }
-
- if ((seteuid(origuid)) < 0 ||
- (setegid(origgid)) < 0) {
-@@ -396,26 +405,39 @@ static int checkpubkeyperms() {
- goto out;
- }
-
-- /* allocate max required pathname storage,
-- * = path + "/.ssh/authorized_keys" + '\0' = pathlen + 22 */
-- filename = m_malloc(len + 22);
-- strncpy(filename, ses.authstate.pw_dir, len+1);
-+ if (ses.authstate.pw_uid != 0) {
-
-- /* check ~ */
-- if (checkfileperm(filename) != DROPBEAR_SUCCESS) {
-- goto out;
-- }
-+ /* allocate max required pathname storage,
-+ * = path + "/.ssh/authorized_keys" + '\0' = pathlen + 22 */
-+ filename = m_malloc(len + 22);
-+ strncpy(filename, ses.authstate.pw_dir, len+1);
-
-- /* check ~/.ssh */
-- strncat(filename, "/.ssh", 5); /* strlen("/.ssh") == 5 */
-- if (checkfileperm(filename) != DROPBEAR_SUCCESS) {
-- goto out;
-- }
-+ /* check ~ */
-+ if (checkfileperm(filename) != DROPBEAR_SUCCESS) {
-+ goto out;
-+ }
-+
-+ /* check ~/.ssh */
-+ strncat(filename, "/.ssh", 5); /* strlen("/.ssh") == 5 */
-+ if (checkfileperm(filename) != DROPBEAR_SUCCESS) {
-+ goto out;
-+ }
-+
-+ /* now check ~/.ssh/authorized_keys */
-+ strncat(filename, "/authorized_keys", 16);
-+ if (checkfileperm(filename) != DROPBEAR_SUCCESS) {
-+ goto out;
-+ }
-+
-+ } else {
-+
-+ if (checkfileperm("/etc/dropbear") != DROPBEAR_SUCCESS) {
-+ goto out;
-+ }
-+ if (checkfileperm("/etc/dropbear/authorized_keys") != DROPBEAR_SUCCESS) {
-+ goto out;
-+ }
-
-- /* now check ~/.ssh/authorized_keys */
-- strncat(filename, "/authorized_keys", 16);
-- if (checkfileperm(filename) != DROPBEAR_SUCCESS) {
-- goto out;
- }
-
- /* file looks ok, return success */
diff --git a/package/dropbear/patches/patch-svr-main_c b/package/dropbear/patches/patch-svr-main_c
new file mode 100644
index 000000000..b2d4007b8
--- /dev/null
+++ b/package/dropbear/patches/patch-svr-main_c
@@ -0,0 +1,15 @@
+--- dropbear-2020.81.orig/svr-main.c 2020-10-29 14:35:50.000000000 +0100
++++ dropbear-2020.81/svr-main.c 2020-11-04 05:04:33.736369225 +0100
+@@ -278,8 +278,12 @@ static void main_noinetd() {
+ #if DEBUG_NOFORK
+ fork_ret = 0;
+ #else
++#if DROPBEAR_VFORK
++ fork_ret = vfork();
++#else
+ fork_ret = fork();
+ #endif
++#endif
+ if (fork_ret < 0) {
+ dropbear_log(LOG_WARNING, "Error forking: %s", strerror(errno));
+ goto out;
diff --git a/package/dtc/Makefile b/package/dtc/Makefile
index f822ba8e7..d0a95841a 100644
--- a/package/dtc/Makefile
+++ b/package/dtc/Makefile
@@ -4,14 +4,14 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= dtc
-PKG_VERSION:= 1.6.0
+PKG_VERSION:= 1.7.0
PKG_RELEASE:= 1
-PKG_HASH:= 3d15dee7126a6c4a015ab47ec908cab13e39774b0315efaaebb223cb4a4d349c
+PKG_HASH:= 70d9c156ec86d63de0f7bdae50540ffa492b25ec1d69491c7520845c860b9a62
PKG_DESCR:= compiler for dts files
PKG_SECTION:= sys/misc
HOST_BUILDDEP:= m4-host flex-host bison-host
PKG_URL:= http://www.devicetree.org/Device_Tree_Compiler
-PKG_SITES:= https://github.com/dgibson/dtc/archive/
+PKG_SITES:= https://github.com/dgibson/dtc/archive/refs/tags/
DISTFILES:= v$(PKG_VERSION).tar.gz
@@ -23,6 +23,7 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call HOST_template,DTC,dtc,$(PKG_VERSION)-$(PKG_RELEASE)))
HOST_STYLE:= manual
+HOST_MAKE_FLAGS+= NO_PYTHON=1
host-build:
(cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
diff --git a/package/dtc/patches/patch-Makefile b/package/dtc/patches/patch-Makefile
new file mode 100644
index 000000000..9a4553381
--- /dev/null
+++ b/package/dtc/patches/patch-Makefile
@@ -0,0 +1,11 @@
+--- dtc-1.6.1.orig/Makefile 2021-06-08 09:00:49.000000000 +0200
++++ dtc-1.6.1/Makefile 2022-09-20 08:58:33.198381442 +0200
+@@ -23,7 +23,7 @@ ASSUME_MASK ?= 0
+ CPPFLAGS = -I libfdt -I . -DFDT_ASSUME_MASK=$(ASSUME_MASK)
+ WARNINGS = -Wall -Wpointer-arith -Wcast-qual -Wnested-externs \
+ -Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Wshadow
+-CFLAGS = -g -Os $(SHAREDLIB_CFLAGS) -Werror $(WARNINGS) $(EXTRA_CFLAGS)
++CFLAGS = -g -Os $(SHAREDLIB_CFLAGS) $(WARNINGS) $(EXTRA_CFLAGS)
+
+ BISON = bison
+ LEX = flex
diff --git a/package/e2fsprogs/Makefile b/package/e2fsprogs/Makefile
index d3e9567e2..bbad29cf0 100644
--- a/package/e2fsprogs/Makefile
+++ b/package/e2fsprogs/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= e2fsprogs
-PKG_VERSION:= 1.44.2
+PKG_VERSION:= 1.47.0
PKG_RELEASE:= 1
-PKG_HASH:= 8324cf0b6e81805a741d94087b00e99f7e16144f1ee5a413709a1fa6948b126c
+PKG_HASH:= 144af53f2bbd921cef6f8bea88bb9faddca865da3fbc657cc9b4d2001097d5db
PKG_DESCR:= ext2/3/4 filesystem utilities
PKG_SECTION:= sys/fs
PKG_BUILDDEP:= util-linux
@@ -14,23 +14,17 @@ PKG_NEEDS:= threads
PKG_URL:= http://e2fsprogs.sourceforge.net/
PKG_SITES:= https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v$(PKG_VERSION)/
PKG_OPTS:= dev
-PKG_NOPARALLEL:= 1
PKG_CFLINE_E2FSPROGS:= select BUSYBOX_FSCK
PKG_SUBPKGS:= LIBE2FS LIBCOM_ERR LIBSS
PKG_SUBPKGS+= RESIZE2FS TUNE2FS E2FSCK MKE2FS
-PKG_SUBPKGS+= E2FSCK_STATIC TUNE2FS_STATIC
PKGSD_LIBE2FS:= e2fsprogs library
PKGSC_LIBE2FS:= libs/misc
PKGSD_LIBCOM_ERR:= common error library
PKGSC_LIBCOM_ERR:= libs/misc
PKGSD_LIBSS:= subsystem command parsing library
PKGSC_LIBSS:= libs/misc
-PKGSD_E2FSCK_STATIC:= static build of e2fsck
-PKGSC_E2FSCK_STATIC:= sys/fs
-PKGSD_TUNE2FS_STATIC:= static build of tune2fs
-PKGSC_TUNE2FS_STATIC:= sys/fs
PKGSD_RESIZE2FS:= ext2/3/4 resize utility
PKGSC_RESIZE2FS:= sys/fs
PKGSS_RESIZE2FS:= libe2fs libcom-err libblkid
@@ -55,8 +49,6 @@ $(eval $(call PKG_template,TUNE2FS,tune2fs,$(PKG_VERSION)-$(PKG_RELEASE),$(PKGSS
$(eval $(call PKG_template,RESIZE2FS,resize2fs,$(PKG_VERSION)-$(PKG_RELEASE),$(PKGSS_RESIZE2FS),$(PKGSD_RESIZE2FS),$(PKGSC_RESIZE2FS)))
$(eval $(call PKG_template,MKE2FS,mke2fs,$(PKG_VERSION)-$(PKG_RELEASE),$(PKGSS_MKE2FS),$(PKGSD_MKE2FS),$(PKGSC_MKE2FS)))
$(eval $(call PKG_template,E2FSCK,e2fsck,$(PKG_VERSION)-$(PKG_RELEASE),$(PKGSS_E2FSCK),$(PKGSD_E2FSCK),$(PKGSC_E2FSCK)))
-$(eval $(call PKG_template,E2FSCK_STATIC,e2fsck-static,${PKG_VERSION}-${PKG_RELEASE},,${PKGSD_E2FSCK_STATIC},${PKGSC_E2FSCK_STATIC}))
-$(eval $(call PKG_template,TUNE2FS_STATIC,tune2fs-static,${PKG_VERSION}-${PKG_RELEASE},,${PKGSD_E2FSCK_STATIC},${PKGSC_E2FSCK_STATIC}))
HOST_CONFIGURE_ARGS+= --disable-rpath \
--disable-nls \
@@ -130,17 +122,5 @@ libss-install:
$(CP) $(WRKINST)/usr/lib/libss.so* \
$(IDIR_LIBSS)/usr/lib
-e2fsck-static-install:
- ${MAKE} -C ${WRKBUILD}/e2fsck e2fsck.static
- ${INSTALL_DIR} ${IDIR_E2FSCK_STATIC}/usr/sbin
- ${INSTALL_BIN} ${WRKBUILD}/e2fsck/e2fsck.static \
- ${IDIR_E2FSCK_STATIC}/usr/sbin/e2fsck
-
-tune2fs-static-install:
- ${MAKE} -C ${WRKBUILD}/misc tune2fs.static
- ${INSTALL_DIR} ${IDIR_TUNE2FS_STATIC}/usr/sbin
- ${INSTALL_BIN} ${WRKBUILD}/misc/tune2fs.static \
- ${IDIR_TUNE2FS_STATIC}/usr/sbin/tune2fs
-
include $(ADK_TOPDIR)/mk/host-bottom.mk
include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/elinks/Makefile b/package/elinks/Makefile
deleted file mode 100644
index 23d5c25fd..000000000
--- a/package/elinks/Makefile
+++ /dev/null
@@ -1,75 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include ${ADK_TOPDIR}/rules.mk
-
-PKG_NAME:= elinks
-PKG_VERSION:= 0.11.7
-PKG_RELEASE:= 3
-PKG_HASH:= 94dc254cdecddee51819ae17962d9e606690bee3ec43fb43c635cb40197b4bc7
-PKG_DESCR:= advanced text web browser
-PKG_SECTION:= app/browser
-PKG_URL:= http://elinks.or.cz/
-PKG_SITES:= http://elinks.or.cz/download/
-
-PKG_NOPARALLEL:= 1
-
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
-
-PKG_FLAVOURS_ELINKS:= WITH_IPV6
-PKGFD_WITH_IPV6:= enable IPv6 support
-
-PKG_CHOICES_ELINKS:= WITH_LIBRESSL WITHOUT_SSL
-PKGCD_WITH_LIBRESSL:= use libressl for crypto
-PKGCB_WITH_LIBRESSL:= libressl
-PKGCS_WITH_LIBRESSL:= libressl ca-certificates
-PKGCD_WITHOUT_SSL:= use no ssl
-
-include ${ADK_TOPDIR}/mk/package.mk
-
-$(eval $(call PKG_template,ELINKS,elinks,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-
-INSTALL_STYLE:= manual
-TARGET_CFLAGS+= -fPIC
-CONFIGURE_ENV+= $(shell echo ac_cv_file_./features.conf | tr [:blank:]-/. _)=yes
-CONFIGURE_ENV+= $(shell echo ac_cv_file_${WRKBUILD}/features.conf | tr [:blank:]-/. _)=yes
-CONFIGURE_ARGS+= --enable-small \
- --enable-256-colors \
- --disable-backtrace \
- --disable-data \
- --disable-formhist \
- --disable-leds \
- --disable-mailcap \
- --disable-mouse \
- --disable-smb \
- --disable-uri-rewrite \
- --disable-xbel \
- --without-bzlib \
- --without-gpm \
- --without-idn \
- --without-gnutls \
- --without-libiconv \
- --without-lua \
- --without-spidermonkey \
- --without-x \
- --without-zlib
-MAKE_FLAGS+= CC='${TARGET_CC}'
-
-ifneq (${ADK_PACKAGE_ELINKS_WITH_IPV6},)
-CONFIGURE_ARGS+= --enable-ipv6
-else
-CONFIGURE_ARGS+= --disable-ipv6
-endif
-
-ifeq ($(ADK_PACKAGE_ELINKS_WITH_LIBRESSL),y)
-CONFIGURE_ARGS+= --with-openssl='${STAGING_TARGET_DIR}/usr'
-endif
-ifeq ($(ADK_PACKAGE_ELINKS_WITHOUT_SSL),y)
-CONFIGURE_ARGS+= --without-openssl
-endif
-
-do-install:
- ${INSTALL_DIR} ${IDIR_ELINKS}/usr/bin
- ${INSTALL_BIN} ${WRKBUILD}/src/elinks ${IDIR_ELINKS}/usr/bin/
-
-include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/elinks/patches/patch-Makefile_lib b/package/elinks/patches/patch-Makefile_lib
deleted file mode 100644
index 122e6c13d..000000000
--- a/package/elinks/patches/patch-Makefile_lib
+++ /dev/null
@@ -1,11 +0,0 @@
---- elinks-0.11.7.orig/Makefile.lib 2009-08-22 13:15:08.000000000 +0200
-+++ elinks-0.11.7/Makefile.lib 2010-03-06 11:28:58.000000000 +0100
-@@ -43,7 +43,7 @@ quiet_cmd_compile = ' [$(CC_COLOR)C
-
- # Rule to compile a set of .o files into one .o file
- quiet_cmd_ld_objs = " [$(LD_COLOR)LD$(END_COLOR)] $(RELPATH)$@"
-- cmd_ld_objs = $(LD) -r -o $@ $(filter $(OBJS), $^) \
-+ cmd_ld_objs = $(CC) -Wl,-r -nostdlib -o $@ $(filter $(OBJS), $^) \
- $(foreach subdir,$(sort $(filter-out src,$(SUBDIRS))), \
- `test -e $(subdir)/$(LIB_O_NAME) && echo $(subdir)/$(LIB_O_NAME)`)
-
diff --git a/package/elinks/patches/patch-src_network_ssl_ssl_c b/package/elinks/patches/patch-src_network_ssl_ssl_c
deleted file mode 100644
index f55f43ba4..000000000
--- a/package/elinks/patches/patch-src_network_ssl_ssl_c
+++ /dev/null
@@ -1,16 +0,0 @@
---- elinks-0.11.7.orig/src/network/ssl/ssl.c 2009-08-22 13:15:08.000000000 +0200
-+++ elinks-0.11.7/src/network/ssl/ssl.c 2016-09-30 18:47:20.022831750 +0200
-@@ -49,11 +49,8 @@ init_openssl(struct module *module)
- * cannot initialize the PRNG and so every attempt to use SSL fails.
- * It's actually an OpenSSL FAQ, and according to them, it's up to the
- * application coders to seed the RNG. -- William Yodlowsky */
-- if (RAND_egd(RAND_file_name(f_randfile, sizeof(f_randfile))) < 0) {
-- /* Not an EGD, so read and write to it */
-- if (RAND_load_file(f_randfile, -1))
-- RAND_write_file(f_randfile);
-- }
-+ if (RAND_load_file(f_randfile, -1))
-+ RAND_write_file(f_randfile);
-
- SSLeay_add_ssl_algorithms();
- context = SSL_CTX_new(SSLv23_client_method());
diff --git a/package/esmtp/Makefile b/package/esmtp/Makefile
deleted file mode 100644
index 777dd6862..000000000
--- a/package/esmtp/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(ADK_TOPDIR)/rules.mk
-
-PKG_NAME:= esmtp
-PKG_VERSION:= 1.2
-PKG_RELEASE:= 1
-PKG_HASH:= a0d26931bf731f97514da266d079d8bc7d73c65b3499ed080576ab606b21c0ce
-PKG_DESCR:= relay-only mail transfer agent
-PKG_SECTION:= net/mail
-PKG_DEPENDS:= libesmtp flex
-PKG_BUILDDEP:= libesmtp flex
-PKG_URL:= http://esmtp.sourceforge.net/
-PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=esmtp/}
-
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
-
-include $(ADK_TOPDIR)/mk/package.mk
-
-$(eval $(call PKG_template,ESMTP,esmtp,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-
-esmtp-install:
- $(INSTALL_DIR) $(IDIR_ESMTP)/usr/{bin,sbin}
- $(INSTALL_BIN) $(WRKINST)/usr/bin/esmtp $(IDIR_ESMTP)/usr/bin
- $(CP) $(WRKINST)/usr/bin/{mailq,newaliases} $(IDIR_ESMTP)/usr/bin/
- $(CP) $(WRKINST)/usr/sbin/sendmail $(IDIR_ESMTP)/usr/sbin/
-
-include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/ethtool/Makefile b/package/ethtool/Makefile
index f432bc7d2..5360d31ee 100644
--- a/package/ethtool/Makefile
+++ b/package/ethtool/Makefile
@@ -4,10 +4,12 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= ethtool
-PKG_VERSION:= 4.16
+PKG_VERSION:= 5.15
PKG_RELEASE:= 1
-PKG_HASH:= fe967a6722db2099fa63d847b6628e3e31cf9f53571a37503347dcc3e4015a03
+PKG_HASH:= 686fd6110389d49c2a120f00c3cd5dfe43debada8e021e4270d74bbe452a116d
PKG_DESCR:= display or change ethernet card settings
+PKG_DEPENDS:= libmnl
+PKG_BUILDDEP:= libmnl
PKG_SECTION:= net/misc
PKG_SITES:= https://www.kernel.org/pub/software/network/ethtool/
diff --git a/package/expat/Makefile b/package/expat/Makefile
index 2bb86dd21..986a97218 100644
--- a/package/expat/Makefile
+++ b/package/expat/Makefile
@@ -4,19 +4,17 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= expat
-PKG_VERSION:= 2.2.5
+PKG_VERSION:= 2.6.2
PKG_RELEASE:= 1
-PKG_HASH:= d9dc32efba7e74f788fcc4f212a43216fc37cf5f23f4c2339664d473353aedf6
+PKG_HASH:= ee14b4c5d8908b1bec37ad937607eab183d4d9806a08adee472c3c3121d27364
PKG_DESCR:= xml parsing library
PKG_SECTION:= libs/data
PKG_NEEDS:= c++
PKG_URL:= http://expat.sourceforge.net
-PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=expat/}
+PKG_SITES:= https://github.com/libexpat/libexpat/releases/download/R_2_6_2/
PKG_LIBNAME:= libexpat
PKG_OPTS:= dev
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
-
include ${ADK_TOPDIR}/mk/host.mk
include ${ADK_TOPDIR}/mk/package.mk
@@ -28,6 +26,8 @@ TARGET_CFLAGS:= $(filter-out -static,$(TARGET_CFLAGS))
TARGET_LDFLAGS:=$(filter-out -static,$(TARGET_LDFLAGS))
endif
+CONFIGURE_ARGS+= --without-docbook
+
libexpat-install:
${INSTALL_DIR} ${IDIR_LIBEXPAT}/usr/lib
${CP} ${WRKINST}/usr/lib/libexpat.so* ${IDIR_LIBEXPAT}/usr/lib/
diff --git a/package/fetchmail/Makefile b/package/fetchmail/Makefile
index 16504d91d..b94227c61 100644
--- a/package/fetchmail/Makefile
+++ b/package/fetchmail/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= fetchmail
-PKG_VERSION:= 6.3.26
+PKG_VERSION:= 6.4.23
PKG_RELEASE:= 1
-PKG_HASH:= 79b4c54cdbaf02c1a9a691d9948fcb1a77a1591a813e904283a8b614b757e850
+PKG_HASH:= 5f7a5e13731431134a2ca535bbced7adc666d3aeb93169a0830945d91f492300
PKG_DESCR:= fetch mail from a pop3 or imap server
PKG_SECTION:= net/mail
PKG_URL:= http://www.fetchmail.info
@@ -22,7 +22,7 @@ include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,FETCHMAIL,fetchmail,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-AUTOTOOL_STYLE:= autoreconf
+CONFIGURE_ENV+= ac_cv_have_decl_TLS1_3_VERSION=no
CONFIGURE_ARGS+= --without-hesiod
ifeq (${ADK_PACKAGE_FETCHMAIL_WITH_LIBRESSL},y)
diff --git a/package/fetchmail/patches/patch-config_h_in b/package/fetchmail/patches/patch-config_h_in
deleted file mode 100644
index ec8b9c74e..000000000
--- a/package/fetchmail/patches/patch-config_h_in
+++ /dev/null
@@ -1,13 +0,0 @@
---- fetchmail-6.3.26.orig/config.h.in 2013-04-23 23:36:55.000000000 +0200
-+++ fetchmail-6.3.26/config.h.in 2016-09-29 16:00:20.679625413 +0200
-@@ -53,6 +53,10 @@
- if you don't. */
- #undef HAVE_DECL_SSLV2_CLIENT_METHOD
-
-+/* Define to 1 if you have the declaration of `SSLv3_client_method', and to 0
-+ if you don't. */
-+#undef HAVE_DECL_SSLV3_CLIENT_METHOD
-+
- /* Define to 1 if you have the declaration of `strerror', and to 0 if you
- don't. */
- #undef HAVE_DECL_STRERROR
diff --git a/package/fetchmail/patches/patch-configure_ac b/package/fetchmail/patches/patch-configure_ac
deleted file mode 100644
index 7126bbc5f..000000000
--- a/package/fetchmail/patches/patch-configure_ac
+++ /dev/null
@@ -1,10 +0,0 @@
---- fetchmail-6.3.26.orig/configure.ac 2013-04-23 22:51:10.000000000 +0200
-+++ fetchmail-6.3.26/configure.ac 2016-09-29 16:00:20.683625569 +0200
-@@ -803,6 +803,7 @@ fi
-
- case "$LIBS" in *-lssl*)
- AC_CHECK_DECLS([SSLv2_client_method],,,[#include <openssl/ssl.h>])
-+ AC_CHECK_DECLS([SSLv3_client_method],,,[#include <openssl/ssl.h>])
- ;;
- esac
-
diff --git a/package/fetchmail/patches/patch-fetchmail_c b/package/fetchmail/patches/patch-fetchmail_c
deleted file mode 100644
index 160afa85d..000000000
--- a/package/fetchmail/patches/patch-fetchmail_c
+++ /dev/null
@@ -1,15 +0,0 @@
---- fetchmail-6.3.26.orig/fetchmail.c 2013-04-23 22:00:45.000000000 +0200
-+++ fetchmail-6.3.26/fetchmail.c 2016-09-29 16:00:20.683625569 +0200
-@@ -263,6 +263,12 @@ int main(int argc, char **argv)
- #ifdef SSL_ENABLE
- "+SSL"
- #endif
-+#if HAVE_DECL_SSLV2_CLIENT_METHOD + 0 == 0
-+ "-SSLv2"
-+#endif
-+#if HAVE_DECL_SSLV3_CLIENT_METHOD + 0 == 0
-+ "-SSLv3"
-+#endif
- #ifdef OPIE_ENABLE
- "+OPIE"
- #endif /* OPIE_ENABLE */
diff --git a/package/fetchmail/patches/patch-mxget_c b/package/fetchmail/patches/patch-mxget_c
deleted file mode 100644
index 2dd74e8a3..000000000
--- a/package/fetchmail/patches/patch-mxget_c
+++ /dev/null
@@ -1,127 +0,0 @@
-$Id$
---- fetchmail-6.3.9.orig/mxget.c 2007-06-10 10:32:47.000000000 +0200
-+++ fetchmail-6.3.9/mxget.c 2009-06-12 22:24:29.000000000 +0200
-@@ -56,6 +56,123 @@
- /* minimum possible size of MX record in packet */
- #define MIN_MX_SIZE 8 /* corresp to "a.com 0" w/ terminating space */
-
-+/* from bind9 package: */
-+/*
-+Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
-+Copyright (C) 1996-2003 Internet Software Consortium.
-+
-+Permission to use, copy, modify, and distribute this software for any
-+purpose with or without fee is hereby granted, provided that the above
-+copyright notice and this permission notice appear in all copies.
-+
-+THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
-+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-+AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
-+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
-+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
-+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-+PERFORMANCE OF THIS SOFTWARE.
-+
-+$Id: COPYRIGHT,v 1.9.18.3 2007/01/08 02:41:59 marka Exp $
-+
-+Portions Copyright (C) 1996-2001 Nominum, Inc.
-+
-+Permission to use, copy, modify, and distribute this software for any
-+purpose with or without fee is hereby granted, provided that the above
-+copyright notice and this permission notice appear in all copies.
-+
-+THE SOFTWARE IS PROVIDED "AS IS" AND NOMINUM DISCLAIMS ALL WARRANTIES
-+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL NOMINUM BE LIABLE FOR
-+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
-+OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+*/
-+#define NS_TYPE_ELT 0x40 /*%< EDNS0 extended label
-+type
-+*/
-+#define NS_CMPRSFLGS 0xc0 /*%< Flag bits indicating name compression. */
-+#define DNS_LABELTYPE_BITSTRING 0x41
-+static int
-+labellen(const u_char *lp)
-+{
-+ int bitlen;
-+ u_char l = *lp;
-+
-+ if ((l & NS_CMPRSFLGS) == NS_CMPRSFLGS) {
-+ /* should be avoided by the caller */
-+ return(-1);
-+ }
-+
-+ if ((l & NS_CMPRSFLGS) == NS_TYPE_ELT) {
-+ if (l == DNS_LABELTYPE_BITSTRING) {
-+ if ((bitlen = *(lp + 1)) == 0)
-+ bitlen = 256;
-+ return((bitlen + 7 ) / 8 + 1);
-+ }
-+ return(-1); /*%< unknwon ELT */
-+ }
-+ return(l);
-+}
-+/*%
-+ * Advance *ptrptr to skip over the compressed name it points at.
-+ *
-+ * return:
-+ *\li 0 on success, -1 (with errno set) on failure.
-+ */
-+int
-+ns_name_skip(const u_char **ptrptr, const u_char *eom)
-+{
-+ const u_char *cp;
-+ u_int n;
-+ int l;
-+
-+ cp = *ptrptr;
-+ while (cp < eom && (n = *cp++) != 0) {
-+ /* Check for indirection. */
-+ switch (n & NS_CMPRSFLGS) {
-+ case 0: /*%< normal case, n == len */
-+ cp += n;
-+ continue;
-+ case NS_TYPE_ELT: /*%< EDNS0 extended label */
-+ if ((l = labellen(cp - 1)) < 0) {
-+// errno = EMSGSIZE; /*%< XXX */
-+ return(-1);
-+ }
-+ cp += l;
-+ continue;
-+ case NS_CMPRSFLGS: /*%< indirection */
-+ cp++;
-+ break;
-+ default: /*%< illegal type */
-+// errno = EMSGSIZE;
-+ return (-1);
-+ }
-+ break;
-+ }
-+ if (cp > eom) {
-+// errno = EMSGSIZE;
-+ return (-1);
-+ }
-+ *ptrptr = cp;
-+ return (0);
-+}
-+
-+/*%
-+ * Skip over a compressed domain name. Return the size or -1.
-+ */
-+int
-+dn_skipname(const u_char *ptr, const u_char *eom) {
-+ const u_char *saveptr = ptr;
-+
-+ if (ns_name_skip(&ptr, eom) == -1)
-+ return (-1);
-+ return (ptr - saveptr);
-+}
-+/* End from Bind9 package */
-+
-+
- struct mxentry *getmxrecords(const char *name)
- /* get MX records for given host */
- {
diff --git a/package/fetchmail/patches/patch-socket_c b/package/fetchmail/patches/patch-socket_c
index 54f6ff27a..a4e3f2dbf 100644
--- a/package/fetchmail/patches/patch-socket_c
+++ b/package/fetchmail/patches/patch-socket_c
@@ -1,20 +1,20 @@
---- fetchmail-6.3.26.orig/socket.c 2013-04-23 22:00:45.000000000 +0200
-+++ fetchmail-6.3.26/socket.c 2016-09-29 16:00:20.683625569 +0200
-@@ -910,11 +910,16 @@ int SSLOpen(int sock, char *mycert, char
- #if HAVE_DECL_SSLV2_CLIENT_METHOD + 0 > 0
- _ctx[sock] = SSL_CTX_new(SSLv2_client_method());
- #else
-- report(stderr, GT_("Your operating system does not support SSLv2.\n"));
-+ report(stderr, GT_("Your OpenSSL version does not support SSLv2.\n"));
- return -1;
+--- fetchmail-6.4.23.orig/socket.c 2021-08-28 11:13:58.000000000 +0200
++++ fetchmail-6.4.23/socket.c 2021-11-12 23:58:36.082986247 +0100
+@@ -966,17 +966,9 @@ static int OSSL10X_proto_version_logic(i
+ report(stderr, GT_("Your OpenSSL version does not support TLS v1.2.\n"));
+ return -1;
#endif
- } else if(!strcasecmp("ssl3",myproto)) {
-+#if HAVE_DECL_SSLV3_CLIENT_METHOD + 0 > 0
- _ctx[sock] = SSL_CTX_new(SSLv3_client_method());
-+#else
-+ report(stderr, GT_("Your OpenSSL version does not support SSLv3.\n"));
-+ return -1;
-+#endif
- } else if(!strcasecmp("tls1",myproto)) {
- _ctx[sock] = SSL_CTX_new(TLSv1_client_method());
- } else if (!strcasecmp("ssl23",myproto)) {
+-#if defined(TLS1_3_VERSION)
+- } else if (!strcasecmp("tls1.3", *myproto)) {
+- _ctx[sock] = SSL_CTX_new(TLSv1_3_client_method());
+- } else if (!strcasecmp("tls1.3+", *myproto)) {
+- *myproto = NULL;
+- *avoid_ssl_versions |= SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1 | SSL_OP_NO_TLSv1_2;
+-#else
+ } else if(!strcasecmp("tls1.3",*myproto) || !strcasecmp("tls1.3+", *myproto)) {
+ report(stderr, GT_("Your OpenSSL version does not support TLS v1.3.\n"));
+ return -1;
+-#endif
+ } else if (!strcasecmp("ssl23", *myproto)
+ || 0 == strcasecmp("auto", *myproto))
+ {
diff --git a/package/ffmpeg/Makefile b/package/ffmpeg/Makefile
index ddb3e72e3..8c00cdef4 100644
--- a/package/ffmpeg/Makefile
+++ b/package/ffmpeg/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= ffmpeg
-PKG_VERSION:= 3.4.2
-PKG_RELEASE:= 2
-PKG_HASH:= eb0370bf223809b9ebb359fed5318f826ac038ce77933b3afd55ab1a0a21785a
+PKG_VERSION:= 6.1.1
+PKG_RELEASE:= 1
+PKG_HASH:= 5e3133939a61ef64ac9b47ffd29a5ea6e337a4023ef0ad972094b4da844e3a20
PKG_DESCR:= record, convert and stream audio & video
PKG_SECTION:= libs/video
PKG_NEEDS:= threads
@@ -17,13 +17,19 @@ PKG_SITES:= http://www.ffmpeg.org/releases/
PKG_LIBNAME:= libffmpeg
PKG_OPTS:= dev
-PKG_SUBPKGS:= LIBFFMPEG FFSERVER FFPROBE FFMPEG
+PKG_CHOICES_FFMPEG:= WITH_LIBRESSL WITH_OPENSSL
+PKGCD_WITH_LIBRESSL:= use libressl for crypto
+PKGCS_WITH_LIBRESSL:= libressl ca-certificates
+PKGCB_WITH_LIBRESSL:= libressl
+PKGCD_WITH_OPENSSL:= use libopenssl for crypto
+PKGCS_WITH_OPENSSL:= libopenssl ca-certificates
+PKGCB_WITH_OPENSSL:= openssl
+
+
+PKG_SUBPKGS:= LIBFFMPEG FFPROBE FFMPEG
PKGSD_FFMPEG:= video converter
PKGSC_FFMPEG:= mm/video
PKGSS_FFMPEG:= libffmpeg
-PKGSD_FFSERVER:= streaming server
-PKGSC_FFSERVER:= mm/video
-PKGSS_FFSERVER:= libffmpeg
PKGSD_FFPROBE:= simple multimedia stream analyzer
PKGSC_FFPROBE:= mm/video
PKGSS_FFPROBE:= libffmpeg
@@ -97,7 +103,6 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,LIBFFMPEG,libffmpeg,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_FDEPENDS),$(PKGSD_LIBFFMPEG),$(PKGSC_LIBFFMPEG),$(PKG_OPTS)))
$(eval $(call PKG_template,FFMPEG,ffmpeg,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKGSD_FFMPEG),$(PKGSC_FFMPEG)))
-$(eval $(call PKG_template,FFSERVER,ffserver,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKGSD_FFSERVER),$(PKGSC_FFSERVER)))
$(eval $(call PKG_template,FFPROBE,ffprobe,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKGSD_FFPROBE),$(PKGSC_FFPROBE)))
ifeq ($(ADK_DEBUG),y)
@@ -106,6 +111,7 @@ else
TARGET_CFLAGS:= $(subst Os,O2,$(TARGET_CFLAGS))
endif
TARGET_CPPFLAGS+= -D_POSIX_SOURCE -D_GNU_SOURCE
+TARGET_LDFLAGS+= -latomic
ifeq ($(ADK_TARGET_CPU_WITH_MMX),y)
CONFIGURE_CPU_OPTS+= --enable-mmx
@@ -171,6 +177,8 @@ endif
ifeq ($(ADK_TARGET_ARCH_ARM_WITH_NEON),y)
CONFIGURE_CPU_OPTS+= --enable-neon
+else ifeq ($(ADK_TARGET_ARCH_AARCH64),y)
+CONFIGURE_CPU_OPTS+= --enable-neon
else
CONFIGURE_CPU_OPTS+= --disable-neon
endif
@@ -252,14 +260,6 @@ ffmpeg-install:
$(INSTALL_BIN) $(WRKINST)/usr/bin/ffmpeg \
$(IDIR_FFMPEG)/usr/bin
-ffserver-install:
- $(INSTALL_DIR) $(IDIR_FFSERVER)/etc
- $(INSTALL_DATA) $(WRKBUILD)/doc/ffserver.conf \
- $(IDIR_FFSERVER)/etc
- $(INSTALL_DIR) $(IDIR_FFSERVER)/usr/bin
- $(INSTALL_BIN) $(WRKINST)/usr/bin/ffserver \
- $(IDIR_FFSERVER)/usr/bin
-
ffprobe-install:
$(INSTALL_DIR) $(IDIR_FFPROBE)/usr/bin
$(INSTALL_BIN) $(WRKINST)/usr/bin/ffprobe \
diff --git a/package/ffmpeg/patches/patch-libavcodec_arm_synth_filter_vfp_S b/package/ffmpeg/patches/patch-libavcodec_arm_synth_filter_vfp_S
deleted file mode 100644
index 1472699be..000000000
--- a/package/ffmpeg/patches/patch-libavcodec_arm_synth_filter_vfp_S
+++ /dev/null
@@ -1,93 +0,0 @@
---- ffmpeg-3.4.1.orig/libavcodec/arm/synth_filter_vfp.S 2016-03-29 04:25:11.000000000 +0200
-+++ ffmpeg-3.4.1/libavcodec/arm/synth_filter_vfp.S 2017-07-27 02:09:00.326946211 +0200
-@@ -1,6 +1,5 @@
- /*
- * Copyright (c) 2013 RISC OS Open Ltd
-- * Author: Ben Avison <bavison@riscosopen.org>
- *
- * This file is part of FFmpeg.
- *
-@@ -17,6 +16,8 @@
- * You should have received a copy of the GNU Lesser General Public
- * License along with FFmpeg; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Author: Ben Avison <bavison@riscosopen.org>
- */
-
- #include "libavutil/arm/asm.S"
-@@ -124,7 +125,7 @@ function ff_synth_filter_float_vfp, expo
- push {r3-r7,lr}
- vpush {s16-s31}
- ldr lr, [P_SB_OFF]
-- add a2, ORIG_P_SB, lr, lsl #2 @ calculate synth_buf to pass to imdct_half
-+ add a2, ORIG_P_SB, lr, LSL #2 @ calculate synth_buf to pass to imdct_half
- mov P_SB, a2 @ and keep a copy for ourselves
- bic J_WRAP, lr, #63 @ mangled to make testing for wrap easier in inner loop
- sub lr, lr, #32
-@@ -132,12 +133,12 @@ function ff_synth_filter_float_vfp, expo
- str lr, [P_SB_OFF] @ rotate offset, modulo buffer size, ready for next call
- ldr a3, [sp, #(16+6+2)*4] @ fetch in from stack, to pass to imdct_half
- VFP vmov s16, SCALE @ imdct_half is free to corrupt s0, but it contains one of our arguments in hardfp case
-- bl X(ff_imdct_half_vfp)
-+ bl ff_imdct_half_c
- VFP vmov SCALE, s16
-
-- fmrx OLDFPSCR, FPSCR
-+ vmrs OLDFPSCR, FPSCR
- ldr lr, =0x03030000 @ RunFast mode, short vectors of length 4, stride 1
-- fmxr FPSCR, lr
-+ vmsr FPSCR, lr
- ldr P_SB2_DN, [sp, #16*4]
- ldr P_WIN_DN, [sp, #(16+6+0)*4]
- ldr P_OUT_DN, [sp, #(16+6+1)*4]
-@@ -196,48 +197,10 @@ NOVFP vldr SCALE, [sp, #(16+6+3)*4]
- vstmdb P_SB2_DN!, {VD0-VD3}
- bne 1b
-
-- fmxr FPSCR, OLDFPSCR
-+ vmsr FPSCR, OLDFPSCR
- vpop {s16-s31}
- pop {r3-r7,pc}
- endfunc
-
-- .unreq IMDCT
-- .unreq ORIG_P_SB
-- .unreq P_SB_OFF
-- .unreq I
-- .unreq P_SB2_UP
-- .unreq OLDFPSCR
-- .unreq P_SB2_DN
-- .unreq P_WIN_DN
-- .unreq P_OUT_DN
-- .unreq P_SB
-- .unreq J_WRAP
-- .unreq P_WIN_UP
-- .unreq P_OUT_UP
--
-- .unreq SCALE
-- .unreq SBUF_DAT_REV0
-- .unreq SBUF_DAT_REV1
-- .unreq SBUF_DAT_REV2
-- .unreq SBUF_DAT_REV3
-- .unreq VA0
-- .unreq VA3
-- .unreq VB0
-- .unreq VB3
-- .unreq VC0
-- .unreq VC3
-- .unreq VD0
-- .unreq VD3
-- .unreq SBUF_DAT0
-- .unreq SBUF_DAT1
-- .unreq SBUF_DAT2
-- .unreq SBUF_DAT3
-- .unreq SBUF_DAT_ALT0
-- .unreq SBUF_DAT_ALT1
-- .unreq SBUF_DAT_ALT2
-- .unreq SBUF_DAT_ALT3
-- .unreq WIN_DN_DAT0
-- .unreq WIN_UP_DAT0
--
- .align 3
- zero: .word 0, 0
diff --git a/package/file/Makefile b/package/file/Makefile
index 8a8007765..996be679e 100644
--- a/package/file/Makefile
+++ b/package/file/Makefile
@@ -4,13 +4,13 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= file
-PKG_VERSION:= 5.33
+PKG_VERSION:= 5.45
PKG_RELEASE:= 1
-PKG_HASH:= 1c52c8c3d271cd898d5511c36a68059cda94036111ab293f01f83c3525b737c6
+PKG_HASH:= fc97f51029bb0e2c9f4e3bffefdaf678f0e039ee872b9de5c002a6d09c784d82
PKG_DESCR:= file type guesser
PKG_SECTION:= sys/utils
-PKG_BUILDDEP:= file-host
PKG_DEPENDS:= libmagic magic
+PKG_BUILDDEP:= file-host
PKG_URL:= http://www.darwinsys.com/file
PKG_SITES:= ftp://ftp.astron.com/pub/file/
PKG_LIBNAME:= libmagic
@@ -47,9 +47,9 @@ file-install:
${INSTALL_BIN} ${WRKINST}/usr/bin/file ${IDIR_FILE}/usr/bin
magic-install:
- ${INSTALL_DIR} ${IDIR_LIBMAGIC}/usr/share/misc
+ ${INSTALL_DIR} ${IDIR_MAGIC}/usr/share/misc
${INSTALL_DATA} ${WRKINST}/usr/share/misc/magic.mgc \
- ${IDIR_LIBMAGIC}/usr/share/misc
+ ${IDIR_MAGIC}/usr/share/misc
libmagic-install:
${INSTALL_DIR} ${IDIR_LIBMAGIC}/usr/lib
diff --git a/package/firefox/Makefile b/package/firefox/Makefile
new file mode 100644
index 000000000..eb3cfeb9e
--- /dev/null
+++ b/package/firefox/Makefile
@@ -0,0 +1,54 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= firefox
+PKG_VERSION:= 108.0.1
+PKG_RELEASE:= 1
+PKG_HASH:= 9821ac130dad01383e03276bf6cc92d41329d351da1fa7fa238168f8890611ea
+PKG_DESCR:= www browser
+PKG_SECTION:= app/browser
+PKG_DEPENDS:= pango libfreetype fontconfig libxcomposite libxcursor
+PKG_DEPENDS+= libgtk3 dbus-glib alsa-lib libatk harfbuzz
+PKG_BUILDDEP:= python3-host nodejs-host pango freetype fontconfig libXcomposite
+PKG_BUILDDEP+= libXcursor libgtk3 dbus-glib alsa-lib atk harfbuzz
+PKG_SITES:= https://ftp.mozilla.org/pub/firefox/releases/$(PKG_VERSION)/source/
+
+PKG_ARCH_DEPENDS:= aarch64
+
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).source.tar.xz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,FIREFOX,firefox,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+ifeq ($(ADK_TARGET_ARCH),aarch64)
+TARGET_NAME:= aarch64-linux-gnu
+endif
+
+CONFIG_STYLE:= minimal
+CONFIGURE_ENV+= CROSS_COMPILE=1 \
+ BINDGEN_CFLAGS="--sysroot /usr/$(TARGET_NAME)" \
+ AS="$(GNU_TARGET_NAME)-gcc"
+CONFIGURE_ARGS+= --prefix=/usr \
+ --target=$(TARGET_NAME) \
+ --with-toolchain-prefix=$(GNU_TARGET_NAME)- \
+ --enable-application=browser \
+ --enable-official-branding \
+ --disable-audio-backends \
+ --without-wasm-sandboxed-libraries \
+ --disable-profiling \
+ --with-clang-path=/usr/bin/clang-13
+
+firefox-install:
+ $(INSTALL_DIR) $(IDIR_FIREFOX)/usr/bin
+ $(INSTALL_DIR) $(IDIR_FIREFOX)/usr/lib/firefox
+ $(CP) $(WRKINST)/usr/bin/firefox \
+ $(IDIR_FIREFOX)/usr/bin
+ $(CP) $(WRKINST)/usr/lib/firefox/* \
+ $(IDIR_FIREFOX)/usr/lib/firefox
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/flac/Makefile b/package/flac/Makefile
index 6ecb5ace9..d6a89159d 100644
--- a/package/flac/Makefile
+++ b/package/flac/Makefile
@@ -4,14 +4,14 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= flac
-PKG_VERSION:= 1.3.2
+PKG_VERSION:= 1.3.4
PKG_RELEASE:= 1
-PKG_HASH:= 91cfc3ed61dc40f47f050a109b08610667d73477af6ef36dcad31c31a4a8d53f
+PKG_HASH:= 8ff0607e75a322dd7cd6ec48f4f225471404ae2730d0ea945127b1355155e737
PKG_DESCR:= free lossless audio codec utility
PKG_SECTION:= mm/audio
PKG_DEPENDS:= libflac
PKG_URL:= https://xiph.org/flac/
-PKG_SITES:= http://downloads.xiph.org/releases/flac/
+PKG_SITES:= https://ftp.osuosl.org/pub/xiph/releases/flac/
PKG_LIBNAME:= libflac
PKG_OPTS:= dev
@@ -25,6 +25,7 @@ $(eval $(call PKG_template,FLAC,flac,${PKG_VERSION}-${PKG_RELEASE}))
$(eval $(call PKG_template,LIBFLAC,libflac,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
CONFIGURE_ARGS+= --enable-asm-optimizations \
+ --disable-stack-smash-protection \
--disable-xmms-plugin \
--disable-cpplibs \
--disable-ogg
diff --git a/package/flashrom/Makefile b/package/flashrom/Makefile
new file mode 100644
index 000000000..fc56a3828
--- /dev/null
+++ b/package/flashrom/Makefile
@@ -0,0 +1,30 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include ${ADK_TOPDIR}/rules.mk
+
+PKG_NAME:= flashrom
+PKG_VERSION:= v1.2
+PKG_RELEASE:= 1
+PKG_HASH:= e1f8d95881f5a4365dfe58776ce821dfcee0f138f75d0f44f8a3cd032d9ea42b
+PKG_DESCR:= utility for identifying, reading, writing, verifying and erasing flash chips.
+PKG_SECTION:= sys/hw
+PKG_DEPENDS:= pciutils libusb zlib
+PKG_BUILDDEP:= pciutils libusb zlib
+PKG_URL:= https://www.flashrom.org/Flashrom
+PKG_SITES:= https://download.flashrom.org/releases/
+
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,FLASHROM,flashrom,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+CONFIG_STYLE:= manual
+TARGET_CFLAGS+= -I$(STAGING_TARGET_DIR)/usr/include/libusb-1.0
+
+flashrom-install:
+ ${INSTALL_DIR} ${IDIR_FLASHROM}/usr/sbin
+ ${INSTALL_BIN} ${WRKINST}/usr/local/sbin/flashrom ${IDIR_FLASHROM}/usr/sbin/
+
+include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/flatbuffers/Makefile b/package/flatbuffers/Makefile
new file mode 100644
index 000000000..f4811d7a8
--- /dev/null
+++ b/package/flatbuffers/Makefile
@@ -0,0 +1,39 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= flatbuffers
+PKG_VERSION:= 2.0.6
+PKG_RELEASE:= 1
+PKG_HASH:= e2dc24985a85b278dd06313481a9ca051d048f9474e0f199e372fea3ea4248c9
+PKG_DESCR:= cross platform serialization library
+PKG_SECTION:= libs/misc
+PKG_BUILDDEP:= flatbuffers-host
+PKG_URL:= https://github.com/google/flatbuffers
+PKG_SITES:= https://github.com/google/flatbuffers/archive/refs/tags/
+PKG_OPTS:= dev
+
+DISTFILES:= v$(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/host.mk
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call HOST_template,FLATBUFFERS,flatbuffers,$(PKG_VERSION)-${PKG_RELEASE}))
+$(eval $(call PKG_template,FLATBUFFERS,flatbuffers,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+HOST_CONFIG_STYLE:= cmake
+CONFIG_STYLE:= cmake
+
+CMAKE_FLAGS+= -DFLATBUFFERS_BUILD_TESTS=OFF \
+ -DFLATBUFFERS_BUILD_FLATC=OFF \
+ -DFLATBUFFERS_BUILD_FLATHASH=OFF
+
+HOST_CMAKE_FLAGS+= -DFLATBUFFERS_BUILD_TESTS=OFF \
+ -DFLATBUFFERS_BUILD_FLATC=ON \
+ -DFLATBUFFERS_BUILD_FLATHASH=ON
+
+flatbuffers-install:
+
+include ${ADK_TOPDIR}/mk/host-bottom.mk
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/flex/Makefile b/package/flex/Makefile
index 56ae93305..5570365ff 100644
--- a/package/flex/Makefile
+++ b/package/flex/Makefile
@@ -12,7 +12,7 @@ PKG_SECTION:= dev/tools
PKG_BUILDDEP:= m4-host
HOST_BUILDDEP:= m4-host bison-host patch-host libtool-host
PKG_URL:= https://github.com/westes/flex
-PKG_SITES:= https://github.com/westes/flex/releases/download/v$(PKG_VERSION)/
+PKG_SITES:= https://github.com/westes/flex/files/981163/
PKG_OPTS:= dev
DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
diff --git a/package/fltk/Makefile b/package/fltk/Makefile
index be3670a46..ce17671e8 100644
--- a/package/fltk/Makefile
+++ b/package/fltk/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= fltk
-PKG_VERSION:= 1.3.3
+PKG_VERSION:= 1.3.8
PKG_RELEASE:= 1
-PKG_HASH:= f8398d98d7221d40e77bc7b19e761adaf2f1ef8bb0c30eceb7beb4f2273d0d97
+PKG_HASH:= f3c1102b07eb0e7a50538f9fc9037c18387165bc70d4b626e94ab725b9d4d1bf
PKG_DESCR:= fast light toolkit
PKG_SECTION:= libs/misc
PKG_DEPENDS:= mesa libx11 libxi freeglut libfreetype
diff --git a/package/fluxbox/Makefile b/package/fluxbox/Makefile
index 54d67f15d..d347fc0fc 100644
--- a/package/fluxbox/Makefile
+++ b/package/fluxbox/Makefile
@@ -5,7 +5,7 @@ include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= fluxbox
PKG_VERSION:= 1.3.7
-PKG_RELEASE:= 1
+PKG_RELEASE:= 2
PKG_HASH:= fc8c75fe94c54ed5a5dd3fd4a752109f8949d6df67a48e5b11a261403c382ec0
PKG_DESCR:= window manager featuring tabs and an iconbar
PKG_SECTION:= x11/apps
diff --git a/package/fluxbox/patches/patch-util_fluxbox-remote_cc b/package/fluxbox/patches/patch-util_fluxbox-remote_cc
new file mode 100644
index 000000000..bc76ea43e
--- /dev/null
+++ b/package/fluxbox/patches/patch-util_fluxbox-remote_cc
@@ -0,0 +1,11 @@
+--- fluxbox-1.3.7.orig/util/fluxbox-remote.cc 2015-02-08 11:44:45.377187009 +0100
++++ fluxbox-1.3.7/util/fluxbox-remote.cc 2023-01-13 06:47:39.349301911 +0100
+@@ -73,7 +73,7 @@ int main(int argc, char **argv) {
+ if (strcmp(cmd, "result") == 0) {
+ XTextProperty text_prop;
+ if (XGetTextProperty(disp, root, &text_prop, atom_result) != 0
+- && text_prop.value > 0
++ && text_prop.value != 0
+ && text_prop.nitems > 0) {
+
+ printf("%s", text_prop.value);
diff --git a/package/fmt/Makefile b/package/fmt/Makefile
index 2831edea5..82d25c0cf 100644
--- a/package/fmt/Makefile
+++ b/package/fmt/Makefile
@@ -4,11 +4,12 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= fmt
-PKG_VERSION:= 5.0.0
+PKG_VERSION:= 8.1.1
PKG_RELEASE:= 1
-PKG_HASH:= fc33d64d5aa2739ad2ca1b128628a7fc1b7dca1ad077314f09affc57d59cf88a
+PKG_HASH:= 3d794d3cf67633b34b2771eb9f073bde87e846e0d395d254df7b211ef1ec7346
PKG_DESCR:= modern formatting library
PKG_SECTION:= libs/misc
+PKG_BUILDDEP:= cmake-host
PKG_URL:= http://fmtlib.net/latest/index.html
PKG_SITES:= https://github.com/fmtlib/fmt/archive/
PKG_LIBNAME:= libfmt
diff --git a/package/font-adobe-100dpi/Makefile b/package/font-adobe-100dpi/Makefile
index 1f4a9a1f1..d0cd64f30 100644
--- a/package/font-adobe-100dpi/Makefile
+++ b/package/font-adobe-100dpi/Makefile
@@ -22,9 +22,11 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,FONT_ADOBE_100DPI,font-adobe-100dpi,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+XAKE_FLAGS+= DESTDIR=''
+
font-adobe-100dpi-install:
$(INSTALL_DIR) $(IDIR_FONT_ADOBE_100DPI)/usr/share/fonts/X11/100dpi
- $(CP) ${WRKINST}/usr/share/fonts/X11/100dpi/* \
+ $(CP) ${STAGING_TARGET_DIR}/usr/share/fonts/X11/100dpi/* \
$(IDIR_FONT_ADOBE_100DPI)/usr/share/fonts/X11/100dpi
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/font-adobe-75dpi/Makefile b/package/font-adobe-75dpi/Makefile
index e8220968a..68ae9963b 100644
--- a/package/font-adobe-75dpi/Makefile
+++ b/package/font-adobe-75dpi/Makefile
@@ -22,9 +22,11 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,FONT_ADOBE_75DPI,font-adobe-75dpi,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+XAKE_FLAGS+= DESTDIR=''
+
font-adobe-75dpi-install:
$(INSTALL_DIR) $(IDIR_FONT_ADOBE_75DPI)/usr/share/fonts/X11/75dpi
- $(CP) ${WRKINST}/usr/share/fonts/X11/75dpi/* \
+ $(CP) ${STAGING_TARGET_DIR}/usr/share/fonts/X11/75dpi/* \
$(IDIR_FONT_ADOBE_75DPI)/usr/share/fonts/X11/75dpi
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/font-util/Makefile b/package/font-util/Makefile
index ec2559275..5b9289f89 100644
--- a/package/font-util/Makefile
+++ b/package/font-util/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= font-util
-PKG_VERSION:= 1.3.1
+PKG_VERSION:= 1.3.2
PKG_RELEASE:= 1
-PKG_HASH:= 34ebb0c9c14e0a392cdd5ea055c92489ad88d55ae148b2f1cfded0f3f63f2b5b
+PKG_HASH:= f115a3735604de1e852a4bf669be0269d8ce8f21f8e0e74ec5934b31dadc1e76
PKG_DESCR:= font utility
PKG_SECTION:= x11/fonts
PKG_URL:= http://www.x.org/
diff --git a/package/font-util/patches/patch-fontutil_pc_in b/package/font-util/patches/patch-fontutil_pc_in
index 4662db361..2b2ed3d53 100644
--- a/package/font-util/patches/patch-fontutil_pc_in
+++ b/package/font-util/patches/patch-fontutil_pc_in
@@ -1,11 +1,14 @@
---- font-util-1.1.1.orig/fontutil.pc.in 2009-10-11 06:32:56.000000000 +0200
-+++ font-util-1.1.1/fontutil.pc.in 2010-12-02 22:28:16.000000000 +0100
-@@ -4,7 +4,7 @@ libdir=@libdir@
+--- font-util-1.3.2.orig/fontutil.pc.in 2019-08-26 00:25:25.000000000 +0200
++++ font-util-1.3.2/fontutil.pc.in 2022-03-01 21:10:24.228234038 +0100
+@@ -2,9 +2,9 @@ prefix=@prefix@
+ exec_prefix=@exec_prefix@
+ libdir=@libdir@
datarootdir=@datarootdir@
- datadir=@datadir@
+-datadir=@datadir@
++datadir=${prefix}/share
fontrootdir=@fontrootdir@
-mapdir=@MAPDIR@
-+mapdir=${prefix}/../@MAPDIR@
++mapdir=${fontrootdir}/util
Name: FontUtil
Description: Font utilities dirs
diff --git a/package/fontconfig/Makefile b/package/fontconfig/Makefile
index 2642bf634..15e797efc 100644
--- a/package/fontconfig/Makefile
+++ b/package/fontconfig/Makefile
@@ -4,13 +4,13 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= fontconfig
-PKG_VERSION:= 2.12.3
-PKG_RELEASE:= 2
-PKG_HASH:= ffc3cbf6dd9fcd516ee42f48306a715e66698b238933d6fa7cef02ea8b3b818e
+PKG_VERSION:= 2.13.1
+PKG_RELEASE:= 1
+PKG_HASH:= 9f0d852b39d75fc655f9f53850eb32555394f36104a044bb2b2fc9e66dbbfa7f
PKG_DESCR:= library for configuring and customizing font access
PKG_SECTION:= libs/fonts
PKG_DEPENDS:= libxml2
-PKG_BUILDDEP:= freetype libxml2 gperf-host
+PKG_BUILDDEP:= freetype libxml2 gperf-host util-linux
HOST_BUILDDEP:= expat-host
PKG_URL:= http://fontconfig.org/
PKG_SITES:= http://fontconfig.org/release/
@@ -24,6 +24,7 @@ include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call HOST_template,FONTCONFIG,fontconfig,${PKG_VERSION}-${PKG_RELEASE}))
$(eval $(call PKG_template,FONTCONFIG,fontconfig,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
+AUTOTOOL_STYLE:= autoreconf
HOST_STYLE:= auto
CONFIGURE_ARGS+= --with-arch=${ADK_TARGET_ARCH} \
--enable-libxml2 \
diff --git a/package/fping/Makefile b/package/fping/Makefile
index 613112d88..6340c32bc 100644
--- a/package/fping/Makefile
+++ b/package/fping/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= fping
-PKG_VERSION:= 3.16
+PKG_VERSION:= 5.1
PKG_RELEASE:= 1
-PKG_HASH:= 2f753094e4df3cdb1d99be1687c0fb7d2f14c0d526ebf03158c8c5519bc78f54
+PKG_HASH:= 1ee5268c063d76646af2b4426052e7d81a42b657e6a77d8e7d3d2e60fd7409fe
PKG_DESCR:= program to ping hosts in parallel
PKG_SECTION:= net/debug
PKG_URL:= http://fping.org
diff --git a/package/fprobe/patches/patch-src_fprobe_c b/package/fprobe/patches/patch-src_fprobe_c
new file mode 100644
index 000000000..43197cf64
--- /dev/null
+++ b/package/fprobe/patches/patch-src_fprobe_c
@@ -0,0 +1,20 @@
+--- fprobe-1.1.orig/src/fprobe.c 2005-01-30 09:43:35.000000000 +0100
++++ fprobe-1.1/src/fprobe.c 2024-02-20 07:18:30.403921178 +0100
+@@ -393,7 +393,7 @@ void gettime(struct Time *now)
+ now->usec = t.tv_usec;
+ }
+
+-inline time_t cmpmtime(struct Time *t1, struct Time *t2)
++time_t cmpmtime(struct Time *t1, struct Time *t2)
+ {
+ return (t1->sec - t2->sec) * 1000 + (t1->usec - t2->usec) / 1000;
+ }
+@@ -411,7 +411,7 @@ hash_t hash_flow(struct Flow *flow)
+ else return hash(flow, sizeof(struct Flow_TL));
+ }
+
+-inline void copy_flow(struct Flow *src, struct Flow *dst)
++void copy_flow(struct Flow *src, struct Flow *dst)
+ {
+ dst->sip = src->sip;
+ dst->dip = src->dip;
diff --git a/package/freeglut/Makefile b/package/freeglut/Makefile
index cee02625d..1ed30db0d 100644
--- a/package/freeglut/Makefile
+++ b/package/freeglut/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= freeglut
-PKG_VERSION:= 3.0.0
+PKG_VERSION:= 3.2.1
PKG_RELEASE:= 1
-PKG_HASH:= 2a43be8515b01ea82bcfa17d29ae0d40bd128342f0930cd1f375f1ff999f76a2
+PKG_HASH:= d4000e02102acaf259998c870e25214739d1f16f67f99cb35e4f46841399da68
PKG_DESCR:= opengl utility toolkit libraries
PKG_SECTION:= libs/video
PKG_DEPENDS:= libglu
diff --git a/package/freeglut/patches/patch-src_fg_gl2_c b/package/freeglut/patches/patch-src_fg_gl2_c
new file mode 100644
index 000000000..dbd947a91
--- /dev/null
+++ b/package/freeglut/patches/patch-src_fg_gl2_c
@@ -0,0 +1,23 @@
+--- freeglut-3.2.1.orig/src/fg_gl2.c 2014-06-01 11:24:47.000000000 +0200
++++ freeglut-3.2.1/src/fg_gl2.c 2021-11-02 10:29:44.673793670 +0100
+@@ -27,6 +27,20 @@
+ #include "fg_internal.h"
+ #include "fg_gl2.h"
+
++#ifndef GL_ES_VERSION_2_0
++/* GLES2 has the corresponding entry points built-in, and these fgh-prefixed
++ * names are defined in fg_gl2.h header to reference them, for any other case,
++ * define them as function pointers here.
++ */
++FGH_PFNGLGENBUFFERSPROC fghGenBuffers;
++FGH_PFNGLDELETEBUFFERSPROC fghDeleteBuffers;
++FGH_PFNGLBINDBUFFERPROC fghBindBuffer;
++FGH_PFNGLBUFFERDATAPROC fghBufferData;
++FGH_PFNGLENABLEVERTEXATTRIBARRAYPROC fghEnableVertexAttribArray;
++FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC fghDisableVertexAttribArray;
++FGH_PFNGLVERTEXATTRIBPOINTERPROC fghVertexAttribPointer;
++#endif
++
+ void FGAPIENTRY glutSetVertexAttribCoord3(GLint attrib) {
+ if (fgStructure.CurrentWindow != NULL)
+ fgStructure.CurrentWindow->Window.attribute_v_coord = attrib;
diff --git a/package/freeglut/patches/patch-src_fg_gl2_h b/package/freeglut/patches/patch-src_fg_gl2_h
new file mode 100644
index 000000000..a552d4fa9
--- /dev/null
+++ b/package/freeglut/patches/patch-src_fg_gl2_h
@@ -0,0 +1,23 @@
+--- freeglut-3.2.1.orig/src/fg_gl2.h 2012-04-21 20:22:24.000000000 +0200
++++ freeglut-3.2.1/src/fg_gl2.h 2021-11-02 10:29:44.673793670 +0100
+@@ -67,13 +67,13 @@ typedef void (APIENTRY *FGH_PFNGLENABLEV
+ typedef void (APIENTRY *FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint);
+ typedef void (APIENTRY *FGH_PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
+
+-FGH_PFNGLGENBUFFERSPROC fghGenBuffers;
+-FGH_PFNGLDELETEBUFFERSPROC fghDeleteBuffers;
+-FGH_PFNGLBINDBUFFERPROC fghBindBuffer;
+-FGH_PFNGLBUFFERDATAPROC fghBufferData;
+-FGH_PFNGLENABLEVERTEXATTRIBARRAYPROC fghEnableVertexAttribArray;
+-FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC fghDisableVertexAttribArray;
+-FGH_PFNGLVERTEXATTRIBPOINTERPROC fghVertexAttribPointer;
++extern FGH_PFNGLGENBUFFERSPROC fghGenBuffers;
++extern FGH_PFNGLDELETEBUFFERSPROC fghDeleteBuffers;
++extern FGH_PFNGLBINDBUFFERPROC fghBindBuffer;
++extern FGH_PFNGLBUFFERDATAPROC fghBufferData;
++extern FGH_PFNGLENABLEVERTEXATTRIBARRAYPROC fghEnableVertexAttribArray;
++extern FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC fghDisableVertexAttribArray;
++extern FGH_PFNGLVERTEXATTRIBPOINTERPROC fghVertexAttribPointer;
+
+ # endif
+
diff --git a/package/freeglut/patches/patch-src_fg_version_h b/package/freeglut/patches/patch-src_fg_version_h
new file mode 100644
index 000000000..6bb5f6d69
--- /dev/null
+++ b/package/freeglut/patches/patch-src_fg_version_h
@@ -0,0 +1,16 @@
+--- freeglut-3.2.1.orig/src/fg_version.h 2014-08-18 04:00:40.000000000 +0200
++++ freeglut-3.2.1/src/fg_version.h 2021-11-02 09:37:27.466889937 +0100
+@@ -37,11 +37,11 @@
+ #endif
+
+ #ifndef VERSION_MINOR
+-#define VERSION_MINOR 0
++#define VERSION_MINOR 2
+ #endif
+
+ #ifndef VERSION_PATCH
+-#define VERSION_PATCH 0
++#define VERSION_PATCH 1
+ #endif
+
+ #endif
diff --git a/package/freeradius-server/Makefile b/package/freeradius-server/Makefile
index 60647d336..b9c1f12f2 100644
--- a/package/freeradius-server/Makefile
+++ b/package/freeradius-server/Makefile
@@ -4,16 +4,16 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= freeradius-server
-PKG_VERSION:= 3.0.13
+PKG_VERSION:= 3.2.3
PKG_RELEASE:= 1
-PKG_HASH:= 34da25c1a0e39dc57821ed6d1af1c1cc8bb7e280169cc8b4003acbfc4184328e
+PKG_HASH:= 4bde047122e588c63fe2d599a73f7ab9a863806f9e716e88a3d77080b482c577
PKG_DESCR:= flexible radius server
PKG_SECTION:= net/radius
-PKG_DEPENDS:= libltdl libpcre libtalloc libressl
+PKG_DEPENDS:= libltdl libpcre libtalloc libressl libatomic
PKG_BUILDDEP:= libtool pcre talloc libressl
PKG_NEEDS:= threads
PKG_URL:= http://www.freeradius.org/
-PKG_SITES:= ftp://ftp.freeradius.org/pub/radius/
+PKG_SITES:= https://github.com/FreeRADIUS/freeradius-server/releases/download/release_3_2_3/
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
@@ -71,7 +71,7 @@ endif
ifneq (${ADK_PACKAGE_FREERADIUS_MOD_SQL_MYSQL},)
PKG_CONFIGURE_LIBS+= -lz
-PKG_CONFIGURE_OPTS+= --with-mysql-include-dir="${STAGING_TARGET_DIR}/usr/include" \
+PKG_CONFIGURE_OPTS+= --with-mysql-include-dir="${STAGING_TARGET_DIR}/usr/include/mysql" \
--with-mysql-lib-dir="${STAGING_TARGET_DIR}/usr/lib/mysql" \
--without-threads \
--with-rlm_sql
@@ -134,14 +134,14 @@ $(eval $(call PKG_mod_template,FREERADIUS_MOD_SQL,rlm_sql,))
$(eval $(call PKG_mod_template,FREERADIUS_MOD_SQL_MYSQL,rlm_sql_mysql,))
$(eval $(call PKG_mod_template,FREERADIUS_MOD_SQL_PGSQL,rlm_sql_postgresql,))
-AUTOTOOL_STYLE:= autoreconf
CONFIGURE_ARGS+= ${PKG_CONFIGURE_OPTS} \
--libdir=/usr/lib/freeradius \
--libexecdir=/usr/lib/freeradius \
--disable-openssl-version-check \
--with-execinfo-include-dir=/dev/null \
- --with-openssl-includes=${STAGING_TARGET_DIR}/usr/include \
- --with-openssl-libraries=${STAGING_TARGET_DIR}/usr/lib \
+ --with-threads=yes \
+ --with-openssl-include-dir=${STAGING_TARGET_DIR}/usr/include \
+ --with-openssl-lib-dir=${STAGING_TARGET_DIR}/usr/lib \
--with-system-libltld \
--enable-strict-dependencies \
--with-raddbdir=/etc/freeradius \
@@ -157,15 +157,17 @@ CONFIGURE_ARGS+= ${PKG_CONFIGURE_OPTS} \
--without-rlm_eap_sim \
--without-rlm_example \
--without-rlm_ippool \
+ --without-rlm_json \
--without-rlm_krb5 \
--without-rlm_otp \
--without-rlm_smsotp \
--without-rlm_pam \
--without-rlm_perl \
- --without-rlm_python \
+ --without-rlm_python3 \
--without-rlm_radutmp \
--without-rlm_rest \
--without-rlm_ruby \
+ --without-rlm_python \
--without-rlm_smb \
--without-rlm_sqlcounter \
--without-rlm_sql_db2 \
@@ -176,7 +178,9 @@ CONFIGURE_ARGS+= ${PKG_CONFIGURE_OPTS} \
--without-rlm_sql_unixodbc \
--without-rlm_sql_log \
--without-rlm_redis \
+ --without-rlm_cache_redis \
--without-rlm_rediswho \
+ --without-rlm_unbound \
--without-rlm_unix \
--without-rlm_eap_ikev2 \
--without-rlm_eap_tnc \
@@ -187,9 +191,10 @@ CONFIGURE_ARGS+= ${PKG_CONFIGURE_OPTS} \
CONFIGURE_ENV+= ax_cv_cc_builtin_choose_expr=yes \
ax_cv_cc_builtin_types_compatible_p=yes \
ax_cv_cc_builtin_bswap64=yes \
- ax_cv_cc_bounded_attribute=yes
-FAKE_FLAGS+= R="${WRKINST}" \
- INSTALLSTRIP=""
+ ax_cv_cc_bounded_attribute=yes \
+FAKE_FLAGS+= INSTALLSTRIP=""
+MAKE_ENV+= VERBOSE=1 \
+ R="$(WRKINST)"
freeradius-server-install: ${INSTALL_MODS_y} ${INSTALL_MODS_m}
-${INSTALL_DIR} ${IDIR_FREERADIUS_SERVER}/etc/freeradius
@@ -203,14 +208,10 @@ freeradius-server-install: ${INSTALL_MODS_y} ${INSTALL_MODS_m}
${IDIR_FREERADIUS_SERVER}/etc/freeradius/ ; \
done
${INSTALL_DIR} ${IDIR_FREERADIUS_SERVER}/usr/share/freeradius
- ${CP} ${WRKINST}/usr/share/freeradius/dictionary \
+ ${CP} ${WRKINST}/usr/share/freeradius/dictionary* \
${IDIR_FREERADIUS_SERVER}/usr/share/freeradius/
- for f in freeradius freeradius.internal rfc2865 rfc2866 rfc2867 rfc2868 rfc2869 rfc3162 rfc3576 rfc3580 rfc4072 rfc4372 rfc4675 rfc4679 rfc5176; do \
- cp ${WRKINST}/usr/share/freeradius/dictionary.$${f} \
- ${IDIR_FREERADIUS_SERVER}/usr/share/freeradius/ ; \
- done
${INSTALL_DIR} ${IDIR_FREERADIUS_SERVER}/usr/lib/freeradius
- ${CP} ${WRKINST}/usr/lib/freeradius/libfreeradius-radius.so \
+ ${CP} ${WRKINST}/usr/lib/freeradius/libfreeradius-{dhcp,eap,server,radius}.so \
${IDIR_FREERADIUS_SERVER}/usr/lib
${INSTALL_DIR} ${IDIR_FREERADIUS_SERVER}/usr/sbin
${CP} ${WRKINST}/usr/sbin/radiusd \
diff --git a/package/freeradius-server/files/radiusd.conf b/package/freeradius-server/files/radiusd.conf
index b9a573f69..c07f65680 100644
--- a/package/freeradius-server/files/radiusd.conf
+++ b/package/freeradius-server/files/radiusd.conf
@@ -15,9 +15,6 @@ run_dir = ${localstatedir}/run
db_dir = ${raddbdir}
libdir = /usr/lib/freeradius
pidfile = ${run_dir}/${name}.pid
-user = radius
-group = radius
-#chroot = /path/to/chroot/directory
max_request_time = 30
cleanup_delay = 5
@@ -36,7 +33,6 @@ listen {
}
hostname_lookups = no
-allow_core_dumps = no
regular_expressions = yes
extended_expressions = yes
@@ -55,6 +51,10 @@ security {
max_attributes = 200
reject_delay = 1
status_server = yes
+ user = radius
+ group = radius
+ allow_core_dumps = no
+# chroot = /path/to/chroot/directory
}
$INCLUDE clients.conf
diff --git a/package/freeradius-server/patches/patch-acinclude_m4 b/package/freeradius-server/patches/patch-acinclude_m4
deleted file mode 100644
index f1cefae77..000000000
--- a/package/freeradius-server/patches/patch-acinclude_m4
+++ /dev/null
@@ -1,164 +0,0 @@
---- freeradius-server-3.0.8.orig/acinclude.m4 2015-04-22 19:21:34.000000000 +0200
-+++ freeradius-server-3.0.8/acinclude.m4 2015-05-13 22:13:54.000000000 +0200
-@@ -218,22 +218,22 @@ ac_safe=`echo "$1" | sed 'y%./+-%__pm%'`
- old_CPPFLAGS="$CPPFLAGS"
- smart_include=
- dnl # The default directories we search in (in addition to the compilers search path)
--smart_include_dir="/usr/local/include /opt/include"
-+dnl smart_include_dir="/usr/local/include /opt/include"
-
- dnl # Our local versions
- _smart_try_dir=
- _smart_include_dir=
-
- dnl # Add variants with the different prefixes and one with no prefix
--for _prefix in $smart_prefix ""; do
-- for _dir in $smart_try_dir; do
-- _smart_try_dir="${_smart_try_dir} ${_dir}/${_prefix}"
-- done
--
-- for _dir in $smart_include_dir; do
-- _smart_include_dir="${_smart_include_dir} ${_dir}/${_prefix}"
-- done
--done
-+dnl for _prefix in $smart_prefix ""; do
-+dnl for _dir in $smart_try_dir; do
-+dnl _smart_try_dir="${_smart_try_dir} ${_dir}/${_prefix}"
-+dnl done
-+dnl
-+dnl for _dir in $smart_include_dir; do
-+dnl _smart_include_dir="${_smart_include_dir} ${_dir}/${_prefix}"
-+dnl done
-+dnl done
-
- dnl #
- dnl # Try any user-specified directory first otherwise we may pick up
-@@ -262,73 +262,73 @@ fi
- dnl #
- dnl # Try using the default includes (with prefixes).
- dnl #
--if test "x$smart_include" = "x"; then
-- for _prefix in $smart_prefix; do
-- AC_MSG_CHECKING([for ${_prefix}/$1])
--
-- AC_TRY_COMPILE([$2
-- #include <$1>],
-- [int a = 1;],
-- [
-- smart_include="-isystem ${_prefix}/"
-- AC_MSG_RESULT(yes)
-- break
-- ],
-- [
-- smart_include=
-- AC_MSG_RESULT(no)
-- ])
-- done
--fi
-+dnl if test "x$smart_include" = "x"; then
-+dnl for _prefix in $smart_prefix; do
-+dnl AC_MSG_CHECKING([for ${_prefix}/$1])
-+dnl
-+dnl AC_TRY_COMPILE([$2
-+dnl #include <$1>],
-+dnl [int a = 1;],
-+dnl [
-+dnl smart_include="-isystem ${_prefix}/"
-+dnl AC_MSG_RESULT(yes)
-+dnl break
-+dnl ],
-+dnl [
-+dnl smart_include=
-+dnl AC_MSG_RESULT(no)
-+dnl ])
-+dnl done
-+dnl fi
-
- dnl #
- dnl # Try using the default includes (without prefixes).
- dnl #
- if test "x$smart_include" = "x"; then
-- AC_MSG_CHECKING([for $1])
--
-- AC_TRY_COMPILE([$2
-+ AC_MSG_CHECKING([for $1])
-+
-+ AC_TRY_COMPILE([$2
- #include <$1>],
-- [int a = 1;],
-- [
-- smart_include=" "
-- AC_MSG_RESULT(yes)
-- break
-- ],
-- [
-- smart_include=
-+ [int a = 1;],
-+ [
-+ smart_include=" "
-+ AC_MSG_RESULT(yes)
-+ break
-+ ],
-+ [
-+ smart_include=
- AC_MSG_RESULT(no)
-- ])
-+ ])
- fi
-
- dnl #
- dnl # Try to guess possible locations.
- dnl #
--if test "x$smart_include" = "x"; then
--
-- for prefix in $smart_prefix; do
-- FR_LOCATE_DIR(_smart_include_dir,"${_prefix}/${1}")
-- done
-- FR_LOCATE_DIR(_smart_include_dir, $1)
--
-- for try in $_smart_include_dir; do
-- AC_MSG_CHECKING([for $1 in $try])
-- CPPFLAGS="-isystem $try $old_CPPFLAGS"
-- AC_TRY_COMPILE([$2
-- #include <$1>],
-- [int a = 1;],
-- [
-- smart_include="-isystem $try"
-- AC_MSG_RESULT(yes)
-- break
-- ],
-- [
-- smart_include=
-- AC_MSG_RESULT(no)
-- ])
-- done
-- CPPFLAGS="$old_CPPFLAGS"
--fi
-+dnl if test "x$smart_include" = "x"; then
-+dnl
-+dnl for prefix in $smart_prefix; do
-+dnl FR_LOCATE_DIR(_smart_include_dir,"${_prefix}/${1}")
-+dnl done
-+dnl FR_LOCATE_DIR(_smart_include_dir, $1)
-+dnl
-+dnl for try in $_smart_include_dir; do
-+dnl AC_MSG_CHECKING([for $1 in $try])
-+dnl CPPFLAGS="-isystem $try $old_CPPFLAGS"
-+dnl AC_TRY_COMPILE([$2
-+dnl #include <$1>],
-+dnl [int a = 1;],
-+dnl [
-+dnl smart_include="-isystem $try"
-+dnl AC_MSG_RESULT(yes)
-+dnl break
-+dnl ],
-+dnl [
-+dnl smart_include=
-+dnl AC_MSG_RESULT(no)
-+dnl ])
-+dnl done
-+dnl CPPFLAGS="$old_CPPFLAGS"
-+dnl fi
-
- dnl #
- dnl # Found it, set the appropriate variable.
diff --git a/package/freeradius-server/patches/patch-scripts_libtool_mk b/package/freeradius-server/patches/patch-scripts_libtool_mk
index c9f83db69..bcfdeff89 100644
--- a/package/freeradius-server/patches/patch-scripts_libtool_mk
+++ b/package/freeradius-server/patches/patch-scripts_libtool_mk
@@ -1,11 +1,13 @@
---- freeradius-server-3.0.13.orig/scripts/libtool.mk 2017-03-06 14:58:04.000000000 +0100
-+++ freeradius-server-3.0.13/scripts/libtool.mk 2017-03-30 05:46:58.583531343 +0200
-@@ -44,7 +44,7 @@ ifeq "${LIBTOOL}" "JLIBTOOL"
+--- freeradius-server-3.2.3.orig/scripts/libtool.mk 2023-05-26 15:56:52.000000000 +0200
++++ freeradius-server-3.2.3/scripts/libtool.mk 2024-02-27 03:44:17.243010645 +0100
+@@ -48,8 +48,8 @@ ifeq "${LIBTOOL}" "JLIBTOOL"
+ # binary!
${JLIBTOOL}: ${top_makedir}/jlibtool.c
$(Q)mkdir -p $(dir $@)
- $(Q)echo CC jlibtool.c
-- $(Q)${CC} $< -o $@
-+ $(Q)${CC_FOR_BUILD} $< -o $@
+- $(Q)echo CC jlibtool.c
+- $(Q)${CC} $< -o $@ ${JLIBTOOL_DEFS}
++ $(Q)echo CC_FOR_BUILD jlibtool.c
++ ${CC_FOR_BUILD} $< -o $@ ${JLIBTOOL_DEFS}
clean: jlibtool_clean
diff --git a/package/freeradius-server/patches/patch-src_include_threads_h b/package/freeradius-server/patches/patch-src_include_threads_h
new file mode 100644
index 000000000..3011af0a9
--- /dev/null
+++ b/package/freeradius-server/patches/patch-src_include_threads_h
@@ -0,0 +1,33 @@
+--- freeradius-server-3.2.3.orig/src/include/threads.h 2023-05-26 15:56:52.000000000 +0200
++++ freeradius-server-3.2.3/src/include/threads.h 2024-02-27 04:03:53.806994686 +0100
+@@ -92,7 +92,7 @@ static _t __fr_thread_local_init_##_n(pt
+ # define fr_thread_local_get(_n) _n
+ #elif defined(HAVE_PTHREAD_H)
+ # include <pthread.h>
+-# define fr_thread_local_setup(_t, _n) \
++# define fr_thread_local_setup(_t, _n) static __thread _t _n;\
+ static pthread_key_t __fr_thread_local_key_##_n;\
+ static pthread_once_t __fr_thread_local_once_##_n = PTHREAD_ONCE_INIT;\
+ static pthread_destructor_t __fr_thread_local_destructor_##_n = NULL;\
+@@ -103,17 +103,17 @@ static void __fr_thread_local_destroy_##
+ static void __fr_thread_local_key_init_##_n(void)\
+ {\
+ (void) pthread_key_create(&__fr_thread_local_key_##_n, __fr_thread_local_destroy_##_n);\
+- (void) pthread_setspecific(__fr_thread_local_key_##_n, &(_n));\
+ }\
+ static _t __fr_thread_local_init_##_n(pthread_destructor_t func)\
+ {\
+ __fr_thread_local_destructor_##_n = func;\
+ if (_n) return _n; \
+ (void) pthread_once(&__fr_thread_local_once_##_n, __fr_thread_local_key_init_##_n);\
++ (void) pthread_setspecific(__fr_thread_local_key_##_n, &(_n));\
+ return _n;\
+ }
+-# define fr_thread_local_init(_n, _f) __fr_thread_local_init_##_n(_f)
+-# define fr_thread_local_set(_n, _v) __fr_thread_local_set_##_n(_v)
+-# define fr_thread_local_get(_n) __fr_thread_local_get_##_n()
++# define fr_thread_local_init(_n, _f) __fr_thread_local_init_##_n(_f)
++# define fr_thread_local_set(_n, _v) ((int)!((_n = _v) || 1))
++# define fr_thread_local_get(_n) _n
+ #endif
+ #endif
diff --git a/package/freeradius-server/patches/patch-src_main_tls_c b/package/freeradius-server/patches/patch-src_main_tls_c
deleted file mode 100644
index 3eb635e97..000000000
--- a/package/freeradius-server/patches/patch-src_main_tls_c
+++ /dev/null
@@ -1,16 +0,0 @@
---- freeradius-server-3.0.13.orig/src/main/tls.c 2017-03-06 14:58:04.000000000 +0100
-+++ freeradius-server-3.0.13/src/main/tls.c 2017-03-30 05:52:35.584542618 +0200
-@@ -2131,13 +2131,9 @@ int cbtls_verify(int ok, X509_STORE_CTX
- }
-
- if (lookup == 0) {
--#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-- ext_list = X509_get0_extensions(client_cert);
--#else
- X509_CINF *client_inf;
- client_inf = client_cert->cert_info;
- ext_list = client_inf->extensions;
--#endif
- } else {
- ext_list = NULL;
- }
diff --git a/package/freeswitch/Makefile b/package/freeswitch/Makefile
index e5eeadf33..0d6f067c8 100644
--- a/package/freeswitch/Makefile
+++ b/package/freeswitch/Makefile
@@ -4,22 +4,25 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= freeswitch
-PKG_VERSION:= 1.6.18
+PKG_VERSION:= 1.10.11
PKG_RELEASE:= 1
-PKG_HASH:= ac1b32f61e5c35680c5a2d6f145bc480cf26e6527af07d8b8b9fa2d5280252cd
+PKG_HASH:= 4437edfa08558aa407c9fad5e4eed58f757357c53ca735aed9977e48aa1c53e3
PKG_DESCR:= cross-platform telephony platform
PKG_SECTION:= net/voip
PKG_DEPENDS:= libpcre libcurl zlib libjpeg-turbo libsqlite
-PKG_DEPENDS+= libressl libopus
+PKG_DEPENDS+= libressl libopus spandsp sofia-sip
PKG_BUILDDEP:= util-linux zlib libjpeg-turbo sqlite curl pcre
-PKG_BUILDDEP+= speex libressl opus
+PKG_BUILDDEP+= speex libressl opus spandsp sofia-sip
PKG_URL:= http://www.freeswitch.org/
-PKG_SITES:= http://files.freeswitch.org/freeswitch-releases/
+PKG_SITES:= https://github.com/signalwire/freeswitch/archive/refs/tags/
+
+DISTFILES:= v$(PKG_VERSION).tar.gz
include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,FREESWITCH,freeswitch,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+AUTOTOOL_STYLE:= bootstrap
CONFIGURE_ARGS+= --disable-core-libedit-support \
--disable-libvpx
CONFIGURE_ENV+= ac_cv_file__dev_ptmx=yes \
@@ -35,10 +38,15 @@ CONFIGURE_ENV+= ac_cv_file__dev_ptmx=yes \
ac_cv_func_setpgrp_void=yes
pre-configure:
+ $(SED) "/applications\/mod_av/d" $(WRKBUILD)/modules.conf
$(SED) "/applications\/mod_enum/d" $(WRKBUILD)/modules.conf
$(SED) "/applications\/mod_fsv/d" $(WRKBUILD)/modules.conf
+ $(SED) "/applications\/mod_signalwire/d" $(WRKBUILD)/modules.conf
+ $(SED) "/applications\/mod_spandsp/d" $(WRKBUILD)/modules.conf
+ $(SED) "/databases\/mod_pgsql/d" $(WRKBUILD)/modules.conf
$(SED) "/languages\/mod_lua/d" $(WRKBUILD)/modules.conf
$(SED) "/endpoints\/mod_sofia/d" $(WRKBUILD)/modules.conf
+ $(SED) "/endpoints\/mod_verto/d" $(WRKBUILD)/modules.conf
$(SED) "/codecs\/mod_vpx/d" $(WRKBUILD)/modules.conf
$(SED) "/formats\/mod_sndfile/d" $(WRKBUILD)/modules.conf
diff --git a/package/freeswitch/patches/patch-libs_srtp_crypto_hash_hmac_ossl_c b/package/freeswitch/patches/patch-libs_srtp_crypto_hash_hmac_ossl_c
new file mode 100644
index 000000000..aab43c797
--- /dev/null
+++ b/package/freeswitch/patches/patch-libs_srtp_crypto_hash_hmac_ossl_c
@@ -0,0 +1,22 @@
+--- freeswitch-1.10.11.orig/libs/srtp/crypto/hash/hmac_ossl.c 2023-12-22 19:08:31.000000000 +0100
++++ freeswitch-1.10.11/libs/srtp/crypto/hash/hmac_ossl.c 2024-02-29 00:19:04.687821875 +0100
+@@ -80,7 +80,8 @@ static srtp_err_status_t srtp_hmac_alloc
+
+ /* OpenSSL 1.1.0 made HMAC_CTX an opaque structure, which must be allocated
+ using HMAC_CTX_new. But this function doesn't exist in OpenSSL 1.0.x. */
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L || LIBRESSL_VERSION_NUMBER
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
++ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x30500000L)
+ {
+ /* allocate memory for auth and HMAC_CTX structures */
+ uint8_t *pointer;
+@@ -126,7 +127,8 @@ static srtp_err_status_t srtp_hmac_deall
+
+ hmac_ctx = (HMAC_CTX *)a->state;
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L || LIBRESSL_VERSION_NUMBER
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
++ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x30500000L)
+ HMAC_CTX_cleanup(hmac_ctx);
+
+ /* zeroize entire state*/
diff --git a/package/freetype/Makefile b/package/freetype/Makefile
index da2c0a71e..5db6dea81 100644
--- a/package/freetype/Makefile
+++ b/package/freetype/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= freetype
-PKG_VERSION:= 2.7
-PKG_RELEASE:= 1
-PKG_HASH:= 7b657d5f872b0ab56461f3bd310bd1c5ec64619bd15f0d8e08282d494d9cfea4
+PKG_VERSION:= 2.11.1
+PKG_RELEASE:= 2
+PKG_HASH:= f8db94d307e9c54961b39a1cc799a67d46681480696ed72ecf78d4473770f09b
PKG_DESCR:= free, high-quality and portable font engine
PKG_SECTION:= libs/fonts
PKG_DEPENDS:= zlib
@@ -26,12 +26,22 @@ $(eval $(call PKG_template,LIBFREETYPE,libfreetype,${PKG_VERSION}-${PKG_RELEASE}
HOST_STYLE:= auto
HOST_CONFIGURE_ARGS+= --with-zlib \
+ --with-brotli=no \
--without-png \
- --without-bzip2
+ --without-bzip2 \
+ --enable-freetype-config
CONFIGURE_ARGS+= --with-zlib \
--without-png \
--with-harfbuzz=no \
- --without-bzip2
+ --with-brotli=no \
+ --without-bzip2 \
+ --enable-freetype-config
+
+hostpost-install:
+ $(SED) 's:^includedir=.*:includedir="$${prefix}/include":' \
+ -e 's:^libdir=.*:libdir="$${exec_prefix}/lib":' \
+ $(STAGING_HOST_DIR)/usr/bin/freetype-config
+
libfreetype-install:
${INSTALL_DIR} ${IDIR_LIBFREETYPE}/usr/lib
diff --git a/package/freetype/patches/patch-builds_unix_freetype-config_in b/package/freetype/patches/patch-builds_unix_freetype-config_in
deleted file mode 100644
index 74135b0fd..000000000
--- a/package/freetype/patches/patch-builds_unix_freetype-config_in
+++ /dev/null
@@ -1,16 +0,0 @@
---- freetype-2.6.1.orig/builds/unix/freetype-config.in 2015-09-25 07:58:57.000000000 +0200
-+++ freetype-2.6.1/builds/unix/freetype-config.in 2015-10-23 10:37:49.000000000 +0200
-@@ -13,10 +13,10 @@ LC_ALL=C
- export LC_ALL
-
- prefix="%prefix%"
--exec_prefix="%exec_prefix%"
-+exec_prefix="${prefix}/bin"
- exec_prefix_set="no"
--includedir="%includedir%"
--libdir="%libdir%"
-+includedir="${prefix}/include"
-+libdir="${prefix}/lib"
-
- usage()
- {
diff --git a/package/freetype/patches/patch-builds_unix_freetype2_in b/package/freetype/patches/patch-builds_unix_freetype2_in
index 306057eb3..9dc78c081 100644
--- a/package/freetype/patches/patch-builds_unix_freetype2_in
+++ b/package/freetype/patches/patch-builds_unix_freetype2_in
@@ -1,14 +1,13 @@
---- freetype-2.6.1.orig/builds/unix/freetype2.in 2015-09-25 07:58:57.000000000 +0200
-+++ freetype-2.6.1/builds/unix/freetype2.in 2015-10-23 10:43:36.000000000 +0200
-@@ -1,7 +1,8 @@
+--- freetype-2.11.1.orig/builds/unix/freetype2.in 2021-02-13 09:16:54.000000000 +0100
++++ freetype-2.11.1/builds/unix/freetype2.in 2022-03-01 21:51:10.996321135 +0100
+@@ -1,7 +1,7 @@
prefix=%prefix%
-exec_prefix=%exec_prefix%
-libdir=%libdir%
-includedir=%includedir%
-+exec_prefix=${prefix}
-+libdir=${prefix}/lib
-+includedir=${prefix}/include
-+
++exec_prefix=%prefix%
++libdir=%prefix%/lib
++includedir=%prefix%/include
Name: FreeType 2
- URL: http://freetype.org
+ URL: https://freetype.org
diff --git a/package/fribidi/Makefile b/package/fribidi/Makefile
index 7a1834230..75bd11536 100644
--- a/package/fribidi/Makefile
+++ b/package/fribidi/Makefile
@@ -4,17 +4,15 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= fribidi
-PKG_VERSION:= 0.19.7
+PKG_VERSION:= 1.0.11
PKG_RELEASE:= 1
-PKG_HASH:= 08222a6212bbc2276a2d55c3bf370109ae4a35b689acbc66571ad2a670595a8e
+PKG_HASH:= 30f93e9c63ee627d1a2cedcf59ac34d45bf30240982f99e44c6e015466b4e73d
PKG_DESCR:= unicode bidirectional algorithm
PKG_SECTION:= libs/misc
PKG_URL:= http://www.fribidi.org/
-PKG_SITES:= http://fribidi.org/download/
+PKG_SITES:= https://github.com/fribidi/fribidi/releases/download/v1.0.11/
PKG_OPTS:= dev
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
-
include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,FRIBIDI,fribidi,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
diff --git a/package/fstrcmp/Makefile b/package/fstrcmp/Makefile
new file mode 100644
index 000000000..23eb0f6f1
--- /dev/null
+++ b/package/fstrcmp/Makefile
@@ -0,0 +1,24 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= fstrcmp
+PKG_VERSION:= 0.7
+PKG_RELEASE:= 1
+PKG_HASH:= e4018e850f80700acee8da296e56e15b1eef711ab15157e542e7d7e1237c3476
+PKG_DESCR:= make fuzzy comparisons of strings
+PKG_SECTION:= libs/misc
+PKG_SITES:= http://fstrcmp.sourceforge.net/
+PKG_OPTS:= dev
+
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).D001.tar.gz
+WRKDIST= $(WRKDIR)/$(PKG_NAME)-$(PKG_VERSION).D001
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,FSTRCMP,fstrcmp,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+fstrcmp-install:
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/fstrcmp/patches/patch-Makefile_in b/package/fstrcmp/patches/patch-Makefile_in
new file mode 100644
index 000000000..d947c7d30
--- /dev/null
+++ b/package/fstrcmp/patches/patch-Makefile_in
@@ -0,0 +1,11 @@
+--- fstrcmp-0.7.D001.orig/Makefile.in 2014-03-05 01:13:45.000000000 +0100
++++ fstrcmp-0.7.D001/Makefile.in 2022-02-26 01:14:24.379687998 +0100
+@@ -588,7 +588,7 @@ bin/test_user$(EXEEXT): $(test_user_obj)
+ $(LIBTOOL) --mode=link --tag=CC $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ \
+ $(test_user_obj) lib/libfstrcmp.la $(LDFLAGS) $(LIBS)
+
+-all: all-bin all-doc
++all: all-bin
+
+ all-bin: bin/fstrcmp$(EXEEXT) bin/test_prelude$(EXEEXT) bin/test_user$(EXEEXT)
+
diff --git a/package/fuse/Makefile b/package/fuse/Makefile
index d1bf72e2a..48061955f 100644
--- a/package/fuse/Makefile
+++ b/package/fuse/Makefile
@@ -4,14 +4,13 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= fuse
-PKG_VERSION:= 2.9.4
+PKG_VERSION:= 2.9.9
PKG_RELEASE:= 1
-PKG_HASH:= 6be9c0bff6af8c677414935f31699ea5a7f8f5f791cfa5205be02ea186b97ce1
+PKG_HASH:= d0e69d5d608cc22ff4843791ad097f554dd32540ddc9bed7638cc6fea7c1b4b5
PKG_DESCR:= filesystem in userspace utility
PKG_SECTION:= sys/fs
PKG_DEPENDS:= libfuse
-PKG_URL:= http://fuse.sourceforge.net/
-PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=${PKG_NAME}/}
+PKG_SITES:= https://github.com/libfuse/libfuse/releases/download/fuse-$(PKG_VERSION)/
PKG_LIBNAME:= libfuse
PKG_OPTS:= dev
@@ -30,7 +29,6 @@ CONFIGURE_ARGS+= --enable-lib \
--enable-util \
--with-libiconv-prefix="${STAGING_TARGET_DIR}/usr" \
--disable-example \
- --disable-auto-modprobe \
--disable-mtab \
--disable-kernel-module
diff --git a/package/fuse/patches/patch-include_fuse_kernel_h b/package/fuse/patches/patch-include_fuse_kernel_h
new file mode 100644
index 000000000..41a1e7c7d
--- /dev/null
+++ b/package/fuse/patches/patch-include_fuse_kernel_h
@@ -0,0 +1,16 @@
+--- fuse-2.9.9.orig/include/fuse_kernel.h 2019-01-04 14:33:33.000000000 +0100
++++ fuse-2.9.9/include/fuse_kernel.h 2024-02-12 17:14:08.594450378 +0100
+@@ -88,12 +88,7 @@
+ #ifndef _LINUX_FUSE_H
+ #define _LINUX_FUSE_H
+
+-#include <sys/types.h>
+-#define __u64 uint64_t
+-#define __s64 int64_t
+-#define __u32 uint32_t
+-#define __s32 int32_t
+-#define __u16 uint16_t
++#include <linux/types.h>
+
+ /*
+ * Version negotiation:
diff --git a/package/fuse3/Makefile b/package/fuse3/Makefile
new file mode 100644
index 000000000..f038dcea7
--- /dev/null
+++ b/package/fuse3/Makefile
@@ -0,0 +1,47 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include ${ADK_TOPDIR}/rules.mk
+
+PKG_NAME:= fuse3
+PKG_VERSION:= 3.16.2
+PKG_RELEASE:= 1
+PKG_HASH:= 1bc306be1a1f4f6c8965fbdd79c9ccca021fdc4b277d501483a711cbd7dbcd6c
+PKG_DESCR:= filesystem in userspace utility (v3)
+PKG_SECTION:= sys/fs
+PKG_DEPENDS:= libfuse3
+PKG_SITES:= https://github.com/libfuse/libfuse/archive/refs/tags/
+PKG_LIBNAME:= libfuse3
+PKG_OPTS:= dev
+
+DISTFILES:= fuse-${PKG_VERSION}.tar.gz
+WRKDIST= $(WRKDIR)/libfuse-fuse-$(PKG_VERSION)
+
+PKG_SUBPKGS:= FUSE3_UTILS LIBFUSE3
+PKGSD_LIBFUSE3:= filesystem in userspace library (v3)
+PKGSC_LIBFUSE3:= libs/misc
+
+include ${ADK_TOPDIR}/mk/package.mk
+
+$(eval $(call PKG_template,FUSE3_UTILS,fuse-utils3,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,LIBFUSE3,libfuse3,${PKG_VERSION}-${PKG_RELEASE},,${PKGSD_LIBFUSE3},${PKGSC_LIBFUSE3},${PKG_OPTS}))
+
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
+
+MESON_FLAGS+= -Dinitscriptdir="" \
+ -Dudevrulesdir=""
+
+fuse3-utils-install:
+ ${INSTALL_DIR} ${IDIR_FUSE_UTILS}/usr/bin
+ ${CP} ${WRKINST}/usr/bin/fusermount3 ${IDIR_FUSE_UTILS}/usr/bin
+
+libfuse3-install:
+ ${INSTALL_DIR} ${IDIR_LIBFUSE}/usr/lib
+ ${CP} ${WRKINST}/usr/lib/libfuse3.so* \
+ ${IDIR_LIBFUSE}/usr/lib
+
+include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/fuse3/patches/patch-util_install_helper_sh b/package/fuse3/patches/patch-util_install_helper_sh
new file mode 100644
index 000000000..02aa038fc
--- /dev/null
+++ b/package/fuse3/patches/patch-util_install_helper_sh
@@ -0,0 +1,22 @@
+--- libfuse-fuse-3.16.2.orig/util/install_helper.sh 2023-10-10 09:38:49.000000000 +0200
++++ libfuse-fuse-3.16.2/util/install_helper.sh 2024-02-11 19:19:21.423803542 +0100
+@@ -37,19 +37,3 @@ if $useroot; then
+ fi
+ fi
+
+-if [ "${udevrulesdir}" != "" ]; then
+- install -D -m 644 "${MESON_SOURCE_ROOT}/util/udev.rules" \
+- "${DESTDIR}${udevrulesdir}/99-fuse3.rules"
+-fi
+-
+-if [ "$initscriptdir" != "" ]; then
+- install -D -m 755 "${MESON_SOURCE_ROOT}/util/init_script" \
+- "${DESTDIR}${initscriptdir}/fuse3"
+-
+- if test -x /usr/sbin/update-rc.d && test -z "${DESTDIR}"; then
+- /usr/sbin/update-rc.d fuse3 start 34 S . start 41 0 6 . || /bin/true
+- else
+- echo "== FURTHER ACTION REQUIRED =="
+- echo "Make sure that your init system will start the ${DESTDIR}${initscriptdir}/init.d/fuse3 init script"
+- fi
+-fi
diff --git a/package/fuse3/patches/patch-util_meson_build b/package/fuse3/patches/patch-util_meson_build
new file mode 100644
index 000000000..6b8f915f8
--- /dev/null
+++ b/package/fuse3/patches/patch-util_meson_build
@@ -0,0 +1,12 @@
+--- libfuse-fuse-3.16.2.orig/util/meson.build 2023-10-10 09:38:49.000000000 +0200
++++ libfuse-fuse-3.16.2/util/meson.build 2024-02-11 19:25:24.107798622 +0100
+@@ -26,9 +26,3 @@ if udevrulesdir == ''
+ warning('could not determine udevdir, udev.rules will not be installed')
+ endif
+
+-meson.add_install_script('install_helper.sh',
+- join_paths(get_option('prefix'), get_option('sysconfdir')),
+- join_paths(get_option('prefix'), get_option('bindir')),
+- udevrulesdir,
+- '@0@'.format(get_option('useroot')),
+- get_option('initscriptdir'))
diff --git a/package/fwupdate/Makefile b/package/fwupdate/Makefile
index 8cf897ed4..738185fd9 100644
--- a/package/fwupdate/Makefile
+++ b/package/fwupdate/Makefile
@@ -5,7 +5,7 @@ include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= fwupdate
PKG_VERSION:= 1.0
-PKG_RELEASE:= 1
+PKG_RELEASE:= 2
PKG_DESCR:= update firmware
PKG_SECTION:= base/adk
PKG_DEPENDS:= mke2fs
@@ -27,5 +27,9 @@ fwupdate-install:
$(INSTALL_DIR) $(IDIR_FWUPDATE)/usr/sbin
$(INSTALL_BIN) $(WRKBUILD)/fwupdate $(IDIR_FWUPDATE)/usr/sbin
$(INSTALL_BIN) $(WRKBUILD)/fwvalidate $(IDIR_FWUPDATE)/usr/sbin
+ $(SED) "s/@@DISK@@/$(ADK_TARGET_ROOTDEV)/g" \
+ $(IDIR_FWUPDATE)/usr/sbin/fwupdate
+ $(SED) "s/@@DISK@@/$(ADK_TARGET_ROOTDEV)/g" \
+ $(IDIR_FWUPDATE)/usr/sbin/fwvalidate
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/fwupdate/files/fwupdate.postinst b/package/fwupdate/files/fwupdate.postinst
new file mode 100644
index 000000000..17871ff30
--- /dev/null
+++ b/package/fwupdate/files/fwupdate.postinst
@@ -0,0 +1,3 @@
+#!/bin/sh
+. $IPKG_INSTROOT/etc/functions.sh
+add_rcconf fwupdate NO
diff --git a/package/fwupdate/files/fwupdate.service b/package/fwupdate/files/fwupdate.service
deleted file mode 100644
index f54519547..000000000
--- a/package/fwupdate/files/fwupdate.service
+++ /dev/null
@@ -1,9 +0,0 @@
-[Unit]
-Description=Firmware Update Validation
-After=dropbear.service
-
-[Service]
-ExecStart=/usr/sbin/fwvalidate
-
-[Install]
-WantedBy=multi-user.target
diff --git a/package/fwupdate/src/fwupdate b/package/fwupdate/src/fwupdate
index 1efe08339..68796d7bd 100755
--- a/package/fwupdate/src/fwupdate
+++ b/package/fwupdate/src/fwupdate
@@ -2,8 +2,22 @@
# This file is part of the OpenADK project.
# Do update.
-PART0="/dev/sda2"
-PART1="/dev/sda3"
+GRUB=$(which grub-reboot)
+if [ "${GRUB}" = "/usr/sbin/grub-reboot" ]; then
+ REVERSE=0
+else
+ REVERSE=1
+fi
+
+DISK=@@DISK@@
+
+if [ $REVERSE -eq 1 ]; then
+ PART0="/dev/${DISK}p1"
+ PART1="/dev/${DISK}p2"
+else
+ PART0="/dev/${DISK}2"
+ PART1="/dev/${DISK}3"
+fi
# Name of the archive, which is the firmware. For this file is the checksum calculated and
# checked against the one from the tar archive.
@@ -59,10 +73,12 @@ CURRENT_SYS="$(rdev /|awk '{ print $1 }')"
case "$CURRENT_SYS" in
"$PART0")
MOUNTPART="$PART1"
+ PARTNUM=2
OS=OpenADK2
;;
"$PART1")
MOUNTPART="$PART0"
+ PARTNUM=1
OS=OpenADK1
;;
*)
@@ -130,18 +146,23 @@ fi
cd /
umount $MOUNTPART
-grep /boot /proc/mounts 2>/dev/null
-if [ $? -eq 0 ]; then
- mount -o remount,rw /boot
+if [ $REVERSE -eq 1 ]; then
+ echo "Switch bootable partition to new system"
+ sfdisk -A /dev/$DISK $PARTNUM >/dev/null 2>&1
else
- mount /dev/sda1 /boot
-fi
-grub-reboot $OS
grep /boot /proc/mounts 2>/dev/null
-if [ $? -eq 0 ]; then
- mount -o remount,ro /boot
-else
- umount /boot
+ if [ $? -eq 0 ]; then
+ mount -o remount,rw /boot
+ else
+ mount /dev/sda1 /boot
+ fi
+ grub-reboot $OS
+ grep /boot /proc/mounts 2>/dev/null
+ if [ $? -eq 0 ]; then
+ mount -o remount,ro /boot
+ else
+ umount /boot
+ fi
fi
sync
echo "Reboot now to the updated system $OS"
diff --git a/package/fwupdate/src/fwvalidate b/package/fwupdate/src/fwvalidate
index e87c5beed..f388da784 100755
--- a/package/fwupdate/src/fwvalidate
+++ b/package/fwupdate/src/fwvalidate
@@ -2,8 +2,22 @@
# This file is part of the OpenADK project.
# Validate update.
-PART0="/dev/sda2"
-PART1="/dev/sda3"
+GRUB=$(which grub-reboot)
+if [ "${GRUB}" = "/usr/sbin/grub-reboot" ]; then
+ REVERSE=0
+else
+ REVERSE=1
+fi
+
+DISK=@@DISK@@
+
+if [ $REVERSE -eq 1 ]; then
+ PART0="/dev/${DISK}p1"
+ PART1="/dev/${DISK}p2"
+else
+ PART0="/dev/${DISK}2"
+ PART1="/dev/${DISK}3"
+fi
APPLIANCE_NAME=OpenADK
@@ -43,6 +57,24 @@ chk_initial_save(){
echo "please save configuration"
fi
}
+
+updatebootflag(){
+
+ case "$CURRENT_SYS" in
+ "$PART1")
+ sfdisk -A /dev/$DISK 1
+ ;;
+ "$PART0")
+ sfdisk -A /dev/$DISK 2
+ ;;
+ *)
+ echo "Current partition $CURRENT_SYS not recognized"
+ exit 1
+ ;;
+ esac
+
+}
+
updategrub(){
mount -o remount,rw /boot
@@ -120,12 +152,22 @@ if [ $TESTS -eq $TESTSUM ]; then
logger -t update "All Tests passed."
if [ "x$1" = "x" ]; then
logger -t update "Set default boot partition for bootloader."
+ mount -o remount,rw /
rm /firmware_check
+ mount -o remount,ro /
echo "System check was successful" >> $STAT_FILE
- updategrub
+ if [ $REVERSE -eq 1 ]; then
+ echo "Nothing todo. All fine."
+ logger -t update "Nothing todo. All fine."
+ else
+ updategrub
+ fi
fi
else
- logger -t update "Not all tests passed. The the default system remains on the current partition."
+ if [ $REVERSE -eq 1 ]; then
+ updatebootflag
+ fi
+ logger -t update "Not all tests passed. The default system remains on the current partition."
logger -t update "Please try to reboot the system and repeat the update."
echo "ERROR last system update failed, please reboot and try again." >> $STAT_FILE
exit 1
diff --git a/package/gatling/Makefile b/package/gatling/Makefile
index 300d1690a..356ea4c3a 100644
--- a/package/gatling/Makefile
+++ b/package/gatling/Makefile
@@ -4,16 +4,15 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= gatling
-PKG_VERSION:= 0.11
+PKG_VERSION:= 0.16
PKG_RELEASE:= 1
-PKG_HASH:= 9e1cb18612905b63755b0f463e6c5268789b3ab47db364bebe1ad077583e7571
+PKG_HASH:= 5f96438ee201d7f1f6c2e0849ff273b196bdc7493f29a719ce8ed08c8be6365b
PKG_DESCR:= small non-forking webserver
PKG_SECTION:= net/http
PKG_BUILDDEP:= libowfat
-PKG_URL:= http://www.fefe.de/gatling/
-PKG_SITES:= http://dl.fefe.de/
-
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
+PKG_NEEDS:= iconv
+PKG_URL:= https://www.fefe.de/gatling/
+PKG_SITES:= https://www.fefe.de/gatling/
include ${ADK_TOPDIR}/mk/package.mk
@@ -24,7 +23,6 @@ INSTALL_STYLE:= manual
MAKE_FILE:= GNUmakefile
ALL_TARGET:= gatling
-TARGET_CPPFLAGS+= -I${STAGING_TARGET_DIR}/usr/include/owfat
XAKE_FLAGS+= CC='${TARGET_CC}' \
CFLAGS='${TARGET_CPPFLAGS} ${TARGET_CFLAGS}' \
ZLIB=0 DIET= prefix='${WRKINST}/usr'
diff --git a/package/gatling/patches/patch-GNUmakefile b/package/gatling/patches/patch-GNUmakefile
index 723400f5a..4c81b6a99 100644
--- a/package/gatling/patches/patch-GNUmakefile
+++ b/package/gatling/patches/patch-GNUmakefile
@@ -1,16 +1,16 @@
$Id$
---- gatling-0.11.orig/GNUmakefile 2008-12-05 13:31:01.000000000 +0100
-+++ gatling-0.11/GNUmakefile 2011-01-15 14:10:40.000000000 +0100
-@@ -17,7 +17,7 @@ CROSS=
- #CROSS=i686-mingw32-
- CC=$(CROSS)gcc
+--- gatling-0.16.orig/GNUmakefile 2020-05-13 15:53:27.000000000 +0200
++++ gatling-0.16/GNUmakefile 2024-02-23 04:29:47.451896784 +0100
+@@ -25,7 +25,7 @@ CC=$(CROSS)gcc
+ endif
+
CFLAGS=-pipe -Wall
-LDFLAGS=
+LDFLAGS?=
- path = $(subst :, ,$(PATH))
- diet_path = $(foreach dir,$(path),$(wildcard $(dir)/diet))
-@@ -147,9 +147,10 @@ havesetresuid.h: trysetresuid.c
+ #CFLAGS+=-DSTATE_DEBUG -DMOREDEBUG -DDEBUG_EVENTS -DSMDEBUG
+
+@@ -194,9 +194,10 @@ havesetresuid.h: trysetresuid.c
dummy.c:
touch $@
diff --git a/package/gatling/patches/patch-http_c b/package/gatling/patches/patch-http_c
new file mode 100644
index 000000000..7e7c9ff93
--- /dev/null
+++ b/package/gatling/patches/patch-http_c
@@ -0,0 +1,19 @@
+--- gatling-0.16.orig/http.c 2020-11-26 16:36:13.000000000 +0100
++++ gatling-0.16/http.c 2024-02-23 05:17:40.115857819 +0100
+@@ -2202,16 +2202,9 @@ static void get_md5_randomness(const uin
+ static int initialized;
+ if (!initialized) {
+ unsigned char buf[16];
+-#if defined(__linux__) || defined(__OpenBSD__)
+- if (getentropy(buf, sizeof buf)) {
+- buffer_putsflush(buffer_2, "getentropy failed (should never happen)\n");
+- // carry on with bad randomness
+- }
+-#else
+ int fd=open("/dev/urandom",O_RDONLY);
+ read(fd,buf,16);
+ close(fd);
+-#endif
+ MD5Init(&md5_ctx);
+ MD5Update(&md5_ctx,buf,16);
+ initialized=1;
diff --git a/package/gcc/Makefile b/package/gcc/Makefile
index d7b2d072a..d08f01926 100644
--- a/package/gcc/Makefile
+++ b/package/gcc/Makefile
@@ -60,7 +60,7 @@ CONFIGURE_ENV+= have_sys_sdt_h=no
CONFIGURE_ARGS+= --host=$(GNU_TARGET_NAME) \
--target=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
- --disable-__cxa_atexit \
+ --enable-__cxa_atexit \
--without-headers \
--libexecdir=/usr/lib \
--disable-libssp \
diff --git a/package/gcr/Makefile b/package/gcr/Makefile
index dae86a4dc..97de6c379 100644
--- a/package/gcr/Makefile
+++ b/package/gcr/Makefile
@@ -4,13 +4,13 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= gcr
-PKG_VERSION:= 3.20.0
-PKG_EXTRAVER:= 3.20
-PKG_RELEASE:= 2
-PKG_HASH:= 90572c626d8a708225560c42b4421f7941315247fa1679d4ef569bde7f4bb379
+PKG_VERSION:= 3.40.0
+PKG_EXTRAVER:= 3.40
+PKG_RELEASE:= 1
+PKG_HASH:= b9d3645a5fd953a54285cc64d4fc046736463dbd4dcc25caf5c7b59bed3027f5
PKG_DESCR:= gnome keyring library
PKG_SECTION:= libs/crypto
-PKG_BUILDDEP:= p11-kit
+PKG_BUILDDEP:= p11-kit intltool-host libgtk3 meson-host
PKG_URL:= https://wiki.gnome.org/action/show/Projects/GnomeKeyring
PKG_SITES:= http://ftp.acc.umu.se/pub/gnome/sources/gcr/$(PKG_EXTRAVER)/
@@ -18,6 +18,15 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,GCR,gcr,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
+
+MESON_FLAGS+= -Dintrospection=false \
+ -Dgtk_doc=false
+
gcr-install:
$(INSTALL_DIR) $(IDIR_GCR)/usr/lib
$(CP) $(WRKINST)/usr/lib/lib*.so* \
diff --git a/package/gdb/Makefile b/package/gdb/Makefile
index 10c201f4f..e4cbe89a9 100644
--- a/package/gdb/Makefile
+++ b/package/gdb/Makefile
@@ -4,17 +4,17 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= gdb
-PKG_VERSION:= 9.2
+PKG_VERSION:= 14.2
PKG_RELEASE:= 1
-PKG_HASH:= 360cd7ae79b776988e89d8f9a01c985d0b1fa21c767a4295e5f88cb49175c555
+PKG_HASH:= 2d4dd8061d8ded12b6c63f55e45344881e8226105f4d2a9b234040efa5ce7772
PKG_DESCR:= program debugger
PKG_SECTION:= app/debug
PKG_SITES:= ${MASTER_SITE_GNU:=gdb/}
-PKG_DEPENDS:= libncurses zlib libexpat libthread-db
-PKG_BUILDDEP:= ncurses readline expat zlib
+PKG_DEPENDS:= libncurses libreadline zlib libexpat libthread-db libgmp mpfr
+PKG_BUILDDEP:= ncurses readline expat zlib gmp mpfr
PKG_NEEDS:= c++
-PKG_ARCH_DEPENDS:= !arc !cris !avr32 !microblaze
+PKG_ARCH_DEPENDS:= !cris !avr32 !microblaze
include ${ADK_TOPDIR}/mk/package.mk
@@ -24,8 +24,10 @@ XAKE_FLAGS+= MAKEINFO=true
WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+CONFIGURE_ENV+= host_configargs='--with-libgmp-prefix="${STAGING_TARGET_DIR}/usr"'
# --enable-static is required to build libbfd.a
CONFIGURE_ARGS+= --enable-static \
+ --disable-shared \
--without-uiout \
--disable-tui \
--disable-gdbtk \
@@ -41,7 +43,11 @@ CONFIGURE_ARGS+= --enable-static \
--disable-install-libiberty \
--disable-install-libbfd \
--with-system-zlib \
+ --with-system-readline \
--with-curses \
+ --with-libexpat-prefix="${STAGING_TARGET_DIR}/usr" \
+ --with-gmp="${STAGING_TARGET_DIR}/usr" \
+ --with-mpfr="${STAGING_TARGET_DIR}/usr" \
--enable-gdbmi
gdb-install:
diff --git a/package/gdb/patches/patch-gdb_configure b/package/gdb/patches/patch-gdb_configure
deleted file mode 100644
index 932db7d01..000000000
--- a/package/gdb/patches/patch-gdb_configure
+++ /dev/null
@@ -1,96 +0,0 @@
---- gdb-8.3.1.orig/gdb/configure 2019-09-21 00:04:41.000000000 +0200
-+++ gdb-8.3.1/gdb/configure 2019-10-16 12:08:42.152038996 +0200
-@@ -15064,93 +15064,6 @@ $as_echo "$gdb_cv_bigtoc" >&6; }
- ;;
- esac
-
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the dynamic export flag" >&5
--$as_echo_n "checking for the dynamic export flag... " >&6; }
--dynamic_list=false
--if test "${gdb_native}" = yes; then
-- # The dynamically loaded libthread_db needs access to symbols in the gdb
-- # executable. Older GNU ld supports --export-dynamic but --dynamic-list
-- # may not be supported there.
-- old_LDFLAGS="$LDFLAGS"
-- # Older GNU ld supports --export-dynamic but --dynamic-list it does not.
-- RDYNAMIC="-Wl,--dynamic-list=${srcdir}/proc-service.list"
-- LDFLAGS="$LDFLAGS $RDYNAMIC"
-- if test "${have_libpython}" = no; then
-- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
--/* end confdefs.h. */
--
--int
--main ()
--{
--
-- ;
-- return 0;
--}
--_ACEOF
--if ac_fn_c_try_link "$LINENO"; then :
-- dynamic_list=true
--fi
--rm -f core conftest.err conftest.$ac_objext \
-- conftest$ac_exeext conftest.$ac_ext
-- else
-- # Workaround http://bugs.python.org/issue4434 where static
-- # libpythonX.Y.a would get its symbols required for
-- # pythonX.Y/lib-dynload/*.so modules hidden by -Wl,--dynamic-list.
-- # Problem does not happen for the recommended libpythonX.Y.so linkage.
--
-- # Note the workaround for Python
-- # http://bugs.python.org/issue10112 earlier has removed
-- # -export-dynamic from PYTHON_LIBS. That's exactly what we want
-- # here too, as otherwise it'd make this -Wl,--dynamic-list test
-- # always pass.
-- old_CFLAGS="$CFLAGS"
-- CFLAGS="$CFLAGS $PYTHON_CFLAGS"
-- old_LIBS="$LIBS"
-- LIBS="$LIBS $PYTHON_LIBS"
-- old_CPPFLAGS="$CPPFLAGS"
-- CPPFLAGS="$CPPFLAGS $PYTHON_CPPFLAGS"
-- if test "$cross_compiling" = yes; then :
-- true
--else
-- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
--/* end confdefs.h. */
--#include "Python.h"
--int
--main ()
--{
--int err;
-- Py_Initialize ();
-- err = PyRun_SimpleString ("import itertools\n");
-- Py_Finalize ();
-- return err == 0 ? 0 : 1;
-- ;
-- return 0;
--}
--_ACEOF
--if ac_fn_c_try_run "$LINENO"; then :
-- dynamic_list=true
--fi
--rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-- conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
--
-- LIBS="$old_LIBS"
-- CFLAGS="$old_CFLAGS"
-- CPPFLAGS="$old_CPPFLAGS"
-- fi
-- LDFLAGS="$old_LDFLAGS"
--fi
--if $dynamic_list; then
-- found="-Wl,--dynamic-list"
-- RDYNAMIC='-Wl,--dynamic-list=$(srcdir)/proc-service.list'
--else
-- found="-rdynamic"
-- RDYNAMIC="-rdynamic"
--fi
--
--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $found" >&5
--$as_echo "$found" >&6; }
--
-
- if test ${build} = ${host} -a ${host} = ${target} ; then
- case ${host_os} in
diff --git a/package/gdb/patches/patch-gdb_riscv-tdep_c b/package/gdb/patches/patch-gdb_riscv-tdep_c
deleted file mode 100644
index 17834f821..000000000
--- a/package/gdb/patches/patch-gdb_riscv-tdep_c
+++ /dev/null
@@ -1,12 +0,0 @@
---- gdb-8.3.1.orig/gdb/riscv-tdep.c 2019-09-21 00:04:41.000000000 +0200
-+++ gdb-8.3.1/gdb/riscv-tdep.c 2019-10-16 12:18:34.569267544 +0200
-@@ -3131,9 +3131,6 @@ riscv_gdbarch_init (struct gdbarch_info
- /* We do support running binaries compiled for 32-bit float on targets
- with 64-bit float, so we only complain if the binary requires more
- than the target has available. */
-- if (abi_features.flen > features.flen)
-- error (_("bfd requires flen %d, but target has flen %d"),
-- abi_features.flen, features.flen);
-
- /* If the ABI_FEATURES xlen is 0 then this indicates we got no useful abi
- features from the INFO object. In this case we assume that the xlen
diff --git a/package/gdbm/Makefile b/package/gdbm/Makefile
index e3421cec5..dfca242e1 100644
--- a/package/gdbm/Makefile
+++ b/package/gdbm/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= gdbm
-PKG_VERSION:= 1.12
+PKG_VERSION:= 1.21
PKG_RELEASE:= 1
-PKG_HASH:= d97b2166ee867fd6ca5c022efee80702d6f30dd66af0e03ed092285c3af9bcea
+PKG_HASH:= b0b7dbdefd798de7ddccdd8edf6693a30494f7789777838042991ef107339cc2
PKG_DESCR:= disk file format database
PKG_SECTION:= libs/db
PKG_URL:= http://www.gnu.org/software/gdbm/
diff --git a/package/gdbserver/Makefile b/package/gdbserver/Makefile
index 531d5df6b..7238eb306 100644
--- a/package/gdbserver/Makefile
+++ b/package/gdbserver/Makefile
@@ -4,14 +4,15 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= gdbserver
-PKG_VERSION:= 9.2
+PKG_VERSION:= 14.2
PKG_RELEASE:= 1
-PKG_HASH:= 360cd7ae79b776988e89d8f9a01c985d0b1fa21c767a4295e5f88cb49175c555
+PKG_HASH:= 2d4dd8061d8ded12b6c63f55e45344881e8226105f4d2a9b234040efa5ce7772
PKG_DESCR:= remote program debugger utility
PKG_SECTION:= app/debug
PKG_NEEDS:= c++
PKG_SITES:= ${MASTER_SITE_GNU:=gdb/}
-PKG_DEPENDS:= libthread-db
+PKG_DEPENDS:= libthread-db libgmp
+PKG_BUILDDEP:= gmp
PKG_LIBC_DEPENDS:= !musl
PKG_ARCH_DEPENDS:= !microblaze
@@ -23,16 +24,17 @@ else
DISTFILES:= gdb-${PKG_VERSION}.tar.xz
WRKDIST= ${WRKDIR}/gdb-${PKG_VERSION}
endif
-WRKSRC= ${WRKDIST}/gdb/gdbserver
+WRKBUILD= ${WRKSRC}/build
include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,GDBSERVER,gdbserver,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-ifneq ($(ADK_TARGET_BINFMT_FLAT)$(ADK_TARGET_USE_STATIC_LIBS_ONLY)$(ADK_TARGET_USE_STATIC_AND_SHARED_LIBS),)
-TARGET_LDFLAGS+= -static-libstdc++
-CONFIGURE_ARGS+= --disable-build-with-cxx --with-libthread-db=$(STAGING_TARGET_DIR)/usr/lib/libthread_db.a
-endif
+CONFIGURE_ARGS+= --enable-static \
+ --disable-gdb \
+ --disable-sim \
+ --without-curses \
+ --without-system-zlib
gdbserver-install:
${INSTALL_DIR} ${IDIR_GDBSERVER}/usr/bin
diff --git a/package/gdk-pixbuf/Makefile b/package/gdk-pixbuf/Makefile
index 1d4df4dfd..ee6d9c043 100644
--- a/package/gdk-pixbuf/Makefile
+++ b/package/gdk-pixbuf/Makefile
@@ -10,8 +10,8 @@ PKG_RELEASE:= 1
PKG_HASH:= d55e5b383ee219bd0e23bf6ed4427d56a7db5379729a6e3e0a0e0eba9a8d8879
PKG_DESCR:= image loading and pixel buffer manipulation library
PKG_SECTION:= libs/image
-PKG_BUILDDEP:= libjpeg-turbo libtiff
-HOST_BUILDDEP:= glib-host libffi-host
+PKG_BUILDDEP:= libjpeg-turbo libtiff glib libpng
+HOST_BUILDDEP:= libiconv-host glib-host libffi-host
PKG_NEEDS:= c++
PKG_SITES:= $(MASTER_SITE_GNOME:=gdk-pixbuf/$(PKG_EXTRAVER)/)
PKG_OPTS:= dev
diff --git a/package/genimage/Makefile b/package/genimage/Makefile
index 4791a76e1..94f888e45 100644
--- a/package/genimage/Makefile
+++ b/package/genimage/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= genimage
-PKG_VERSION:= 9
+PKG_VERSION:= 16
PKG_RELEASE:= 1
-PKG_HASH:= 69f35af7edf6f4dbdac7a18ddc69dcf38c501e43d8b50c524555754c51479078
+PKG_HASH:= 869f9662d3b778c69b1d1fe70df658e1c9e90aeda26abb753f6fe55e8b0c6e73
PKG_DESCR:= image creation utility
PKG_SECTION:= dev/tools
HOST_BUILDDEP:= confuse-host
diff --git a/package/gettext/Makefile b/package/gettext/Makefile
index 82439e19e..6594eb995 100644
--- a/package/gettext/Makefile
+++ b/package/gettext/Makefile
@@ -9,6 +9,7 @@ PKG_RELEASE:= 1
PKG_HASH:= 9c1781328238caa1685d7bc7a2e1dcf1c6c134e86b42ed554066734b621bd12f
PKG_DESCR:= i18n tools and libs
PKG_SECTION:= libs/misc
+HOST_BUILDDEP:= automake-host
PKG_URL:= https://www.gnu.org/software/gettext/
PKG_SITES:= http://ftp.gnu.org/pub/gnu/gettext/
PKG_OPTS:= dev
diff --git a/package/git/Makefile b/package/git/Makefile
index a3c872f00..2756d68fb 100644
--- a/package/git/Makefile
+++ b/package/git/Makefile
@@ -4,17 +4,25 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= git
-PKG_VERSION:= 2.17.0
+PKG_VERSION:= 2.44.0
PKG_RELEASE:= 1
-PKG_HASH:= e916e5e95e81dbeafa7aac5d719c01108b5c814eb90b746695afa1afedf955c7
+PKG_HASH:= e358738dcb5b5ea340ce900a0015c03ae86e804e7ff64e47aa4631ddee681de3
PKG_DESCR:= fast version control system
PKG_SECTION:= dev/scm
-PKG_BUILDDEP:= curl expat libressl
-PKG_DEPENDS:= libcurl libexpat libressl
+PKG_BUILDDEP:= zlib curl expat
+PKG_DEPENDS:= zlib curl libexpat
PKG_NEEDS:= threads
PKG_URL:= http://git-scm.com/
PKG_SITES:= https://www.kernel.org/pub/software/scm/git/
+PKG_CHOICES_GIT:= WITH_LIBRESSL WITH_OPENSSL
+PKGCD_WITH_LIBRESSL:= use libressl for crypto
+PKGCB_WITH_LIBRESSL:= libressl
+PKGCS_WITH_LIBRESSL:= libressl
+PKGCD_WITH_OPENSSL:= use openssl for crypto
+PKGCB_WITH_OPENSSL:= openssl
+PKGCS_WITH_OPENSSL:= libopenssl
+
include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,GIT,git,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
diff --git a/package/glib/Makefile b/package/glib/Makefile
index 5dbfc4745..eb77cf8fe 100644
--- a/package/glib/Makefile
+++ b/package/glib/Makefile
@@ -4,15 +4,16 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= glib
-PKG_VERSION:= 2.56.1
+PKG_VERSION:= 2.78.4
PKG_RELEASE:= 1
-PKG_EXTRAVER:= 2.56
-PKG_HASH:= 40ef3f44f2c651c7a31aedee44259809b6f03d3d20be44545cd7d177221c0b8d
+PKG_EXTRAVER:= 2.78
+PKG_HASH:= 24b8e0672dca120cc32d394bccb85844e732e04fe75d18bb0573b2dbc7548f63
PKG_DESCR:= low-level core library that forms the basis of gtk+
PKG_SECTION:= libs/misc
-PKG_DEPENDS:= libpcre zlib libffi
-PKG_BUILDDEP:= glib-host util-linux libffi zlib dbus pcre
-HOST_BUILDDEP:= pkgconf-host libiconv-host libffi-host python2-host gettext-host util-linux-host
+PKG_DEPENDS:= pcre2 zlib libffi
+PKG_BUILDDEP:= glib-host util-linux libffi zlib dbus pcre2
+HOST_BUILDDEP:= pkgconf-host libiconv-host libffi-host python3-host gettext-host util-linux-host
+HOST_BUILDDEP+= pcre2-host meson-host
PKG_NEEDS:= threads intl iconv
PKG_URL:= http://www.gtk.org/
PKG_SITES:= http://ftp.gnome.org/pub/GNOME/sources/glib/$(PKG_EXTRAVER)/
@@ -24,42 +25,32 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call HOST_template,GLIB,glib,$(PKG_VERSION)-$(PKG_RELEASE)))
$(eval $(call PKG_template,GLIB,glib,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
-ifeq ($(ADK_PACKAGE_LIBICONV),y)
-CONFIGURE_ARGS+= --with-libiconv=yes
-else
-CONFIGURE_ARGS+= --with-libiconv=no
-endif
-CONFIGURE_ARGS+= --disable-mem-pools \
- --disable-rebuilds \
- --disable-fam \
- --disable-dtrace \
- --disable-compile-warnings \
- --with-pcre=system \
- --with-threads=posix
-CONFIGURE_ENV+= glib_cv_long_long_format=ll \
- glib_cv_stack_grows=no \
- glib_cv_have_strlcpy=no \
- glib_cv_uscore=no \
- ac_cv_func_posix_getpwuid_r=yes \
- ac_cv_func_posix_getgrgid_r=yes
+HOSTWRKBUILD= $(WRKSRC)
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
-HOST_STYLE:= auto
-HOST_CPPFLAGS+= -I$(STAGING_HOST_DIR)/usr/include/libmount
-ifneq ($(OS_FOR_BUILD),CYGWIN)
-HOST_CFLAGS+= -fPIC
-endif
-HOST_CONFIGURE_ARGS+= --disable-fam \
- --disable-selinux \
- --disable-dtrace \
- --enable-static \
- --with-pcre=internal \
- --with-libiconv=yes \
- --disable-shared \
- --disable-compile-warnings
+HOST_CONFIG_STYLE:= manual
+HOST_STYLE:= manual
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
-hostpost-install:
- $(CP) $(STAGING_HOST_DIR)/usr/lib/glib-2.0/include/glibconfig.h \
- $(STAGING_HOST_DIR)/usr/include/glib-2.0/
+MESON_FLAGS:= -Dtests=false -Dxattr=false -Doss_fuzz=disabled
+
+host-configure:
+ (cd $(HOSTWRKBUILD) && PATH='$(HOST_PATH)' meson setup --prefix $(STAGING_HOST_DIR)/usr _build)
+
+host-build:
+ (cd $(HOSTWRKBUILD) && PATH='$(HOST_PATH)' meson compile -C _build)
+
+glib-hostinstall:
+ (cd $(HOSTWRKBUILD) && PATH='$(HOST_PATH)' meson install -C _build)
+
+do-configure:
+ (cd $(WRKBUILD) && PATH='$(HOST_PATH)' meson setup --prefix /usr \
+ --libdir lib --cross-file $(STAGING_HOST_DIR)/etc/meson/cross-compilation.conf -Dtests=false _build)
+
+do-build:
+ (cd $(WRKBUILD) && PATH='$(HOST_PATH)' meson compile -C _build)
glib-install:
$(INSTALL_DIR) $(IDIR_GLIB)/usr/lib
diff --git a/package/glib/patches/patch-glib_gnulib_meson_build b/package/glib/patches/patch-glib_gnulib_meson_build
new file mode 100644
index 000000000..4039f468f
--- /dev/null
+++ b/package/glib/patches/patch-glib_gnulib_meson_build
@@ -0,0 +1,12 @@
+--- glib-2.75.2.orig/glib/gnulib/meson.build 2023-01-06 13:49:52.000000000 +0100
++++ glib-2.75.2/glib/gnulib/meson.build 2023-01-22 14:08:55.068305964 +0100
+@@ -312,9 +312,6 @@ endif
+ if not gl_cv_func_frexp_works and gl_cv_func_frexp_broken_beyond_repair
+ error ('frexp() is missing or broken beyond repair, and we have nothing to replace it with')
+ endif
+-if not gl_cv_func_frexpl_works and gl_cv_func_frexpl_broken_beyond_repair
+- error ('frexpl() is missing or broken beyond repair, and we have nothing to replace it with')
+-endif
+
+ math_h_config.set ('REPLACE_FREXP', gl_cv_func_frexp_works ? 0 : 1)
+ math_h_config.set ('REPLACE_FREXPL', gl_cv_func_frexpl_works ? 0 : 1)
diff --git a/package/glib/patches/patch-meson_build b/package/glib/patches/patch-meson_build
new file mode 100644
index 000000000..c410eac33
--- /dev/null
+++ b/package/glib/patches/patch-meson_build
@@ -0,0 +1,10 @@
+--- glib-2.75.2.orig/meson.build 2023-01-06 13:49:52.000000000 +0100
++++ glib-2.75.2/meson.build 2023-01-22 14:18:11.633406695 +0100
+@@ -513,6 +513,7 @@ if cc.get_id() == 'gcc' or cc.get_id() =
+ '-Werror=missing-include-dirs',
+ '-Werror=pointer-arith',
+ '-Werror=unused-result',
++ '-Wno-error=format-nonliteral',
+ ]
+
+ warning_c_args = warning_common_args + [
diff --git a/package/glibc/Makefile b/package/glibc/Makefile
index 231939fa3..a36c30903 100644
--- a/package/glibc/Makefile
+++ b/package/glibc/Makefile
@@ -23,6 +23,9 @@ $(eval $(call PKG_template,GLIBC,glibc,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPEN
$(eval $(call PKG_template,GLIBC_DEV,glibc-dev,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
$(eval $(call PKG_template,GLIBC_GCONV,glibc-gconv,$(PKG_VERSION)-${PKG_RELEASE},${PKGSS_GLIBC_GCONV},${PKGSD_GLIBC_GCONV},${PKG_SECTION},${PKG_OPTS}))
+GLIBC_CONFOPTS:= --build=$(GNU_HOST_NAME) \
+ --host=$(GNU_TARGET_NAME)
+
GLIBC_ENV:= PATH='${TARGET_PATH}' \
BUILD_CC='${CC_FOR_BUILD}' \
CFLAGS="$(TARGET_CFLAGS)" \
@@ -31,6 +34,7 @@ GLIBC_ENV:= PATH='${TARGET_PATH}' \
CXX="${TARGET_CXX}" \
AR="${TARGET_AR}" \
RANLIB="${TARGET_RANLIB}" \
+ ARCH="${ADK_TARGET_KARCH}" \
libc_cv_forced_unwind=yes \
libc_cv_cc_with_libunwind=yes \
libc_cv_c_cleanup=yes \
@@ -46,19 +50,13 @@ do-install:
ifneq ($(ADK_TARGET_USE_STATIC_LIBS_ONLY),y)
${INSTALL_DIR} ${IDIR_GLIBC}/$(ADK_TARGET_LIBC_PATH)
$(CP) $(STAGING_TARGET_DIR)/lib/ld*.so* $(IDIR_GLIBC)/$(ADK_TARGET_LIBC_PATH)
-ifeq ($(ADK_TARGET_ARCH_RISCV64),y)
- ${INSTALL_DIR} ${IDIR_GLIBC}/$(ADK_TARGET_LIBC_PATH)/$(ADK_TARGET_ABI_RISCV)
- $(CP) $(STAGING_TARGET_DIR)/lib/$(ADK_TARGET_ABI_RISCV)/ld*.so* ${IDIR_GLIBC}/$(ADK_TARGET_LIBC_PATH)/$(ADK_TARGET_ABI_RISCV)
-endif
- for file in libc libpthread librt libcrypt libdl libm libanl libnsl libresolv libutil libnss_dns libnss_files; do \
- $(CP) $(STAGING_TARGET_DIR)/$(ADK_TARGET_LIBC_ABI_PATH)/$$file.so* $(IDIR_GLIBC)/$(ADK_TARGET_LIBC_PATH); \
- $(CP) $(STAGING_TARGET_DIR)/$(ADK_TARGET_LIBC_ABI_PATH)/$$file-$(PKG_GLIBCVER).so $(IDIR_GLIBC)/$(ADK_TARGET_LIBC_PATH); \
+ for file in libc libpthread librt libdl libm libanl libnsl libresolv libutil libnss_dns libnss_files; do \
+ $(CP) $(STAGING_TARGET_DIR)/lib/$$file.so* $(IDIR_GLIBC)/$(ADK_TARGET_LIBC_PATH); \
done
else
${INSTALL_DIR} ${IDIR_GLIBC}/$(ADK_TARGET_LIBC_PATH)
- for file in libnss_dns libnss_files; do \
- $(CP) $(STAGING_TARGET_DIR)/$(ADK_TARGET_LIBC_ABI_PATH)/$$file.so* $(IDIR_GLIBC)/$(ADK_TARGET_LIBC_PATH); \
- $(CP) $(STAGING_TARGET_DIR)/$(ADK_TARGET_LIBC_ABI_PATH)/$$file-$(PKG_GLIBCVER).so $(IDIR_GLIBC)/$(ADK_TARGET_LIBC_PATH); \
+ -for file in libnss_dns libnss_files; do \
+ $(CP) $(STAGING_TARGET_DIR)/lib/$$file.so* $(IDIR_GLIBC)/$(ADK_TARGET_LIBC_PATH); \
done
endif
${INSTALL_DIR} $(IDIR_GLIBC)/usr/bin
@@ -76,11 +74,7 @@ glibc-gconv-install:
glibc-dev-install:
${INSTALL_DIR} $(IDIR_GLIBC_DEV)/$(ADK_TARGET_LIBC_PATH) $(IDIR_GLIBC_DEV)/usr/lib
-ifeq ($(ADK_TARGET_ARCH_RISCV64),y)
- ${CP} ${STAGING_TARGET_DIR}/usr/lib/*/libc.so ${IDIR_GLIBC_DEV}/usr/lib
-else
- ${CP} ${STAGING_TARGET_DIR}/usr/lib/*/libc.so ${IDIR_GLIBC_DEV}/usr/lib
-endif
+ ${CP} ${STAGING_TARGET_DIR}/usr/lib/libc.so ${IDIR_GLIBC_DEV}/usr/lib
ifeq ($(ADK_TARGET_ABI_O32),y)
ifeq ($(ADK_TARGET_BIG_ENDIAN),y)
$(SED) "s#@@ELFTARGET@@#elf32-tradbigmips#" $(IDIR_GLIBC_DEV)/usr/lib/libc.so
@@ -113,11 +107,7 @@ endif
cd $(IDIR_GLIBC_DEV)/$(ADK_TARGET_LIBC_PATH); ln -sf $$file-$(PKG_GLIBCVER).so $$file.so; \
done
# header package
- ${KERNEL_MAKE_ENV} \
- $(MAKE) -C $(TOOLCHAIN_BUILD_DIR)/w-linux-$(KERNEL_FILE_VER)-1/linux-$(KERNEL_FILE_VER) \
- $(KERNEL_MAKE_OPTS) \
- INSTALL_HDR_PATH=$(IDIR_GLIBC_DEV)/usr \
- headers_install
+ ${KERNEL_MAKE} INSTALL_HDR_PATH=$(IDIR_GLIBC_DEV)/usr headers_install
(cd $(WRKBUILD); \
$(GLIBC_ENV) \
$(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/$(PKG_NAME)-$(PKG_VERSION)/configure \
diff --git a/package/glu/Makefile b/package/glu/Makefile
index ee8d70b32..ac25d5f29 100644
--- a/package/glu/Makefile
+++ b/package/glu/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= glu
-PKG_VERSION:= 9.0.0
+PKG_VERSION:= 9.0.2
PKG_RELEASE:= 1
-PKG_HASH:= 1f7ad0d379a722fcbd303aa5650c6d7d5544fde83196b42a73d1193568a4df12
+PKG_HASH:= 6e7280ff585c6a1d9dfcdf2fca489251634b3377bfc33c29e4002466a38d02d4
PKG_DESCR:= opengl utility library
PKG_SECTION:= libs/video
PKG_BUILDDEP:= mesa
@@ -15,8 +15,6 @@ PKG_SITES:= ftp://ftp.freedesktop.org/pub/mesa/glu/
PKG_LIBNAME:= libglu
PKG_OPTS:= dev
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
-
include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,LIBGLU,libglu,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
diff --git a/package/gmediaserver/Makefile b/package/gmediaserver/Makefile
index 6b44af9c3..3b5a420db 100644
--- a/package/gmediaserver/Makefile
+++ b/package/gmediaserver/Makefile
@@ -5,11 +5,11 @@ include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= gmediaserver
PKG_VERSION:= 0.13.0
-PKG_RELEASE:= 2
+PKG_RELEASE:= 4
PKG_HASH:= 357030911bcce4ac9e47c2c9219b72e88705a8465899d4e0553bce540fb0fd12
PKG_DESCR:= media server
PKG_SECTION:= mm/video
-PKG_DEPENDS:= id3lib libupnp libmagic
+PKG_DEPENDS:= id3lib libupnp libmagic magic
PKG_BUILDDEP:= id3lib libupnp file
PKG_NEEDS:= c++
PKG_URL:= http://www.gnu.org/software/gmediaserver
diff --git a/package/gmediaserver/patches/patch-src_metadata_c b/package/gmediaserver/patches/patch-src_metadata_c
new file mode 100644
index 000000000..86990d3d0
--- /dev/null
+++ b/package/gmediaserver/patches/patch-src_metadata_c
@@ -0,0 +1,78 @@
+ - magic_file() returns strings like 'audio/mpeg; charset=binary',
+ ignore the last part
+ - Add flv and flac file type definitions
+--- gmediaserver-0.13.0.orig/src/metadata.c 2007-10-20 11:41:32.000000000 +0200
++++ gmediaserver-0.13.0/src/metadata.c 2022-03-28 07:44:13.332180349 +0200
+@@ -86,6 +86,8 @@ typedef enum {
+ FILE_JPG,
+ FILE_PNG,
+ FILE_TIFF,
++ FILE_FLV,
++ FILE_FLAC,
+ FILE_UNKNOWN,
+ FILE_TYPES_COUNT,
+ } FileType;
+@@ -122,6 +124,8 @@ static const char *file_type_dlna_pn[] =
+ [FILE_JPG] = "JPEG_TN",
+ [FILE_PNG] = NULL,
+ [FILE_TIFF] = NULL,
++ [FILE_FLV] = NULL,
++ [FILE_FLAC] = NULL,
+ [FILE_UNKNOWN] = NULL,
+ };
+
+@@ -134,6 +138,8 @@ static const char *file_type_mime_types[
+ [FILE_OGG] = "audio/vorbis",
+ [FILE_MPG] = "video/mpeg",
+ [FILE_MP4] = "video/mp4",
++ [FILE_MP4] = "video/x-msvideo",
++ [FILE_MP4] = "video/x-matroska",
+ [FILE_PLS] = "audio/x-scpls",
+ [FILE_M3U] = "audio/m3u",
+ [FILE_EXTM3U] = "audio/m3u",
+@@ -142,6 +148,8 @@ static const char *file_type_mime_types[
+ [FILE_JPG] = "image/jpeg",
+ [FILE_PNG] = "image/png",
+ [FILE_TIFF] = "image/tiff",
++ [FILE_FLV] = "video/x-flv",
++ [FILE_FLAC] = "audio/flac",
+ [FILE_UNKNOWN] = "application/octet-stream",
+ };
+
+@@ -162,6 +170,8 @@ static const char *file_type_names[] = {
+ [FILE_JPG] = "jpg",
+ [FILE_PNG] = "png",
+ [FILE_TIFF] = "tiff",
++ [FILE_FLV] = "flv",
++ [FILE_FLAC] = "flac",
+ [FILE_UNKNOWN] = "unknown",
+ };
+
+@@ -183,6 +193,8 @@ static const char *file_type_descs[] = {
+ [FILE_JPG] = "JPEG image",
+ [FILE_PNG] = "PNG image",
+ [FILE_TIFF] = "TIFF image",
++ [FILE_FLV] = "Flash video",
++ [FILE_FLAC] = "FLAC audio",
+ };
+
+ static ItemClass file_type_item_classes[] = {
+@@ -202,6 +214,8 @@ static ItemClass file_type_item_classes[
+ [FILE_JPG] = ITEM_IMAGE,
+ [FILE_PNG] = ITEM_IMAGE,
+ [FILE_TIFF] = ITEM_IMAGE,
++ [FILE_FLV] = ITEM_VIDEO,
++ [FILE_FLAC] = ITEM_AUDIO,
+ };
+
+ static Entry *scan_entry(const char *fullpath, const char *name, int32_t parent, int indent_size, InodeList *inl);
+@@ -325,6 +339,9 @@ check_file_content_type(const char *full
+ return FILE_UNKNOWN;
+ }
+
++ /* ignore trailing data */
++ *strchrnul(magic, ';') = '\0';
++
+ if (strcmp(magic, "application/octet-stream") != 0
+ && strncmp(magic, "text/plain", 10) != 0) {
+ struct {
diff --git a/package/gmp/patches/patch-longlong_h b/package/gmp/patches/patch-longlong_h
deleted file mode 100644
index dd42a0ebc..000000000
--- a/package/gmp/patches/patch-longlong_h
+++ /dev/null
@@ -1,11 +0,0 @@
---- gmp-5.1.3.orig/longlong.h 2013-09-30 12:18:28.000000000 +0200
-+++ gmp-5.1.3/longlong.h 2014-01-06 16:07:47.886035812 +0100
-@@ -1230,7 +1230,7 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype
- #define UDIV_TIME 100
- #endif /* __mips */
-
--#if (defined (__mips) && __mips >= 3) && W_TYPE_SIZE == 64
-+#if (defined (__mips) && __mips >= 3) && W_TYPE_SIZE == 64 && defined (_LP64)
- #if __GMP_GNUC_PREREQ (4,4)
- #define umul_ppmm(w1, w0, u, v) \
- do { \
diff --git a/package/gnupg/Makefile b/package/gnupg/Makefile
index 8737f9e47..0794aa386 100644
--- a/package/gnupg/Makefile
+++ b/package/gnupg/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= gnupg
-PKG_VERSION:= 1.4.22
+PKG_VERSION:= 1.4.23
PKG_RELEASE:= 1
-PKG_HASH:= 324f70b5df76a4825bce50d2b1702ec3a0fac0d681540bbea1c9aa1e39814fbc
+PKG_HASH:= c9462f17e651b6507848c08c430c791287cd75491f8b5a8b50c6ed46b12678ba
PKG_DESCR:= gnu privacy guard
PKG_SECTION:= app/crypto
PKG_DEPENDS:= libreadline libncurses
@@ -14,7 +14,7 @@ PKG_BUILDDEP:= readline ncurses
PKG_URL:= http://www.gnupg.org/
PKG_SITES:= ftp://ftp.gnupg.org/gcrypt/gnupg/
-DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SUBPKGS:= GNUPG GPGV
diff --git a/package/gnupg/patches/patch-doc_Makefile_in b/package/gnupg/patches/patch-doc_Makefile_in
index dd8797231..a92720d7f 100644
--- a/package/gnupg/patches/patch-doc_Makefile_in
+++ b/package/gnupg/patches/patch-doc_Makefile_in
@@ -1,6 +1,6 @@
---- gnupg-1.4.10.orig/doc/Makefile.in 2009-09-02 18:20:22.000000000 +0200
-+++ gnupg-1.4.10/doc/Makefile.in 2011-02-24 15:30:49.000000000 +0100
-@@ -833,7 +833,7 @@ uninstall-man: uninstall-man1 uninstall-
+--- gnupg-1.4.23.orig/doc/Makefile.in 2018-06-11 10:47:56.000000000 +0200
++++ gnupg-1.4.23/doc/Makefile.in 2021-09-17 16:02:49.904418167 +0200
+@@ -952,7 +952,7 @@ uninstall-man: uninstall-man1
yat2m: Makefile yat2m.c
diff --git a/package/gnupg/patches/patch-g10_options_h b/package/gnupg/patches/patch-g10_options_h
new file mode 100644
index 000000000..8481ecc4d
--- /dev/null
+++ b/package/gnupg/patches/patch-g10_options_h
@@ -0,0 +1,11 @@
+--- gnupg-1.4.23.orig/g10/options.h 2016-08-17 11:00:11.000000000 +0200
++++ gnupg-1.4.23/g10/options.h 2021-09-17 16:07:15.504427621 +0200
+@@ -29,6 +29,8 @@
+ /* Norcraft can't cope with common symbols */
+ #if defined (__riscos__) && !defined (INCLUDED_BY_MAIN_MODULE)
+ #define EXTERN_UNLESS_MAIN_MODULE extern
++#elif defined (__GNUC__) && __GNUC__ >= 10
++#define EXTERN_UNLESS_MAIN_MODULE __attribute__((__common__))
+ #else
+ #define EXTERN_UNLESS_MAIN_MODULE
+ #endif
diff --git a/package/gnupg/patches/patch-include_cipher_h b/package/gnupg/patches/patch-include_cipher_h
new file mode 100644
index 000000000..4ce471b25
--- /dev/null
+++ b/package/gnupg/patches/patch-include_cipher_h
@@ -0,0 +1,11 @@
+--- gnupg-1.4.23.orig/include/cipher.h 2016-04-22 09:30:18.000000000 +0200
++++ gnupg-1.4.23/include/cipher.h 2021-09-17 16:07:15.504427621 +0200
+@@ -117,6 +117,8 @@ typedef struct gcry_md_context *MD_HANDL
+ #ifndef EXTERN_UNLESS_MAIN_MODULE
+ #if defined (__riscos__) && !defined (INCLUDED_BY_MAIN_MODULE)
+ #define EXTERN_UNLESS_MAIN_MODULE extern
++#elif defined (__GNUC__) && __GNUC__ >= 10
++#define EXTERN_UNLESS_MAIN_MODULE __attribute__((__common__))
+ #else
+ #define EXTERN_UNLESS_MAIN_MODULE
+ #endif
diff --git a/package/gnupg/patches/patch-include_iobuf_h b/package/gnupg/patches/patch-include_iobuf_h
new file mode 100644
index 000000000..31c8739bf
--- /dev/null
+++ b/package/gnupg/patches/patch-include_iobuf_h
@@ -0,0 +1,11 @@
+--- gnupg-1.4.23.orig/include/iobuf.h 2016-04-22 09:30:18.000000000 +0200
++++ gnupg-1.4.23/include/iobuf.h 2021-09-17 16:07:15.504427621 +0200
+@@ -72,6 +72,8 @@ struct iobuf_struct {
+ #ifndef EXTERN_UNLESS_MAIN_MODULE
+ #if defined (__riscos__) && !defined (INCLUDED_BY_MAIN_MODULE)
+ #define EXTERN_UNLESS_MAIN_MODULE extern
++#elif defined (__GNUC__) && __GNUC__ >= 10
++#define EXTERN_UNLESS_MAIN_MODULE __attribute__((__common__))
+ #else
+ #define EXTERN_UNLESS_MAIN_MODULE
+ #endif
diff --git a/package/gnupg/patches/patch-include_memory_h b/package/gnupg/patches/patch-include_memory_h
new file mode 100644
index 000000000..99e4faa91
--- /dev/null
+++ b/package/gnupg/patches/patch-include_memory_h
@@ -0,0 +1,11 @@
+--- gnupg-1.4.23.orig/include/memory.h 2016-04-22 09:30:18.000000000 +0200
++++ gnupg-1.4.23/include/memory.h 2021-09-17 16:07:15.504427621 +0200
+@@ -93,6 +93,8 @@ unsigned secmem_get_flags(void);
+ #ifndef EXTERN_UNLESS_MAIN_MODULE
+ #if defined (__riscos__) && !defined (INCLUDED_BY_MAIN_MODULE)
+ #define EXTERN_UNLESS_MAIN_MODULE extern
++#elif defined (__GNUC__) && __GNUC__ >= 10
++#define EXTERN_UNLESS_MAIN_MODULE __attribute__((__common__))
+ #else
+ #define EXTERN_UNLESS_MAIN_MODULE
+ #endif
diff --git a/package/gnupg/patches/patch-include_mpi_h b/package/gnupg/patches/patch-include_mpi_h
new file mode 100644
index 000000000..a163720ee
--- /dev/null
+++ b/package/gnupg/patches/patch-include_mpi_h
@@ -0,0 +1,11 @@
+--- gnupg-1.4.23.orig/include/mpi.h 2016-04-22 09:30:18.000000000 +0200
++++ gnupg-1.4.23/include/mpi.h 2021-09-17 16:07:15.508427621 +0200
+@@ -38,6 +38,8 @@
+ #ifndef EXTERN_UNLESS_MAIN_MODULE
+ #if defined (__riscos__) && !defined (INCLUDED_BY_MAIN_MODULE)
+ #define EXTERN_UNLESS_MAIN_MODULE extern
++#elif defined (__GNUC__) && __GNUC__ >= 10
++#define EXTERN_UNLESS_MAIN_MODULE __attribute__((__common__))
+ #else
+ #define EXTERN_UNLESS_MAIN_MODULE
+ #endif
diff --git a/package/gnupg2/Makefile b/package/gnupg2/Makefile
index de1b8f03b..a9e5a44c0 100644
--- a/package/gnupg2/Makefile
+++ b/package/gnupg2/Makefile
@@ -4,13 +4,13 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= gnupg2
-PKG_VERSION:= 2.2.7
+PKG_VERSION:= 2.4.4
PKG_RELEASE:= 1
-PKG_HASH:= d95b361ee6ef7eff86af40c8c72bf9313736ac9f7010d6604d78bf83818e976e
+PKG_HASH:= 67ebe016ca90fa7688ce67a387ebd82c6261e95897db7b23df24ff335be85bc6
PKG_DESCR:= gnu privacy guard (modern)
PKG_SECTION:= app/crypto
PKG_DEPENDS:= libreadline libncurses libgcrypt libgpg-error libassuan
-PKG_DEPENDS+= libksba npth
+PKG_DEPENDS+= libksba npth pinentry
PKG_BUILDDEP:= readline ncurses libgcrypt libgpg-error libassuan
PKG_BUILDDEP+= libksba npth
PKG_NEEDS:= iconv
@@ -35,7 +35,9 @@ CONFIGURE_ARGS+= --disable-dirmngr \
--disable-exec \
--disable-ldap \
--disable-rpath \
- --disable-regex
+ --disable-regex \
+ --disable-tests \
+ --disable-doc
gpgv2-install:
$(INSTALL_DIR) $(IDIR_GPGV2)/usr/bin
@@ -45,6 +47,7 @@ gpgv2-install:
gnupg2-install:
$(INSTALL_DIR) $(IDIR_GNUPG2)/usr/bin/
$(INSTALL_BIN) $(WRKBUILD)/g10/gpg $(IDIR_GNUPG2)/usr/bin/
+ $(INSTALL_BIN) $(WRKBUILD)/agent/gpg-agent $(IDIR_GNUPG2)/usr/bin/
# we need root privileges for secure memory (locked pages)
chmod u+s $(IDIR_GNUPG2)/usr/bin/gpg
diff --git a/package/gnupg2/patches/patch-Makefile_in b/package/gnupg2/patches/patch-Makefile_in
deleted file mode 100644
index 54361aff9..000000000
--- a/package/gnupg2/patches/patch-Makefile_in
+++ /dev/null
@@ -1,23 +0,0 @@
---- gnupg-2.2.0.orig/Makefile.in 2017-08-28 11:21:34.000000000 +0200
-+++ gnupg-2.2.0/Makefile.in 2017-09-06 19:20:04.560251562 +0200
-@@ -220,8 +220,7 @@ am__define_uniq_tagged_files = \
- ETAGS = etags
- CTAGS = ctags
- CSCOPE = cscope
--DIST_SUBDIRS = m4 common kbx g10 sm agent scd g13 dirmngr tools po doc \
-- tests
-+DIST_SUBDIRS = m4 common kbx g10 agent scd g13 dirmngr tools
- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
- distdir = $(PACKAGE)-$(VERSION)
- top_distdir = $(distdir)
-@@ -492,8 +491,8 @@ DISTCLEANFILES = g10defs.h
- @BUILD_DOC_FALSE@doc =
- @BUILD_DOC_TRUE@doc = doc
- SUBDIRS = m4 common kbx \
-- ${gpg} ${sm} ${agent} ${scd} ${g13} ${dirmngr} \
-- tools po ${doc} tests
-+ ${gpg} ${agent} ${scd} ${g13} ${dirmngr} \
-+ tools
-
- dist_doc_DATA = README
- gen_start_date = 2011-12-01T06:00:00
diff --git a/package/gnutls/Makefile b/package/gnutls/Makefile
index a3c3fc1c5..69c14f21f 100644
--- a/package/gnutls/Makefile
+++ b/package/gnutls/Makefile
@@ -4,16 +4,16 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= gnutls
-PKG_VERSION:= 3.5.18
+PKG_VERSION:= 3.8.3
PKG_RELEASE:= 1
-PKG_HASH:= ae2248d9e78747cf9c469dde81ff8f90b56838b707a0637f3f7d4eee90e80234
+PKG_HASH:= f74fc5954b27d4ec6dfbb11dea987888b5b124289a3703afcada0ee520f4173e
PKG_DESCR:= transport layer security library
PKG_SECTION:= libs/crypto
PKG_DEPENDS:= libgcrypt libtasn1 zlib libnettle libgmp libunistring
PKG_BUILDDEP:= libgcrypt liblzo libtasn1
PKG_BUILDDEP+= zlib ncurses libnettle libunistring
PKG_URL:= http://www.gnutls.org/
-PKG_SITES:= https://www.gnupg.org/ftp/gcrypt/gnutls/v3.5/
+PKG_SITES:= https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/
PKG_LIBNAME:= libgnutls
PKG_OPTS:= dev
@@ -39,7 +39,8 @@ endif
TARGET_LDFLAGS+= -pthread
CONFIGURE_ARGS+= --disable-rpath \
--disable-doc \
- --with-libunistring-prefix='$(STAGING_TARGET_DIR)/usr' \
+ --disable-tests \
+ --disable-seccomp-tests \
--without-libz-prefix \
--without-p11-kit
CONFIGURE_ENV+= ac_cv_prog_AR='$(TARGET_CROSS)ar'
@@ -50,7 +51,7 @@ libgnutls-install:
gnutls-utils-install:
$(INSTALL_DIR) $(IDIR_GNUTLS_UTILS)/usr/bin
- $(CP) $(WRKINST)/usr/bin/{{cert,srp,psk}tool,gnutls-{cli,serv}} \
+ $(CP) $(WRKINST)/usr/bin/{{cert,psk}tool,gnutls-{cli,serv}} \
$(IDIR_GNUTLS_UTILS)/usr/bin
include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/gpgme/Makefile b/package/gpgme/Makefile
index 60a741c98..8f531aa16 100644
--- a/package/gpgme/Makefile
+++ b/package/gpgme/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= gpgme
-PKG_VERSION:= 1.9.0
+PKG_VERSION:= 1.23.2
PKG_RELEASE:= 1
-PKG_HASH:= 1b29fedb8bfad775e70eafac5b0590621683b2d9869db994568e6401f4034ceb
+PKG_HASH:= 9499e8b1f33cccb6815527a1bc16049d35a6198a6c5fae0185f2bd561bce5224
PKG_DESCR:= easy access to gnupg for applications
PKG_SECTION:= libs/crypto
PKG_DEPENDS:= libgpg-error libassuan
diff --git a/package/gpm/patches/patch-src_headers_daemon_h b/package/gpm/patches/patch-src_headers_daemon_h
new file mode 100644
index 000000000..2ae27b92b
--- /dev/null
+++ b/package/gpm/patches/patch-src_headers_daemon_h
@@ -0,0 +1,11 @@
+--- gpm-1.20.7.orig/src/headers/daemon.h 2012-10-26 23:21:38.000000000 +0200
++++ gpm-1.20.7/src/headers/daemon.h 2024-02-12 15:22:13.446541463 +0100
+@@ -180,7 +180,7 @@ extern struct mouse_features mouse_tabl
+ extern Gpm_Type mice[];
+ extern Gpm_Type *repeated_type;
+
+-time_t last_selection_time;
++extern time_t last_selection_time;
+
+
+
diff --git a/package/gpsd/Makefile b/package/gpsd/Makefile
index b0523f5d9..7b34eb0fa 100644
--- a/package/gpsd/Makefile
+++ b/package/gpsd/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= gpsd
-PKG_VERSION:= 3.16
+PKG_VERSION:= 3.25
PKG_RELEASE:= 1
-PKG_HASH:= 03579af13a4d3fe0c5b79fa44b5f75c9f3cac6749357f1d99ce5d38c09bc2029
+PKG_HASH:= b368b6a305e3f7a6382d23a0cbfc1d78923060b6b7f54cf7987a73c7b4a9afc2
PKG_DESCR:= interface daemon for gps receivers
PKG_SECTION:= sys/hw
PKG_BUILDDEP:= scons-host ncurses
@@ -31,7 +31,7 @@ INSTALL_STYLE:= manual
do-install:
(cd $(WRKBUILD); env PATH='$(TARGET_PATH)' CCFLAGS='' DESTDIR='$(WRKINST)' \
- scons install prefix=/usr platform=linux python=no chrpath=no bluez=no usb=no libgpsmm=no)
+ $(STAGING_HOST_DIR)/usr/bin/python3 $(STAGING_HOST_DIR)/usr/bin/scons install prefix=/usr platform=linux python=no chrpath=no bluez=no usb=no libgpsmm=no)
gpsd-install:
${INSTALL_DIR} ${IDIR_GPSD}/usr/lib ${IDIR_GPSD}/usr/sbin
diff --git a/package/gpsd/patches/patch-SConstruct b/package/gpsd/patches/patch-SConstruct
deleted file mode 100644
index 0937d9f67..000000000
--- a/package/gpsd/patches/patch-SConstruct
+++ /dev/null
@@ -1,12 +0,0 @@
---- gpsd-3.10.orig/SConstruct 2013-11-22 14:10:01.000000000 +0100
-+++ gpsd-3.10/SConstruct 2014-02-07 19:33:32.000000000 +0100
-@@ -231,6 +231,9 @@ for (name, default, help) in pathopts:
-
- env['VERSION'] = gpsd_version
- env['PYTHON'] = sys.executable
-+env['PLATFORM'] = "posix"
-+env['SHLIBSUFFIX'] = ".so"
-+env['SHLINKFLAGS'] = "-shared"
-
- # Set defaults from environment. Note that scons doesn't cope well
- # with multi-word CPPFLAGS/LDFLAGS/SHLINKFLAGS values; you'll have to
diff --git a/package/gpsd/patches/patch-gpsmon_c b/package/gpsd/patches/patch-gpsmon_c
deleted file mode 100644
index ac52866d0..000000000
--- a/package/gpsd/patches/patch-gpsmon_c
+++ /dev/null
@@ -1,13 +0,0 @@
---- gpsd-3.10.orig/gpsmon.c 2013-11-21 09:57:44.000000000 +0100
-+++ gpsd-3.10/gpsmon.c 2014-03-16 09:08:34.000000000 +0100
-@@ -505,6 +505,10 @@ static /*@null@*/ char *curses_get_comma
- static char line[80];
- int c;
-
-+#ifndef __GLIBC__
-+#define CTRL(x) (x&037)
-+#endif
-+
- c = wgetch(cmdwin);
- if (c == CTRL('L')) {
- (void)clearok(stdscr, true);
diff --git a/package/gptfdisk/Makefile b/package/gptfdisk/Makefile
index bd01bc0ac..37d170761 100644
--- a/package/gptfdisk/Makefile
+++ b/package/gptfdisk/Makefile
@@ -9,8 +9,10 @@ PKG_RELEASE:= 1
PKG_HASH:= 864c8aee2efdda50346804d7e6230407d5f42a8ae754df70404dd8b2fdfaeac7
PKG_DESCR:= utilities to create gpt partition tables
PKG_SECTION:= sys/fs
-PKG_BUILDDEP:= util-linux popt
+PKG_DEPENDS:= libncurses libuuid
+PKG_BUILDDEP:= util-linux popt ncurses
HOST_BUILDDEP:= util-linux-host popt-host
+PKG_NEEDS:= c++
PKG_URL:= http://www.rodsbooks.com/gdisk/
PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=gptfdisk/}
diff --git a/package/grep/Makefile b/package/grep/Makefile
index 56f668e6c..845ba5685 100644
--- a/package/grep/Makefile
+++ b/package/grep/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= grep
-PKG_VERSION:= 3.0
+PKG_VERSION:= 3.11
PKG_RELEASE:= 1
-PKG_HASH:= e2c81db5056e3e8c5995f0bb5d0d0e1cad1f6f45c3b2fc77b6e81435aed48ab5
+PKG_HASH:= 1db2aedde89d0dea42b16d9528f894c8d15dae4e190b59aecc78f5a951276eab
PKG_DESCR:= global search for a regex
PKG_SECTION:= base/tools
PKG_DEPENDS:= libpcre
@@ -24,8 +24,9 @@ $(eval $(call HOST_template,GREP,grep,$(PKG_VERSION)-${PKG_RELEASE}))
$(eval $(call PKG_template,GREP,grep,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
grep-install:
- $(INSTALL_DIR) $(IDIR_GREP)/usr/bin
- $(INSTALL_BIN) $(WRKINST)/usr/bin/{e,f,}grep $(IDIR_GREP)/usr/bin
+ $(INSTALL_DIR) $(IDIR_GREP)/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/{e,f,}grep \
+ $(IDIR_GREP)/bin
include ${ADK_TOPDIR}/mk/host-bottom.mk
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/grub/Makefile b/package/grub/Makefile
index ab36d217e..519958096 100644
--- a/package/grub/Makefile
+++ b/package/grub/Makefile
@@ -4,14 +4,15 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= grub
-PKG_VERSION:= 07662af7aed55bcec448bc2a6610de1f0cb62100
+PKG_VERSION:= 2.06
PKG_RELEASE:= 1
+PKG_HASH:= b79ea44af91b93d17cd3fe80bdae6ed43770678a9a5ae192ccea803ebb657ee1
PKG_DESCR:= multiboot boot loader
PKG_SECTION:= base/boot
PKG_BUILDDEP:= bison-host grub-host
-HOST_BUILDDEP:= python2-host
+HOST_BUILDDEP:= python3-host
PKG_URL:= http://www.gnu.org/software/grub
-PKG_SITES:= https://git.savannah.gnu.org/git/grub.git
+PKG_SITES:= https://ftp.gnu.org/gnu/grub/
PKG_NOPARALLEL:= 1
PKG_ARCH_DEPENDS:= x86 x86_64 mips mips64 ppc ppc64
@@ -36,8 +37,6 @@ $(eval $(call PKG_template,GRUB_TOOLS,grub-tools,$(PKG_VERSION)-${PKG_RELEASE},$
TARGET_CFLAGS:=$(filter-out -fstack-protector-all,$(TARGET_CFLAGS))
TARGET_CFLAGS:=$(filter-out -flto,$(TARGET_CFLAGS))
-AUTOTOOL_STYLE:= autogen
-
ifeq ($(ADK_PACKAGE_GRUB_ARC),y)
GRUB_ARCH= mips-arc
GRUB_IMAGE= grub.img
diff --git a/package/grub/files/grub-dual.cfg b/package/grub/files/grub-dual.cfg
index bae2fa414..46b5451ad 100644
--- a/package/grub/files/grub-dual.cfg
+++ b/package/grub/files/grub-dual.cfg
@@ -40,11 +40,15 @@ function savedefault {
}
menuentry "OpenADK1" {
- set root=(hd0,2)
- linux (hd0,2)/kernel root=/dev/@@ROOTDEV@@2 rootfstype=ext4 rootwait panic=5
+ insmod part_gpt
+ insmod ext2
+ set root=(hd0,gpt2)
+ linux (hd0,2)/boot/kernel root=/dev/@@ROOTDEV@@2 rootfstype=ext4 rootwait panic=5
}
menuentry "OpenADK2" {
- set root=(hd0,3)
- linux (hd0,3)/kernel root=/dev/@@ROOTDEV@@3 rootfstype=ext4 rootwait panic=5
+ insmod part_gpt
+ insmod ext2
+ set root=(hd0,gpt3)
+ linux (hd0,3)/boot/kernel root=/dev/@@ROOTDEV@@3 rootfstype=ext4 rootwait panic=5
}
diff --git a/package/grub/files/grub.cfg b/package/grub/files/grub.cfg
index 8d20ab243..3fdc48eda 100644
--- a/package/grub/files/grub.cfg
+++ b/package/grub/files/grub.cfg
@@ -6,9 +6,9 @@ set default=0
set timeout=3
menuentry "OpenADK" {
- insmod part_msdos
+ insmod part_gpt
insmod ext2
- set root='hd0,msdos1'
+ set root='hd0,gpt2'
echo "Loading OpenADK"
- linux16 /boot/kernel root=/dev/sda1 rootfstype=ext4 rootwait panic=10
+ linux /boot/kernel root=/dev/sda2 rootfstype=ext4 rootwait panic=10
}
diff --git a/package/grub/patches/patch-grub-core_Makefile_am b/package/grub/patches/patch-grub-core_Makefile_am
deleted file mode 100644
index 1c2fde022..000000000
--- a/package/grub/patches/patch-grub-core_Makefile_am
+++ /dev/null
@@ -1,10 +0,0 @@
---- grub-07662af7aed55bcec448bc2a6610de1f0cb62100.orig/grub-core/Makefile.am 2017-02-12 20:56:32.000000000 +0100
-+++ grub-07662af7aed55bcec448bc2a6610de1f0cb62100/grub-core/Makefile.am 2017-03-28 08:00:46.000000000 +0200
-@@ -61,6 +61,7 @@ grub_script.yy.c: grub_script.yy.h
-
- rs_decoder.h: $(srcdir)/lib/reed_solomon.c
- $(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -Os -I$(top_builddir) -S -DSTANDALONE -o $@ $< -g0 -mregparm=3 -ffreestanding
-+ sed -i -e "s#.*macosx_version_min.*##" $@
-
- CLEANFILES += grub_script.yy.c grub_script.yy.h
-
diff --git a/package/gst-plugins-base/Makefile b/package/gst-plugins-base/Makefile
index 182ed4656..c612cd63e 100644
--- a/package/gst-plugins-base/Makefile
+++ b/package/gst-plugins-base/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= gst-plugins-base
-PKG_VERSION:= 1.8.2
+PKG_VERSION:= 1.19.3
PKG_RELEASE:= 1
-PKG_HASH:= 9d7109c8fb0a5dec8edb17b0053c59a46aba7ddf48dc48ea822ebbbd4339d38d
+PKG_HASH:= e277f198623a26c1b0a1e19734656392e9368bebf3677cd94262a1316a960827
PKG_DESCR:= gstreamer base plugins
PKG_SECTION:= libs/video
PKG_DEPENDS:= gstreamer
@@ -19,8 +19,13 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,GST_PLUGINS_BASE,gst-plugins-base,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
+
TARGET_CPPFLAGS+= -D_GNU_SOURCE -D_POSIX_SOURCE
-CONFIGURE_ARGS+= --without-x
gst-plugins-base-install:
$(INSTALL_DIR) $(IDIR_GST_PLUGINS_BASE)/usr/lib/gstreamer-1.0/
diff --git a/package/gst-plugins-good/Makefile b/package/gst-plugins-good/Makefile
index 53a6b0943..8feb16c2f 100644
--- a/package/gst-plugins-good/Makefile
+++ b/package/gst-plugins-good/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= gst-plugins-good
-PKG_VERSION:= 1.8.2
+PKG_VERSION:= 1.19.3
PKG_RELEASE:= 1
-PKG_HASH:= 8d7549118a3b7a009ece6bb38a05b66709c551d32d2adfd89eded4d1d7a23944
+PKG_HASH:= 79ea32a77fa47e6596530e38113bf97c113fd95658087d9a91ffb8af47d11d07
PKG_DESCR:= gstreamer good plugins
PKG_SECTION:= libs/video
PKG_DEPENDS:= gstreamer
@@ -19,8 +19,13 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,GST_PLUGINS_GOOD,gst-plugins-good,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
+
TARGET_CPPFLAGS+= -D_GNU_SOURCE -D_POSIX_SOURCE
-CONFIGURE_ARGS+= --without-x
gst-plugins-good-install:
$(INSTALL_DIR) $(IDIR_GST_PLUGINS_GOOD)/usr/lib/gstreamer-1.0/
diff --git a/package/gstreamer/Makefile b/package/gstreamer/Makefile
index 07d54db05..a59bbf7d1 100644
--- a/package/gstreamer/Makefile
+++ b/package/gstreamer/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= gstreamer
-PKG_VERSION:= 1.8.2
-PKG_RELEASE:= 2
-PKG_HASH:= 9dbebe079c2ab2004ef7f2649fa317cabea1feb4fb5605c24d40744b90918341
+PKG_VERSION:= 1.19.3
+PKG_RELEASE:= 1
+PKG_HASH:= 906d7d4bf92f941586c0cbce717d9cad6aac36994e16fa6f2f153e07e3221bca
PKG_DESCR:= opensource multimedia framework
PKG_SECTION:= libs/video
PKG_BUILDDEP:= glib
@@ -19,10 +19,15 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,GSTREAMER,gstreamer,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-CONFIGURE_ARGS+= --disable-examples \
- --disable-tests \
- --disable-benchmarks \
- --disable-checks
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
+
+MESON_FLAGS+= -Dcheck=disabled \
+ -Ddoc=disabled \
+ -Dexamples=disabled
gstreamer-install:
$(INSTALL_DIR) $(IDIR_GSTREAMER)/usr/lib
diff --git a/package/gzip/Makefile b/package/gzip/Makefile
index 7c0ff0341..cd26a977c 100644
--- a/package/gzip/Makefile
+++ b/package/gzip/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= gzip
-PKG_VERSION:= 1.10
+PKG_VERSION:= 1.13
PKG_RELEASE:= 1
-PKG_HASH:= 8425ccac99872d544d4310305f915f5ea81e04d0f437ef1a230dc9d1c819d7c0
+PKG_HASH:= 7454eb6935db17c6655576c2e1b0fabefd38b4d0936e0f87f48cd062ce91a057
PKG_DESCR:= compression utility
PKG_SECTION:= app/archive
PKG_URL:= http://www.gnu.org/software/gzip/
diff --git a/package/harfbuzz/Makefile b/package/harfbuzz/Makefile
index 41711b0e4..118648eab 100644
--- a/package/harfbuzz/Makefile
+++ b/package/harfbuzz/Makefile
@@ -4,19 +4,19 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= harfbuzz
-PKG_VERSION:= 1.4.2
+PKG_VERSION:= 3.4.0
PKG_RELEASE:= 1
-PKG_HASH:= 8f234dcfab000fdec24d43674fffa2fdbdbd654eb176afbde30e8826339cb7b3
+PKG_HASH:= 810bcd3d22fae3c2c18c3688455abc1cd0d7fb2fae25404890b0d77e6443bd0a
PKG_DESCR:= opentype text shaping engine
PKG_SECTION:= libs/fonts
-PKG_SITES:= http://www.freedesktop.org/software/harfbuzz/release/
+PKG_SITES:= https://github.com/harfbuzz/harfbuzz/archive/refs/tags/
PKG_DEPENDS:= cairo icu4c
PKG_BUILDDEP:= cairo icu4c
HOST_BUILDDEP:= cairo-host icu4c-host
PKG_NEEDS:= c++
PKG_OPTS:= dev
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
+DISTFILES:= ${PKG_VERSION}.tar.gz
include $(ADK_TOPDIR)/mk/host.mk
include $(ADK_TOPDIR)/mk/package.mk
@@ -24,8 +24,18 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call HOST_template,HARFBUZZ,harfbuzz,$(PKG_VERSION)-${PKG_RELEASE}))
$(eval $(call PKG_template,HARFBUZZ,harfbuzz,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-HOST_LDFLAGS+= -lpthread -lrt
-HOST_STYLE:= auto
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+HOST_STYLE:= meson
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
+
+MESON_FLAGS+= -Dtests=disabled
+
+host-postinstall:
+ $(CP) $(WRKBUILD)/meson-private/harfbuzz.pc \
+ $(STAGING_HOST_DIR)/usr/lib/pkgconfig/
harfbuzz-install:
$(INSTALL_DIR) $(IDIR_HARFBUZZ)/usr/lib
diff --git a/package/harfbuzz/patches/patch-Makefile_in b/package/harfbuzz/patches/patch-Makefile_in
deleted file mode 100644
index 9ef495e70..000000000
--- a/package/harfbuzz/patches/patch-Makefile_in
+++ /dev/null
@@ -1,11 +0,0 @@
---- harfbuzz-1.2.3.orig/Makefile.in 2016-02-25 04:26:05.967296536 +0100
-+++ harfbuzz-1.2.3/Makefile.in 2016-04-03 19:27:12.062508784 +0200
-@@ -373,7 +373,7 @@ top_builddir = @top_builddir@
- top_srcdir = @top_srcdir@
- NULL =
- ACLOCAL_AMFLAGS = -I m4
--SUBDIRS = src util test docs win32
-+SUBDIRS = src
- EXTRA_DIST = \
- autogen.sh \
- harfbuzz.doap \
diff --git a/package/harfbuzz/patches/patch-src_harfbuzz_pc_in b/package/harfbuzz/patches/patch-src_harfbuzz_pc_in
deleted file mode 100644
index 291829515..000000000
--- a/package/harfbuzz/patches/patch-src_harfbuzz_pc_in
+++ /dev/null
@@ -1,18 +0,0 @@
---- harfbuzz-1.2.3.orig/src/harfbuzz.pc.in 2016-01-06 13:00:36.113138042 +0100
-+++ harfbuzz-1.2.3/src/harfbuzz.pc.in 2016-03-12 21:55:46.457327612 +0100
-@@ -1,13 +1,10 @@
- prefix=%prefix%
--exec_prefix=%exec_prefix%
--libdir=%libdir%
--includedir=%includedir%
-
- Name: harfbuzz
- Description: HarfBuzz text shaping library
- Version: %VERSION%
-
--Libs: -L${libdir} -lharfbuzz
-+Libs: -L${prefix}/lib -lharfbuzz
- Libs.private: %libs_private%
- Requires.private: %requires_private%
--Cflags: -I${includedir}/harfbuzz
-+Cflags: -I${prefix}/include/harfbuzz
diff --git a/package/haveged/Makefile b/package/haveged/Makefile
index 4e7284017..2779bb55a 100644
--- a/package/haveged/Makefile
+++ b/package/haveged/Makefile
@@ -4,16 +4,16 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= haveged
-PKG_VERSION:= 1.9.1
+PKG_VERSION:= 1.9.18
PKG_RELEASE:= 1
-PKG_HASH:= 9c2363ed9542a6784ff08e247182137e71f2ddb79e8e6c1ac4ad50d21ced3715
+PKG_HASH:= b835fa02b52ee7d06276e028571cadcb14d08f5e5a4b5767adf81451f70561c7
PKG_DESCR:= entropy gathering daemon
PKG_SECTION:= sys/misc
-PKG_SITES:= http://www.issihosts.com/haveged/
+PKG_SITES:= https://github.com/jirka-h/haveged/archive/refs/tags/
PKG_ARCH_DEPENDS:= !arm !mips
-DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
+DISTFILES:= v$(PKG_VERSION).tar.gz
include $(ADK_TOPDIR)/mk/package.mk
@@ -23,7 +23,7 @@ CONFIGURE_ARGS+= --enable-clock_gettime=yes
haveged-install:
$(INSTALL_DIR) $(IDIR_HAVEGED)/usr/lib
- $(CP) $(WRKINST)/usr/lib/libhaveg*.so* \
+ -$(CP) $(WRKINST)/usr/lib/libhaveg*.so* \
$(IDIR_HAVEGED)/usr/lib
$(INSTALL_DIR) $(IDIR_HAVEGED)/usr/sbin
$(INSTALL_BIN) $(WRKINST)/usr/sbin/haveged \
diff --git a/package/hdparm/Makefile b/package/hdparm/Makefile
index 060fe36c0..df273806b 100644
--- a/package/hdparm/Makefile
+++ b/package/hdparm/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= hdparm
-PKG_VERSION:= 9.50
+PKG_VERSION:= 9.63
PKG_RELEASE:= 1
-PKG_HASH:= 0892b44bd817c251264a24f6ecbbb010958033e0395d2030f25f1c5608ac780e
+PKG_HASH:= 70785deaebba5877a89c123568b41dee990da55fc51420f13f609a1072899691
PKG_DESCR:= get/set ata/sata drive parameters
PKG_SECTION:= sys/hw
PKG_URL:= http://sourceforge.net/projects/hdparm
diff --git a/package/heimdal/Makefile b/package/heimdal/Makefile
index ee1235a5e..53390c29d 100644
--- a/package/heimdal/Makefile
+++ b/package/heimdal/Makefile
@@ -4,13 +4,14 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= heimdal
-PKG_VERSION:= 1.5.3
-PKG_RELEASE:= 3
-PKG_HASH:= aac27bedb33c341b6aed202af07ccc816146a893148721f8123abbbf93bbfea5
+PKG_VERSION:= 7.7.0
+PKG_RELEASE:= 1
+PKG_HASH:= f02d3314d634cc55eb9cf04a1eae0d96b293e45a1f837de9d894e800161b7d1b
PKG_DESCR:= kerberos server
PKG_SECTION:= app/crypto
+HOST_BUILDDEP:= ncurses-host
PKG_URL:= http://www.h5l.org/
-PKG_SITES:= http://www.h5l.org/dist/src/
+PKG_SITES:= https://github.com/heimdal/heimdal/releases/download/heimdal-${PKG_VERSION}/
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
@@ -21,6 +22,9 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call HOST_template,HEIMDAL,heimdal,$(PKG_VERSION)-${PKG_RELEASE}))
+# patch changes configure.ac, have to recreate
+AUTOTOOL_STYLE:= autoreconf
+
HOST_STYLE:= manual
ifeq ($(OS_FOR_BUILD),Darwin)
diff --git a/package/heimdal/patches/heimdal_tinfo.patch b/package/heimdal/patches/heimdal_tinfo.patch
new file mode 100644
index 000000000..cd64c7553
--- /dev/null
+++ b/package/heimdal/patches/heimdal_tinfo.patch
@@ -0,0 +1,23 @@
+ Found in Gentoo portage
+--- heimdal-1.5/configure.ac.orig 2011-08-01 12:49:33.554689000 +0200
++++ heimdal-1.5/configure.ac 2011-08-01 13:54:12.707009421 +0200
+@@ -444,7 +444,7 @@
+ #endif
+ ],[0,0,0,0,0])
+
+-AC_FIND_FUNC_NO_LIBS(tgetent, termcap ncurses curses,[
++AC_FIND_FUNC_NO_LIBS(tgetent, tinfo ncurses curses termcap,[
+ #ifdef HAVE_TERMCAP_H
+ #include <termcap.h>
+ #endif
+--- heimdal-1.5/lib/libedit/configure.ac~ 2011-07-30 22:43:29.000000000 +0200
++++ heimdal-1.5/lib/libedit/configure.ac 2011-08-01 13:54:30.657009419 +0200
+@@ -33,7 +33,7 @@
+ EL_MANTYPE
+
+
+-AC_CHECK_LIB(curses, tgetent,,
++AC_CHECK_LIB(tinfo, tgetent,,
+ [AC_CHECK_LIB(ncurses, tgetent,,
+ [AC_MSG_ERROR([libcurses or libncurses are required!])] )] )
+
diff --git a/package/heimdal/patches/patch-cf_check-compile-et_m4 b/package/heimdal/patches/patch-cf_check-compile-et_m4
deleted file mode 100644
index 0211e2b8f..000000000
--- a/package/heimdal/patches/patch-cf_check-compile-et_m4
+++ /dev/null
@@ -1,17 +0,0 @@
---- heimdal-1.5.3.orig/cf/check-compile-et.m4 2012-12-09 23:06:44.000000000 +0100
-+++ heimdal-1.5.3/cf/check-compile-et.m4 2014-04-24 11:55:02.000000000 +0200
-@@ -3,12 +3,12 @@ dnl
- dnl CHECK_COMPILE_ET
- AC_DEFUN([CHECK_COMPILE_ET], [
-
--AC_CHECK_PROG(COMPILE_ET, compile_et, [compile_et])
-+AC_CHECK_PROG(COMPILE_ET, compile_et, [compile_et],[no])
-
- krb_cv_compile_et="no"
- krb_cv_com_err_need_r=""
- krb_cv_compile_et_cross=no
--if test "${COMPILE_ET}" = "compile_et"; then
-+if test "${COMPILE_ET}" != no; then
-
- dnl We have compile_et. Now let's see if it supports `prefix' and `index'.
- AC_MSG_CHECKING(whether compile_et has the features we need)
diff --git a/package/heimdal/patches/patch-lib_com_err_Makefile_am b/package/heimdal/patches/patch-lib_com_err_Makefile_am
deleted file mode 100644
index 9c2faa8d8..000000000
--- a/package/heimdal/patches/patch-lib_com_err_Makefile_am
+++ /dev/null
@@ -1,11 +0,0 @@
---- heimdal-1.5.3.orig/lib/com_err/Makefile.am 2012-12-09 23:06:44.000000000 +0100
-+++ heimdal-1.5.3/lib/com_err/Makefile.am 2014-05-27 11:51:26.000000000 +0200
-@@ -13,7 +13,7 @@ endif
-
- libcom_err_la_LIBADD = $(LIB_libintl)
-
--bin_PROGRAMS = compile_et
-+libexec_heimdal_PROGRAMS = compile_et
-
- include_HEADERS = com_err.h com_right.h
-
diff --git a/package/heimdal/patches/patch-lib_krb5_crypto-rand_c b/package/heimdal/patches/patch-lib_krb5_crypto-rand_c
deleted file mode 100644
index bb72effe0..000000000
--- a/package/heimdal/patches/patch-lib_krb5_crypto-rand_c
+++ /dev/null
@@ -1,30 +0,0 @@
---- heimdal-1.5.3.orig/lib/krb5/crypto-rand.c 2012-12-09 23:06:44.000000000 +0100
-+++ heimdal-1.5.3/lib/krb5/crypto-rand.c 2015-11-03 19:30:39.336954603 +0100
-@@ -59,27 +59,6 @@ seed_something(void)
- } else
- seedfile[0] = '\0';
-
-- /* Calling RAND_status() will try to use /dev/urandom if it exists so
-- we do not have to deal with it. */
-- if (RAND_status() != 1) {
--#ifndef _WIN32
-- krb5_context context;
-- const char *p;
--
-- /* Try using egd */
-- if (!krb5_init_context(&context)) {
-- p = krb5_config_get_string(context, NULL, "libdefaults",
-- "egd_socket", NULL);
-- if (p != NULL)
-- RAND_egd_bytes(p, ENTROPY_NEEDED);
-- krb5_free_context(context);
-- }
--#else
-- /* TODO: Once a Windows CryptoAPI RAND method is defined, we
-- can use that and failover to another method. */
--#endif
-- }
--
- if (RAND_status() == 1) {
- /* Update the seed file */
- if (seedfile[0])
diff --git a/package/heimdal/patches/patch-lib_roken_roken_h_in b/package/heimdal/patches/patch-lib_roken_roken_h_in
deleted file mode 100644
index b571cc428..000000000
--- a/package/heimdal/patches/patch-lib_roken_roken_h_in
+++ /dev/null
@@ -1,11 +0,0 @@
---- heimdal-1.5.3.orig/lib/roken/roken.h.in 2012-12-09 23:06:44.000000000 +0100
-+++ heimdal-1.5.3/lib/roken/roken.h.in 2014-04-24 10:36:35.000000000 +0200
-@@ -551,7 +551,7 @@ ROKEN_LIB_FUNCTION int ROKEN_LIB_CALL ge
- ROKEN_LIB_FUNCTION char * ROKEN_LIB_CALL strerror(int);
- #endif
-
--#if (!defined(HAVE_STRERROR_R) && !defined(strerror_r)) || (!defined(STRERROR_R_PROTO_COMPATIBLE) && defined(HAVE_STRERROR_R))
-+#if (defined(HAVE_STRERROR_R) && !defined(strerror_r)) || (!defined(STRERROR_R_PROTO_COMPATIBLE) && defined(HAVE_STRERROR_R))
- int ROKEN_LIB_FUNCTION rk_strerror_r(int, char *, size_t);
- #else
- #define rk_strerror_r strerror_r
diff --git a/package/heimdal/src/cf/roken-h-process.pl b/package/heimdal/src/cf/roken-h-process.pl
deleted file mode 100644
index aa371a364..000000000
--- a/package/heimdal/src/cf/roken-h-process.pl
+++ /dev/null
@@ -1,184 +0,0 @@
-#!/usr/bin/perl
-
-require 'getopts.pl';
-
-my $debug = 0;
-
-Getopts('dc:p:o:') || die "foo";
-
-if ($opt_d) {
- $debug = 1;
-}
-
-die "missing arg" if (!defined $opt_c || !defined $opt_p || !defined $opt_o);
-
-my %defines;
-my $IN;
-my $OUT;
-
-print "parse config.h\n" if ($debug);
-
-open IN, $opt_c || die "failed open ${opt_c}";
-
-my @nesting;
-
-push @nesting, 1;
-
-while (<IN>) {
- if (m/\s*#ifdef\s+(.*)/) {
- my $var = $1;
- if (defined $defines{$var}) {
- push @nesting, 1;
- } else {
- push @nesting, 0;
- }
- next;
- } elsif (m/\s*#ifndef\s+(.*)/) {
- my $var = $1;
- if (defined $defines{$var}) {
- push @nesting, 0;
- } else {
- push @nesting, 1;
- }
- next;
- } elsif (m/\s*#else/) {
- my $var = pop @nesting;
- $var = !$var;
- push @nesting, $var;
- next;
- } elsif ($nesting[$#nesting] and m/\s*#define\s+(\w+)\s+(\S+)/) {
- my $res = $2;
- $res = 1 if (!defined $res);
- $defines{$1} = $res;
- }
-}
-
-close IN;
-
-if ($debug) {
- foreach my $i (keys %defines) {
- print "k: $i v: $defines{$i}\n";
- }
-}
-
-open IN, "$opt_p" || die "failed open ${opt_p}";
-open OUT, ">$opt_o" || die "failed open ${opt_o}";
-
-print "parse roken.h.in\n" if ($debug);
-
-print OUT "/* This is an OS dependent, generated file */\n";
-print OUT "\n";
-print OUT "\n";
-print OUT "#ifndef __ROKEN_H__\n";
-print OUT "#define __ROKEN_H__\n";
-print OUT "\n";
-
-@nesting = (1);
-
-while (<IN>) {
- if (m/\s*#ifdef\s+(.*)/) {
- my $var = $1;
- if (defined $defines{$var}) {
- push @nesting, 1;
- } else {
- push @nesting, 0;
- }
- next;
- } elsif (m/\s*#ifndef\s+(.*)/) {
- my $var = $1;
- if (defined $defines{$var}) {
- push @nesting, 0;
- } else {
- push @nesting, 1;
- }
- next;
- } elsif (m/\s*#if\s+(.*)/) {
- my $res = parse_if($1);
- print "line = $res: $1\n" if ($debug);
- push @nesting, $res;
- next;
- } elsif (m/\s*#elif\s+(.*)/) {
- my $res = pop @nesting;
- if ($res gt 0) {
- $res = -1;
- } else {
- my $res = parse_if($1);
- }
- push @nesting, $res;
- next;
- } elsif (m/\s*#else/) {
- my $var = pop @nesting;
- $var = !$var;
- push @nesting, $var;
- next;
- } elsif (m/\s*#endif/) {
- pop @nesting;
- next;
- }
- print "line: $_\n" if ($debug);
- print "nesting dep $#{nesting}\n" if ($debug);
- my $i = 0, $t = 1;
- while ($i le $#nesting) {
- $t = 0 if ($nesting[$i] le 0);
- print "nesting $i val $nesting[$i] -> $t\n" if ($debug);
- $i++;
- }
- if ($t) {
- print OUT;
- }
-}
-
-print OUT "\n";
-print OUT "#endif /* __ROKEN_H__ */\n";
-
-
-close IN;
-
-exit 0;
-
-sub parse_if
-{
- my ($neg, $var);
-
- $_ = shift;
-
- if (m/^\s*$/) {
- print "end $_\n" if ($debug);
- return 1;
- } elsif (m/^\(([^&]+)\&\&(.*)$/) {
- print "$1 and $2\n" if ($debug);
- return parse_if($1) and parse_if($2);
- } elsif (m/^([^&]+)\&\&(.*)$/) {
- print "$1 and $2\n" if ($debug);
- return parse_if($1) and parse_if($2);
- } elsif (m/^([^\|]+)\|\|(.*)$/) {
- print "$1 or $2\n" if ($debug);
- return parse_if($1) or parse_if($2);
- } elsif (m/^\s*(\!)?\s*defined\((\w+)\)/) {
- ($neg, $var) = ($1, $2);
- print "def: ${neg}-defined(${var})\n" if ($debug);
- my $res = defined $defines{$var};
- if ($neg eq "!") {
- if ($res) {
- $res = 0;
- } else {
- $res = 1;
- }
- }
- print "res: $res\n" if ($debug);
- return $res;
- } elsif (m/^\s*(\!)?(\w+)/) {
- ($neg, $var) = ($1, $2);
- print "var: $neg $var\n" if ($debug);
- my $res;
- if (defined $defines{$var}) {
- $res = $defines{$var};
- } else {
- $res = 0;
- }
- $res = ! $res if ($neg =~ m/!/);
- print "res: $res\n" if ($debug);
- return $res;
- }
- die "failed parse: $_\n";
-}
diff --git a/package/heyu/Makefile b/package/heyu/Makefile
index e42604d2f..a3b10f9ce 100644
--- a/package/heyu/Makefile
+++ b/package/heyu/Makefile
@@ -4,18 +4,18 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= heyu
-PKG_VERSION:= 2.6.0
+PKG_VERSION:= 2.10.3
PKG_RELEASE:= 1
-PKG_HASH:= 1284e793520d2e152d9d7032f6727e72fbaaf7c4f4eaf9abea2b85eed090b0d2
+PKG_HASH:= 0c3435ea9cd57cd78c29047b9c961f4bfbec39f42055c9949acd10dd9853b628
PKG_DESCR:= x10 home automation control utility
PKG_SECTION:= sys/serial
PKG_DEPENDS:= setserial
-PKG_URL:= http://heyu.tanj.com/
-PKG_SITES:= http://heyu.tanj.com/download/
+PKG_URL:= https://heyu.org/
+PKG_SITES:= https://github.com/HeyuX10Automation/heyu/archive/refs/tags/
PKG_LIBC_DEPENDS:= uclibc-ng glibc
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tgz
+DISTFILES:= v${PKG_VERSION}.tar.gz
include ${ADK_TOPDIR}/mk/package.mk
diff --git a/package/heyu/patches/patch-tty_c b/package/heyu/patches/patch-tty_c
deleted file mode 100644
index cb8acf6d9..000000000
--- a/package/heyu/patches/patch-tty_c
+++ /dev/null
@@ -1,12 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- heyu-2.6.0.orig/tty.c 2009-01-19 03:57:00.000000000 +0100
-+++ heyu-2.6.0/tty.c 2009-05-29 14:08:06.087764489 +0200
-@@ -395,7 +395,7 @@ char *make_lock_name ( char *ttydev )
- struct stat stat_buf;
-
- /* strip the leading path name */
-- ptr = rindex(ttydev, '/');
-+ ptr = strrchr(ttydev, '/');
-
- devstr = dev_string;
-
diff --git a/package/heyu/patches/patch-x10state_c b/package/heyu/patches/patch-x10state_c
deleted file mode 100644
index c56f2489d..000000000
--- a/package/heyu/patches/patch-x10state_c
+++ /dev/null
@@ -1,12 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- heyu-2.6.0.orig/x10state.c 2009-04-21 00:45:51.000000000 +0200
-+++ heyu-2.6.0/x10state.c 2009-05-29 14:17:51.812378291 +0200
-@@ -5601,7 +5601,7 @@ char **create_noenv_environment ( LAUNCH
-
- // launcherp = configp->launcherp;
-
-- if ( daemon == D_RELAY || (index >= 0 && launcherp && launcherp->type == L_POWERFAIL) )
-+ if ( daemon == D_RELAY || (launcherp && launcherp->type == L_POWERFAIL) )
- putenv("HEYU_PARENT=RELAY");
- else
- putenv("HEYU_PARENT=ENGINE");
diff --git a/package/hostapd/Makefile b/package/hostapd/Makefile
index 22cfeba7d..2eeaefd20 100644
--- a/package/hostapd/Makefile
+++ b/package/hostapd/Makefile
@@ -4,15 +4,14 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= hostapd
-PKG_VERSION:= 2.5
+PKG_VERSION:= 2.10
PKG_RELEASE:= 1
-PKG_HASH:= 8e272d954dc0d7026c264b79b15389ec2b2c555b32970de39f506b9f463ec74a
+PKG_HASH:= 206e7c799b678572c2e3d12030238784bc4a9f82323b0156b4c9466f1498915d
PKG_DESCR:= wireless authenticator
PKG_SECTION:= net/wifi
PKG_DEPENDS:= libnl
PKG_BUILDDEP:= libnl
-PKG_URL:= http://hostap.epitest.fi/
-PKG_SITES:= http://hostap.epitest.fi/releases/
+PKG_SITES:= http://w1.fi/releases/
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
diff --git a/package/htop/Makefile b/package/htop/Makefile
index 9d886a855..7ded657a6 100644
--- a/package/htop/Makefile
+++ b/package/htop/Makefile
@@ -4,17 +4,15 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= htop
-PKG_VERSION:= 2.0.1
+PKG_VERSION:= 3.2.2
PKG_RELEASE:= 1
-PKG_HASH:= f410626dfaf6b70fdf73cd7bb33cae768869707028d847fed94a978e974f5666
+PKG_HASH:= bac9e9ab7198256b8802d2e3b327a54804dc2a19b77a5f103645b11c12473dc8
PKG_DESCR:= graphical process manager
PKG_SECTION:= sys/utils
PKG_DEPENDS:= libncurses
PKG_BUILDDEP:= ncurses
PKG_URL:= http://hisham.hm/htop
-PKG_SITES:= http://hisham.hm/htop/releases/$(PKG_VERSION)/
-
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
+PKG_SITES:= https://github.com/htop-dev/htop/releases/download/$(PKG_VERSION)/
include $(ADK_TOPDIR)/mk/package.mk
diff --git a/package/httping/Makefile b/package/httping/Makefile
index f6ed4f4df..60c2ab6cf 100644
--- a/package/httping/Makefile
+++ b/package/httping/Makefile
@@ -4,26 +4,28 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= httping
-PKG_VERSION:= 2.4
+PKG_VERSION:= 3.5
PKG_RELEASE:= 1
-PKG_HASH:= dab59f02b08bfbbc978c005bb16d2db6fe21e1fc841fde96af3d497ddfc82084
+PKG_HASH:= 8c081daae31cad586bce7742bd721c2a741d7ce0687fb3a12cafd389b90bf79c
PKG_DESCR:= like ping but for http-requests
PKG_SECTION:= net/http
-PKG_DEPENDS:= libressl
-PKG_BUILDDEP:= libressl
-PKG_SITES:= http://www.vanheusden.com/httping/
+PKG_DEPENDS:= libressl ca-certificates
+PKG_BUILDDEP:= cmake-host libressl
+PKG_NEEDS:= intl
+PKG_SITES:= https://github.com/folkertvanheusden/HTTPing/archive/refs/tags/
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tgz
+DISTFILES:= v${PKG_VERSION}.tar.gz
+WRKDIST= ${WRKDIR}/HTTPing-${PKG_VERSION}
include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,HTTPING,httping,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-CONFIG_STYLE:= manual
-TARGET_CFLAGS+= -D_GNU_SOURCE
+CONFIG_STYLE:= cmake
+INSTALL_STYLE:= manual
httping-install:
${INSTALL_DIR} ${IDIR_HTTPING}/usr/bin
- ${INSTALL_BIN} ${WRKINST}/usr/bin/httping ${IDIR_HTTPING}/usr/bin/
+ ${INSTALL_BIN} ${WRKBUILD}/httping ${IDIR_HTTPING}/usr/bin/
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/hugo/Makefile b/package/hugo/Makefile
deleted file mode 100644
index ab25a693f..000000000
--- a/package/hugo/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(ADK_TOPDIR)/rules.mk
-
-PKG_NAME:= hugo
-PKG_VERSION:= 0.18.1
-PKG_RELEASE:= 1
-PKG_HASH:= 29db2524a3042f507162164ec3ce9071277a7608547f4ea4f739d63cac4b39e4
-PKG_DESCR:= fast website generator
-PKG_SECTION:= net/http
-PKG_BUILDDEP:= go-host
-PKG_URL:= https://gohugo.io
-PKG_SITES:= https://github.com/spf13/hugo/archive/
-
-DISTFILES:= v$(PKG_VERSION).tar.gz
-
-include $(ADK_TOPDIR)/mk/package.mk
-
-$(eval $(call PKG_template,HUGO,hugo,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
-
-CONFIG_STYLE:= manual
-BUILD_STYLE:= manual
-INSTALL_STYLE:= manual
-
-include $(ADK_TOPDIR)/mk/go.mk
-
-do-build:
- (cd $(WRKBUILD) && $(ADK_GO_TARGET_ENV) $(ADK_GO) \
- get -v github.com/spf13/hugo)
-
-hugo-install:
- $(INSTALL_DIR) $(IDIR_HUGO)/usr/bin
- $(INSTALL_BIN) $(ADK_GO_BINPATH)/hugo \
- $(IDIR_HUGO)/usr/bin
-
-include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/hush/Makefile b/package/hush/Makefile
index 3966a32a9..dffc690ab 100644
--- a/package/hush/Makefile
+++ b/package/hush/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= hush
-PKG_VERSION:= 1.32.0
+PKG_VERSION:= 1.36.1
PKG_RELEASE:= 1
-PKG_HASH:= c35d87f1d04b2b153d33c275c2632e40d388a88f19a9e71727e0bbbff51fe689
+PKG_HASH:= b8cc24c9574d809e7279c3be349795c5d5ceb6fdf19ca709f80cde50e47de314
PKG_DESCR:= hush standalone shell
PKG_SECTION:= base/shells
PKG_URL:= http://www.busybox.net/
diff --git a/package/hush/files/config b/package/hush/files/config
index 2cc3d9bd3..7e81b468e 100644
--- a/package/hush/files/config
+++ b/package/hush/files/config
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Busybox version: 1.32.0
-# Tue Aug 4 04:48:22 2020
+# Busybox version: 1.36.1
+# Thu Aug 31 12:09:53 2023
#
CONFIG_HAVE_DOT_CONFIG=y
@@ -36,14 +36,13 @@ CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
# CONFIG_FEATURE_CLEAN_UP is not set
# CONFIG_FEATURE_SYSLOG_INFO is not set
# CONFIG_FEATURE_SYSLOG is not set
-CONFIG_PLATFORM_LINUX=y
#
# Build Options
#
# CONFIG_STATIC is not set
# CONFIG_PIE is not set
-# CONFIG_NOMMU is not set
+CONFIG_NOMMU=y
# CONFIG_BUILD_LIBBUSYBOX is not set
# CONFIG_FEATURE_LIBBUSYBOX_STATIC is not set
# CONFIG_FEATURE_INDIVIDUAL is not set
@@ -55,6 +54,7 @@ CONFIG_EXTRA_LDFLAGS=""
CONFIG_EXTRA_LDLIBS=""
# CONFIG_USE_PORTABLE_CODE is not set
CONFIG_STACK_OPTIMIZATION_386=y
+CONFIG_STATIC_LIBGCC=y
#
# Installation Options ("make install" behavior)
@@ -93,10 +93,16 @@ CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
CONFIG_PASSWORD_MINLEN=6
CONFIG_MD5_SMALL=1
+CONFIG_SHA1_SMALL=3
+CONFIG_SHA1_HWACCEL=y
+CONFIG_SHA256_HWACCEL=y
CONFIG_SHA3_SMALL=1
-# CONFIG_FEATURE_FAST_TOP is not set
-# CONFIG_FEATURE_ETC_NETWORKS is not set
-# CONFIG_FEATURE_ETC_SERVICES is not set
+CONFIG_FEATURE_NON_POSIX_CP=y
+# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set
+CONFIG_FEATURE_USE_SENDFILE=y
+CONFIG_FEATURE_COPYBUF_KB=4
+CONFIG_MONOTONIC_SYSCALL=y
+CONFIG_IOCTL_HEX2STR_ERROR=y
CONFIG_FEATURE_EDITING=y
CONFIG_FEATURE_EDITING_MAX_LEN=1024
# CONFIG_FEATURE_EDITING_VI is not set
@@ -120,14 +126,9 @@ CONFIG_LAST_SUPPORTED_WCHAR=767
# CONFIG_UNICODE_BIDI_SUPPORT is not set
# CONFIG_UNICODE_NEUTRAL_TABLE is not set
# CONFIG_UNICODE_PRESERVE_BROKEN is not set
-CONFIG_FEATURE_NON_POSIX_CP=y
-# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set
-CONFIG_FEATURE_USE_SENDFILE=y
-CONFIG_FEATURE_COPYBUF_KB=4
-CONFIG_FEATURE_SKIP_ROOTFS=y
-CONFIG_MONOTONIC_SYSCALL=y
-CONFIG_IOCTL_HEX2STR_ERROR=y
-CONFIG_FEATURE_HWIB=y
+# CONFIG_LOOP_CONFIGURE is not set
+# CONFIG_NO_LOOP_CONFIGURE is not set
+CONFIG_TRY_LOOP_CONFIGURE=y
#
# Applets
@@ -162,6 +163,8 @@ CONFIG_BZIP2_SMALL=0
# CONFIG_CPIO is not set
# CONFIG_FEATURE_CPIO_O is not set
# CONFIG_FEATURE_CPIO_P is not set
+# CONFIG_FEATURE_CPIO_IGNORE_DEVNO is not set
+# CONFIG_FEATURE_CPIO_RENUMBER_INODES is not set
# CONFIG_DPKG is not set
# CONFIG_DPKG_DEB is not set
# CONFIG_GZIP is not set
@@ -197,6 +200,14 @@ CONFIG_GZIP_FAST=0
#
# Coreutils
#
+# CONFIG_FEATURE_VERBOSE is not set
+
+#
+# Common options for date and touch
+#
+# CONFIG_FEATURE_TIMEZONE is not set
+# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
+# CONFIG_FEATURE_HUMAN_READABLE is not set
# CONFIG_BASENAME is not set
# CONFIG_CAT is not set
# CONFIG_FEATURE_CATN is not set
@@ -207,11 +218,13 @@ CONFIG_GZIP_FAST=0
# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set
# CONFIG_CHROOT is not set
# CONFIG_CKSUM is not set
+# CONFIG_CRC32 is not set
# CONFIG_COMM is not set
# CONFIG_CP is not set
# CONFIG_FEATURE_CP_LONG_OPTIONS is not set
# CONFIG_FEATURE_CP_REFLINK is not set
# CONFIG_CUT is not set
+# CONFIG_FEATURE_CUT_REGEX is not set
# CONFIG_DATE is not set
# CONFIG_FEATURE_DATE_ISOFMT is not set
# CONFIG_FEATURE_DATE_NANO is not set
@@ -223,6 +236,7 @@ CONFIG_GZIP_FAST=0
# CONFIG_FEATURE_DD_STATUS is not set
# CONFIG_DF is not set
# CONFIG_FEATURE_DF_FANCY is not set
+# CONFIG_FEATURE_SKIP_ROOTFS is not set
# CONFIG_DIRNAME is not set
# CONFIG_DOS2UNIX is not set
# CONFIG_UNIX2DOS is not set
@@ -235,7 +249,7 @@ CONFIG_GZIP_FAST=0
# CONFIG_UNEXPAND is not set
# CONFIG_EXPR is not set
# CONFIG_EXPR_MATH_SUPPORT_64 is not set
-CONFIG_FACTOR=y
+# CONFIG_FACTOR is not set
# CONFIG_FALSE is not set
# CONFIG_FOLD is not set
# CONFIG_HEAD is not set
@@ -245,7 +259,7 @@ CONFIG_FACTOR=y
# CONFIG_GROUPS is not set
# CONFIG_INSTALL is not set
# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set
-CONFIG_LINK=y
+# CONFIG_LINK is not set
# CONFIG_LN is not set
# CONFIG_LOGNAME is not set
# CONFIG_LS is not set
@@ -270,11 +284,11 @@ CONFIG_LINK=y
# CONFIG_MKTEMP is not set
# CONFIG_MV is not set
# CONFIG_NICE is not set
-CONFIG_NL=y
+# CONFIG_NL is not set
# CONFIG_NOHUP is not set
-CONFIG_NPROC=y
+# CONFIG_NPROC is not set
# CONFIG_OD is not set
-CONFIG_PASTE=y
+# CONFIG_PASTE is not set
# CONFIG_PRINTENV is not set
# CONFIG_PRINTF is not set
# CONFIG_PWD is not set
@@ -284,7 +298,7 @@ CONFIG_PASTE=y
# CONFIG_RM is not set
# CONFIG_RMDIR is not set
# CONFIG_SEQ is not set
-CONFIG_SHRED=y
+# CONFIG_SHRED is not set
# CONFIG_SHUF is not set
# CONFIG_SLEEP is not set
# CONFIG_FEATURE_FANCY_SLEEP is not set
@@ -312,21 +326,22 @@ CONFIG_SHRED=y
# CONFIG_FEATURE_TEST_64 is not set
# CONFIG_TIMEOUT is not set
# CONFIG_TOUCH is not set
-# CONFIG_FEATURE_TOUCH_NODEREF is not set
# CONFIG_FEATURE_TOUCH_SUSV3 is not set
# CONFIG_TR is not set
# CONFIG_FEATURE_TR_CLASSES is not set
# CONFIG_FEATURE_TR_EQUIV is not set
# CONFIG_TRUE is not set
# CONFIG_TRUNCATE is not set
+# CONFIG_TSORT is not set
# CONFIG_TTY is not set
# CONFIG_UNAME is not set
CONFIG_UNAME_OSNAME=""
-CONFIG_BB_ARCH=y
+# CONFIG_BB_ARCH is not set
# CONFIG_UNIQ is not set
# CONFIG_UNLINK is not set
# CONFIG_USLEEP is not set
# CONFIG_UUDECODE is not set
+# CONFIG_BASE32 is not set
# CONFIG_BASE64 is not set
# CONFIG_UUENCODE is not set
# CONFIG_WC is not set
@@ -338,13 +353,6 @@ CONFIG_BB_ARCH=y
# CONFIG_YES is not set
#
-# Common options
-#
-# CONFIG_FEATURE_VERBOSE is not set
-# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
-# CONFIG_FEATURE_HUMAN_READABLE is not set
-
-#
# Console Utilities
#
# CONFIG_CHVT is not set
@@ -386,9 +394,9 @@ CONFIG_DEFAULT_SETFONT_DIR=""
# klibc-utils
#
# CONFIG_MINIPS is not set
-CONFIG_NUKE=y
-CONFIG_RESUME=y
-CONFIG_RUN_INIT=y
+# CONFIG_NUKE is not set
+# CONFIG_RESUME is not set
+# CONFIG_RUN_INIT is not set
#
# Editors
@@ -407,6 +415,7 @@ CONFIG_RUN_INIT=y
CONFIG_FEATURE_VI_MAX_LEN=0
# CONFIG_FEATURE_VI_8BIT is not set
# CONFIG_FEATURE_VI_COLON is not set
+# CONFIG_FEATURE_VI_COLON_EXPAND is not set
# CONFIG_FEATURE_VI_YANKMARK is not set
# CONFIG_FEATURE_VI_SEARCH is not set
# CONFIG_FEATURE_VI_REGEX_SEARCH is not set
@@ -420,6 +429,7 @@ CONFIG_FEATURE_VI_MAX_LEN=0
# CONFIG_FEATURE_VI_UNDO is not set
# CONFIG_FEATURE_VI_UNDO_QUEUE is not set
CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=0
+# CONFIG_FEATURE_VI_VERBOSE_STATUS is not set
# CONFIG_FEATURE_ALLOW_EXEC is not set
#
@@ -428,7 +438,11 @@ CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=0
# CONFIG_FIND is not set
# CONFIG_FEATURE_FIND_PRINT0 is not set
# CONFIG_FEATURE_FIND_MTIME is not set
+# CONFIG_FEATURE_FIND_ATIME is not set
+# CONFIG_FEATURE_FIND_CTIME is not set
# CONFIG_FEATURE_FIND_MMIN is not set
+# CONFIG_FEATURE_FIND_AMIN is not set
+# CONFIG_FEATURE_FIND_CMIN is not set
# CONFIG_FEATURE_FIND_PERM is not set
# CONFIG_FEATURE_FIND_TYPE is not set
# CONFIG_FEATURE_FIND_EXECUTABLE is not set
@@ -436,6 +450,7 @@ CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=0
# CONFIG_FEATURE_FIND_MAXDEPTH is not set
# CONFIG_FEATURE_FIND_NEWER is not set
# CONFIG_FEATURE_FIND_INUM is not set
+# CONFIG_FEATURE_FIND_SAMEFILE is not set
# CONFIG_FEATURE_FIND_EXEC is not set
# CONFIG_FEATURE_FIND_EXEC_PLUS is not set
# CONFIG_FEATURE_FIND_USER is not set
@@ -582,7 +597,7 @@ CONFIG_DEFAULT_DEPMOD_FILE=""
# CONFIG_FEATURE_DMESG_PRETTY is not set
# CONFIG_EJECT is not set
# CONFIG_FEATURE_EJECT_SCSI is not set
-CONFIG_FALLOCATE=y
+# CONFIG_FALLOCATE is not set
# CONFIG_FATATTR is not set
# CONFIG_FBSET is not set
# CONFIG_FEATURE_FBSET_FANCY is not set
@@ -602,14 +617,13 @@ CONFIG_FALLOCATE=y
# CONFIG_FDFLUSH is not set
# CONFIG_FREERAMDISK is not set
# CONFIG_FSCK_MINIX is not set
-CONFIG_FSFREEZE=y
+# CONFIG_FSFREEZE is not set
# CONFIG_FSTRIM is not set
# CONFIG_GETOPT is not set
# CONFIG_FEATURE_GETOPT_LONG is not set
# CONFIG_HEXDUMP is not set
-# CONFIG_FEATURE_HEXDUMP_REVERSE is not set
# CONFIG_HD is not set
-CONFIG_XXD=y
+# CONFIG_XXD is not set
# CONFIG_HWCLOCK is not set
# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set
# CONFIG_IONICE is not set
@@ -650,7 +664,7 @@ CONFIG_XXD=y
# CONFIG_FEATURE_MOUNT_FSTAB is not set
# CONFIG_FEATURE_MOUNT_OTHERTAB is not set
# CONFIG_MOUNTPOINT is not set
-CONFIG_NOLOGIN=y
+# CONFIG_NOLOGIN is not set
# CONFIG_NOLOGIN_DEPENDENCIES is not set
# CONFIG_NSENTER is not set
# CONFIG_PIVOT_ROOT is not set
@@ -665,10 +679,10 @@ CONFIG_NOLOGIN=y
# CONFIG_SETARCH is not set
# CONFIG_LINUX32 is not set
# CONFIG_LINUX64 is not set
-CONFIG_SETPRIV=y
-CONFIG_FEATURE_SETPRIV_DUMP=y
-CONFIG_FEATURE_SETPRIV_CAPABILITIES=y
-CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES=y
+# CONFIG_SETPRIV is not set
+# CONFIG_FEATURE_SETPRIV_DUMP is not set
+# CONFIG_FEATURE_SETPRIV_CAPABILITIES is not set
+# CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES is not set
# CONFIG_SETSID is not set
# CONFIG_SWAPON is not set
# CONFIG_FEATURE_SWAPON_DISCARD is not set
@@ -691,6 +705,7 @@ CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES=y
# CONFIG_FEATURE_VOLUMEID_BCACHE is not set
# CONFIG_FEATURE_VOLUMEID_BTRFS is not set
# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set
+# CONFIG_FEATURE_VOLUMEID_EROFS is not set
# CONFIG_FEATURE_VOLUMEID_EXFAT is not set
# CONFIG_FEATURE_VOLUMEID_EXT is not set
# CONFIG_FEATURE_VOLUMEID_F2FS is not set
@@ -718,14 +733,15 @@ CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES=y
# Miscellaneous Utilities
#
# CONFIG_ADJTIMEX is not set
+# CONFIG_ASCII is not set
# CONFIG_BBCONFIG is not set
# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set
-CONFIG_BC=y
+# CONFIG_BC is not set
# CONFIG_DC is not set
-CONFIG_FEATURE_DC_BIG=y
+# CONFIG_FEATURE_DC_BIG is not set
# CONFIG_FEATURE_DC_LIBM is not set
-CONFIG_FEATURE_BC_INTERACTIVE=y
-CONFIG_FEATURE_BC_LONG_OPTIONS=y
+# CONFIG_FEATURE_BC_INTERACTIVE is not set
+# CONFIG_FEATURE_BC_LONG_OPTIONS is not set
# CONFIG_BEEP is not set
CONFIG_FEATURE_BEEP_FREQ=0
CONFIG_FEATURE_BEEP_LENGTH_MS=0
@@ -762,12 +778,12 @@ CONFIG_FEATURE_CROND_DIR=""
# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set
-CONFIG_HEXEDIT=y
+# CONFIG_HEXEDIT is not set
# CONFIG_I2CGET is not set
# CONFIG_I2CSET is not set
# CONFIG_I2CDUMP is not set
# CONFIG_I2CDETECT is not set
-CONFIG_I2CTRANSFER=y
+# CONFIG_I2CTRANSFER is not set
# CONFIG_INOTIFYD is not set
# CONFIG_LESS is not set
CONFIG_FEATURE_LESS_MAXLINES=0
@@ -782,27 +798,29 @@ CONFIG_FEATURE_LESS_MAXLINES=0
# CONFIG_FEATURE_LESS_LINENUMS is not set
# CONFIG_FEATURE_LESS_RAW is not set
# CONFIG_FEATURE_LESS_ENV is not set
-CONFIG_LSSCSI=y
+# CONFIG_LSSCSI is not set
# 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_MIM=y
+# CONFIG_MIM is not set
# CONFIG_MT is not set
# CONFIG_NANDWRITE is not set
# CONFIG_NANDDUMP is not set
-CONFIG_PARTPROBE=y
+# CONFIG_PARTPROBE is not set
# 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_SETFATTR=y
+# CONFIG_SEEDRNG is not set
+# CONFIG_SETFATTR is not set
# CONFIG_SETSERIAL is not set
# CONFIG_STRINGS is not set
# CONFIG_TIME is not set
-CONFIG_TS=y
+# CONFIG_TREE is not set
+# CONFIG_TS is not set
# CONFIG_TTYSIZE is not set
# CONFIG_UBIATTACH is not set
# CONFIG_UBIDETACH is not set
@@ -813,6 +831,7 @@ CONFIG_TS=y
# CONFIG_UBIRENAME is not set
# CONFIG_VOLNAME is not set
# CONFIG_WATCHDOG is not set
+# CONFIG_FEATURE_WATCHDOG_OPEN_TWICE is not set
#
# Networking Utilities
@@ -821,6 +840,9 @@ CONFIG_TS=y
# CONFIG_FEATURE_UNIX_LOCAL is not set
# CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set
# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
+# CONFIG_FEATURE_ETC_NETWORKS is not set
+# CONFIG_FEATURE_ETC_SERVICES is not set
+# CONFIG_FEATURE_HWIB is not set
# CONFIG_FEATURE_TLS_SHA1 is not set
# CONFIG_ARP is not set
# CONFIG_ARPING is not set
@@ -839,6 +861,7 @@ CONFIG_TS=y
# CONFIG_HOSTNAME is not set
# CONFIG_DNSDOMAINNAME is not set
# CONFIG_HTTPD is not set
+CONFIG_FEATURE_HTTPD_PORT_DEFAULT=0
# CONFIG_FEATURE_HTTPD_RANGES is not set
# CONFIG_FEATURE_HTTPD_SETUID is not set
# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
@@ -850,6 +873,10 @@ CONFIG_TS=y
# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
# CONFIG_FEATURE_HTTPD_PROXY is not set
# CONFIG_FEATURE_HTTPD_GZIP is not set
+# CONFIG_FEATURE_HTTPD_ETAG is not set
+# CONFIG_FEATURE_HTTPD_LAST_MODIFIED is not set
+# CONFIG_FEATURE_HTTPD_DATE is not set
+# CONFIG_FEATURE_HTTPD_ACL_IP is not set
# CONFIG_IFCONFIG is not set
# CONFIG_FEATURE_IFCONFIG_STATUS is not set
# CONFIG_FEATURE_IFCONFIG_SLIP is not set
@@ -916,9 +943,9 @@ CONFIG_FEATURE_IP_ROUTE_DIR=""
# CONFIG_PSCAN is not set
# CONFIG_ROUTE is not set
# CONFIG_SLATTACH is not set
-CONFIG_SSL_CLIENT=y
-CONFIG_TC=y
-CONFIG_FEATURE_TC_INGRESS=y
+# CONFIG_SSL_CLIENT is not set
+# CONFIG_TC is not set
+# CONFIG_FEATURE_TC_INGRESS is not set
# CONFIG_TCPSVD is not set
# CONFIG_UDPSVD is not set
# CONFIG_TELNET is not set
@@ -927,6 +954,7 @@ CONFIG_FEATURE_TC_INGRESS=y
# CONFIG_FEATURE_TELNET_WIDTH is not set
# CONFIG_TELNETD is not set
# CONFIG_FEATURE_TELNETD_STANDALONE is not set
+CONFIG_FEATURE_TELNETD_PORT_DEFAULT=0
# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set
# CONFIG_TFTP is not set
# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set
@@ -936,7 +964,7 @@ CONFIG_FEATURE_TC_INGRESS=y
# CONFIG_FEATURE_TFTP_PUT is not set
# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
# CONFIG_TFTP_DEBUG is not set
-CONFIG_TLS=y
+# CONFIG_TLS is not set
# CONFIG_TRACEROUTE is not set
# CONFIG_TRACEROUTE6 is not set
# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
@@ -947,6 +975,7 @@ CONFIG_TLS=y
# CONFIG_WGET is not set
# CONFIG_FEATURE_WGET_LONG_OPTIONS is not set
# CONFIG_FEATURE_WGET_STATUSBAR is not set
+# CONFIG_FEATURE_WGET_FTP is not set
# CONFIG_FEATURE_WGET_AUTHENTICATION is not set
# CONFIG_FEATURE_WGET_TIMEOUT is not set
# CONFIG_FEATURE_WGET_HTTPS is not set
@@ -963,11 +992,13 @@ CONFIG_DHCPD_LEASES_FILE=""
# CONFIG_FEATURE_UDHCPC_ARPING is not set
# CONFIG_FEATURE_UDHCPC_SANITIZEOPT is not set
CONFIG_UDHCPC_DEFAULT_SCRIPT=""
+CONFIG_UDHCPC6_DEFAULT_SCRIPT=""
# 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_FEATURE_UDHCPC6_RFC5970 is not set
+CONFIG_UDHCPC_DEFAULT_INTERFACE=""
# CONFIG_FEATURE_UDHCP_PORT is not set
CONFIG_UDHCP_DEBUG=0
CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0
@@ -985,17 +1016,19 @@ CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
#
# Mail Utilities
#
+CONFIG_FEATURE_MIME_CHARSET=""
# CONFIG_MAKEMIME is not set
# CONFIG_POPMAILDIR is not set
# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set
# CONFIG_REFORMIME is not set
# CONFIG_FEATURE_REFORMIME_COMPAT is not set
# CONFIG_SENDMAIL is not set
-CONFIG_FEATURE_MIME_CHARSET=""
#
# Process Utilities
#
+# CONFIG_FEATURE_FAST_TOP is not set
+# CONFIG_FEATURE_SHOW_THREADS is not set
# CONFIG_FREE is not set
# CONFIG_FUSER is not set
# CONFIG_IOSTAT is not set
@@ -1034,7 +1067,6 @@ CONFIG_FEATURE_MIME_CHARSET=""
# CONFIG_UPTIME is not set
# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set
# CONFIG_WATCH is not set
-# CONFIG_FEATURE_SHOW_THREADS is not set
#
# Runit Utilities
@@ -1050,7 +1082,7 @@ CONFIG_FEATURE_MIME_CHARSET=""
# CONFIG_SV is not set
CONFIG_SV_DEFAULT_SERVICE_DIR=""
# CONFIG_SVC is not set
-CONFIG_SVOK=y
+# CONFIG_SVOK is not set
# CONFIG_SVLOGD is not set
# CONFIG_CHCON is not set
# CONFIG_GETENFORCE is not set
@@ -1091,6 +1123,7 @@ CONFIG_BASH_IS_HUSH=y
# CONFIG_ASH_ECHO is not set
# CONFIG_ASH_PRINTF is not set
# CONFIG_ASH_TEST is not set
+# CONFIG_ASH_SLEEP is not set
# CONFIG_ASH_HELP is not set
# CONFIG_ASH_GETOPTS is not set
# CONFIG_ASH_CMDCMD is not set
@@ -1099,8 +1132,8 @@ CONFIG_HUSH=y
CONFIG_SHELL_HUSH=y
CONFIG_HUSH_BASH_COMPAT=y
CONFIG_HUSH_BRACE_EXPANSION=y
+CONFIG_HUSH_BASH_SOURCE_CURDIR=y
CONFIG_HUSH_LINENO_VAR=y
-# CONFIG_HUSH_BASH_SOURCE_CURDIR is not set
CONFIG_HUSH_INTERACTIVE=y
CONFIG_HUSH_SAVEHISTORY=y
CONFIG_HUSH_JOB=y
diff --git a/package/hwdata/Makefile b/package/hwdata/Makefile
new file mode 100644
index 000000000..0387cf3c6
--- /dev/null
+++ b/package/hwdata/Makefile
@@ -0,0 +1,51 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= hwdata
+PKG_VERSION:= 0.378
+PKG_RELEASE:= 1
+PKG_HASH:= 098ea8db12a50290f4b23f7f521edf9c5bab25935d2740de17e4a487110b40c8
+PKG_DESCR:= combined repository of pci.ids and usb.ids
+PKG_SECTION:= sys/hw
+PKG_URL:= https://github.com/vcrhonek/hwdata
+PKG_SITES:= https://github.com/vcrhonek/hwdata/archive/refs/tags/
+
+DISTFILES:= v$(PKG_VERSION).tar.gz
+
+PKG_SUBPKGS:= HWDATA_NET HWDATA_PCI HWDATA_USB HWDATA_PNP
+PKGSD_HWDATA_NET:= HWDATA files oui.txt and iab.txt
+PKGSD_HWDATA_PCI:= HWDATA file pci.ids
+PKGSD_HWDATA_USB:= HWDATA file usb.ids
+PKGSD_HWDATA_PNP:= HWDATA file pnp.ids
+
+PKG_FLAVOURS_HWDATA:= WITH_GZIP
+PKGFD_WITH_GZIP:= gzip ids before installation
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,HWDATA_NET,hwdata-net,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKGSD_HWDATA_NET),$(PKG_SECTION)))
+$(eval $(call PKG_template,HWDATA_PCI,hwdata-pci,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKGSD_HWDATA_PCI),$(PKG_SECTION)))
+$(eval $(call PKG_template,HWDATA_USB,hwdata-usb,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKGSD_HWDATA_USB),$(PKG_SECTION)))
+$(eval $(call PKG_template,HWDATA_PNP,hwdata-pnp,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKGSD_HWDATA_PNP),$(PKG_SECTION)))
+
+define HWDATA_INSTALL_template
+$(2)-install:
+ $$(INSTALL_DIR) $$(IDIR_$(1))/usr/share/hwdata
+ $$(INSTALL_DATA) $$(patsubst %,$$(WRKINST)/usr/share/hwdata/%,$(3)) \
+ $$(IDIR_$(1))/usr/share/hwdata/
+endef
+
+$(eval $(call HWDATA_INSTALL_template,HWDATA_NET,hwdata-net,oui.txt iab.txt))
+ifeq ($(ADK_PACKAGE_HWDATA_WITH_GZIP),y)
+$(eval $(call HWDATA_INSTALL_template,HWDATA_PCI,hwdata-pci,pci.ids.gz))
+$(eval $(call HWDATA_INSTALL_template,HWDATA_USB,hwdata-usb,usb.ids.gz))
+$(eval $(call HWDATA_INSTALL_template,HWDATA_PNP,hwdata-pnp,pnp.ids.gz))
+else
+$(eval $(call HWDATA_INSTALL_template,HWDATA_PCI,hwdata-pci,pci.ids))
+$(eval $(call HWDATA_INSTALL_template,HWDATA_USB,hwdata-usb,usb.ids))
+$(eval $(call HWDATA_INSTALL_template,HWDATA_PNP,hwdata-pnp,pnp.ids))
+endif
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/hwdata/patches/patch-hwdata_pc_in b/package/hwdata/patches/patch-hwdata_pc_in
new file mode 100644
index 000000000..fe88b5244
--- /dev/null
+++ b/package/hwdata/patches/patch-hwdata_pc_in
@@ -0,0 +1,10 @@
+--- hwdata-0.378.orig/hwdata.pc.in 2024-01-05 12:35:26.000000000 +0100
++++ hwdata-0.378/hwdata.pc.in 2024-01-30 09:39:29.731448151 +0100
+@@ -1,6 +1,6 @@
+ prefix=@prefix@
+ datadir=@datadir@
+-pkgdatadir=${pc_sysrootdir}@pkgdatadir@
++pkgdatadir=@pkgdatadir@
+
+ Name: @NAME@
+ Description: Hardware identification and configuration data
diff --git a/package/hwids/Makefile b/package/hwids/Makefile
deleted file mode 100644
index ceeca3a72..000000000
--- a/package/hwids/Makefile
+++ /dev/null
@@ -1,61 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(ADK_TOPDIR)/rules.mk
-
-PKG_NAME:= hwids
-PKG_VERSION:= 20150129
-PKG_RELEASE:= 1
-PKG_HASH:= 33a7f4dbf14704076b0fe1d0052e86bb618e386a1ff18107097311df44f979d7
-PKG_DESCR:= combined repository of pci.ids and usb.ids
-PKG_SECTION:= sys/hw
-PKG_URL:= https://github.com/gentoo/hwids
-PKG_SITES:= https://github.com/gentoo/hwids/archive/
-
-DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
-# typical problem of having tags like '<name>-<version>' in github
-WRKDIST= $(WRKDIR)/$(PKG_NAME)-$(PKG_NAME)-$(PKG_VERSION)
-
-PKG_SUBPKGS:= HWIDS_NET HWIDS_PCI HWIDS_USB
-PKGSD_HWIDS_NET:= HWIDS files oui.txt and iab.txt
-PKGSD_HWIDS_PCI:= HWIDS file pci.ids
-PKGSD_HWIDS_USB:= HWIDS file usb.ids
-
-PKG_FLAVOURS_HWIDS:= WITH_GZIP
-PKGFD_WITH_GZIP:= gzip pci.ids and usb.ids before installation
-
-include $(ADK_TOPDIR)/mk/package.mk
-
-$(eval $(call PKG_template,HWIDS_NET,hwids-net,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKGSD_HWIDS_NET),$(PKG_SECTION)))
-$(eval $(call PKG_template,HWIDS_PCI,hwids-pci,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKGSD_HWIDS_PCI),$(PKG_SECTION)))
-$(eval $(call PKG_template,HWIDS_USB,hwids-usb,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKGSD_HWIDS_USB),$(PKG_SECTION)))
-
-CONFIG_STYLE:= manual
-XAKE_FLAGS+= NET=yes \
- PCI=yes \
- UDEV=no \
- USB=yes
-# note: Can't pass GZIP=yes to make, as this will turn it
-# into an env var automatically which makes gzip trip.
-# Therefore assume here that GZIP=yes is the default.
-ifneq ($(ADK_PACKAGE_HWIDS_WITH_GZIP),y)
-XAKE_FLAGS+= GZIP=no
-endif
-
-define HWIDS_INSTALL_template
-$(2)-install:
- $$(INSTALL_DIR) $$(IDIR_$(1))/usr/share/misc
- $$(INSTALL_DATA) $$(patsubst %,$$(WRKINST)/usr/share/misc/%,$(3)) \
- $$(IDIR_$(1))/usr/share/misc/
-endef
-
-$(eval $(call HWIDS_INSTALL_template,HWIDS_NET,hwids-net,oui.txt iab.txt))
-ifeq ($(ADK_PACKAGE_HWIDS_WITH_GZIP),y)
-$(eval $(call HWIDS_INSTALL_template,HWIDS_PCI,hwids-pci,pci.ids.gz))
-$(eval $(call HWIDS_INSTALL_template,HWIDS_USB,hwids-usb,usb.ids.gz))
-else
-$(eval $(call HWIDS_INSTALL_template,HWIDS_PCI,hwids-pci,pci.ids))
-$(eval $(call HWIDS_INSTALL_template,HWIDS_USB,hwids-usb,usb.ids))
-endif
-
-include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/icecast/Makefile b/package/icecast/Makefile
index df4fe30b7..08f0e0a45 100644
--- a/package/icecast/Makefile
+++ b/package/icecast/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= icecast
-PKG_VERSION:= 2.3.3
+PKG_VERSION:= 2.4.4
PKG_RELEASE:= 1
-PKG_HASH:= 1b1d06f5f83c9a983cd28cc78aa90e4038f933511b3d20d7fd2cfc116645c36d
+PKG_HASH:= 49b5979f9f614140b6a38046154203ee28218d8fc549888596a683ad604e4d44
PKG_DESCR:= streaming media server
PKG_SECTION:= mm/audio
PKG_DEPENDS:= libcurl libvorbis libxml2 libxslt
@@ -23,6 +23,7 @@ $(eval $(call PKG_template,ICECAST,icecast,${PKG_VERSION}-${PKG_RELEASE},${PKG_D
AUTOTOOL_STYLE:= autoreconf
TARGET_CPPFLAGS+= -I${STAGING_TARGET_DIR}/usr/include/libxml2
+TARGET_LDFLAGS+= -lxml2
CONFIGURE_ARGS+= --disable-yp \
--with-curl="yes" \
--with-curl-config="${STAGING_TARGET_DIR}/usr/bin/curl-config" \
diff --git a/package/icu4c/Makefile b/package/icu4c/Makefile
index c2baf3090..57851e92f 100644
--- a/package/icu4c/Makefile
+++ b/package/icu4c/Makefile
@@ -4,18 +4,18 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= icu4c
-PKG_VERSION:= 54.1
-PKG_RELEASE:= 2
-PKG_HASH:= d42bc9a8ca6a91c55eb0925c279f49e5b508d51ef26ac9850d9be55de5bb8ab3
+PKG_VERSION:= 70.1
+PKG_RELEASE:= 1
+PKG_HASH:= 8d205428c17bf13bb535300669ed28b338a157b1c01ae66d31d0d3e2d47c3fd5
PKG_DESCR:= unicode and globalization library
PKG_SECTION:= libs/misc
PKG_BUILDDEP:= icu4c-host
PKG_NEEDS:= c++
PKG_URL:= http://icu-project.org
-PKG_SITES:= http://download.icu-project.org/files/icu4c/$(PKG_VERSION)/
+PKG_SITES:= https://github.com/unicode-org/icu/releases/download/release-70-1/
PKG_OPTS:= dev
-DISTFILES:= ${PKG_NAME}-54_1-src.tgz
+DISTFILES:= ${PKG_NAME}-70_1-src.tgz
WRKDIST= ${WRKDIR}/icu/source
diff --git a/package/ipmitool/Makefile b/package/ipmitool/Makefile
index 2fec3dd77..938a59ed4 100644
--- a/package/ipmitool/Makefile
+++ b/package/ipmitool/Makefile
@@ -4,21 +4,21 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= ipmitool
-PKG_VERSION:= 1.8.15
+PKG_VERSION:= 1.8.19
PKG_RELEASE:= 1
-PKG_HASH:= f0964e644a8e693932a3e8da6929d5598ed24645bacd51fbb1a4a09b5e47cf78
+PKG_HASH:= 48b010e7bcdf93e4e4b6e43c53c7f60aa6873d574cbd45a8d86fa7aaeebaff9c
PKG_DESCR:= utility for controlling ipmi enabled devices
PKG_SECTION:= net/misc
-PKG_URL:= http://ipmitool.sf.net/
-PKG_SITES:= $(MASTER_SITE_SOURCEFORGE:=ipmitool/)
+PKG_SITES:= https://github.com/ipmitool/ipmitool/archive/refs/tags/
-DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
+DISTFILES:= IPMITOOL_1_8_19.tar.gz
+WRKDIST= ${WRKDIR}/$(PKG_NAME)-IPMITOOL_1_8_19
include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,IPMITOOL,ipmitool,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
-CONFIGURE_ENV+= ac_cv_func_malloc_0_nonnull=yes
+AUTOTOOL_STYLE:= bootstrap
ipmitool-install:
$(INSTALL_DIR) $(IDIR_IPMITOOL)/usr/bin
diff --git a/package/iproute2/Makefile b/package/iproute2/Makefile
index 4057007bc..1040eb93c 100644
--- a/package/iproute2/Makefile
+++ b/package/iproute2/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= iproute2
-PKG_VERSION:= 4.15.0
+PKG_VERSION:= 5.8.0
PKG_RELEASE:= 1
-PKG_HASH:= 48d4616a99d7b609b7b795c0ae8ec57099fb0271ed89253e8772c02327798355
+PKG_HASH:= cfcd1f890290f8c8afcc91d9444ad929b9252c16f9ab3f286c50dd3c59dc646e
PKG_DESCR:= routing control utility
PKG_SECTION:= net/route
PKG_BUILDDEP:= iptables libnl linux-atm
diff --git a/package/iptables-snmp/Makefile b/package/iptables-snmp/Makefile
deleted file mode 100644
index c771132e2..000000000
--- a/package/iptables-snmp/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(ADK_TOPDIR)/rules.mk
-
-PKG_NAME:= iptables-snmp
-PKG_VERSION:= 0.1
-PKG_RELEASE:= 1
-PKG_HASH:= 3275bb3820809a311b9f92ea32f071888b9a92f60c831417490e811f46ec4d54
-PKG_DESCR:= iptables support for net-snmp
-PKG_SECTION:= net/misc
-PKG_BUILDDEP:= net-snmp
-PKG_URL:= http://www.nobiscuit.com/iptables-snmp/
-PKG_SITES:= http://www.nobiscuit.com/iptables-snmp/
-
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
-
-PKG_LIBC_DEPENDS:= uclibc-ng glibc
-
-include $(ADK_TOPDIR)/mk/package.mk
-
-$(eval $(call PKG_template,IPTABLES_SNMP,iptables-snmp,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-
-FAKE_FLAGS+= INSTALL_PREFIX="${WRKINST}"
-
-iptables-snmp-install:
- ${INSTALL_DIR} ${IDIR_IPTABLES_SNMP}/usr/lib
- ${CP} ${WRKINST}/usr/lib/iptables-snmp.so ${IDIR_IPTABLES_SNMP}/usr/lib
-
-include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/iptables-snmp/patches/patch-Makefile_in b/package/iptables-snmp/patches/patch-Makefile_in
deleted file mode 100644
index 164003986..000000000
--- a/package/iptables-snmp/patches/patch-Makefile_in
+++ /dev/null
@@ -1,11 +0,0 @@
---- iptables-snmp-0.1.orig/Makefile.in 2005-11-02 13:00:10.000000000 +0100
-+++ iptables-snmp-0.1/Makefile.in 2011-01-12 15:44:48.000000000 +0100
-@@ -67,7 +67,7 @@ OTHER = -Iinclude -DIPTABLES_VERSION=$(
-
- all: iptables-snmp.so
-
--iptables-snmp.so: $(OBJS) libiptc.a Makefile
-+iptables-snmp.so: $(OBJS) Makefile
- $(CC) $(CFLAGS) $(OTHER) $(DFLAGS) -shared -o $@ $(OBJS) $(LDFLAGS)
-
- libiptc.a: $(LIBIPTC_OBJS) Makefile
diff --git a/package/iptables-snmp/patches/patch-iptables-snmp_c b/package/iptables-snmp/patches/patch-iptables-snmp_c
deleted file mode 100644
index c129ff0e9..000000000
--- a/package/iptables-snmp/patches/patch-iptables-snmp_c
+++ /dev/null
@@ -1,12 +0,0 @@
---- iptables-snmp-0.1.orig/iptables-snmp.c 2005-11-02 12:10:54.000000000 +0100
-+++ iptables-snmp-0.1/iptables-snmp.c 2011-01-12 15:46:19.000000000 +0100
-@@ -37,6 +37,9 @@
-
- #include "libiptc/libiptc.h"
-
-+/* For backward compatibility */
-+//typedef struct iptc_handle *iptc_handle_t;
-+
- static oid agent_version_oid[] = {
- BASE_OID, 1, 0, AGENT_VERSION_INDEX
- };
diff --git a/package/iptables-snmp/patches/patch-libiptc_libip6tc_c b/package/iptables-snmp/patches/patch-libiptc_libip6tc_c
deleted file mode 100644
index 68ae9cf7f..000000000
--- a/package/iptables-snmp/patches/patch-libiptc_libip6tc_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- iptables-snmp-0.1.orig/libiptc/libip6tc.c 2005-07-05 00:11:28.000000000 +0200
-+++ iptables-snmp-0.1/libiptc/libip6tc.c 2009-11-13 23:18:45.195701184 +0100
-@@ -111,7 +111,7 @@ typedef unsigned int socklen_t;
- #include "libiptc.c"
-
- #define BIT6(a, l) \
-- ((ntohl(a->in6_u.u6_addr32[(l) / 32]) >> (31 - ((l) & 31))) & 1)
-+ ((ntohl(a->s6_addr32[(l) / 32]) >> (31 - ((l) & 31))) & 1)
-
- int
- ipv6_prefix_length(const struct in6_addr *a)
diff --git a/package/iptables/Makefile b/package/iptables/Makefile
index c573b7285..f6e0ad777 100644
--- a/package/iptables/Makefile
+++ b/package/iptables/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= iptables
-PKG_VERSION:= 1.6.2
+PKG_VERSION:= 1.8.10
PKG_RELEASE:= 1
-PKG_HASH:= 55d02dfa46263343a401f297d44190f2a3e5113c8933946f094ed40237053733
+PKG_HASH:= 5cc255c189356e317d070755ce9371eb63a1b783c34498fb8c30264f3cc59c9c
PKG_DESCR:= netfilter firewalling software
PKG_SECTION:= net/firewall
PKG_DEPENDS:= libnetfilter_conntrack libmnl libnfnetlink
@@ -17,13 +17,10 @@ PKG_URL:= http://www.netfilter.org/
PKG_SITES:= http://www.netfilter.org/projects/iptables/files/
PKG_OPTS:= dev
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
-
include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,IPTABLES,iptables,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-AUTOTOOL_STYLE:= autoreconf
TARGET_LDFLAGS+= -fPIC
CONFIGURE_ARGS+= --enable-devel \
--disable-nftables
@@ -32,12 +29,11 @@ iptables-install:
${INSTALL_DIR} ${IDIR_IPTABLES}/{usr/lib,etc/xtables,usr/sbin}
${INSTALL_DATA} ./files/firewall.conf ${IDIR_IPTABLES}/etc
${INSTALL_DATA} ./files/connlabel.conf ${IDIR_IPTABLES}/etc/xtables
+ ${CP} ${WRKINST}/usr/sbin/xtables-legacy-multi ${IDIR_IPTABLES}/usr/sbin
${CP} ${WRKINST}/usr/sbin/iptables ${IDIR_IPTABLES}/usr/sbin
${CP} ${WRKINST}/usr/sbin/ip6tables ${IDIR_IPTABLES}/usr/sbin
${CP} ${WRKINST}/usr/sbin/iptables-{save,restore} \
${IDIR_IPTABLES}/usr/sbin
- ${CP} ${WRKINST}/usr/sbin/xtables-multi ${IDIR_IPTABLES}/usr/sbin
- ${CP} ${WRKINST}/usr/lib/libiptc.so* ${IDIR_IPTABLES}/usr/lib
${CP} ${WRKINST}/usr/lib/libip4tc.so* ${IDIR_IPTABLES}/usr/lib
${CP} ${WRKINST}/usr/lib/libip6tc.so* ${IDIR_IPTABLES}/usr/lib
${CP} ${WRKINST}/usr/lib/libxtables.so* ${IDIR_IPTABLES}/usr/lib
diff --git a/package/iptraf-ng/Makefile b/package/iptraf-ng/Makefile
new file mode 100644
index 000000000..d6dbecc56
--- /dev/null
+++ b/package/iptraf-ng/Makefile
@@ -0,0 +1,32 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include ${ADK_TOPDIR}/rules.mk
+
+PKG_NAME:= iptraf-ng
+PKG_GIT:= tag
+PKG_HASH:= cf385d3a0d2344f0159be0ab859651de2f750b661d88d1f22f96b82a7cd4ae13
+PKG_VERSION:= v1.2.1
+PKG_RELEASE:= 1
+PKG_DESCR:= a console-based network monitoring program
+PKG_SECTION:= net/perf
+PKG_DEPENDS:= libncurses
+PKG_BUILDDEP:= ncurses
+PKG_URL:= https://github.com/iptraf-ng/iptraf-ng
+PKG_SITES:= https://github.com/iptraf-ng/iptraf-ng.git
+
+include ${ADK_TOPDIR}/mk/package.mk
+
+$(eval $(call PKG_template,IPTRAF_NG,iptraf-ng,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+CONFIG_STYLE:= manual
+TARGET_LDFLAGS+= -ltinfo -lncurses -lpanel
+XAKE_FLAGS+= PLATFORM="-DPLATFORM=\\\"Linux/${ARCH}\\\"" \
+ TARGET="/usr/bin" \
+ WORKDIR="/var/lib/iptraf-ng" V=1
+
+iptraf-ng-install:
+ ${INSTALL_DIR} ${IDIR_IPTRAF_NG}/usr/sbin
+ ${INSTALL_BIN} ${WRKINST}/usr/sbin/iptraf-ng ${IDIR_IPTRAF_NG}/usr/sbin
+
+include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/iptraf-ng/patches/patch-Makefile b/package/iptraf-ng/patches/patch-Makefile
new file mode 100644
index 000000000..597248cfe
--- /dev/null
+++ b/package/iptraf-ng/patches/patch-Makefile
@@ -0,0 +1,11 @@
+--- iptraf-ng-v1.2.1.orig/Makefile 2024-02-25 17:52:43.000000000 +0100
++++ iptraf-ng-v1.2.1/Makefile 2024-02-25 17:54:46.973660535 +0100
+@@ -25,7 +25,7 @@ ALL_CFLAGS = $(CPPFLAGS) $(CFLAGS) $(IPT
+ ALL_LDFLAGS = $(LDFLAGS)
+ STRIP ?= strip
+
+-prefix = $(HOME)
++prefix = /usr
+ sbindir_relative = sbin
+ sbindir = $(prefix)/$(sbindir_relative)
+ mandir = $(prefix)/share/man
diff --git a/package/iptraf/patches/patch-src_Makefile b/package/iptraf/patches/patch-src_Makefile
index e03ebb770..031a96362 100644
--- a/package/iptraf/patches/patch-src_Makefile
+++ b/package/iptraf/patches/patch-src_Makefile
@@ -1,6 +1,6 @@
$Id$
--- iptraf-3.0.1.orig/src/Makefile 2005-09-13 11:11:17.000000000 +0200
-+++ iptraf-3.0.1/src/Makefile 2014-06-25 16:51:56.160654472 +0200
++++ iptraf-3.0.1/src/Makefile 2024-02-25 18:13:10.945645560 +0100
@@ -17,8 +17,9 @@ VERSION = -DVERSION=\"$(VERNUMBER)\"
#
BINDIR = ../../iptraf-$(VERNUMBER).bin.$(ARCH)
@@ -34,16 +34,17 @@ $Id$
# You can uncomment this one to disable the backspace key in input fields.
# This means you must use the Del key or Ctrl+H combination to erase the
-@@ -98,7 +101,7 @@ LOCKDIR = /var/run/iptraf
+@@ -98,41 +101,39 @@ LOCKDIR = /var/run/iptraf
# Object file names
OBJS = iptraf.o itrafmon.o packet.o tcptable.o othptab.o ifstats.o deskman.o \
-ipcsum.o hostmon.o fltedit.o tr.o cidr.o \
+ipcsum.o hostmon.o fltedit.o cidr.o \
fltselect.o ipfilter.o fltmgr.o ipfrag.o serv.o servname.o instances.o \
- timer.o revname.o pktsize.o landesc.o isdntab.o options.o promisc.o ifaces.o \
+-timer.o revname.o pktsize.o landesc.o isdntab.o options.o promisc.o ifaces.o \
++timer.o revname.o pktsize.o landesc.o options.o promisc.o ifaces.o \
error.o log.o mode.o getpath.o bar.o parseproto.o
-@@ -106,33 +109,31 @@ error.o log.o mode.o getpath.o bar.o par
+
BINS = iptraf rvnamed rawtime
all: $(BINS)
diff --git a/package/iptraf/patches/patch-src_isdntab_c b/package/iptraf/patches/patch-src_isdntab_c
new file mode 100644
index 000000000..cec46b383
--- /dev/null
+++ b/package/iptraf/patches/patch-src_isdntab_c
@@ -0,0 +1,10 @@
+--- iptraf-3.0.1.orig/src/isdntab.c 2005-09-13 08:42:54.000000000 +0200
++++ iptraf-3.0.1/src/isdntab.c 2024-02-25 18:12:43.421645934 +0100
+@@ -20,7 +20,6 @@ details.
+ #include <stdlib.h>
+ #include <string.h>
+ #include <sys/ioctl.h>
+-#include <linux/isdn.h>
+ #include "isdntab.h"
+
+
diff --git a/package/iptraf/patches/patch-src_packet_c b/package/iptraf/patches/patch-src_packet_c
index 85c402678..87c1c1ff4 100644
--- a/package/iptraf/patches/patch-src_packet_c
+++ b/package/iptraf/patches/patch-src_packet_c
@@ -1,14 +1,38 @@
--- iptraf-3.0.1.orig/src/packet.c 2007-09-25 11:21:18.000000000 +0200
-+++ iptraf-3.0.1/src/packet.c 2013-03-04 11:42:52.000000000 +0100
-@@ -36,7 +36,6 @@ details.
++++ iptraf-3.0.1/src/packet.c 2024-02-25 18:13:41.165645150 +0100
+@@ -36,8 +36,6 @@ details.
#include <linux/if_ether.h>
#include <linux/netdevice.h>
#include <linux/if_fddi.h>
-#include <linux/if_tr.h>
- #include <linux/isdn.h>
+-#include <linux/isdn.h>
#include <linux/sockios.h>
#include <msgboxes.h>
-@@ -136,9 +135,6 @@ unsigned short getlinktype(unsigned shor
+ #include "deskman.h"
+@@ -107,21 +105,7 @@ unsigned short getlinktype(unsigned shor
+ result = LINK_ETHERNET;
+ else if (strncmp(ifname, "tap", 3) == 0)
+ result = LINK_ETHERNET;
+- else if ((strncmp(ifname, "isdn", 4) == 0) && (isdn_fd != -1)) {
+- isdnent = isdn_table_lookup(isdnlist, ifname, isdn_fd);
+-
+- switch (isdnent->encap) {
+- case ISDN_NET_ENCAP_RAWIP:
+- result = LINK_ISDN_RAWIP;
+- break;
+- case ISDN_NET_ENCAP_CISCOHDLC:
+- result = LINK_ISDN_CISCOHDLC;
+- break;
+- default:
+- result = LINK_INVALID;
+- break;
+- }
+- } else if (accept_unsupported_interfaces)
++ else if (accept_unsupported_interfaces)
+ result = LINK_ETHERNET;
+ break;
+ case ARPHRD_LOOPBACK:
+@@ -136,9 +120,6 @@ unsigned short getlinktype(unsigned shor
case ARPHRD_PPP:
result = LINK_PPP;
break;
@@ -18,7 +42,7 @@
case ARPHRD_IEEE802:
case ARPHRD_IEEE802_TR:
result = LINK_TR;
-@@ -194,36 +190,6 @@ void adjustpacket(char *tpacket, unsigne
+@@ -194,36 +175,6 @@ void adjustpacket(char *tpacket, unsigne
*packet = tpacket + 4;
*readlen -= 4;
break;
@@ -55,3 +79,9 @@
case LINK_IPIP:
*packet = tpacket;
break;
+@@ -463,5 +414,4 @@ void pkt_cleanup(void)
+ close(isdnfd);
+ isdnfd = -1;
+ destroyfraglist();
+- destroy_isdn_table(&isdntable);
+ }
diff --git a/package/irssi/Makefile b/package/irssi/Makefile
index 3af67de8c..66bc9344e 100644
--- a/package/irssi/Makefile
+++ b/package/irssi/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= irssi
-PKG_VERSION:= 1.0.7
+PKG_VERSION:= 1.4.4
PKG_RELEASE:= 1
-PKG_HASH:= 1b386ca026aa1875c380fd00ef1d24b71fb87cdae39ef5349ecca16c4567feac
+PKG_HASH:= fefe9ec8c7b1475449945c934a2360ab12693454892be47a6d288c63eb107ead
PKG_DESCR:= irc text client
PKG_SECTION:= app/chat
PKG_DEPENDS:= glib libncurses
diff --git a/package/iw/Makefile b/package/iw/Makefile
index f2fe9cc44..83e096fc8 100644
--- a/package/iw/Makefile
+++ b/package/iw/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= iw
-PKG_VERSION:= 4.9
+PKG_VERSION:= 5.19
PKG_RELEASE:= 1
-PKG_HASH:= 324cc805fad52cba2c16b9ab569906889fb645cc962aac4cfda1db85d2de97ce
+PKG_HASH:= f167bbe947dd53bb9ebc0c1dcef5db6ad73ac1d6084f2c6f9376c5c360cc4d4e
PKG_DESCR:= tools for setting up wifi cards
PKG_SECTION:= net/wifi
PKG_DEPENDS:= libnl
diff --git a/package/jack/Makefile b/package/jack/Makefile
index bc301976a..1104b7797 100644
--- a/package/jack/Makefile
+++ b/package/jack/Makefile
@@ -9,7 +9,7 @@ PKG_RELEASE:= 2
PKG_DESCR:= audio connection kit (v1)
PKG_SECTION:= mm/audio
PKG_DEPENDS:= alsa-lib libsndfile libsamplerate libdb
-PKG_BUILDDEP:= db python2-host alsa-lib libsndfile libsamplerate
+PKG_BUILDDEP:= db python3-host alsa-lib libsndfile libsamplerate
PKG_NEEDS:= threads c++
PKG_URL:= http://jackaudio.org
PKG_SITES:= https://github.com/jackaudio/jack1.git
diff --git a/package/jack2/Makefile b/package/jack2/Makefile
index 3610d6465..cebf85030 100644
--- a/package/jack2/Makefile
+++ b/package/jack2/Makefile
@@ -4,16 +4,17 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= jack2
-PKG_VERSION:= 31d4ae97f296fe1c954cbb51e50d5e60578260b8
+PKG_VERSION:= 1.9.22
PKG_RELEASE:= 1
-PKG_GIT:= hash
-PKG_DESCR:= audio connection kit (v2)
+PKG_HASH:= 1e42b9fc4ad7db7befd414d45ab2f8a159c0b30fcd6eee452be662298766a849
PKG_SECTION:= mm/audio
PKG_DEPENDS:= alsa-lib libsndfile libsamplerate
-PKG_BUILDDEP:= python2-host alsa-lib libsndfile libsamplerate
+PKG_BUILDDEP:= python3-host alsa-lib libsndfile libsamplerate
PKG_NEEDS:= threads c++
PKG_URL:= http://jackaudio.org
-PKG_SITES:= https://github.com/jackaudio/jack2.git
+PKG_SITES:= https://github.com/jackaudio/jack2/archive/
+
+DISTFILES:= v$(PKG_VERSION).tar.gz
include $(ADK_TOPDIR)/mk/package.mk
diff --git a/package/jack2/patches/patch-wscript b/package/jack2/patches/patch-wscript
deleted file mode 100644
index 45e2728a3..000000000
--- a/package/jack2/patches/patch-wscript
+++ /dev/null
@@ -1,23 +0,0 @@
---- jack2-31d4ae97f296fe1c954cbb51e50d5e60578260b8.orig/wscript 2017-06-01 19:03:37.000000000 +0200
-+++ jack2-31d4ae97f296fe1c954cbb51e50d5e60578260b8/wscript 2017-06-01 19:10:22.063929110 +0200
-@@ -506,8 +506,6 @@ def configure(conf):
- if conf.env['BUILD_JACKDBUS'] != True:
- conf.fatal('jackdbus was explicitly requested but cannot be built')
-
-- conf.recurse('example-clients')
--
- # test for the availability of ucontext, and how it should be used
- for t in ("gp_regs", "uc_regs", "mc_gregs", "gregs"):
- fragment = "#include <ucontext.h>\n"
-@@ -1016,11 +1014,6 @@ def build(bld):
-
- build_drivers(bld)
-
-- bld.recurse('example-clients')
-- if bld.env['IS_LINUX']:
-- bld.recurse('man')
-- if not bld.env['IS_WINDOWS']:
-- bld.recurse('tests')
- if bld.env['BUILD_JACKDBUS']:
- bld.recurse('dbus')
-
diff --git a/package/kbd/Makefile b/package/kbd/Makefile
index 72f6e0eb1..7c0b62efa 100644
--- a/package/kbd/Makefile
+++ b/package/kbd/Makefile
@@ -4,15 +4,15 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= kbd
-PKG_VERSION:= 2.0.4
+PKG_VERSION:= 2.4.0
PKG_RELEASE:= 1
-PKG_HASH:= 5fd90af6beb225a9bb9b9fb414c090fba53c9a55793e172f508cd43652e59a88
+PKG_HASH:= 55f0740458cfd3a84e775e50d7e8b92dc01846db1edad8e2411ccc293ece9b9f
PKG_DESCR:= keyboard and font utilities
PKG_SECTION:= sys/hw
PKG_DEPENDS:= libcheck
PKG_BUILDDEP:= flex-host bison-host check
PKG_URL:= http://kbd-project.org/
-PKG_SITES:= http://kbd-project.org/download/
+PKG_SITES:= https://mirrors.edge.kernel.org/pub/linux/utils/kbd/
PKG_CFLINE_KBD:= default y if ADK_TARGET_WITH_INPUT
diff --git a/package/kexec-tools/Makefile b/package/kexec-tools/Makefile
index 55737c7cc..3e7d88f80 100644
--- a/package/kexec-tools/Makefile
+++ b/package/kexec-tools/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= kexec-tools
-PKG_VERSION:= 2.0.20
-PKG_RELEASE:= 1
-PKG_HASH:= dad8077f0315445d1f6335579fc4ade222facf82a67124974c7be5303ba4f8c8
+PKG_VERSION:= 2.0.23
+PKG_RELEASE:= 2
+PKG_HASH:= aa63cd6c7dd95b06ceba6240a7fdc6792789cada75a655e6714987175224241b
PKG_DESCR:= kernel exec tools
PKG_SECTION:= sys/misc
PKG_DEPENDS:= zlib
@@ -15,8 +15,6 @@ PKG_KDEPENDS:= kexec
PKG_URL:= http://kernel.org/pub/linux/utils/kernel/kexec/
PKG_SITES:= ${MASTER_SITE_KERNEL:=utils/kernel/kexec/}
-PKG_ARCH_DEPENDS:= !aarch64 !m68k
-
include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,KEXEC_TOOLS,kexec-tools,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
diff --git a/package/keychain/Makefile b/package/keychain/Makefile
index 46a07f4b6..3e73d5117 100644
--- a/package/keychain/Makefile
+++ b/package/keychain/Makefile
@@ -4,15 +4,15 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= keychain
-PKG_VERSION:= 2.7.1
+PKG_VERSION:= 2.8.5
PKG_RELEASE:= 1
-PKG_HASH:= 1107fe3f78f6429d4861d64c5666f068f159326d22ab80a8ed0948cb25375191
+PKG_HASH:= dcce703e5001211c8ebc0528f45b523f84d2bceeb240600795b4d80cb8475a0b
PKG_DESCR:= manage ssh and gpg keys in a secure manner
PKG_SECTION:= app/crypto
PKG_URL:= http://www.funtoo.org/en/security/keychain/intro/
-PKG_SITES:= http://www.funtoo.org/archive/keychain/
+PKG_SITES:= https://github.com/funtoo/keychain/archive/refs/tags/
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
+DISTFILES:= ${PKG_VERSION}.tar.gz
include $(ADK_TOPDIR)/mk/package.mk
diff --git a/package/kismet/Makefile b/package/kismet/Makefile
index 1c1731add..c34a3cd68 100644
--- a/package/kismet/Makefile
+++ b/package/kismet/Makefile
@@ -4,56 +4,33 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= kismet
-PKG_VERSION:= 2013-03-R1b
+PKG_VERSION:= 2023-07-R1
PKG_RELEASE:= 1
-PKG_HASH:= 636d4d7ef8c67ae6ee8d8e1635f5115700eecb9fa4c208afaee30238db527c2c
+PKG_HASH:= f08548e26ca65fa1e567b1debbea1ca4d0e7206bddb96a4f639c90171873e8f7
PKG_DESCR:= wireless network detector, sniffer, and intrusion detection system
PKG_SECTION:= net/wifi
-PKG_DEPENDS:= libpcap libncurses
-PKG_BUILDDEP:= libpcap ncurses
+PKG_BUILDDEP:= libpcap ncurses libwebsockets protobuf protobuf-c sqlite
+PKG_DEPENDS:= libpcap libncurses libwebsockets protobuf protobuf-c libsqlite
PKG_NEEDS:= threads
PKG_URL:= http://www.kismetwireless.net/
-PKG_SITES:= http://www.kismetwireless.net/code/
-
-PKG_SUBPKGS:= KISMET KISMET_CLIENT KISMET_DRONE KISMET_SERVER
-PKGSD_KISMET_CLIENT:= kismet client
-PKGSD_KISMET_SERVER:= kismet server
-PKGSD_KISMET_DRONE:= kismet drone
+PKG_SITES:= https://www.kismetwireless.net/code/
include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,KISMET,kismet,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-$(eval $(call PKG_template,KISMET_CLIENT,kismet-client,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_KISMET_CLIENT},${PKG_SECTION}))
-$(eval $(call PKG_template,KISMET_DRONE,kismet-drone,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_KISMET_DRONE},${PKG_SECTION}))
-$(eval $(call PKG_template,KISMET_SERVER,kismet-server,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_KISMET_SERVER},${PKG_SECTION}))
-AUTOTOOL_STYLE:= autoreconf
TARGET_LDFLAGS+= -lpthread -ltinfo
-CONFIGURE_ARGS+= --sysconfdir=/etc/kismet
-
-pre-build:
- (cd ${WRKBUILD} && ${MAKE} dep);
+CONFIGURE_ARGS+= --sysconfdir=/etc/kismet \
+ --disable-libusb \
+ --disable-python-tools \
+ --disable-wifi-coconut
kismet-install:
${INSTALL_DIR} ${IDIR_KISMET}/usr/bin/
- ${INSTALL_BIN} ${WRKINST}/usr/bin/kismet ${IDIR_KISMET}/usr/bin/kismet
-
-kismet-client-install:
- ${INSTALL_DIR} ${IDIR_KISMET_CLIENT}/usr/bin
- ${INSTALL_BIN} ${WRKINST}/usr/bin/kismet_client \
- ${IDIR_KISMET_CLIENT}/usr/bin/
-
-kismet-drone-install:
- ${INSTALL_DIR} ${IDIR_KISMET_DRONE}/usr/bin
- ${INSTALL_BIN} ${WRKINST}/usr/bin/kismet_drone \
- ${IDIR_KISMET_DRONE}/usr/bin/
-
-kismet-server-install:
- ${INSTALL_DIR} ${IDIR_KISMET_SERVER}/usr/bin
- ${INSTALL_DIR} ${IDIR_KISMET_SERVER}/etc/kismet
- ${INSTALL_BIN} ${WRKINST}/usr/bin/kismet_server \
- ${IDIR_KISMET_SERVER}/usr/bin/
- ${INSTALL_DATA} ${WRKINST}/etc/kismet/kismet.conf \
- ${IDIR_KISMET_SERVER}/etc/kismet
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/kismet \
+ ${IDIR_KISMET}/usr/bin/kismet
+ ${INSTALL_DIR} ${IDIR_KISMET}/etc/kismet
+ ${CP} ${WRKINST}/etc/kismet/kismet*.conf \
+ ${IDIR_KISMET}/etc/kismet/
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/kismet/patches/patch-configure_in b/package/kismet/patches/patch-configure_in
deleted file mode 100644
index cb7d45cbd..000000000
--- a/package/kismet/patches/patch-configure_in
+++ /dev/null
@@ -1,12 +0,0 @@
---- kismet-2013-03-R1b.orig/configure.in 2013-03-27 15:41:48.000000000 +0100
-+++ kismet-2013-03-R1b/configure.in 2013-12-31 23:14:38.000000000 +0100
-@@ -406,9 +406,6 @@ AC_ARG_ENABLE(client,
- )
- AC_SUBST(wantclient)
-
--# Add additional cflags since some distros bury panel.h
--CPPFLAGS="$CPPFLAGS -I/usr/include/ncurses"
--
- termcontrol="none";
-
- if test "$wantclient" = "yes"; then
diff --git a/package/kismet/patches/patch-dumpfile_tuntap_h b/package/kismet/patches/patch-dumpfile_tuntap_h
deleted file mode 100644
index f669446f5..000000000
--- a/package/kismet/patches/patch-dumpfile_tuntap_h
+++ /dev/null
@@ -1,18 +0,0 @@
---- kismet-2013-03-R1b.orig/dumpfile_tuntap.h 2013-03-27 15:41:48.000000000 +0100
-+++ kismet-2013-03-R1b/dumpfile_tuntap.h 2014-01-02 20:53:21.000000000 +0100
-@@ -65,7 +65,15 @@
- #include "dumpfile.h"
-
- #ifdef SYS_LINUX
-+#if defined(__GLIBC__)
- #include <linux/if_tun.h>
-+#else
-+#define IFF_TUN 0x0001
-+#define IFF_TAP 0x0002
-+#define IFF_NO_PI 0x1000
-+#define TUNSETNOCSUM _IOW('T', 200, int)
-+#define TUNSETIFF _IOW('T', 202, int)
-+#endif
-
- // Linux IEEE80211 link typ to set
- #define LNX_LINKTYPE_80211 801
diff --git a/package/kmod/Makefile b/package/kmod/Makefile
index e9fd271f7..c46410927 100644
--- a/package/kmod/Makefile
+++ b/package/kmod/Makefile
@@ -4,13 +4,12 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= kmod
-PKG_VERSION:= 24
+PKG_VERSION:= 31
PKG_RELEASE:= 1
-PKG_HASH:= 610b8d1df172acc39a4fdf1eaa47a57b04873c82f32152e7a62e29b6ff9cb397
+PKG_HASH:= f5a6949043cc72c001b728d8c218609c5a15f3c33d75614b78c79418fcf00d80
PKG_DESCR:= kernel module utils
PKG_SECTION:= sys/utils
PKG_DEPENDS:= libkmod
-PKG_URL:= http://profusion.mobi/index.php
PKG_SITES:= https://www.kernel.org/pub/linux/utils/kernel/kmod/
PKG_LIBNAME:= libkmod
PKG_OPTS:= dev
diff --git a/package/knxd/Makefile b/package/knxd/Makefile
index 661744db3..60ebe9b49 100644
--- a/package/knxd/Makefile
+++ b/package/knxd/Makefile
@@ -3,17 +3,20 @@
include $(ADK_TOPDIR)/rules.mk
-# always use tab spaces as separator, no spaces
PKG_NAME:= knxd
-PKG_VERSION:= v0.14
+PKG_VERSION:= 0.14.61
PKG_RELEASE:= 1
-PKG_GIT:= branch
-PKG_DESCR:= KNX daemon
+PKG_HASH:= b5284c89a55a2c53e0ff769ec4f736fc1ad4b55afdd2a18b9258fa95f708d798
+PKG_DESCR:= knx daemon
PKG_SECTION:= sys/hw
PKG_DEPENDS:= libev
PKG_BUILDDEP:= libev cmake-host
PKG_URL:= https://github.com/knxd/knxd
-PKG_SITES:= https://github.com/knxd/knxd.git
+PKG_SITES:= https://github.com/knxd/knxd/archive/refs/tags/
+
+PKG_CFLINE_KNXD:= depends on ADK_BROKEN
+
+DISTFILES:= $(PKG_VERSION).tar.gz
include $(ADK_TOPDIR)/mk/package.mk
diff --git a/package/knxd/patches/patch-tools_version_sh b/package/knxd/patches/patch-tools_version_sh
deleted file mode 100644
index ff6a2f836..000000000
--- a/package/knxd/patches/patch-tools_version_sh
+++ /dev/null
@@ -1,10 +0,0 @@
---- knxd-v0.14.orig/tools/version.sh 2020-04-18 16:44:30.000000000 +0200
-+++ knxd-v0.14/tools/version.sh 2020-04-18 19:38:03.451807369 +0200
-@@ -1,5 +1,6 @@
- #!/bin/sh
--sed -ne '1s/.*(\(.*\)).*/\1/' -e '1s/-1$//' -e '1p' debian/changelog | tr -d "\n"
-+#sed -ne '1s/.*(\(.*\)).*/\1/' -e '1s/-1$//' -e '1p' debian/changelog | tr -d "\n"
-+echo "0.14"
- test -d .git || exit
- git=$(git rev-parse --short HEAD)
- lgit=$(git rev-parse --short $(git rev-list -1 HEAD debian/changelog) )
diff --git a/package/kodi/Makefile b/package/kodi/Makefile
index 4e9a57a4c..9fb6deccb 100644
--- a/package/kodi/Makefile
+++ b/package/kodi/Makefile
@@ -4,36 +4,39 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= kodi
-PKG_VERSION:= 18.0a1
+PKG_VERSION:= 21.0b2
PKG_RELEASE:= 1
-PKG_HASH:= 8892498d5248eea29c30db7c128a5910afc60d1b0b894aea472604bb879a0310
+PKG_HASH:= b9d6ecbb8769cdfe00cbbe5da5c330a7624eee50cffb87d87f6271033f1ee74b
PKG_DESCR:= software media player
PKG_SECTION:= mm/video
-PKG_DEPENDS:= python2 libsquish libressl libxz libfmt rapidjson
-PKG_DEPENDS+= libass libmpeg2 libmad libmodplug libcurl
+PKG_DEPENDS:= python3 libsquish libressl libxz libfmt rapidjson
+PKG_DEPENDS+= libass libmpeg2 libmad libmodplug libcurl libxshmfence
PKG_DEPENDS+= libflac libbz2 libtiff libnettle librtmp liblzo
PKG_DEPENDS+= yajl tinyxml libsqlite libpcrecpp libncurses libpng
PKG_DEPENDS+= libpcre libcdio libfreetype libsamplerate libuuid
-PKG_DEPENDS+= taglib libjasper libmp3lame libgpg-error python2-mod-sqlite
-PKG_DEPENDS+= glib libdcadec bcm28xx-vc-gl-libs libffmpeg libxvidcore
-PKG_BUILDDEP:= python2 libass ffmpeg rtmpdump bcm28xx-vc
+PKG_DEPENDS+= taglib libjasper libmp3lame libgpg-error giflib
+PKG_DEPENDS+= glib libdcadec libffmpeg libxvidcore libiconv harfbuzz
+PKG_DEPENDS+= flatbuffers fstrcmp spdlog mesa libinput libxkbcommon
+PKG_DEPENDS+= xkeyboard-config tinyxml2 libdisplay-info libudfread
+PKG_BUILDDEP:= python3 libass ffmpeg rtmpdump libiconv libudfread
PKG_BUILDDEP+= libmpeg2 libmad libjpeg-turbo fmt rapidjson
-PKG_BUILDDEP+= curl flac bzip2 libtiff yajl cmake-host
-PKG_BUILDDEP+= tinyxml sqlite pcre libcdio freetype libpng
-PKG_BUILDDEP+= libsamplerate taglib libjasper
-PKG_BUILDDEP+= glib libmodplug libgpg-error xvidcore
+PKG_BUILDDEP+= curl flac bzip2 libtiff yajl cmake-host libdisplay-info
+PKG_BUILDDEP+= tinyxml tinyxml2 sqlite pcre libcdio freetype libpng
+PKG_BUILDDEP+= libsamplerate taglib libjasper giflib xkeyboard-config
+PKG_BUILDDEP+= glib libmodplug libgpg-error xvidcore libxshmfence
PKG_BUILDDEP+= swig-host liblzo-host libpng-host libjpeg-turbo-host
PKG_BUILDDEP+= zip-host unzip-host giflib-host libsquish libdcadec
-PKG_BUILDDEP+= libcrossguid libressl xz bzip2 liblzo
+PKG_BUILDDEP+= libcrossguid libressl xz bzip2 liblzo harfbuzz
+PKG_BUILDDEP+= flatbuffers fstrcmp spdlog mesa libinput libxkbcommon
PKG_NEEDS:= threads c++ data iconv
PKG_URL:= http://kodi.tv/
PKG_SITES:= https://github.com/xbmc/xbmc/archive/
-DISTFILES:= $(PKG_VERSION)-Leia.tar.gz
-WRKDIST= ${WRKDIR}/xbmc-$(PKG_VERSION)-Leia
+DISTFILES:= $(PKG_VERSION)-Omega.tar.gz
+WRKDIST= ${WRKDIR}/xbmc-$(PKG_VERSION)-Omega
WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
-PKG_SYSTEM_DEPENDS:= raspberry-pi raspberry-pi2 raspberry-pi3 raspberry-pi3p raspberry-pi3p-64
+PKG_SYSTEM_DEPENDS:= raspberry-pi raspberry-pi2 raspberry-pi3 raspberry-pi4 raspberry-pi4-64 rockpi4-plus raspberry-pi5
PKG_FLAVOURS_KODI:= WITH_ALSA WITH_CEC WITH_PULSEAUDIO WITH_SMB
PKG_FLAVOURS_KODI+= WITH_MICROHTTPD WITH_SSH WITH_AVAHI
@@ -71,7 +74,12 @@ CMAKE_FLAGS+= -DENABLE_CCACHE=OFF \
-DENABLE_DVDCSS=ON \
-DENABLE_INTERNAL_CROSSGUID=OFF \
-DENABLE_INTERNAL_FFMPEG=OFF \
+ -DENABLE_INTERNAL_RapidJSON=OFF \
-DWITH_FFMPEG=$(STAGING_TARGET_DIR)/usr \
+ -DPYTHON_EXECUTABLE=$(STAGING_HOST_DIR)/usr/bin/python3 \
+ -DPYTHON_INCLUDE_DIRS=$(STAGING_TARGET_DIR)/usr/include/python3.11 \
+ -DPYTHON_PATH=$(STAGING_TARGET_DIR)/usr/lib/python3.11 \
+ -DPYTHON_VER=3.11 \
-DKODI_DEPENDSBUILD=OFF \
-DENABLE_OPENSSL=ON \
-DENABLE_MYSQLCLIENT=OFF \
@@ -87,17 +95,31 @@ CMAKE_FLAGS+= -DENABLE_CCACHE=OFF \
-DENABLE_OPTICAL=OFF \
-DENABLE_DBUS=OFF \
-DENABLE_EVENTCLIENTS=OFF \
- -DENABLE_UDEV=OFF \
+ -DENABLE_UDEV=ON \
-DENABLE_PLIST=OFF \
-DNATIVEPREFIX=$(STAGING_HOST_DIR)/usr \
- -DDEPENDS_PATH=$(STAGING_HOST_DIR) \
- -DWITH_TEXTUREPACKER=$(STAGING_HOST_DIR)/usr/bin/TexturePacker
-
-ifeq ($(ADK_TARGET_BOARD_BCM28XX),y)
-CMAKE_FLAGS+= -DCORE_PLATFORM_NAME=rbpi \
+ -DDEPENDS_PATH=$(STAGING_TARGET_DIR)/usr \
+ -DWITH_TEXTUREPACKER=$(STAGING_HOST_DIR)/usr/bin/TexturePacker \
+ -DWITH_JSONSCHEMABUILDER=$(STAGING_HOST_DIR)/usr/bin/JsonSchemaBuilder \
+ -DCMAKE_EXE_LINKER_FLAGS=-latomic \
+ -DLIBDVDCSS_URL=$(DL_DIR)/libdvdcss-1.4.3-Next-Nexus-Alpha2-2.tar.gz \
+ -DLIBDVDNAV_URL=$(DL_DIR)/libdvdnav-6.1.1-Next-Nexus-Alpha2-2.tar.gz \
+ -DLIBDVDREAD_URL=$(DL_DIR)/libdvdread-6.1.3-Next-Nexus-Alpha2-2.tar.gz
+
+ifeq ($(ADK_TARGET_ARCH_AARCH64),y)
+CMAKE_FLAGS+= -DWITH_ARCH=aarch64 \
+ -DWITH_CPU=aarch64 \
+ -DENABLE_NEON=OFF
+endif
+ifeq ($(ADK_TARGET_ARCH_ARM),y)
-DWITH_ARCH=arm \
-DWITH_CPU=arm \
- -DENABLE_NEON=ON \
+ -DENABLE_NEON=ON
+endif
+
+ifeq ($(ADK_TARGET_BOARD_BCM28XX),y)
+CMAKE_FLAGS+= -DCORE_PLATFORM_NAME=gbm \
+ -DAPP_RENDER_SYSTEM=gles \
-DENABLE_OPENGL=OFF \
-DENABLE_X11=OFF \
-DENABLE_OPENGLES=ON
@@ -140,19 +162,27 @@ CMAKE_FLAGS+= -DENABLE_SSH=OFF
endif
XAKE_FLAGS+= VERBOSE=1
+TARGET_LDFLAGS+= -latomic -liconv
+
+KODI_LIBDVDCSS_VERSION = 1.4.3-Next-Nexus-Alpha2-2
+KODI_LIBDVDNAV_VERSION = 6.1.1-Next-Nexus-Alpha2-2
+KODI_LIBDVDREAD_VERSION = 6.1.3-Next-Nexus-Alpha2-2
pre-configure:
- (cd $(WRKSRC)/tools/depends/native/JsonSchemaBuilder && PATH='$(HOST_PATH)' cmake .)
- PATH='$(HOST_PATH)' make -C $(WRKSRC)/tools/depends/native/JsonSchemaBuilder
- cp $(WRKSRC)/tools/depends/native/JsonSchemaBuilder/JsonSchemaBuilder \
- $(STAGING_HOST_DIR)/usr/bin
- (cd $(WRKSRC)/tools/depends/native/TexturePacker && PATH='$(HOST_PATH)' cmake \
- -DCORE_SOURCE_DIR=$(WRKSRC) \
- -DCMAKE_MODULE_PATH=$(WRKSRC)/cmake/modules \
- -DCMAKE_CXX_FLAGS="$(HOST_CXXFLAGS)" .)
- PATH='$(HOST_PATH)' make -C $(WRKSRC)/tools/depends/native/TexturePacker
- cp $(WRKSRC)/tools/depends/native/TexturePacker/TexturePacker \
- $(STAGING_HOST_DIR)/usr/bin
+ #(cd $(WRKSRC)/tools/depends/native/JsonSchemaBuilder/src && PATH='$(HOST_PATH)' cmake .)
+ #PATH='$(HOST_PATH)' make -C $(WRKSRC)/tools/depends/native/JsonSchemaBuilder/src
+ #cp $(WRKSRC)/tools/depends/native/JsonSchemaBuilder/src/JsonSchemaBuilder \
+ # $(STAGING_HOST_DIR)/usr/bin/JsonSchemaBuilder
+ #(cd $(WRKSRC)/tools/depends/native/TexturePacker/src && PATH='$(HOST_PATH)' cmake \
+ # -DKODI_SOURCE_DIR=$(WRKSRC) \
+ # -DCMAKE_MODULE_PATH=$(WRKSRC)/cmake/modules \
+ # -DCMAKE_CXX_FLAGS="$(HOST_CXXFLAGS)" .)
+ #PATH='$(HOST_PATH)' make -C $(WRKSRC)/tools/depends/native/TexturePacker/src
+ #cp $(WRKSRC)/tools/depends/native/TexturePacker/src/TexturePacker \
+ # $(STAGING_HOST_DIR)/usr/bin
+ (cd $(DL_DIR) && wget -O libdvdcss-$(KODI_LIBDVDCSS_VERSION).tar.gz https://github.com/xbmc/libdvdcss/archive/refs/tags/$(KODI_LIBDVDCSS_VERSION).tar.gz)
+ (cd $(DL_DIR) && wget -O libdvdnav-$(KODI_LIBDVDNAV_VERSION).tar.gz https://github.com/xbmc/libdvdnav/archive/refs/tags/$(KODI_LIBDVDNAV_VERSION).tar.gz)
+ (cd $(DL_DIR) && wget -O libdvdread-$(KODI_LIBDVDREAD_VERSION).tar.gz https://github.com/xbmc/libdvdread/archive/refs/tags/$(KODI_LIBDVDREAD_VERSION).tar.gz)
kodi-install:
$(INSTALL_DIR) $(STAGING_TARGET_DIR)/usr/share/kodi
diff --git a/package/kodi/files/kodi.init b/package/kodi/files/kodi.init
index 04ed8ea83..c3dfdf893 100644
--- a/package/kodi/files/kodi.init
+++ b/package/kodi/files/kodi.init
@@ -15,10 +15,10 @@ start)
if [ ! -d /data/kodi ]; then
mkdir /data/kodi
fi
- cd / && /usr/lib/kodi/kodi-rbpi &
+ cd / && /usr/lib/kodi/kodi-gbm &
;;
stop)
- kill $(pgrep -f /usr/lib/kodi/kodi-rbpi)
+ kill $(pgrep -f /usr/lib/kodi/kodi-gbm)
;;
restart)
sh $0 stop
diff --git a/package/kodi/patches/patch-CMakeLists_txt b/package/kodi/patches/patch-CMakeLists_txt
new file mode 100644
index 000000000..7fa65595b
--- /dev/null
+++ b/package/kodi/patches/patch-CMakeLists_txt
@@ -0,0 +1,27 @@
+--- xbmc-21.0b2-Omega.orig/CMakeLists.txt 2023-12-09 22:24:46.000000000 +0100
++++ xbmc-21.0b2-Omega/CMakeLists.txt 2024-01-31 10:45:45.831435209 +0100
+@@ -178,7 +178,6 @@ endforeach()
+ # Required tools. Keep in alphabetical order please
+ set(required_buildtools FlatC
+ JsonSchemaBuilder
+- TexturePacker
+ )
+
+ # Optional build tools
+@@ -468,7 +467,6 @@ endif()
+ add_custom_command(
+ OUTPUT ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/${CONFIG_VAR}/gen_skin.timestamp
+ COMMAND ${CMAKE_COMMAND} -DBUNDLEDIR=${_bundle_dir}
+- -DTEXTUREPACKER_EXECUTABLE=$<TARGET_FILE:TexturePacker::TexturePacker::Executable>
+ -P ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/GeneratedPackSkins.cmake
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/${CONFIG_VAR}
+ COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/${CONFIG_VAR}/gen_skin.timestamp
+@@ -481,7 +479,7 @@ add_custom_target(gen_skin_pack DEPENDS
+
+ # Packaging target. This generates system addon, xbt creation, copy files to build tree
+ add_custom_target(generate-packaging ALL
+- DEPENDS TexturePacker::TexturePacker::Executable export-files gen_skin_pack gen_system_addons)
++ DEPENDS export-files gen_skin_pack gen_system_addons)
+ # Make sure we build any libs before we look to export-files.
+ # We may need to export some shared libs/data (eg Python)
+ add_dependencies(export-files ${GLOBAL_TARGET_DEPS})
diff --git a/package/kodi/patches/patch-cmake_KodiConfig_cmake_in b/package/kodi/patches/patch-cmake_KodiConfig_cmake_in
deleted file mode 100644
index 3ebae759b..000000000
--- a/package/kodi/patches/patch-cmake_KodiConfig_cmake_in
+++ /dev/null
@@ -1,20 +0,0 @@
---- xbmc-18.0a1-Leia.orig/cmake/KodiConfig.cmake.in 2018-03-04 10:21:28.000000000 +0100
-+++ xbmc-18.0a1-Leia/cmake/KodiConfig.cmake.in 2018-05-23 08:10:01.842094111 +0200
-@@ -8,7 +8,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@)
-@@ -20,7 +20,7 @@ set(APP_RENDER_SYSTEM @APP_RENDER_SYSTEM
- 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)
diff --git a/package/kodi/patches/patch-tools_depends_native_TexturePacker_CMakeLists_txt b/package/kodi/patches/patch-tools_depends_native_TexturePacker_CMakeLists_txt
deleted file mode 100644
index 2b62c1465..000000000
--- a/package/kodi/patches/patch-tools_depends_native_TexturePacker_CMakeLists_txt
+++ /dev/null
@@ -1,20 +0,0 @@
---- xbmc-18.0a1-Leia.orig/tools/depends/native/TexturePacker/CMakeLists.txt 2018-03-04 10:21:28.000000000 +0100
-+++ xbmc-18.0a1-Leia/tools/depends/native/TexturePacker/CMakeLists.txt 2018-05-26 06:54:36.060611270 +0200
-@@ -33,7 +33,7 @@ set(SOURCES src/md5.cpp
- src/decoder/GifHelper.cpp
- src/decoder/JPGDecoder.cpp
- src/decoder/PNGDecoder.cpp
-- ${CMAKE_SOURCE_DIR}/xbmc/guilib/XBTF.cpp)
-+ ${CORE_SOURCE_DIR}/xbmc/guilib/XBTF.cpp)
-
- set(CMAKE_POSITITION_INDEPENDENT_CODE 1)
-
-@@ -42,7 +42,7 @@ target_include_directories(TexturePacker
- PRIVATE ${PNG_INCLUDE_DIRS}
- ${JPEG_INCLUDE_DIR}
- ${GIF_INCLUDE_DIR}
-- ${CMAKE_SOURCE_DIR}/xbmc
-+ ${CORE_SOURCE_DIR}/xbmc
- ${CMAKE_CURRENT_SOURCE_DIR}/src
- ${CMAKE_CURRENT_SOURCE_DIR}/src/decoder)
- target_link_libraries(TexturePacker
diff --git a/package/kodi/patches/patch-tools_depends_native_TexturePacker_src_decoder_GifHelper_cpp b/package/kodi/patches/patch-tools_depends_native_TexturePacker_src_decoder_GifHelper_cpp
new file mode 100644
index 000000000..67e51c6e9
--- /dev/null
+++ b/package/kodi/patches/patch-tools_depends_native_TexturePacker_src_decoder_GifHelper_cpp
@@ -0,0 +1,15 @@
+--- xbmc-19.3-Matrix.orig/tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp 2021-10-24 12:09:58.000000000 +0200
++++ xbmc-19.3-Matrix/tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp 2022-02-26 00:09:15.499548854 +0100
+@@ -18,11 +18,11 @@
+ *
+ */
+
+-#include "GifHelper.h"
+
+ #include <algorithm>
+ #include <cstdlib>
+ #include <cstring>
++#include "GifHelper.h"
+
+ #define UNSIGNED_LITTLE_ENDIAN(lo, hi) ((lo) | ((hi) << 8))
+ #define GIF_MAX_MEMORY 82944000U // about 79 MB, which is equivalent to 10 full hd frames.
diff --git a/package/kodi/patches/patch-xbmc_cores_AudioEngine_Sinks_AESinkALSA_cpp b/package/kodi/patches/patch-xbmc_cores_AudioEngine_Sinks_AESinkALSA_cpp
deleted file mode 100644
index fa943b89a..000000000
--- a/package/kodi/patches/patch-xbmc_cores_AudioEngine_Sinks_AESinkALSA_cpp
+++ /dev/null
@@ -1,30 +0,0 @@
---- xbmc-18.0a1-Leia.orig/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp 2018-03-04 10:21:28.000000000 +0100
-+++ xbmc-18.0a1-Leia/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp 2018-05-26 06:48:45.750618626 +0200
-@@ -1213,7 +1213,8 @@ void CAESinkALSA::EnumerateDevicesEx(AED
- * found by the enumeration process. Skip them as well ("hw", "dmix",
- * "plughw", "dsnoop"). */
-
-- else if (baseName != "default"
-+ else if (true)
-+/* baseName != "default"
- && baseName != "sysdefault"
- && baseName != "surround40"
- && baseName != "surround41"
-@@ -1223,7 +1224,7 @@ void CAESinkALSA::EnumerateDevicesEx(AED
- && baseName != "hw"
- && baseName != "dmix"
- && baseName != "plughw"
-- && baseName != "dsnoop")
-+ && baseName != "dsnoop")*/
- {
- EnumerateDevice(list, name, desc ? desc : name, config);
- }
-@@ -1380,7 +1381,7 @@ void CAESinkALSA::EnumerateDevice(AEDevi
- info.m_displayName.substr(info.m_displayName.size()-5) == " HDMI")
- {
- /* We already know this is HDMI, strip it */
-- info.m_displayName.erase(info.m_displayName.size()-5);
-+ /*info.m_displayName.erase(info.m_displayName.size()-5);*/
- }
-
- /* "CONEXANT Analog", "USB Audio", "HDMI 0", "ALC889 Digital" ... */
diff --git a/package/kodi/patches/patch-xbmc_platform_linux_CPUInfoLinux_cpp b/package/kodi/patches/patch-xbmc_platform_linux_CPUInfoLinux_cpp
new file mode 100644
index 000000000..27c420df8
--- /dev/null
+++ b/package/kodi/patches/patch-xbmc_platform_linux_CPUInfoLinux_cpp
@@ -0,0 +1,31 @@
+--- xbmc-21.0b2-Omega.orig/xbmc/platform/linux/CPUInfoLinux.cpp 2023-12-09 22:24:46.000000000 +0100
++++ xbmc-21.0b2-Omega/xbmc/platform/linux/CPUInfoLinux.cpp 2024-01-30 15:52:43.704683194 +0100
+@@ -19,10 +19,7 @@
+ #include <sstream>
+ #include <vector>
+
+-#if (defined(__arm__) && defined(HAS_NEON)) || defined(__aarch64__)
+-#include <asm/hwcap.h>
+-#include <sys/auxv.h>
+-#elif defined(__i386__) || defined(__x86_64__)
++#if defined(__i386__) || defined(__x86_64__)
+ #include <cpuid.h>
+ #endif
+
+@@ -279,16 +276,6 @@ CCPUInfoLinux::CCPUInfoLinux()
+
+ m_cpuModel = m_cpuModel.substr(0, m_cpuModel.find(char(0))); // remove extra null terminations
+
+-#if defined(HAS_NEON) && defined(__arm__)
+- if (getauxval(AT_HWCAP) & HWCAP_NEON)
+- m_cpuFeatures |= CPU_FEATURE_NEON;
+-#endif
+-
+-#if defined(HAS_NEON) && defined(__aarch64__)
+- if (getauxval(AT_HWCAP) & HWCAP_ASIMD)
+- m_cpuFeatures |= CPU_FEATURE_NEON;
+-#endif
+-
+ // Set MMX2 when SSE is present as SSE is a superset of MMX2 and Intel doesn't set the MMX2 cap
+ if (m_cpuFeatures & CPU_FEATURE_SSE)
+ m_cpuFeatures |= CPU_FEATURE_MMX2;
diff --git a/package/lame/Makefile b/package/lame/Makefile
index e9838154f..40474a7d3 100644
--- a/package/lame/Makefile
+++ b/package/lame/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= lame
-PKG_VERSION:= 3.99
+PKG_VERSION:= 3.100
PKG_RELEASE:= 1
-PKG_HASH:= d71d804c25cac69592939865033787849cef52b6c9b783ed31ea8dcebeadbbba
+PKG_HASH:= ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175b1da1e
PKG_DESCR:= mp3 encoder
PKG_SECTION:= mm/audio
PKG_DEPENDS:= libncurses
diff --git a/package/lftp/Makefile b/package/lftp/Makefile
index b160c8697..993df08b3 100644
--- a/package/lftp/Makefile
+++ b/package/lftp/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= lftp
-PKG_VERSION:= 4.7.7
+PKG_VERSION:= 4.9.2
PKG_RELEASE:= 1
-PKG_HASH:= 4483df04502660dcc65a11cf09d530e31bea99483d69328c1c5cbaa41d6619b4
+PKG_HASH:= c517c4f4f9c39bd415d7313088a2b1e313b2d386867fe40b7692b83a20f0670d
PKG_DESCR:= ftp and http client
PKG_SECTION:= net/http
PKG_DEPENDS:= libncurses libexpat
diff --git a/package/lftp/patches/patch-src_FileCopy_cc b/package/lftp/patches/patch-src_FileCopy_cc
deleted file mode 100644
index a8b1d0d41..000000000
--- a/package/lftp/patches/patch-src_FileCopy_cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- lftp-4.7.7.orig/src/FileCopy.cc 2017-03-07 08:35:47.000000000 +0100
-+++ lftp-4.7.7/src/FileCopy.cc 2017-06-05 21:33:11.719033961 +0200
-@@ -36,7 +36,7 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <fcntl.h>
--#include <math.h>
-+#include <cmath>
- #include <stddef.h>
- #include "FileCopy.h"
- #include "url.h"
diff --git a/package/lftp/patches/patch-src_NetAccess_cc b/package/lftp/patches/patch-src_NetAccess_cc
deleted file mode 100644
index 2ed120587..000000000
--- a/package/lftp/patches/patch-src_NetAccess_cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- lftp-4.7.7.orig/src/NetAccess.cc 2016-12-15 13:25:36.000000000 +0100
-+++ lftp-4.7.7/src/NetAccess.cc 2017-06-05 22:14:19.905585919 +0200
-@@ -21,7 +21,7 @@
-
- #include <errno.h>
- #include <assert.h>
--#include <math.h>
-+#include <cmath>
- #include <sys/types.h>
-
- #include "NetAccess.h"
diff --git a/package/lftp/patches/patch-src_ResMgr_cc b/package/lftp/patches/patch-src_ResMgr_cc
deleted file mode 100644
index ad66c2883..000000000
--- a/package/lftp/patches/patch-src_ResMgr_cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- lftp-4.7.7.orig/src/ResMgr.cc 2017-02-07 17:57:49.000000000 +0100
-+++ lftp-4.7.7/src/ResMgr.cc 2017-06-05 21:24:11.348321502 +0200
-@@ -23,7 +23,7 @@
- #include <ctype.h>
- #include <unistd.h>
- #include <stdlib.h>
--#include <math.h>
-+#include <cmath>
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <errno.h>
diff --git a/package/lftp/patches/patch-src_Speedometer_cc b/package/lftp/patches/patch-src_Speedometer_cc
deleted file mode 100644
index a5c3ec73e..000000000
--- a/package/lftp/patches/patch-src_Speedometer_cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- lftp-4.7.7.orig/src/Speedometer.cc 2016-02-20 14:57:53.000000000 +0100
-+++ lftp-4.7.7/src/Speedometer.cc 2017-06-05 21:41:06.185512853 +0200
-@@ -18,7 +18,7 @@
- */
-
- #include <config.h>
--#include <math.h>
-+#include <cmath>
- #include <stdlib.h>
- #include "Speedometer.h"
- #include "misc.h"
diff --git a/package/lftp/patches/patch-src_lftp_ssl_cc b/package/lftp/patches/patch-src_lftp_ssl_cc
new file mode 100644
index 000000000..d8569322e
--- /dev/null
+++ b/package/lftp/patches/patch-src_lftp_ssl_cc
@@ -0,0 +1,38 @@
+--- lftp-4.9.2.orig/src/lftp_ssl.cc 2020-01-29 21:36:37.000000000 +0100
++++ lftp-4.9.2/src/lftp_ssl.cc 2024-02-22 14:42:11.060809468 +0100
+@@ -34,7 +34,7 @@
+ #include "misc.h"
+ #include "network.h"
+ #include "buffer.h"
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || LIBRESSL_VERSION_NUMBER
+ #define X509_STORE_CTX_get_by_subject X509_STORE_get_by_subject
+ #endif
+ extern "C" {
+@@ -775,7 +775,7 @@ error:
+ #elif USE_OPENSSL
+ //static int lftp_ssl_passwd_callback(char *buf,int size,int rwflag,void *userdata);
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L || LIBRESSL_VERSION_NUMBER
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined (LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000L)
+ // for compatibility with older versions
+ X509_OBJECT *X509_OBJECT_new()
+ {
+@@ -840,7 +840,7 @@ lftp_ssl_openssl_instance::lftp_ssl_open
+ ssl_ctx=SSL_CTX_new();
+ X509_set_default_verify_paths(ssl_ctx->cert);
+ #else
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || LIBRESSL_VERSION_NUMBER
+ SSLeay_add_ssl_algorithms();
+ #endif
+ ssl_ctx=SSL_CTX_new(SSLv23_client_method());
+@@ -1080,7 +1080,7 @@ void lftp_ssl_openssl::copy_sid(const lf
+
+ const char *lftp_ssl_openssl::strerror()
+ {
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || LIBRESSL_VERSION_NUMBER
+ SSL_load_error_strings();
+ #endif
+ int error=ERR_get_error();
diff --git a/package/libX11/Makefile b/package/libX11/Makefile
index f7aae2149..561d82ff0 100644
--- a/package/libX11/Makefile
+++ b/package/libX11/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libX11
-PKG_VERSION:= 1.6.4
+PKG_VERSION:= 1.7.2
PKG_RELEASE:= 1
-PKG_HASH:= 5d7fbb9e15c27900ea8963218a59750b674a8d7c94161b66e96fcfbdaa1c6263
+PKG_HASH:= 2c26ccd08f43a6214de89110554fbe97c71692eeb7e7d4829f3004ae6fafd2c0
PKG_DESCR:= x11 client-side library
PKG_SECTION:= x11/libs
PKG_BUILDDEP:= libX11-host xproto xextproto xtrans libXdmcp libXau xcb-proto
diff --git a/package/libX11/patches/patch-src_util_Makefile_in b/package/libX11/patches/patch-src_util_Makefile_in
deleted file mode 100644
index 8a194f2d1..000000000
--- a/package/libX11/patches/patch-src_util_Makefile_in
+++ /dev/null
@@ -1,13 +0,0 @@
---- libX11-1.6.3.orig/src/util/Makefile.in 2015-03-09 23:29:02.000000000 +0100
-+++ libX11-1.6.3/src/util/Makefile.in 2016-01-08 10:43:16.257572082 +0100
-@@ -348,9 +348,7 @@ target_alias = @target_alias@
- top_build_prefix = @top_build_prefix@
- top_builddir = @top_builddir@
- top_srcdir = @top_srcdir@
--AM_CFLAGS = \
-- $(X11_CFLAGS) \
-- $(CWARNFLAGS)
-+AM_CFLAGS =
-
- AM_CPPFLAGS = \
- -I$(top_srcdir)/include
diff --git a/package/libXrandr/Makefile b/package/libXrandr/Makefile
index 85340713e..c6169652f 100644
--- a/package/libXrandr/Makefile
+++ b/package/libXrandr/Makefile
@@ -9,7 +9,7 @@ PKG_RELEASE:= 1
PKG_HASH:= 2baa7fb3eca78fe7e11a09b373ba898b717f7eeba4a4bfd68187e04b4789b0d3
PKG_DESCR:= xrandr library
PKG_SECTION:= x11/libs
-PKG_BUILDDEP:= randrproto libXrender
+PKG_BUILDDEP:= randrproto libXrender libXext
PKG_SITES:= http://www.x.org/releases/individual/lib/
PKG_LIBNAME:= libxrandr
PKG_OPTS:= dev
diff --git a/package/libaio/Makefile b/package/libaio/Makefile
new file mode 100644
index 000000000..9c6b4d3b3
--- /dev/null
+++ b/package/libaio/Makefile
@@ -0,0 +1,28 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= libaio
+PKG_VERSION:= 0.3.112
+PKG_RELEASE:= 1
+PKG_HASH:= b7cf93b29bbfb354213a0e8c0e82dfcf4e776157940d894750528714a0af2272
+PKG_DESCR:= Asynchronous input/output library that uses the kernels native interface
+PKG_SECTION:= libs/misc
+PKG_URL:= https://pagure.io/libaio
+PKG_SITES:= https://pagure.io/libaio/archive/libaio-${PKG_VERSION}/
+
+DISTFILES:= $(PKG_NAME)-$(PKG_NAME)-$(PKG_VERSION).tar.gz
+WRKDIST= $(WRKDIR)/$(PKG_NAME)-$(PKG_NAME)-$(PKG_VERSION)
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBAIO,libaio,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+CONFIG_STYLE:= manual
+
+libaio-install:
+ $(INSTALL_DIR) $(IDIR_LIBAIO)/usr/lib
+ ${CP} ${WRKINST}/usr/lib/libaio*.so* ${IDIR_LIBAIO}/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/libao/Makefile b/package/libao/Makefile
index 1a015e2ce..9f308976b 100644
--- a/package/libao/Makefile
+++ b/package/libao/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= libao
-PKG_VERSION:= 1.1.0
+PKG_VERSION:= 1.2.0
PKG_RELEASE:= 1
-PKG_HASH:= 29de5bb9b1726ba890455ef7e562d877df87811febb0d99ee69164b88c171bd4
+PKG_HASH:= 03ad231ad1f9d64b52474392d63c31197b0bc7bd416e58b1c10a329a5ed89caf
PKG_DESCR:= cross platform audio library
PKG_SECTION:= libs/audio
PKG_DEPENDS:= alsa-lib
diff --git a/package/libargon2/Makefile b/package/libargon2/Makefile
new file mode 100644
index 000000000..af5cd6fd0
--- /dev/null
+++ b/package/libargon2/Makefile
@@ -0,0 +1,40 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= libargon2
+PKG_VERSION:= 20190702
+PKG_RELEASE:= 1
+PKG_HASH:= daf972a89577f8772602bf2eb38b6a3dd3d922bf5724d45e7f9589b5e830442c
+PKG_DESCR:= Password hashing software that won the Password Hashing Competition (PHC)
+PKG_SECTION:= libs/crypto
+PKG_URL:= https://github.com/P-H-C/phc-winner-argon2
+PKG_SITES:= https://github.com/P-H-C/phc-winner-argon2/archive/refs/tags/
+DISTFILES:= $(PKG_VERSION).tar.gz
+WRKDIST= $(WRKDIR)/phc-winner-argon2-$(PKG_VERSION)
+
+PKG_SUBPKGS:= LIBARGON2 ARGON2
+PKGSD_ARGON2:= libargon2 command-line utility
+PKGSS_ARGON2:= libargon2
+PKGSC_ARGON2:= app/crypto
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBARGON2,libargon2,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+$(eval $(call PKG_template,ARGON2,argon2,$(PKG_VERSION)-$(PKG_RELEASE),$(PKGSS_ARGON2),$(PKGSD_ARGON2),$(PKGSC_ARGON2)))
+
+CONFIG_STYLE:= manual
+MAKE_ENV+= LIBRARY_REL=lib
+
+libargon2-install:
+ $(INSTALL_DIR) ${IDIR_LIBARGON2}/usr/lib
+ $(CP) ${WRKINST}/usr/lib/libargon2.so* \
+ ${IDIR_LIBARGON2}/usr/lib
+
+argon2-install:
+ $(INSTALL_DIR) $(IDIR_ARGON2)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/argon2 \
+ $(IDIR_ARGON2)/usr/bin
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/libass/Makefile b/package/libass/Makefile
index 38756fa5d..b7cf2d2f5 100644
--- a/package/libass/Makefile
+++ b/package/libass/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libass
-PKG_VERSION:= 0.13.0
+PKG_VERSION:= 0.17.1
PKG_RELEASE:= 1
-PKG_HASH:= e0071a3b2e95411c8d474014678368e3f0b852f7d663e0564b344e7335eb0671
+PKG_HASH:= f0da0bbfba476c16ae3e1cfd862256d30915911f7abaa1b16ce62ee653192784
PKG_DESCR:= portable subtitle renderer
PKG_SECTION:= libs/video
PKG_DEPENDS:= fribidi fontconfig
diff --git a/package/libassuan/Makefile b/package/libassuan/Makefile
index bb4249565..373947719 100644
--- a/package/libassuan/Makefile
+++ b/package/libassuan/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libassuan
-PKG_VERSION:= 2.5.1
+PKG_VERSION:= 2.5.6
PKG_RELEASE:= 1
-PKG_HASH:= 47f96c37b4f2aac289f0bc1bacfa8bd8b4b209a488d3d15e2229cb6cc9b26449
+PKG_HASH:= e9fd27218d5394904e4e39788f9b1742711c3e6b41689a31aa3380bd5aa4f426
PKG_DESCR:= implementation of assuan protocol
PKG_SECTION:= libs/crypto
PKG_DEPENDS:= libgpg-error
diff --git a/package/libatomic/Makefile b/package/libatomic/Makefile
new file mode 100644
index 000000000..8e00e02c1
--- /dev/null
+++ b/package/libatomic/Makefile
@@ -0,0 +1,31 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include ${ADK_TOPDIR}/rules.mk
+include ${ADK_TOPDIR}/toolchain/gcc/Makefile.inc
+
+PKG_NAME:= libatomic
+PKG_DESCR:= gcc atomic library
+PKG_SECTION:= base/libs
+PKG_OPTS:= noremove
+
+PKG_DFLT_LIBATOMIC:= y if !ADK_APPLIANCE_TOOLCHAIN
+
+NO_DISTFILES:= 1
+
+include ${ADK_TOPDIR}/mk/package.mk
+
+$(eval $(call PKG_template,LIBATOMIC,libatomic,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
+
+CONFIG_STYLE:= manual
+BUILD_STYLE:= manual
+INSTALL_STYLE:= manual
+
+libatomic-install:
+ $(INSTALL_DIR) ${IDIR_LIBATOMIC}/$(ADK_TARGET_LIBC_PATH)
+ifeq ($(ADK_TARGET_USE_STATIC_LIBS_ONLY),)
+ # XXX: properly install libatomic
+ -${CP} ${TOOLCHAIN_BUILD_DIR}/w-gcc*/gcc-*-final/*/libatomic/.libs/libatomic*.so* ${IDIR_LIBATOMIC}/$(ADK_TARGET_LIBC_PATH)
+endif
+
+include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/libbsd/Makefile b/package/libbsd/Makefile
new file mode 100644
index 000000000..744c627c6
--- /dev/null
+++ b/package/libbsd/Makefile
@@ -0,0 +1,27 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= libbsd
+PKG_VERSION:= 0.11.7
+PKG_RELEASE:= 1
+PKG_HASH:= 9baa186059ebbf25c06308e9f991fda31f7183c0f24931826d83aa6abd8a0261
+PKG_DESCR:= bsd helper functions
+PKG_SECTION:= libs/misc
+PKG_BUILDDEP:= libmd
+PKG_DEPENDS:= libmd
+PKG_URL:= https://libbsd.freedesktop.org/
+PKG_SITES:= https://libbsd.freedesktop.org/releases/
+PKG_OPTS:= dev
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBBSD,libbsd,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+libbsd-install:
+ $(INSTALL_DIR) $(IDIR_LIBBSD)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libbsd*.so* \
+ $(IDIR_LIBBSD)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/libcap-ng/Makefile b/package/libcap-ng/Makefile
new file mode 100644
index 000000000..48ce9dee5
--- /dev/null
+++ b/package/libcap-ng/Makefile
@@ -0,0 +1,28 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= libcap-ng
+PKG_VERSION:= 0.8.4
+PKG_RELEASE:= 1
+PKG_HASH:= 5615c76a61039e283a6bd107c4faf345ae5ad4dcd45907defe5e474d8fdb6fd2
+PKG_DESCR:= capability library
+PKG_SECTION:= libs/misc
+PKG_SITES:= https://github.com/stevegrubb/libcap-ng/archive/refs/tags/
+PKG_OPTS:= dev
+
+DISTFILES:= v$(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBCAP_NG,libcap-ng,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+AUTOTOOL_STYLE:= autogen
+
+libcap-ng-install:
+ $(INSTALL_DIR) $(IDIR_LIBCAP_NG)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libcap-ng*.so* \
+ $(IDIR_LIBCAP_NG)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/libcap-ng/patches/patch-INSTALL b/package/libcap-ng/patches/patch-INSTALL
new file mode 100644
index 000000000..b9ca10914
--- /dev/null
+++ b/package/libcap-ng/patches/patch-INSTALL
@@ -0,0 +1,521 @@
+--- libcap-ng-0.8.4.orig/INSTALL 2023-12-20 16:18:45.000000000 +0100
++++ libcap-ng-0.8.4/INSTALL 2024-02-27 12:31:52.534581269 +0100
+@@ -1,8 +1,8 @@
+ Installation Instructions
+ *************************
+
+-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
+-2006, 2007, 2008, 2009 Free Software Foundation, Inc.
++ Copyright (C) 1994-1996, 1999-2002, 2004-2016 Free Software
++Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+@@ -12,97 +12,96 @@ without warranty of any kind.
+ Basic Installation
+ ==================
+
+- Briefly, the shell commands `./configure; make; make install' should
+-configure, build, and install this package. The following
+-more-detailed instructions are generic; see the `README' file for
++ Briefly, the shell command './configure && make && make install'
++should configure, build, and install this package. The following
++more-detailed instructions are generic; see the 'README' file for
+ instructions specific to this package. Some packages provide this
+-`INSTALL' file but do not implement all of the features documented
++'INSTALL' file but do not implement all of the features documented
+ below. The lack of an optional feature in a given package is not
+ necessarily a bug. More recommendations for GNU packages can be found
+ in *note Makefile Conventions: (standards)Makefile Conventions.
+
+- The `configure' shell script attempts to guess correct values for
++ The 'configure' shell script attempts to guess correct values for
+ various system-dependent variables used during compilation. It uses
+-those values to create a `Makefile' in each directory of the package.
+-It may also create one or more `.h' files containing system-dependent
+-definitions. Finally, it creates a shell script `config.status' that
++those values to create a 'Makefile' in each directory of the package.
++It may also create one or more '.h' files containing system-dependent
++definitions. Finally, it creates a shell script 'config.status' that
+ you can run in the future to recreate the current configuration, and a
+-file `config.log' containing compiler output (useful mainly for
+-debugging `configure').
++file 'config.log' containing compiler output (useful mainly for
++debugging 'configure').
+
+- It can also use an optional file (typically called `config.cache'
+-and enabled with `--cache-file=config.cache' or simply `-C') that saves
+-the results of its tests to speed up reconfiguring. Caching is
+-disabled by default to prevent problems with accidental use of stale
+-cache files.
++ It can also use an optional file (typically called 'config.cache' and
++enabled with '--cache-file=config.cache' or simply '-C') that saves the
++results of its tests to speed up reconfiguring. Caching is disabled by
++default to prevent problems with accidental use of stale cache files.
+
+ If you need to do unusual things to compile the package, please try
+-to figure out how `configure' could check whether to do them, and mail
+-diffs or instructions to the address given in the `README' so they can
++to figure out how 'configure' could check whether to do them, and mail
++diffs or instructions to the address given in the 'README' so they can
+ be considered for the next release. If you are using the cache, and at
+-some point `config.cache' contains results you don't want to keep, you
++some point 'config.cache' contains results you don't want to keep, you
+ may remove or edit it.
+
+- The file `configure.ac' (or `configure.in') is used to create
+-`configure' by a program called `autoconf'. You need `configure.ac' if
+-you want to change it or regenerate `configure' using a newer version
+-of `autoconf'.
++ The file 'configure.ac' (or 'configure.in') is used to create
++'configure' by a program called 'autoconf'. You need 'configure.ac' if
++you want to change it or regenerate 'configure' using a newer version of
++'autoconf'.
+
+ The simplest way to compile this package is:
+
+- 1. `cd' to the directory containing the package's source code and type
+- `./configure' to configure the package for your system.
++ 1. 'cd' to the directory containing the package's source code and type
++ './configure' to configure the package for your system.
+
+- Running `configure' might take a while. While running, it prints
++ Running 'configure' might take a while. While running, it prints
+ some messages telling which features it is checking for.
+
+- 2. Type `make' to compile the package.
++ 2. Type 'make' to compile the package.
+
+- 3. Optionally, type `make check' to run any self-tests that come with
++ 3. Optionally, type 'make check' to run any self-tests that come with
+ the package, generally using the just-built uninstalled binaries.
+
+- 4. Type `make install' to install the programs and any data files and
++ 4. Type 'make install' to install the programs and any data files and
+ documentation. When installing into a prefix owned by root, it is
+ recommended that the package be configured and built as a regular
+- user, and only the `make install' phase executed with root
++ user, and only the 'make install' phase executed with root
+ privileges.
+
+- 5. Optionally, type `make installcheck' to repeat any self-tests, but
++ 5. Optionally, type 'make installcheck' to repeat any self-tests, but
+ this time using the binaries in their final installed location.
+ This target does not install anything. Running this target as a
+- regular user, particularly if the prior `make install' required
++ regular user, particularly if the prior 'make install' required
+ root privileges, verifies that the installation completed
+ correctly.
+
+ 6. You can remove the program binaries and object files from the
+- source code directory by typing `make clean'. To also remove the
+- files that `configure' created (so you can compile the package for
+- a different kind of computer), type `make distclean'. There is
+- also a `make maintainer-clean' target, but that is intended mainly
++ source code directory by typing 'make clean'. To also remove the
++ files that 'configure' created (so you can compile the package for
++ a different kind of computer), type 'make distclean'. There is
++ also a 'make maintainer-clean' target, but that is intended mainly
+ for the package's developers. If you use it, you may have to get
+ all sorts of other programs in order to regenerate files that came
+ with the distribution.
+
+- 7. Often, you can also type `make uninstall' to remove the installed
++ 7. Often, you can also type 'make uninstall' to remove the installed
+ files again. In practice, not all packages have tested that
+ uninstallation works correctly, even though it is required by the
+ GNU Coding Standards.
+
+- 8. Some packages, particularly those that use Automake, provide `make
++ 8. Some packages, particularly those that use Automake, provide 'make
+ distcheck', which can by used by developers to test that all other
+- targets like `make install' and `make uninstall' work correctly.
++ targets like 'make install' and 'make uninstall' work correctly.
+ This target is generally not run by end users.
+
+ Compilers and Options
+ =====================
+
+ Some systems require unusual options for compilation or linking that
+-the `configure' script does not know about. Run `./configure --help'
++the 'configure' script does not know about. Run './configure --help'
+ for details on some of the pertinent environment variables.
+
+- You can give `configure' initial values for configuration parameters
+-by setting variables in the command line or in the environment. Here
+-is an example:
++ You can give 'configure' initial values for configuration parameters
++by setting variables in the command line or in the environment. Here is
++an example:
+
+ ./configure CC=c99 CFLAGS=-g LIBS=-lposix
+
+@@ -113,21 +112,21 @@ Compiling For Multiple Architectures
+
+ You can compile the package for more than one kind of computer at the
+ same time, by placing the object files for each architecture in their
+-own directory. To do this, you can use GNU `make'. `cd' to the
++own directory. To do this, you can use GNU 'make'. 'cd' to the
+ directory where you want the object files and executables to go and run
+-the `configure' script. `configure' automatically checks for the
+-source code in the directory that `configure' is in and in `..'. This
+-is known as a "VPATH" build.
++the 'configure' script. 'configure' automatically checks for the source
++code in the directory that 'configure' is in and in '..'. This is known
++as a "VPATH" build.
+
+- With a non-GNU `make', it is safer to compile the package for one
++ With a non-GNU 'make', it is safer to compile the package for one
+ architecture at a time in the source code directory. After you have
+-installed the package for one architecture, use `make distclean' before
++installed the package for one architecture, use 'make distclean' before
+ reconfiguring for another architecture.
+
+ On MacOS X 10.5 and later systems, you can create libraries and
+ executables that work on multiple system types--known as "fat" or
+-"universal" binaries--by specifying multiple `-arch' options to the
+-compiler but only a single `-arch' option to the preprocessor. Like
++"universal" binaries--by specifying multiple '-arch' options to the
++compiler but only a single '-arch' option to the preprocessor. Like
+ this:
+
+ ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+@@ -136,100 +135,104 @@ this:
+
+ This is not guaranteed to produce working output in all cases, you
+ may have to build one architecture at a time and combine the results
+-using the `lipo' tool if you have problems.
++using the 'lipo' tool if you have problems.
+
+ Installation Names
+ ==================
+
+- By default, `make install' installs the package's commands under
+-`/usr/local/bin', include files under `/usr/local/include', etc. You
+-can specify an installation prefix other than `/usr/local' by giving
+-`configure' the option `--prefix=PREFIX', where PREFIX must be an
++ By default, 'make install' installs the package's commands under
++'/usr/local/bin', include files under '/usr/local/include', etc. You
++can specify an installation prefix other than '/usr/local' by giving
++'configure' the option '--prefix=PREFIX', where PREFIX must be an
+ absolute file name.
+
+ You can specify separate installation prefixes for
+ architecture-specific files and architecture-independent files. If you
+-pass the option `--exec-prefix=PREFIX' to `configure', the package uses
++pass the option '--exec-prefix=PREFIX' to 'configure', the package uses
+ PREFIX as the prefix for installing programs and libraries.
+ Documentation and other data files still use the regular prefix.
+
+ In addition, if you use an unusual directory layout you can give
+-options like `--bindir=DIR' to specify different values for particular
+-kinds of files. Run `configure --help' for a list of the directories
+-you can set and what kinds of files go in them. In general, the
+-default for these options is expressed in terms of `${prefix}', so that
+-specifying just `--prefix' will affect all of the other directory
++options like '--bindir=DIR' to specify different values for particular
++kinds of files. Run 'configure --help' for a list of the directories
++you can set and what kinds of files go in them. In general, the default
++for these options is expressed in terms of '${prefix}', so that
++specifying just '--prefix' will affect all of the other directory
+ specifications that were not explicitly provided.
+
+ The most portable way to affect installation locations is to pass the
+-correct locations to `configure'; however, many packages provide one or
++correct locations to 'configure'; however, many packages provide one or
+ both of the following shortcuts of passing variable assignments to the
+-`make install' command line to change installation locations without
++'make install' command line to change installation locations without
+ having to reconfigure or recompile.
+
+ The first method involves providing an override variable for each
+-affected directory. For example, `make install
++affected directory. For example, 'make install
+ prefix=/alternate/directory' will choose an alternate location for all
+ directory configuration variables that were expressed in terms of
+-`${prefix}'. Any directories that were specified during `configure',
+-but not in terms of `${prefix}', must each be overridden at install
+-time for the entire installation to be relocated. The approach of
+-makefile variable overrides for each directory variable is required by
+-the GNU Coding Standards, and ideally causes no recompilation.
+-However, some platforms have known limitations with the semantics of
+-shared libraries that end up requiring recompilation when using this
+-method, particularly noticeable in packages that use GNU Libtool.
++'${prefix}'. Any directories that were specified during 'configure',
++but not in terms of '${prefix}', must each be overridden at install time
++for the entire installation to be relocated. The approach of makefile
++variable overrides for each directory variable is required by the GNU
++Coding Standards, and ideally causes no recompilation. However, some
++platforms have known limitations with the semantics of shared libraries
++that end up requiring recompilation when using this method, particularly
++noticeable in packages that use GNU Libtool.
+
+- The second method involves providing the `DESTDIR' variable. For
+-example, `make install DESTDIR=/alternate/directory' will prepend
+-`/alternate/directory' before all installation names. The approach of
+-`DESTDIR' overrides is not required by the GNU Coding Standards, and
++ The second method involves providing the 'DESTDIR' variable. For
++example, 'make install DESTDIR=/alternate/directory' will prepend
++'/alternate/directory' before all installation names. The approach of
++'DESTDIR' overrides is not required by the GNU Coding Standards, and
+ does not work on platforms that have drive letters. On the other hand,
+ it does better at avoiding recompilation issues, and works well even
+-when some directory options were not specified in terms of `${prefix}'
+-at `configure' time.
++when some directory options were not specified in terms of '${prefix}'
++at 'configure' time.
+
+ Optional Features
+ =================
+
+ If the package supports it, you can cause programs to be installed
+-with an extra prefix or suffix on their names by giving `configure' the
+-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
++with an extra prefix or suffix on their names by giving 'configure' the
++option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'.
+
+- Some packages pay attention to `--enable-FEATURE' options to
+-`configure', where FEATURE indicates an optional part of the package.
+-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+-is something like `gnu-as' or `x' (for the X Window System). The
+-`README' should mention any `--enable-' and `--with-' options that the
++ Some packages pay attention to '--enable-FEATURE' options to
++'configure', where FEATURE indicates an optional part of the package.
++They may also pay attention to '--with-PACKAGE' options, where PACKAGE
++is something like 'gnu-as' or 'x' (for the X Window System). The
++'README' should mention any '--enable-' and '--with-' options that the
+ package recognizes.
+
+- For packages that use the X Window System, `configure' can usually
++ For packages that use the X Window System, 'configure' can usually
+ find the X include and library files automatically, but if it doesn't,
+-you can use the `configure' options `--x-includes=DIR' and
+-`--x-libraries=DIR' to specify their locations.
++you can use the 'configure' options '--x-includes=DIR' and
++'--x-libraries=DIR' to specify their locations.
+
+ Some packages offer the ability to configure how verbose the
+-execution of `make' will be. For these packages, running `./configure
++execution of 'make' will be. For these packages, running './configure
+ --enable-silent-rules' sets the default to minimal output, which can be
+-overridden with `make V=1'; while running `./configure
++overridden with 'make V=1'; while running './configure
+ --disable-silent-rules' sets the default to verbose, which can be
+-overridden with `make V=0'.
++overridden with 'make V=0'.
+
+ Particular systems
+ ==================
+
+- On HP-UX, the default C compiler is not ANSI C compatible. If GNU
+-CC is not installed, it is recommended to use the following options in
++ On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC
++is not installed, it is recommended to use the following options in
+ order to use an ANSI C compiler:
+
+ ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
+
+ and if that doesn't work, install pre-built binaries of GCC for HP-UX.
+
++ HP-UX 'make' updates targets which have the same time stamps as their
++prerequisites, which makes it generally unusable when shipped generated
++files such as 'configure' are involved. Use GNU 'make' instead.
++
+ On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
+-parse its `<wchar.h>' header file. The option `-nodtk' can be used as
+-a workaround. If GNU CC is not installed, it is therefore recommended
+-to try
++parse its '<wchar.h>' header file. The option '-nodtk' can be used as a
++workaround. If GNU CC is not installed, it is therefore recommended to
++try
+
+ ./configure CC="cc"
+
+@@ -237,26 +240,26 @@ and if that doesn't work, try
+
+ ./configure CC="cc -nodtk"
+
+- On Solaris, don't put `/usr/ucb' early in your `PATH'. This
++ On Solaris, don't put '/usr/ucb' early in your 'PATH'. This
+ directory contains several dysfunctional programs; working variants of
+-these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
+-in your `PATH', put it _after_ `/usr/bin'.
++these programs are available in '/usr/bin'. So, if you need '/usr/ucb'
++in your 'PATH', put it _after_ '/usr/bin'.
+
+- On Haiku, software installed for all users goes in `/boot/common',
+-not `/usr/local'. It is recommended to use the following options:
++ On Haiku, software installed for all users goes in '/boot/common',
++not '/usr/local'. It is recommended to use the following options:
+
+ ./configure --prefix=/boot/common
+
+ Specifying the System Type
+ ==========================
+
+- There may be some features `configure' cannot figure out
++ There may be some features 'configure' cannot figure out
+ automatically, but needs to determine by the type of machine the package
+ will run on. Usually, assuming the package is built to be run on the
+-_same_ architectures, `configure' can figure that out, but if it prints
++_same_ architectures, 'configure' can figure that out, but if it prints
+ a message saying it cannot guess the machine type, give it the
+-`--build=TYPE' option. TYPE can either be a short name for the system
+-type, such as `sun4', or a canonical name which has the form:
++'--build=TYPE' option. TYPE can either be a short name for the system
++type, such as 'sun4', or a canonical name which has the form:
+
+ CPU-COMPANY-SYSTEM
+
+@@ -265,101 +268,101 @@ where SYSTEM can have one of these forms
+ OS
+ KERNEL-OS
+
+- See the file `config.sub' for the possible values of each field. If
+-`config.sub' isn't included in this package, then this package doesn't
++ See the file 'config.sub' for the possible values of each field. If
++'config.sub' isn't included in this package, then this package doesn't
+ need to know the machine type.
+
+ If you are _building_ compiler tools for cross-compiling, you should
+-use the option `--target=TYPE' to select the type of system they will
++use the option '--target=TYPE' to select the type of system they will
+ produce code for.
+
+ If you want to _use_ a cross compiler, that generates code for a
+ platform different from the build platform, you should specify the
+ "host" platform (i.e., that on which the generated programs will
+-eventually be run) with `--host=TYPE'.
++eventually be run) with '--host=TYPE'.
+
+ Sharing Defaults
+ ================
+
+- If you want to set default values for `configure' scripts to share,
+-you can create a site shell script called `config.site' that gives
+-default values for variables like `CC', `cache_file', and `prefix'.
+-`configure' looks for `PREFIX/share/config.site' if it exists, then
+-`PREFIX/etc/config.site' if it exists. Or, you can set the
+-`CONFIG_SITE' environment variable to the location of the site script.
+-A warning: not all `configure' scripts look for a site script.
++ If you want to set default values for 'configure' scripts to share,
++you can create a site shell script called 'config.site' that gives
++default values for variables like 'CC', 'cache_file', and 'prefix'.
++'configure' looks for 'PREFIX/share/config.site' if it exists, then
++'PREFIX/etc/config.site' if it exists. Or, you can set the
++'CONFIG_SITE' environment variable to the location of the site script.
++A warning: not all 'configure' scripts look for a site script.
+
+ Defining Variables
+ ==================
+
+ Variables not defined in a site shell script can be set in the
+-environment passed to `configure'. However, some packages may run
++environment passed to 'configure'. However, some packages may run
+ configure again during the build, and the customized values of these
+ variables may be lost. In order to avoid this problem, you should set
+-them in the `configure' command line, using `VAR=value'. For example:
++them in the 'configure' command line, using 'VAR=value'. For example:
+
+ ./configure CC=/usr/local2/bin/gcc
+
+-causes the specified `gcc' to be used as the C compiler (unless it is
++causes the specified 'gcc' to be used as the C compiler (unless it is
+ overridden in the site shell script).
+
+-Unfortunately, this technique does not work for `CONFIG_SHELL' due to
+-an Autoconf bug. Until the bug is fixed you can use this workaround:
++Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an
++Autoconf limitation. Until the limitation is lifted, you can use this
++workaround:
+
+- CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
++ CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
+
+-`configure' Invocation
++'configure' Invocation
+ ======================
+
+- `configure' recognizes the following options to control how it
++ 'configure' recognizes the following options to control how it
+ operates.
+
+-`--help'
+-`-h'
+- Print a summary of all of the options to `configure', and exit.
++'--help'
++'-h'
++ Print a summary of all of the options to 'configure', and exit.
+
+-`--help=short'
+-`--help=recursive'
++'--help=short'
++'--help=recursive'
+ Print a summary of the options unique to this package's
+- `configure', and exit. The `short' variant lists options used
+- only in the top level, while the `recursive' variant lists options
+- also present in any nested packages.
++ 'configure', and exit. The 'short' variant lists options used only
++ in the top level, while the 'recursive' variant lists options also
++ present in any nested packages.
+
+-`--version'
+-`-V'
+- Print the version of Autoconf used to generate the `configure'
++'--version'
++'-V'
++ Print the version of Autoconf used to generate the 'configure'
+ script, and exit.
+
+-`--cache-file=FILE'
++'--cache-file=FILE'
+ Enable the cache: use and save the results of the tests in FILE,
+- traditionally `config.cache'. FILE defaults to `/dev/null' to
++ traditionally 'config.cache'. FILE defaults to '/dev/null' to
+ disable caching.
+
+-`--config-cache'
+-`-C'
+- Alias for `--cache-file=config.cache'.
++'--config-cache'
++'-C'
++ Alias for '--cache-file=config.cache'.
+
+-`--quiet'
+-`--silent'
+-`-q'
++'--quiet'
++'--silent'
++'-q'
+ Do not print messages saying which checks are being made. To
+- suppress all normal output, redirect it to `/dev/null' (any error
++ suppress all normal output, redirect it to '/dev/null' (any error
+ messages will still be shown).
+
+-`--srcdir=DIR'
++'--srcdir=DIR'
+ Look for the package's source code in directory DIR. Usually
+- `configure' can determine that directory automatically.
++ 'configure' can determine that directory automatically.
+
+-`--prefix=DIR'
+- Use DIR as the installation prefix. *note Installation Names::
+- for more details, including other options available for fine-tuning
+- the installation locations.
++'--prefix=DIR'
++ Use DIR as the installation prefix. *note Installation Names:: for
++ more details, including other options available for fine-tuning the
++ installation locations.
+
+-`--no-create'
+-`-n'
++'--no-create'
++'-n'
+ Run the configure checks, but stop before creating any output
+ files.
+
+-`configure' also accepts some other, not widely useful, options. Run
+-`configure --help' for more details.
+-
++'configure' also accepts some other, not widely useful, options. Run
++'configure --help' for more details.
diff --git a/package/libcap-ng/patches/patch-autogen_sh b/package/libcap-ng/patches/patch-autogen_sh
new file mode 100644
index 000000000..8efae3587
--- /dev/null
+++ b/package/libcap-ng/patches/patch-autogen_sh
@@ -0,0 +1,9 @@
+--- libcap-ng-0.8.4.orig/autogen.sh 2023-12-20 16:18:45.000000000 +0100
++++ libcap-ng-0.8.4/autogen.sh 2024-02-27 12:33:16.298580133 +0100
+@@ -1,5 +1,5 @@
+ #! /bin/sh
+ set -x -e
+ # --no-recursive is available only in recent autoconf versions
+-touch NEWS
++touch NEWS README
+ autoreconf -fv --install
diff --git a/package/libcap/Makefile b/package/libcap/Makefile
index ffceb83af..29c417237 100644
--- a/package/libcap/Makefile
+++ b/package/libcap/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libcap
-PKG_VERSION:= 2.25
-PKG_RELEASE:= 2
-PKG_HASH:= 693c8ac51e983ee678205571ef272439d83afe62dd8e424ea14ad9790bc35162
+PKG_VERSION:= 2.59
+PKG_RELEASE:= 1
+PKG_HASH:= 49f64ae40b113e53cbc161e22af7094e3bb4a0611fa33ef5a4257b011779f034
PKG_DESCR:= capabilities library
PKG_SECTION:= libs/misc
PKG_URL:= http://www.friedhoff.org/posixfilecaps.html
@@ -25,6 +25,10 @@ endif
HOST_STYLE:= manual
CONFIG_STYLE:= manual
+MAKE_ENV+= BUILD_CC="${HOST_CC}"
+ifeq ($(ADK_PACKAGE_PAM),)
+MAKE_ENV+= PAM_CAP=no
+endif
host-build:
(cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
diff --git a/package/libcap/patches/patch-Make_Rules b/package/libcap/patches/patch-Make_Rules
index fa587e654..b40545b48 100644
--- a/package/libcap/patches/patch-Make_Rules
+++ b/package/libcap/patches/patch-Make_Rules
@@ -1,50 +1,11 @@
---- libcap-2.25.orig/Make.Rules 2016-01-31 02:14:53.000000000 +0100
-+++ libcap-2.25/Make.Rules 2016-11-21 12:54:45.000000000 +0100
-@@ -13,21 +13,14 @@ FAKEROOT=$(DESTDIR)
+--- libcap-2.59.orig/Make.Rules 2021-09-27 03:18:19.000000000 +0200
++++ libcap-2.59/Make.Rules 2021-10-12 14:15:43.966424789 +0200
+@@ -18,7 +18,7 @@ FAKEROOT=$(DESTDIR)
# administrative operations that could be needed to recover a system.
ifndef lib
-lib=$(shell ldd /usr/bin/ld|egrep "ld-linux|ld.so"|cut -d/ -f2)
-+lib=lib
++lib=/usr/lib
endif
--ifdef prefix
--exec_prefix=$(prefix)
--lib_prefix=$(exec_prefix)
--inc_prefix=$(lib_prefix)
--man_prefix=$(prefix)/share
--else
- prefix=/usr
--exec_prefix=
-+exec_prefix=$(prefix)
- lib_prefix=$(exec_prefix)
- inc_prefix=$(prefix)
- man_prefix=$(prefix)/share
--endif
-
- # Target directories
-
-@@ -48,10 +41,10 @@ MINOR=25
- KERNEL_HEADERS := $(topdir)/libcap/include/uapi
- IPATH += -fPIC -I$(KERNEL_HEADERS) -I$(topdir)/libcap/include
-
--CC := gcc
--CFLAGS := -O2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
--BUILD_CC := $(CC)
--BUILD_CFLAGS := $(CFLAGS) $(IPATH)
-+CC ?= gcc
-+CFLAGS ?= -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
-+BUILD_CC := $(CC_FOR_BUILD)
-+BUILD_CFLAGS := $(CFLAGS_FOR_BUILD) $(IPATH)
- AR := ar
- RANLIB := ranlib
- DEBUG = -g #-DDEBUG
-@@ -68,7 +61,7 @@ INCS=$(topdir)/libcap/include/sys/capabi
- LDFLAGS += -L$(topdir)/libcap
- CFLAGS += -Dlinux $(WARNINGS) $(DEBUG)
- PAM_CAP := $(shell if [ -f /usr/include/security/pam_modules.h ]; then echo yes ; else echo no ; fi)
--INDENT := $(shell if [ -n "$$(which indent 2>/dev/null)" ]; then echo "| indent -kr" ; fi)
-+#INDENT := $(shell if [ -n "$$(which indent 2>/dev/null)" ]; then echo "| indent -kr" ; fi)
- DYNAMIC := $(shell if [ ! -d "$(topdir)/.git" ]; then echo yes; fi)
-
- # When installing setcap, set its inheritable bit to be able to place
+ ifndef sbin
diff --git a/package/libcap/patches/patch-Makefile b/package/libcap/patches/patch-Makefile
deleted file mode 100644
index 51603e650..000000000
--- a/package/libcap/patches/patch-Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
---- libcap-2.25.orig/Makefile 2014-05-31 22:11:05.000000000 +0200
-+++ libcap-2.25/Makefile 2016-09-23 10:32:34.156211429 +0200
-@@ -10,11 +10,7 @@ include Make.Rules
-
- all install clean: %: %-here
- $(MAKE) -C libcap $@
--ifneq ($(PAM_CAP),no)
-- $(MAKE) -C pam_cap $@
--endif
- $(MAKE) -C progs $@
-- $(MAKE) -C doc $@
-
- all-here:
-
diff --git a/package/libcap/patches/patch-libcap_Makefile b/package/libcap/patches/patch-libcap_Makefile
index bbe31f53b..6dcb3e073 100644
--- a/package/libcap/patches/patch-libcap_Makefile
+++ b/package/libcap/patches/patch-libcap_Makefile
@@ -1,13 +1,11 @@
---- libcap-2.25.orig/libcap/Makefile 2016-01-31 01:01:41.000000000 +0100
-+++ libcap-2.25/libcap/Makefile 2016-09-23 15:09:26.623578683 +0200
-@@ -63,9 +63,8 @@ cap_text.o: cap_text.c $(USE_GPERF_OUTPU
- $(CC) $(CFLAGS) $(IPATH) $(INCLUDE_GPERF_OUTPUT) -c $< -o $@
+--- libcap-2.59.orig/libcap/Makefile 2021-09-18 05:56:21.000000000 +0200
++++ libcap-2.59/libcap/Makefile 2021-10-12 14:20:14.254434411 +0200
+@@ -76,7 +76,7 @@ $(PSXTITLE).pc: $(PSXTITLE).pc.in
+ $< >$@
- install: all
-- mkdir -p -m 0755 $(FAKEROOT)$(INCDIR)/sys
-+ mkdir -p -m 0755 $(FAKEROOT)$(INCDIR)/sys $(FAKEROOT)$(LIBDIR)
- install -m 0644 include/sys/capability.h $(FAKEROOT)$(INCDIR)/sys
-- mkdir -p -m 0755 $(FAKEROOT)$(LIBDIR)
- install -m 0644 $(STALIBNAME) $(FAKEROOT)$(LIBDIR)/$(STALIBNAME)
- install -m 0644 $(MINLIBNAME) $(FAKEROOT)$(LIBDIR)/$(MINLIBNAME)
- ln -sf $(MINLIBNAME) $(FAKEROOT)$(LIBDIR)/$(MAJLIBNAME)
+ _makenames: _makenames.c cap_names.list.h
+- $(BUILD_CC) $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $< -o $@
++ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $< -o $@
+
+ cap_names.h: _makenames
+ ./_makenames > cap_names.h
diff --git a/package/libcap/patches/patch-libcap__makenames_c b/package/libcap/patches/patch-libcap__makenames_c
deleted file mode 100644
index 641bd6592..000000000
--- a/package/libcap/patches/patch-libcap__makenames_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- libcap-2.22.orig/libcap/_makenames.c 2008-12-04 08:03:12.000000000 +0100
-+++ libcap-2.22/libcap/_makenames.c 2013-10-28 10:54:58.000000000 +0100
-@@ -7,7 +7,7 @@
-
- #include <stdio.h>
- #include <stdlib.h>
--#include <sys/capability.h>
-+#include "include/sys/capability.h"
-
- /*
- * #include 'sed' generated array
diff --git a/package/libcap/patches/patch-libcap_libcap_pc_in b/package/libcap/patches/patch-libcap_libcap_pc_in
index 742f136c0..0d61c60a8 100644
--- a/package/libcap/patches/patch-libcap_libcap_pc_in
+++ b/package/libcap/patches/patch-libcap_libcap_pc_in
@@ -1,5 +1,5 @@
---- libcap-2.25.orig/libcap/libcap.pc.in 2013-12-24 18:08:53.000000000 +0100
-+++ libcap-2.25/libcap/libcap.pc.in 2018-01-01 20:11:08.911444653 +0100
+--- libcap-2.59.orig/libcap/libcap.pc.in 2020-07-01 04:43:01.000000000 +0200
++++ libcap-2.59/libcap/libcap.pc.in 2021-10-12 14:15:43.958424789 +0200
@@ -1,7 +1,7 @@
prefix=@prefix@
-exec_prefix=@exec_prefix@
@@ -10,4 +10,4 @@
+includedir=${prefix}/include
Name: libcap
- Description: libcap
+ Description: libcap - linux capabilities library
diff --git a/package/libcap/patches/patch-progs_Makefile b/package/libcap/patches/patch-progs_Makefile
deleted file mode 100644
index c13d1ddd8..000000000
--- a/package/libcap/patches/patch-progs_Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
---- libcap-2.25.orig/progs/Makefile 2016-01-31 01:01:41.000000000 +0100
-+++ libcap-2.25/progs/Makefile 2016-09-23 10:37:55.480689559 +0200
-@@ -26,9 +26,6 @@ install: all
- for p in $(PROGS) ; do \
- install -m 0755 $$p $(FAKEROOT)$(SBINDIR) ; \
- done
--ifeq ($(RAISE_SETFCAP),yes)
-- $(FAKEROOT)$(SBINDIR)/setcap cap_setfcap=i $(FAKEROOT)$(SBINDIR)/setcap
--endif
-
- clean:
- $(LOCALCLEAN)
diff --git a/package/libcdada/Makefile b/package/libcdada/Makefile
new file mode 100644
index 000000000..4b18d20d5
--- /dev/null
+++ b/package/libcdada/Makefile
@@ -0,0 +1,31 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= libcdada
+PKG_VERSION:= 0.5.2
+PKG_RELEASE:= 1
+PKG_HASH:= 507f0b7bf8cb7533c22731c64d92737e7536866be7c7dd317b89709cd6529867
+PKG_DESCR:= basic data structures in C
+PKG_SECTION:= libs/misc
+PKG_SITES:= https://github.com/msune/libcdada/archive/refs/tags/
+PKG_OPTS:= dev
+
+DISTFILES:= v$(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBCDADA,libcdada,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+AUTOTOOL_STYLE:= autogen
+CONFIGURE_ARGS+= --disable-silent-rules \
+ --without-tests \
+ --without-examples
+
+libcdada-install:
+ $(INSTALL_DIR) $(IDIR_LIBCDADA)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libcdada*.so* \
+ $(IDIR_LIBCDADA)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/libcdada/patches/patch-configure_ac b/package/libcdada/patches/patch-configure_ac
new file mode 100644
index 000000000..b9d2dd11d
--- /dev/null
+++ b/package/libcdada/patches/patch-configure_ac
@@ -0,0 +1,22 @@
+--- libcdada-0.5.2.orig/configure.ac 2023-11-07 23:04:41.000000000 +0100
++++ libcdada-0.5.2/configure.ac 2024-02-20 07:03:02.007933771 +0100
+@@ -4,7 +4,7 @@ AC_INIT(LIBCDADA, m4_esyscmd_s(cat VERSI
+ AC_CONFIG_AUX_DIR([build-aux])
+ AC_CONFIG_MACRO_DIR([m4])
+
+-AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects])
++AM_INIT_AUTOMAKE([-Wall foreign subdir-objects])
+
+ AC_GNU_SOURCE
+
+@@ -24,8 +24,8 @@ LT_INIT
+ AC_ENABLE_STATIC
+
+ # Some useful default flags
+-CFLAGS="-std=gnu89 -Werror -Wall $CFLAGS"
+-CXXFLAGS="-Werror -Wall $CXXFLAGS"
++CFLAGS="-std=gnu89 -Wall $CFLAGS"
++CXXFLAGS="-Wall $CXXFLAGS"
+ AC_DEFINE([__STDC_FORMAT_MACROS], [], [Description])
+
+ # Check for Python3
diff --git a/package/libcdio/Makefile b/package/libcdio/Makefile
index c5d43c600..955f44359 100644
--- a/package/libcdio/Makefile
+++ b/package/libcdio/Makefile
@@ -4,16 +4,18 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libcdio
-PKG_VERSION:= 0.92
-PKG_RELEASE:= 2
-PKG_HASH:= 3336bf352aff43b5023e41a6d23525172a3b4ee433c467bd0fab5b8becb33fad
+PKG_VERSION:= 2.1.0
+PKG_RELEASE:= 1
+PKG_HASH:= 8550e9589dbd594bfac93b81ecf129b1dc9d0d51e90f9696f1b2f9b2af32712b
PKG_DESCR:= library for cd-rom and cd image access
PKG_SECTION:= libs/misc
+PKG_DEPENDS:= ncurses
+PKG_BUILDDEP:= ncurses
PKG_URL:= http://www.gnu.org/software/libcdio
-PKG_SITES:= ${MASTER_SITE_GNU:=libcdio/}
+PKG_SITES:= http://ftp.gnu.org/gnu/libcdio/
PKG_OPTS:= dev
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
include $(ADK_TOPDIR)/mk/package.mk
diff --git a/package/libcec/Makefile b/package/libcec/Makefile
index 422bf679b..302f03e4e 100644
--- a/package/libcec/Makefile
+++ b/package/libcec/Makefile
@@ -4,24 +4,29 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libcec
-PKG_VERSION:= d156e7cb684f86a9d73f8dcf087d4799c62d9721
+PKG_VERSION:= 6.0.2
PKG_RELEASE:= 1
-PKG_GIT:= hash
+PKG_HASH:= 090696d7a4fb772d7acebbb06f91ab92e025531c7c91824046b9e4e71ecb3377
PKG_DESCR:= control your device with your tv remote control
PKG_SECTION:= libs/video
-PKG_DEPENDS:= libudev libplatform
-PKG_BUILDDEP:= eudev cmake-host platform
+PKG_DEPENDS:= libudev p8-platform
+PKG_BUILDDEP:= eudev cmake-host p8-platform
PKG_URL:= http://libcec.pulse-eight.com/
-PKG_SITES:= https://github.com/Pulse-Eight/libcec.git
+PKG_SITES:= https://github.com/Pulse-Eight/libcec/archive/refs/tags/
PKG_OPTS:= dev
+PKG_DEPENDS_RASPBERRY_PI4:= bcm28xx-vc
+PKG_BUILDDEP_RASPBERRY_PI4:= bcm28xx-vc
PKG_DEPENDS_RASPBERRY_PI3:= bcm28xx-vc
PKG_BUILDDEP_RASPBERRY_PI3:= bcm28xx-vc
PKG_DEPENDS_RASPBERRY_PI2:= bcm28xx-vc
PKG_BUILDDEP_RASPBERRY_PI2:= bcm28xx-vc
PKG_DEPENDS_RASPBERRY_PI:= bcm28xx-vc
PKG_BUILDDEP_RASPBERRY_PI:= bcm28xx-vc
-PKG_SYSTEM_DEPENDS:= raspberry-pi raspberry-pi2 raspberry-pi3 raspberry-pi3p solidrun-imx6
+PKG_SYSTEM_DEPENDS:= raspberry-pi raspberry-pi2 raspberry-pi3 raspberry-pi4 solidrun-imx6
+
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
+WRKDIST= $(WRKDIR)/$(PKG_NAME)-$(PKG_NAME)-$(PKG_VERSION)
include $(ADK_TOPDIR)/mk/package.mk
diff --git a/package/libcec/patches/libcec-00-imx6-support.patch b/package/libcec/patches/libcec-00-imx6-support.patch
deleted file mode 100644
index 2c24635c4..000000000
--- a/package/libcec/patches/libcec-00-imx6-support.patch
+++ /dev/null
@@ -1,879 +0,0 @@
-From a7f3315333c1a79259a763c6542a6cd71855b357 Mon Sep 17 00:00:00 2001
-From: Stefan Saraev <stefan@saraev.ca>
-Date: Thu, 7 May 2015 11:35:04 +0300
-Subject: [PATCH] imx support
-
-note. I am NOT the author of the patch. just rebased it
----
- include/cectypes.h | 14 +-
- src/libcec/CECTypeUtils.h | 2 +
- src/libcec/adapter/AdapterFactory.cpp | 29 +-
- src/libcec/adapter/IMX/AdapterMessageQueue.h | 134 +++++++++
- .../adapter/IMX/IMXCECAdapterCommunication.cpp | 328 +++++++++++++++++++++
- .../adapter/IMX/IMXCECAdapterCommunication.h | 119 ++++++++
- src/libcec/adapter/IMX/IMXCECAdapterDetection.cpp | 42 +++
- src/libcec/adapter/IMX/IMXCECAdapterDetection.h | 36 +++
- src/libcec/cmake/CheckPlatformSupport.cmake | 10 +
- src/libcec/cmake/DisplayPlatformSupport.cmake | 6 +
- src/libcec/env.h.in | 3 +
- 11 files changed, 720 insertions(+), 3 deletions(-)
- create mode 100644 src/libcec/adapter/IMX/AdapterMessageQueue.h
- create mode 100644 src/libcec/adapter/IMX/IMXCECAdapterCommunication.cpp
- create mode 100644 src/libcec/adapter/IMX/IMXCECAdapterCommunication.h
- create mode 100644 src/libcec/adapter/IMX/IMXCECAdapterDetection.cpp
- create mode 100644 src/libcec/adapter/IMX/IMXCECAdapterDetection.h
-
-diff --git a/include/cectypes.h b/include/cectypes.h
-index acff259..0cfee8c 100644
---- a/include/cectypes.h
-+++ b/include/cectypes.h
-@@ -309,6 +309,17 @@ namespace CEC {
- #define CEC_EXYNOS_VIRTUAL_COM "Exynos"
-
- /*!
-+ * the path to use for the i.MX CEC wire
-+ */
-+#define CEC_IMX_PATH "/dev/mxc_hdmi_cec"
-+
-+/*!
-+ * the name of the virtual COM port to use for the i.MX CEC wire
-+ */
-+#define CEC_IMX_VIRTUAL_COM "i.MX"
-+
-+
-+/*!
- * Mimimum client version
- */
- #define CEC_MIN_LIB_VERSION 3
-@@ -876,7 +887,8 @@ typedef enum cec_adapter_type
- ADAPTERTYPE_P8_DAUGHTERBOARD = 0x2,
- ADAPTERTYPE_RPI = 0x100,
- ADAPTERTYPE_TDA995x = 0x200,
-- ADAPTERTYPE_EXYNOS = 0x300
-+ ADAPTERTYPE_EXYNOS = 0x300,
-+ ADAPTERTYPE_IMX = 0x400
- } cec_adapter_type;
-
- /** force exporting through swig */
-diff --git a/src/libcec/CECTypeUtils.h b/src/libcec/CECTypeUtils.h
-index fd8046a..48cb215 100644
---- a/src/libcec/CECTypeUtils.h
-+++ b/src/libcec/CECTypeUtils.h
-@@ -765,6 +765,8 @@ namespace CEC
- return "Raspberry Pi";
- case ADAPTERTYPE_TDA995x:
- return "TDA995x";
-+ case ADAPTERTYPE_IMX:
-+ return "i.MX";
- default:
- return "unknown";
- }
-diff --git a/src/libcec/adapter/AdapterFactory.cpp b/src/libcec/adapter/AdapterFactory.cpp
-index da05725..92e378b 100644
---- a/src/libcec/adapter/AdapterFactory.cpp
-+++ b/src/libcec/adapter/AdapterFactory.cpp
-@@ -58,6 +58,11 @@
- #include "Exynos/ExynosCECAdapterCommunication.h"
- #endif
-
-+#if defined(HAVE_IMX_API)
-+#include "IMX/IMXCECAdapterDetection.h"
-+#include "IMX/IMXCECAdapterCommunication.h"
-+#endif
-+
- using namespace CEC;
-
- int8_t CAdapterFactory::FindAdapters(cec_adapter *deviceList, uint8_t iBufSize, const char *strDevicePath /* = NULL */)
-@@ -127,7 +132,22 @@ int8_t CAdapterFactory::DetectAdapters(cec_adapter_descriptor *deviceList, uint8
- #endif
-
-
--#if !defined(HAVE_RPI_API) && !defined(HAVE_P8_USB) && !defined(HAVE_TDA995X_API)
-+
-+#if defined(HAVE_IMX_API)
-+ if (iAdaptersFound < iBufSize && CIMXCECAdapterDetection::FindAdapter() &&
-+ (!strDevicePath || !strcmp(strDevicePath, CEC_IMX_VIRTUAL_COM)))
-+ {
-+ snprintf(deviceList[iAdaptersFound].strComPath, sizeof(deviceList[iAdaptersFound].strComPath), CEC_IMX_PATH);
-+ snprintf(deviceList[iAdaptersFound].strComName, sizeof(deviceList[iAdaptersFound].strComName), CEC_IMX_VIRTUAL_COM);
-+ deviceList[iAdaptersFound].iVendorId = IMX_ADAPTER_VID;
-+ deviceList[iAdaptersFound].iProductId = IMX_ADAPTER_PID;
-+ deviceList[iAdaptersFound].adapterType = ADAPTERTYPE_IMX;
-+ iAdaptersFound++;
-+ }
-+#endif
-+
-+
-+#if !defined(HAVE_RPI_API) && !defined(HAVE_P8_USB) && !defined(HAVE_TDA995X_API) && !defined(HAVE_IMX_API)
- #error "libCEC doesn't have support for any type of adapter. please check your build system or configuration"
- #endif
-
-@@ -151,11 +171,16 @@ IAdapterCommunication *CAdapterFactory::GetInstance(const char *strPort, uint16_
- return new CRPiCECAdapterCommunication(m_lib->m_cec);
- #endif
-
-+#if defined(HAVE_IMX_API)
-+ if (!strcmp(strPort, CEC_IMX_VIRTUAL_COM))
-+ return new CIMXCECAdapterCommunication(m_lib->m_cec);
-+#endif
-+
- #if defined(HAVE_P8_USB)
- return new CUSBCECAdapterCommunication(m_lib->m_cec, strPort, iBaudRate);
- #endif
-
--#if !defined(HAVE_RPI_API) && !defined(HAVE_P8_USB) && !defined(HAVE_TDA995X_API) && !defined(HAVE_EXYNOS_API)
-+#if !defined(HAVE_RPI_API) && !defined(HAVE_P8_USB) && !defined(HAVE_TDA995X_API) && !defined(HAVE_EXYNOS_API) && !defined(HAVE_IMX_API)
- return NULL;
- #endif
- }
-diff --git a/src/libcec/adapter/IMX/AdapterMessageQueue.h b/src/libcec/adapter/IMX/AdapterMessageQueue.h
-new file mode 100644
-index 0000000..af6742c
---- /dev/null
-+++ b/src/libcec/adapter/IMX/AdapterMessageQueue.h
-@@ -0,0 +1,134 @@
-+#pragma once
-+/*
-+ * This file is part of the libCEC(R) library.
-+ *
-+ * libCEC(R) is Copyright (C) 2011-2013 Pulse-Eight Limited. All rights reserved.
-+ * libCEC(R) is an original work, containing original code.
-+ *
-+ * libCEC(R) is a trademark of Pulse-Eight Limited.
-+ *
-+ * This program is dual-licensed; 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.
-+ *
-+ *
-+ * Alternatively, you can license this library under a commercial license,
-+ * please contact Pulse-Eight Licensing for more information.
-+ *
-+ * For more information contact:
-+ * Pulse-Eight Licensing <license@pulse-eight.com>
-+ * http://www.pulse-eight.com/
-+ * http://www.pulse-eight.net/
-+ */
-+
-+#include "platform/threads/mutex.h"
-+
-+namespace CEC
-+{
-+ using namespace PLATFORM;
-+
-+ class CAdapterMessageQueueEntry
-+ {
-+ public:
-+ CAdapterMessageQueueEntry(const cec_command &command)
-+ : m_bWaiting(true), m_retval((uint32_t)-1), m_bSucceeded(false)
-+ {
-+ m_hash = hashValue(
-+ uint32_t(command.opcode_set ? command.opcode : CEC_OPCODE_NONE),
-+ command.initiator, command.destination);
-+ }
-+
-+ virtual ~CAdapterMessageQueueEntry(void) {}
-+
-+ /*!
-+ * @brief Query result from worker thread
-+ */
-+ uint32_t Result() const
-+ {
-+ return m_retval;
-+ }
-+
-+ /*!
-+ * @brief Signal waiting threads
-+ */
-+ void Broadcast(void)
-+ {
-+ CLockObject lock(m_mutex);
-+ m_condition.Broadcast();
-+ }
-+
-+ /*!
-+ * @brief Signal waiting thread(s) when message matches this entry
-+ */
-+ bool CheckMatch(uint32_t opcode, cec_logical_address initiator,
-+ cec_logical_address destination, uint32_t response)
-+ {
-+ uint32_t hash = hashValue(opcode, initiator, destination);
-+
-+ if (hash == m_hash)
-+ {
-+ CLockObject lock(m_mutex);
-+
-+ m_retval = response;
-+ m_bSucceeded = true;
-+ m_condition.Signal();
-+ return true;
-+ }
-+
-+ return false;
-+ }
-+
-+ /*!
-+ * @brief Wait for a response to this command.
-+ * @param iTimeout The timeout to use while waiting.
-+ * @return True when a response was received before the timeout passed, false otherwise.
-+ */
-+ bool Wait(uint32_t iTimeout)
-+ {
-+ CLockObject lock(m_mutex);
-+
-+ bool bReturn = m_bSucceeded ? true : m_condition.Wait(m_mutex, m_bSucceeded, iTimeout);
-+ m_bWaiting = false;
-+ return bReturn;
-+ }
-+
-+ /*!
-+ * @return True while a thread is waiting for a signal or isn't waiting yet, false otherwise.
-+ */
-+ bool IsWaiting(void)
-+ {
-+ CLockObject lock(m_mutex);
-+ return m_bWaiting;
-+ }
-+
-+ /*!
-+ * @return Hash value for given cec_command
-+ */
-+ static uint32_t hashValue(uint32_t opcode,
-+ cec_logical_address initiator,
-+ cec_logical_address destination)
-+ {
-+ return 1 | ((uint32_t)initiator << 8) |
-+ ((uint32_t)destination << 16) | ((uint32_t)opcode << 16);
-+ }
-+
-+ private:
-+ bool m_bWaiting; /**< true while a thread is waiting or when it hasn't started waiting yet */
-+ PLATFORM::CCondition<bool> m_condition; /**< the condition to wait on */
-+ PLATFORM::CMutex m_mutex; /**< mutex for changes to this class */
-+ uint32_t m_hash;
-+ uint32_t m_retval;
-+ bool m_bSucceeded;
-+ };
-+
-+};
-diff --git a/src/libcec/adapter/IMX/IMXCECAdapterCommunication.cpp b/src/libcec/adapter/IMX/IMXCECAdapterCommunication.cpp
-new file mode 100644
-index 0000000..2daa8cb
---- /dev/null
-+++ b/src/libcec/adapter/IMX/IMXCECAdapterCommunication.cpp
-@@ -0,0 +1,328 @@
-+/*
-+ * This file is part of the libCEC(R) library.
-+ *
-+ * libCEC(R) is Copyright (C) 2011-2013 Pulse-Eight Limited. All rights reserved.
-+ * libCEC(R) is an original work, containing original code.
-+ *
-+ * libCEC(R) is a trademark of Pulse-Eight Limited.
-+ *
-+ * IMX adpater port is Copyright (C) 2013 by Stephan Rafin
-+ *
-+ * You can redistribute this file 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.
-+ *
-+ *
-+ */
-+
-+#include "env.h"
-+
-+#if defined(HAVE_IMX_API)
-+#include "IMXCECAdapterCommunication.h"
-+
-+#include "CECTypeUtils.h"
-+#include "LibCEC.h"
-+#include "platform/sockets/cdevsocket.h"
-+#include "platform/util/StdString.h"
-+#include "platform/util/buffer.h"
-+
-+/*
-+ * Ioctl definitions from kernel header
-+ */
-+#define HDMICEC_IOC_MAGIC 'H'
-+#define HDMICEC_IOC_SETLOGICALADDRESS _IOW(HDMICEC_IOC_MAGIC, 1, unsigned char)
-+#define HDMICEC_IOC_STARTDEVICE _IO(HDMICEC_IOC_MAGIC, 2)
-+#define HDMICEC_IOC_STOPDEVICE _IO(HDMICEC_IOC_MAGIC, 3)
-+#define HDMICEC_IOC_GETPHYADDRESS _IOR(HDMICEC_IOC_MAGIC, 4, unsigned char[4])
-+
-+#define MAX_CEC_MESSAGE_LEN 17
-+
-+#define MESSAGE_TYPE_RECEIVE_SUCCESS 1
-+#define MESSAGE_TYPE_NOACK 2
-+#define MESSAGE_TYPE_DISCONNECTED 3
-+#define MESSAGE_TYPE_CONNECTED 4
-+#define MESSAGE_TYPE_SEND_SUCCESS 5
-+
-+typedef struct hdmi_cec_event{
-+ int event_type;
-+ int msg_len;
-+ unsigned char msg[MAX_CEC_MESSAGE_LEN];
-+}hdmi_cec_event;
-+
-+
-+using namespace std;
-+using namespace CEC;
-+using namespace PLATFORM;
-+
-+#include "AdapterMessageQueue.h"
-+
-+#define LIB_CEC m_callback->GetLib()
-+
-+// these are defined in nxp private header file
-+#define CEC_MSG_SUCCESS 0x00 /*Message transmisson Succeed*/
-+#define CEC_CSP_OFF_STATE 0x80 /*CSP in Off State*/
-+#define CEC_BAD_REQ_SERVICE 0x81 /*Bad .req service*/
-+#define CEC_MSG_FAIL_UNABLE_TO_ACCESS 0x82 /*Message transmisson failed: Unable to access CEC line*/
-+#define CEC_MSG_FAIL_ARBITRATION_ERROR 0x83 /*Message transmisson failed: Arbitration error*/
-+#define CEC_MSG_FAIL_BIT_TIMMING_ERROR 0x84 /*Message transmisson failed: Bit timming error*/
-+#define CEC_MSG_FAIL_DEST_NOT_ACK 0x85 /*Message transmisson failed: Destination Address not aknowledged*/
-+#define CEC_MSG_FAIL_DATA_NOT_ACK 0x86 /*Message transmisson failed: Databyte not acknowledged*/
-+
-+
-+CIMXCECAdapterCommunication::CIMXCECAdapterCommunication(IAdapterCommunicationCallback *callback) :
-+ IAdapterCommunication(callback)/*,
-+ m_bLogicalAddressChanged(false)*/
-+{
-+ CLockObject lock(m_mutex);
-+
-+ m_iNextMessage = 0;
-+ //m_logicalAddresses.Clear();
-+ m_logicalAddress = CECDEVICE_UNKNOWN;
-+ m_bLogicalAddressRegistered = false;
-+ m_bInitialised = false;
-+ m_dev = new CCDevSocket(CEC_IMX_PATH);
-+}
-+
-+CIMXCECAdapterCommunication::~CIMXCECAdapterCommunication(void)
-+{
-+ Close();
-+
-+ CLockObject lock(m_mutex);
-+ delete m_dev;
-+ m_dev = 0;
-+}
-+
-+bool CIMXCECAdapterCommunication::IsOpen(void)
-+{
-+ return IsInitialised() && m_dev->IsOpen();
-+}
-+
-+bool CIMXCECAdapterCommunication::Open(uint32_t iTimeoutMs, bool UNUSED(bSkipChecks), bool bStartListening)
-+{
-+ if (m_dev->Open(iTimeoutMs))
-+ {
-+ if (!bStartListening || CreateThread()) {
-+ if (m_dev->Ioctl(HDMICEC_IOC_STARTDEVICE, NULL) == 0) {
-+ m_bInitialised = true;
-+ return true;
-+ }
-+ LIB_CEC->AddLog(CEC_LOG_ERROR, "%s: Unable to start device\n", __func__);
-+ }
-+ m_dev->Close();
-+ }
-+
-+ return false;
-+}
-+
-+
-+void CIMXCECAdapterCommunication::Close(void)
-+{
-+ StopThread(0);
-+
-+ CLockObject lock(m_mutex);
-+ if (!m_bInitialised) {
-+ return;
-+ }
-+ if (m_dev->Ioctl(HDMICEC_IOC_STOPDEVICE, NULL) != 0) {
-+ LIB_CEC->AddLog(CEC_LOG_ERROR, "%s: Unable to stop device\n", __func__);
-+ }
-+ m_dev->Close();
-+ m_bInitialised = false;
-+}
-+
-+
-+std::string CIMXCECAdapterCommunication::GetError(void) const
-+{
-+ std::string strError(m_strError);
-+ return strError;
-+}
-+
-+
-+cec_adapter_message_state CIMXCECAdapterCommunication::Write(
-+ const cec_command &data, bool &UNUSED(bRetry), uint8_t UNUSED(iLineTimeout), bool UNUSED(bIsReply))
-+{
-+ //cec_frame frame;
-+ unsigned char message[MAX_CEC_MESSAGE_LEN];
-+ int msg_len = 1;
-+ cec_adapter_message_state rc = ADAPTER_MESSAGE_STATE_ERROR;
-+
-+ if ((size_t)data.parameters.size + data.opcode_set + 1 > sizeof(message))
-+ {
-+ LIB_CEC->AddLog(CEC_LOG_ERROR, "%s: data size too large !", __func__);
-+ return ADAPTER_MESSAGE_STATE_ERROR;
-+ }
-+
-+ message[0] = (data.initiator << 4) | (data.destination & 0x0f);
-+ if (data.opcode_set)
-+ {
-+ message[1] = data.opcode;
-+ msg_len++;
-+ memcpy(&message[2], data.parameters.data, data.parameters.size);
-+ msg_len+=data.parameters.size;
-+ }
-+
-+ if (m_dev->Write(message, msg_len) == msg_len)
-+ {
-+ rc = ADAPTER_MESSAGE_STATE_SENT_ACKED;
-+ }
-+ else
-+ LIB_CEC->AddLog(CEC_LOG_ERROR, "%s: sent command error !", __func__);
-+
-+ return rc;
-+}
-+
-+
-+uint16_t CIMXCECAdapterCommunication::GetFirmwareVersion(void)
-+{
-+ /* FIXME add ioctl ? */
-+ return 0;
-+}
-+
-+
-+cec_vendor_id CIMXCECAdapterCommunication::GetVendorId(void)
-+{
-+ return CEC_VENDOR_UNKNOWN;
-+}
-+
-+
-+uint16_t CIMXCECAdapterCommunication::GetPhysicalAddress(void)
-+{
-+ uint32_t info;
-+ uint16_t phy_addr;
-+
-+ if (m_dev->Ioctl(HDMICEC_IOC_GETPHYADDRESS, &info) != 0)
-+ {
-+ LIB_CEC->AddLog(CEC_LOG_ERROR, "%s: HDMICEC_IOC_GETPHYADDRESS failed !", __func__);
-+ return CEC_INVALID_PHYSICAL_ADDRESS;
-+ }
-+ /* Rebuild 16 bit raw value from fsl 32 bits value */
-+ phy_addr = ((info & 0x0f) << 12) | (info & 0x0f00) |
-+ ((info & 0x0f0000) >> 12) | ((info & 0x0f000000) >> 24);
-+
-+ return phy_addr;
-+}
-+
-+
-+cec_logical_addresses CIMXCECAdapterCommunication::GetLogicalAddresses(void)
-+{
-+ cec_logical_addresses addresses;
-+ addresses.Clear();
-+
-+ CLockObject lock(m_mutex);
-+ if ((m_logicalAddress & (CECDEVICE_UNKNOWN | CECDEVICE_UNREGISTERED)) == 0)
-+ addresses.Set(m_logicalAddress);
-+
-+ return addresses;
-+}
-+
-+void CIMXCECAdapterCommunication::HandleLogicalAddressLost(cec_logical_address UNUSED(oldAddress))
-+{
-+ UnregisterLogicalAddress();
-+}
-+
-+bool CIMXCECAdapterCommunication::UnregisterLogicalAddress(void)
-+{
-+ CLockObject lock(m_mutex);
-+ if (!m_bLogicalAddressRegistered)
-+ return true;
-+
-+ if (m_dev->Ioctl(HDMICEC_IOC_SETLOGICALADDRESS, (void *)CECDEVICE_BROADCAST) != 0)
-+ {
-+ LIB_CEC->AddLog(CEC_LOG_ERROR, "%s: HDMICEC_IOC_SETLOGICALADDRESS failed !", __func__);
-+ return false;
-+ }
-+
-+ m_logicalAddress = CECDEVICE_UNKNOWN;
-+ m_bLogicalAddressRegistered = false;
-+ return true;
-+}
-+
-+bool CIMXCECAdapterCommunication::RegisterLogicalAddress(const cec_logical_address address)
-+{
-+ CLockObject lock(m_mutex);
-+
-+ if (m_logicalAddress == address && m_bLogicalAddressRegistered)
-+ {
-+ return true;
-+ }
-+
-+ if (m_dev->Ioctl(HDMICEC_IOC_SETLOGICALADDRESS, (void *)address) != 0)
-+ {
-+ LIB_CEC->AddLog(CEC_LOG_ERROR, "%s: HDMICEC_IOC_SETLOGICALADDRESS failed !", __func__);
-+ return false;
-+ }
-+
-+ m_logicalAddress = address;
-+ m_bLogicalAddressRegistered = true;
-+ return true;
-+}
-+
-+bool CIMXCECAdapterCommunication::SetLogicalAddresses(const cec_logical_addresses &addresses)
-+{
-+ int log_addr = addresses.primary;
-+
-+ return RegisterLogicalAddress((cec_logical_address)log_addr);
-+}
-+
-+void *CIMXCECAdapterCommunication::Process(void)
-+{
-+ bool bHandled;
-+ hdmi_cec_event event;
-+ int ret;
-+
-+ uint32_t opcode, status;
-+ cec_logical_address initiator, destination;
-+
-+ while (!IsStopped())
-+ {
-+ ret = m_dev->Read((char *)&event, sizeof(event), 5000);
-+ if (ret > 0)
-+ {
-+
-+ initiator = cec_logical_address(event.msg[0] >> 4);
-+ destination = cec_logical_address(event.msg[0] & 0x0f);
-+
-+ //LIB_CEC->AddLog(CEC_LOG_DEBUG, "%s: Read data : type : %d initiator %d dest %d", __func__, event.event_type, initiator, destination);
-+ if (event.event_type == MESSAGE_TYPE_RECEIVE_SUCCESS)
-+ /* Message received */
-+ {
-+ cec_command cmd;
-+
-+ cec_command::Format(
-+ cmd, initiator, destination,
-+ ( event.msg_len > 1 ) ? cec_opcode(event.msg[1]) : CEC_OPCODE_NONE);
-+
-+ for( uint8_t i = 2; i < event.msg_len; i++ )
-+ cmd.parameters.PushBack(event.msg[i]);
-+
-+ if (!IsStopped())
-+ m_callback->OnCommandReceived(cmd);
-+ }
-+
-+ if (event.event_type == MESSAGE_TYPE_CONNECTED)
-+ /* HDMI has just been reconnected - Notify phy address*/
-+ {
-+ uint16_t iNewAddress = GetPhysicalAddress();
-+ m_callback->HandlePhysicalAddressChanged(iNewAddress);
-+ }
-+ /* We are not interested in other events */
-+ } /*else {
-+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "%s: Read returned %d", __func__, ret);
-+ }*/
-+
-+ }
-+
-+ return 0;
-+}
-+
-+#endif // HAVE_IMX_API
-diff --git a/src/libcec/adapter/IMX/IMXCECAdapterCommunication.h b/src/libcec/adapter/IMX/IMXCECAdapterCommunication.h
-new file mode 100644
-index 0000000..9e899a3
---- /dev/null
-+++ b/src/libcec/adapter/IMX/IMXCECAdapterCommunication.h
-@@ -0,0 +1,119 @@
-+#pragma once
-+/*
-+ * This file is part of the libCEC(R) library.
-+ *
-+ * libCEC(R) is Copyright (C) 2011-2013 Pulse-Eight Limited. All rights reserved.
-+ * libCEC(R) is an original work, containing original code.
-+ *
-+ * libCEC(R) is a trademark of Pulse-Eight Limited.
-+ *
-+ * IMX adpater port is Copyright (C) 2013 by Stephan Rafin
-+ *
-+ * You can redistribute this file 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.
-+ *
-+ *
-+ */
-+
-+#if defined(HAVE_IMX_API)
-+
-+#include "platform/threads/mutex.h"
-+#include "platform/threads/threads.h"
-+#include "platform/sockets/socket.h"
-+#include "adapter/AdapterCommunication.h"
-+#include <map>
-+
-+#define IMX_ADAPTER_VID 0x0471 /*FIXME TBD*/
-+#define IMX_ADAPTER_PID 0x1001
-+
-+
-+
-+namespace PLATFORM
-+{
-+ class CCDevSocket;
-+};
-+
-+
-+namespace CEC
-+{
-+ class CAdapterMessageQueueEntry;
-+
-+ class CIMXCECAdapterCommunication : public IAdapterCommunication, public PLATFORM::CThread
-+ {
-+ public:
-+ /*!
-+ * @brief Create a new USB-CEC communication handler.
-+ * @param callback The callback to use for incoming CEC commands.
-+ */
-+ CIMXCECAdapterCommunication(IAdapterCommunicationCallback *callback);
-+ virtual ~CIMXCECAdapterCommunication(void);
-+
-+ /** @name IAdapterCommunication implementation */
-+ ///{
-+ bool Open(uint32_t iTimeoutMs = CEC_DEFAULT_CONNECT_TIMEOUT, bool bSkipChecks = false, bool bStartListening = true);
-+ void Close(void);
-+ bool IsOpen(void);
-+ std::string GetError(void) const;
-+ cec_adapter_message_state Write(const cec_command &data, bool &bRetry, uint8_t iLineTimeout, bool bIsReply);
-+
-+ bool SetLineTimeout(uint8_t UNUSED(iTimeout)) { return true; }
-+ bool StartBootloader(void) { return false; }
-+ bool SetLogicalAddresses(const cec_logical_addresses &addresses);
-+ cec_logical_addresses GetLogicalAddresses(void);
-+ bool PingAdapter(void) { return IsInitialised(); }
-+ uint16_t GetFirmwareVersion(void);
-+ uint32_t GetFirmwareBuildDate(void) { return 0; }
-+ bool IsRunningLatestFirmware(void) { return true; }
-+ bool PersistConfiguration(const libcec_configuration & UNUSED(configuration)) { return false; }
-+ bool GetConfiguration(libcec_configuration & UNUSED(configuration)) { return false; }
-+ std::string GetPortName(void) { return std::string("IMX"); }
-+ uint16_t GetPhysicalAddress(void);
-+ bool SetControlledMode(bool UNUSED(controlled)) { return true; }
-+ cec_vendor_id GetVendorId(void);
-+ bool SupportsSourceLogicalAddress(const cec_logical_address address) { return address > CECDEVICE_TV && address <= CECDEVICE_BROADCAST; }
-+ cec_adapter_type GetAdapterType(void) { return ADAPTERTYPE_IMX; }
-+ uint16_t GetAdapterVendorId(void) const { return IMX_ADAPTER_VID; }
-+ uint16_t GetAdapterProductId(void) const { return IMX_ADAPTER_PID; }
-+ void HandleLogicalAddressLost(cec_logical_address UNUSED(oldAddress));
-+ void SetActiveSource(bool UNUSED(bSetTo), bool UNUSED(bClientUnregistered)) {}
-+ bool RegisterLogicalAddress(const cec_logical_address address);
-+ ///}
-+
-+ /** @name PLATFORM::CThread implementation */
-+ ///{
-+ void *Process(void);
-+ ///}
-+
-+ private:
-+ bool IsInitialised(void) const { return m_bInitialised; };
-+ bool UnregisterLogicalAddress(void);
-+
-+ std::string m_strError; /**< current error message */
-+
-+ //cec_logical_addresses m_logicalAddresses;
-+ cec_logical_address m_logicalAddress;
-+
-+ PLATFORM::CMutex m_mutex;
-+ PLATFORM::CCDevSocket *m_dev; /**< the device connection */
-+ bool m_bLogicalAddressRegistered;
-+ bool m_bInitialised;
-+
-+ PLATFORM::CMutex m_messageMutex;
-+ uint32_t m_iNextMessage;
-+ std::map<uint32_t, CAdapterMessageQueueEntry *> m_messages;
-+ };
-+
-+};
-+
-+#endif
-diff --git a/src/libcec/adapter/IMX/IMXCECAdapterDetection.cpp b/src/libcec/adapter/IMX/IMXCECAdapterDetection.cpp
-new file mode 100644
-index 0000000..6c93c45
---- /dev/null
-+++ b/src/libcec/adapter/IMX/IMXCECAdapterDetection.cpp
-@@ -0,0 +1,42 @@
-+/*
-+ * This file is part of the libCEC(R) library.
-+ *
-+ * libCEC(R) is Copyright (C) 2011-2013 Pulse-Eight Limited. All rights reserved.
-+ * libCEC(R) is an original work, containing original code.
-+ *
-+ * libCEC(R) is a trademark of Pulse-Eight Limited.
-+ *
-+ * IMX adpater port is Copyright (C) 2013 by Stephan Rafin
-+ *
-+ * You can redistribute this file 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.
-+ *
-+ *
-+ */
-+
-+#include "env.h"
-+#include <stdio.h>
-+
-+#if defined(HAVE_IMX_API)
-+#include "IMXCECAdapterDetection.h"
-+
-+
-+using namespace CEC;
-+
-+bool CIMXCECAdapterDetection::FindAdapter(void)
-+{
-+ return access(CEC_IMX_PATH, 0) == 0;
-+}
-+
-+#endif
-diff --git a/src/libcec/adapter/IMX/IMXCECAdapterDetection.h b/src/libcec/adapter/IMX/IMXCECAdapterDetection.h
-new file mode 100644
-index 0000000..d54891d
---- /dev/null
-+++ b/src/libcec/adapter/IMX/IMXCECAdapterDetection.h
-@@ -0,0 +1,36 @@
-+#pragma once
-+/*
-+ * This file is part of the libCEC(R) library.
-+ *
-+ * libCEC(R) is Copyright (C) 2011-2013 Pulse-Eight Limited. All rights reserved.
-+ * libCEC(R) is an original work, containing original code.
-+ *
-+ * libCEC(R) is a trademark of Pulse-Eight Limited.
-+ *
-+ * IMX adpater port is Copyright (C) 2013 by Stephan Rafin
-+ *
-+ * You can redistribute this file 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.
-+ *
-+ *
-+ */
-+
-+namespace CEC
-+{
-+ class CIMXCECAdapterDetection
-+ {
-+ public:
-+ static bool FindAdapter(void);
-+ };
-+}
-diff --git a/src/libcec/cmake/CheckPlatformSupport.cmake b/src/libcec/cmake/CheckPlatformSupport.cmake
-index 828cdb2..8b47795 100644
---- a/src/libcec/cmake/CheckPlatformSupport.cmake
-+++ b/src/libcec/cmake/CheckPlatformSupport.cmake
-@@ -8,6 +8,7 @@
- # HAVE_RANDR 1 if xrandr is supported
- # HAVE_LIBUDEV 1 if udev is supported
- # HAVE_RPI_API 1 if Raspberry Pi is supported
-+# HAVE_IMX_API 1 if i.MX is supported
- # HAVE_TDA995X_API 1 if TDA995X is supported
- # HAVE_EXYNOS_API 1 if Exynos is supported
- # HAVE_P8_USB_DETECT 1 if Pulse-Eight devices can be auto-detected
-@@ -87,6 +88,15 @@ else()
- list(APPEND CEC_SOURCES ${CEC_SOURCES_ADAPTER_RPI})
- endif()
-
-+ # i.MX
-+ if (HAVE_IMX_API)
-+ set(LIB_INFO "${LIB_INFO}, 'IMX'")
-+ set(CEC_SOURCES_ADAPTER_IMX adapter/IMX/IMXCECAdapterDetection.cpp
-+ adapter/IMX/IMXCECAdapterCommunication.cpp)
-+ source_group("Source Files\\adapter\\IMX" FILES ${CEC_SOURCES_ADAPTER_IMX})
-+ list(APPEND CEC_SOURCES ${CEC_SOURCES_ADAPTER_IMX})
-+ endif()
-+
- # TDA995x
- check_include_files("tda998x_ioctl.h;comps/tmdlHdmiCEC/inc/tmdlHdmiCEC_Types.h" HAVE_TDA995X_API)
- if (HAVE_TDA995X_API)
-diff --git a/src/libcec/cmake/DisplayPlatformSupport.cmake b/src/libcec/cmake/DisplayPlatformSupport.cmake
-index feee111..0309c56 100644
---- a/src/libcec/cmake/DisplayPlatformSupport.cmake
-+++ b/src/libcec/cmake/DisplayPlatformSupport.cmake
-@@ -32,6 +32,12 @@ else()
- message(STATUS "Raspberry Pi support: no")
- endif()
-
-+if (HAVE_IMX_API)
-+ message(STATUS "i.MX support: yes")
-+else()
-+ message(STATUS "i.MX support: no")
-+endif()
-+
- if (HAVE_TDA995X_API)
- message(STATUS "TDA995x support: yes")
- else()
-diff --git a/src/libcec/env.h.in b/src/libcec/env.h.in
-index a1a1f26..f90e729 100644
---- a/src/libcec/env.h.in
-+++ b/src/libcec/env.h.in
-@@ -60,6 +60,9 @@
- /* Define to 1 for Raspberry Pi support */
- #cmakedefine HAVE_RPI_API @HAVE_RPI_API@
-
-+/* Define to 1 for IMX support */
-+#cmakedefine HAVE_IMX_API @HAVE_IMX_API@
-+
- /* Define to 1 for TDA995x support */
- #cmakedefine HAVE_TDA995X_API @HAVE_TDA995X_API@
-
---
-2.1.4
-
diff --git a/package/libcec/patches/patch-src_cec-client_CMakeLists_txt b/package/libcec/patches/patch-src_cec-client_CMakeLists_txt
deleted file mode 100644
index c6faee0ef..000000000
--- a/package/libcec/patches/patch-src_cec-client_CMakeLists_txt
+++ /dev/null
@@ -1,10 +0,0 @@
---- libcec-185559110dc88aeca0915a90b3b369d2d42c0f7c.orig/src/cec-client/CMakeLists.txt 2015-05-22 14:47:17.000000000 -0500
-+++ libcec-185559110dc88aeca0915a90b3b369d2d42c0f7c/src/cec-client/CMakeLists.txt 2015-05-22 15:02:00.606971031 -0500
-@@ -44,6 +44,7 @@ if (NOT WIN32)
- # curses
- if (HAVE_CURSES_API)
- target_link_libraries(cec-client curses)
-+ target_link_libraries(cec-client tinfo)
- endif()
-
- # rt
diff --git a/package/libdisplay-info/Makefile b/package/libdisplay-info/Makefile
new file mode 100644
index 000000000..89ee541d8
--- /dev/null
+++ b/package/libdisplay-info/Makefile
@@ -0,0 +1,31 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= libdisplay-info
+PKG_VERSION:= 0.1.1
+PKG_RELEASE:= 1
+PKG_HASH:= 0d8731588e9f82a9cac96324a3d7c82e2ba5b1b5e006143fefe692c74069fb60
+PKG_DESCR:= edid and displayid library
+PKG_SECTION:= libs/misc
+PKG_BUILDDEP:= hwdata
+PKG_SITES:= https://gitlab.freedesktop.org/emersion/libdisplay-info/-/releases/0.1.1/downloads/
+PKG_OPTS:= dev
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBDISPLAY_INFO,libdisplay-info,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
+
+libdisplay-info-install:
+ $(INSTALL_DIR) $(IDIR_LIBDISPLAY_INFO)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libdisplay-info*.so* \
+ $(IDIR_LIBDISPLAY_INFO)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/libdrm/Makefile b/package/libdrm/Makefile
index 5ac234e0f..e5999416b 100644
--- a/package/libdrm/Makefile
+++ b/package/libdrm/Makefile
@@ -4,24 +4,27 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libdrm
-PKG_VERSION:= 2.4.99
+PKG_VERSION:= 2.4.120
PKG_RELEASE:= 1
-PKG_HASH:= 597fb879e2f45193431a0d352d10cd79ef61a24ab31f44320168583e10cb6302
+PKG_HASH:= 3bf55363f76c7250946441ab51d3a6cc0ae518055c0ff017324ab76cdefb327a
PKG_DESCR:= direct rendering manager library
PKG_SECTION:= libs/video
-PKG_BUILDDEP:= libpthread-stubs cairo libpciaccess
+PKG_BUILDDEP:= meson-host libpthread-stubs cairo libpciaccess
PKG_URL:= http://dri.freedesktop.org/wiki/
PKG_SITES:= http://dri.freedesktop.org/libdrm/
PKG_OPTS:= dev
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
-
include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,LIBDRM,libdrm,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-CONFIGURE_ARGS+= --disable-manpages \
- --disable-valgrind
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+MESON_FLAGS+= -Dvalgrind=disabled
+
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
libdrm-install:
$(INSTALL_DIR) $(IDIR_LIBDRM)/usr/lib
diff --git a/package/libedit/Makefile b/package/libedit/Makefile
new file mode 100644
index 000000000..71c8e5dae
--- /dev/null
+++ b/package/libedit/Makefile
@@ -0,0 +1,26 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= libedit
+PKG_VERSION:= 20230828-3.1
+PKG_RELEASE:= 1
+PKG_HASH:= 4ee8182b6e569290e7d1f44f0f78dac8716b35f656b76528f699c69c98814dad
+PKG_DESCR:= editline library
+PKG_SECTION:= libs/misc
+PKG_SITES:= https://www.thrysoee.dk/editline/
+PKG_OPTS:= dev
+
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBEDIT,libedit,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+libedit-install:
+ $(INSTALL_DIR) $(IDIR_LIBEDIT)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libedit*.so* \
+ $(IDIR_LIBEDIT)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/libedit/patches/patch-src_sys_h b/package/libedit/patches/patch-src_sys_h
new file mode 100644
index 000000000..4ee74acb0
--- /dev/null
+++ b/package/libedit/patches/patch-src_sys_h
@@ -0,0 +1,11 @@
+--- libedit-20230828-3.1.orig/src/sys.h 2023-08-27 09:50:35.000000000 +0200
++++ libedit-20230828-3.1/src/sys.h 2023-12-19 16:51:25.734885959 +0100
+@@ -40,7 +40,7 @@
+ #ifndef _h_sys
+ #define _h_sys
+
+-#if defined(HAVE_SYS_TYPES_H) && defined(__sun)
++#if defined(HAVE_SYS_TYPES_H)
+ #include <sys/types.h>
+ #endif
+
diff --git a/package/libepoxy/Makefile b/package/libepoxy/Makefile
index 2d69a3aa4..fa224ad12 100644
--- a/package/libepoxy/Makefile
+++ b/package/libepoxy/Makefile
@@ -4,22 +4,26 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libepoxy
-PKG_VERSION:= 1.2
+PKG_VERSION:= 1.5.9
PKG_RELEASE:= 1
-PKG_HASH:= 42c328440f60a5795835c5ec4bdfc1329e75bba16b6e22b3a87ed17e9679e8f6
+PKG_HASH:= d168a19a6edfdd9977fef1308ccf516079856a4275cf876de688fb7927e365e4
PKG_DESCR:= opengl function pointer management
PKG_SECTION:= libs/misc
-PKG_BUILDDEP:= util-macros-host mesa
-PKG_SITES:= http://crux.nu/files/
+PKG_DEPENDS:= mesa
+PKG_BUILDDEP:= util-macros-host mesa meson-host
+PKG_SITES:= https://github.com/anholt/libepoxy/releases/download/$(PKG_VERSION)/
PKG_OPTS:= dev
-DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
-
include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,LIBEPOXY,libepoxy,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
-AUTOTOOL_STYLE:= autogen
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
+
libepoxy-install:
$(INSTALL_DIR) $(IDIR_LIBEPOXY)/usr/lib
diff --git a/package/libesmtp/Makefile b/package/libesmtp/Makefile
index 4b7474cd5..fdfb7bdad 100644
--- a/package/libesmtp/Makefile
+++ b/package/libesmtp/Makefile
@@ -4,40 +4,38 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libesmtp
-PKG_VERSION:= 1.0.6
-PKG_RELEASE:= 2
-PKG_HASH:= d0a61a5c52d99fa7ce7d00ed0a07e341dbda67101dbed1ab0cdae3f37db4eb0b
+PKG_VERSION:= 1.1.0
+PKG_RELEASE:= 1
+PKG_HASH:= 32bc3614ca12d21c7d933f32d43410e8744b6f91fdca7732da9877a385e4e6c3
PKG_DESCR:= implements the client side of the smtp protocol
PKG_SECTION:= libs/net
-PKG_URL:= http://www.stafford.uklinux.net/libesmtp/
-PKG_SITES:= http://www.stafford.uklinux.net/libesmtp/
+PKG_URL:= https://libesmtp.github.io/index.html
+PKG_SITES:= https://github.com/libesmtp/libESMTP/archive/refs/tags/
PKG_OPTS:= dev
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
+DISTFILES:= v${PKG_VERSION}.tar.gz
+WRKDIST= $(WRKDIR)/libESMTP-$(PKG_VERSION)
-PKG_CHOICES_LIBESMTP:= WITH_LIBRESSL WITHOUT_SSL
-PKGCD_WITH_LIBRESSL:= use libressl for crypto
-PKGCB_WITH_LIBRESSL:= libressl
-PKGCS_WITH_LIBRESSL:= libressl
+PKG_CHOICES_LIBESMTP:= WITH_OPENSSL WITHOUT_SSL
+PKGCD_WITH_OPENSSL:= use openssl for crypto
+PKGCB_WITH_OPENSSL:= openssl
+PKGCS_WITH_OPENSSL:= libopenssl
PKGCD_WITHOUT_SSL:= use no ssl
include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,LIBESMTP,libesmtp,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-AUTOTOOL_STYLE:= autoreconf
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
-ifeq (${ADK_PACKAGE_LIBESMTP_WITH_LIBRESSL},y)
-CONFIGURE_ARGS+= --with-openssl
-endif
-ifeq (${ADK_PACKAGE_LIBESMTP_WITHOUT_SSL},y)
-CONFIGURE_ARGS+= --without-openssl
-endif
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
libesmtp-install:
- $(INSTALL_DIR) $(IDIR_LIBESMTP)/usr/lib/esmtp-plugins
+ $(INSTALL_DIR) $(IDIR_LIBESMTP)/usr/lib/esmtp-plugins-6.2.0
$(CP) $(WRKINST)/usr/lib/libesmtp.so* $(IDIR_LIBESMTP)/usr/lib/
- $(CP) $(WRKINST)/usr/lib/esmtp-plugins/*.so \
- $(IDIR_LIBESMTP)/usr/lib/esmtp-plugins/
+ $(CP) $(WRKINST)/usr/lib/esmtp-plugins-6.2.0/*.so \
+ $(IDIR_LIBESMTP)/usr/lib/esmtp-plugins-6.2.0/
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/libesmtp/patches/patch-Makefile_am b/package/libesmtp/patches/patch-Makefile_am
deleted file mode 100644
index f2f3d9dac..000000000
--- a/package/libesmtp/patches/patch-Makefile_am
+++ /dev/null
@@ -1,12 +0,0 @@
- prevent doubly passing our CFLAGS
---- libesmtp-1.0.6.orig/Makefile.am 2010-08-09 22:25:24.000000000 +0200
-+++ libesmtp-1.0.6/Makefile.am 2014-06-05 22:29:30.049704289 +0200
-@@ -4,7 +4,7 @@ AUTOMAKE_OPTIONS = gnu dist-bzip2
- INCLUDES = -I$(srcdir) $(VERSION_FLAGS)
- SUBDIRS = @subdirs@ @SASL_PLUGINS@
- DIST_SUBDIRS = @subdirs@ @DIST_PLUGINS@
--AM_CFLAGS = @CFLAGS@ @EXTRA_CFLAGS@
-+AM_CFLAGS = @EXTRA_CFLAGS@
- ACLOCAL_AMFLAGS = -I m4
-
- lib_LTLIBRARIES = libesmtp.la
diff --git a/package/libesmtp/patches/patch-crammd5_Makefile_am b/package/libesmtp/patches/patch-crammd5_Makefile_am
deleted file mode 100644
index c640852b7..000000000
--- a/package/libesmtp/patches/patch-crammd5_Makefile_am
+++ /dev/null
@@ -1,12 +0,0 @@
- prevent doubly passing our CFLAGS
---- libesmtp-1.0.6.orig/crammd5/Makefile.am 2010-08-08 17:45:57.000000000 +0200
-+++ libesmtp-1.0.6/crammd5/Makefile.am 2014-06-05 22:29:43.615693205 +0200
-@@ -3,7 +3,7 @@
- libdir = @plugindir@
-
- INCLUDES = -I@srcdir@
--AM_CFLAGS = @CFLAGS@ @EXTRA_CFLAGS@
-+AM_CFLAGS = @EXTRA_CFLAGS@
-
- lib_LTLIBRARIES = sasl-cram-md5.la
-
diff --git a/package/libesmtp/patches/patch-login_Makefile_am b/package/libesmtp/patches/patch-login_Makefile_am
deleted file mode 100644
index 4ba39571a..000000000
--- a/package/libesmtp/patches/patch-login_Makefile_am
+++ /dev/null
@@ -1,12 +0,0 @@
- prevent doubly passing our CFLAGS
---- libesmtp-1.0.6.orig/login/Makefile.am 2010-08-08 17:45:56.000000000 +0200
-+++ libesmtp-1.0.6/login/Makefile.am 2014-06-05 22:29:47.310690185 +0200
-@@ -5,7 +5,7 @@ libdir = @plugindir@
- INCLUDES = -I@srcdir@
-
- lib_LTLIBRARIES = sasl-login.la
--AM_CFLAGS = @CFLAGS@ @EXTRA_CFLAGS@
-+AM_CFLAGS = @EXTRA_CFLAGS@
-
- sasl_login_la_SOURCES = client-login.c
- sasl_login_la_LDFLAGS = -module -avoid-version
diff --git a/package/libesmtp/patches/patch-meson_build b/package/libesmtp/patches/patch-meson_build
new file mode 100644
index 000000000..461311751
--- /dev/null
+++ b/package/libesmtp/patches/patch-meson_build
@@ -0,0 +1,42 @@
+--- libESMTP-1.1.0.orig/meson.build 2021-06-04 18:18:50.000000000 +0200
++++ libESMTP-1.1.0/meson.build 2024-02-24 14:07:23.535476167 +0100
+@@ -63,6 +63,7 @@ add_project_arguments(cc.get_supported_a
+ ################################################################################
+ dldep = cc.find_library('dl')
+ ssldep = dependency('openssl', version : '>=1.1.0', required : get_option('tls'))
++ntlmdep = dependency('openssl', version : '>=1.1.0', required : get_option('ntlm'))
+ threaddep = dependency('threads', required : get_option('pthreads'))
+
+ #XXX add test for libbind9.so
+@@ -71,6 +72,7 @@ lwresdep = cc.find_library('lwres', requ
+ deps = [
+ dldep,
+ ssldep,
++ ntlmdep,
+ threaddep,
+ lwresdep,
+ ]
+@@ -220,8 +222,13 @@ include_dir = include_directories('.')
+ subdir('login')
+ subdir('plain')
+ subdir('crammd5')
+-if ssldep.found()
+- subdir('ntlm')
++
++if ntlmdep.found()
++ if cc.has_header('openssl/md4.h') and cc.has_function('MD4_Init', dependencies : ntlmdep)
++ subdir('ntlm')
++ else
++ error('MD4 is not supported in current openssl, unable to build NTLM plugin')
++ endif
+ endif
+
+ ################################################################################
+@@ -247,4 +254,6 @@ summary({'current:revision:age': libesmt
+ 'STARTTLS': ssldep.found(),
+ 'CHUNKING': get_option('bdat'),
+ 'ETRN': get_option('etrn'),
+- 'XUSR': get_option('xusr')})
++ 'XUSR': get_option('xusr'),
++ 'NTLM': ntlmdep.found()})
++
diff --git a/package/libesmtp/patches/patch-meson_options_txt b/package/libesmtp/patches/patch-meson_options_txt
new file mode 100644
index 000000000..6f4e81431
--- /dev/null
+++ b/package/libesmtp/patches/patch-meson_options_txt
@@ -0,0 +1,7 @@
+--- libESMTP-1.1.0.orig/meson_options.txt 2021-06-04 18:18:50.000000000 +0200
++++ libESMTP-1.1.0/meson_options.txt 2024-02-24 13:55:42.283485679 +0100
+@@ -5,3 +5,4 @@ option('lwres', type : 'feature', value
+ option('bdat', type : 'boolean', value : 'true', description : 'enable SMTP BDAT extension')
+ option('etrn', type : 'boolean', value : 'true', description : 'enable SMTP ETRN extension')
+ option('xusr', type : 'boolean', value : 'true', description : 'enable sendmail XUSR extension')
++option('ntlm', type : 'feature', value : 'disabled', description : 'build with support for NTLM authentication')
diff --git a/package/libesmtp/patches/patch-ntlm_Makefile_am b/package/libesmtp/patches/patch-ntlm_Makefile_am
deleted file mode 100644
index 94928b0a3..000000000
--- a/package/libesmtp/patches/patch-ntlm_Makefile_am
+++ /dev/null
@@ -1,12 +0,0 @@
- prevent doubly passing our CFLAGS
---- libesmtp-1.0.6.orig/ntlm/Makefile.am 2010-08-08 17:45:56.000000000 +0200
-+++ libesmtp-1.0.6/ntlm/Makefile.am 2014-06-05 22:29:51.995686387 +0200
-@@ -3,7 +3,7 @@
- libdir = @plugindir@
-
- INCLUDES = -I@srcdir@
--AM_CFLAGS = @CFLAGS@ @EXTRA_CFLAGS@
-+AM_CFLAGS = @EXTRA_CFLAGS@
-
- lib_LTLIBRARIES = sasl-ntlm.la
-
diff --git a/package/libesmtp/patches/patch-ntlm_meson_build b/package/libesmtp/patches/patch-ntlm_meson_build
new file mode 100644
index 000000000..72dbdaccf
--- /dev/null
+++ b/package/libesmtp/patches/patch-ntlm_meson_build
@@ -0,0 +1,11 @@
+--- libESMTP-1.1.0.orig/ntlm/meson.build 2021-06-04 18:18:50.000000000 +0200
++++ libESMTP-1.1.0/ntlm/meson.build 2024-02-24 14:03:10.243479603 +0100
+@@ -5,7 +5,7 @@ sasl_ntlm_sources = [
+ 'ntlmstruct.c',
+ ]
+
+-ntlm_deps = [ ssldep, ]
++ntlm_deps = [ ntlmdep, ]
+
+ sasl_ntlm = shared_module('ntlm', sasl_ntlm_sources,
+ name_prefix : 'sasl-',
diff --git a/package/libesmtp/patches/patch-plain_Makefile_am b/package/libesmtp/patches/patch-plain_Makefile_am
deleted file mode 100644
index a22054804..000000000
--- a/package/libesmtp/patches/patch-plain_Makefile_am
+++ /dev/null
@@ -1,12 +0,0 @@
- prevent doubly passing our CFLAGS
---- libesmtp-1.0.6.orig/plain/Makefile.am 2010-08-08 17:45:54.000000000 +0200
-+++ libesmtp-1.0.6/plain/Makefile.am 2014-06-05 22:29:56.668682572 +0200
-@@ -3,7 +3,7 @@
- libdir = @plugindir@
-
- INCLUDES = -I@srcdir@
--AM_CFLAGS = @CFLAGS@ @EXTRA_CFLAGS@
-+AM_CFLAGS = @EXTRA_CFLAGS@
-
- lib_LTLIBRARIES = sasl-plain.la
-
diff --git a/package/libevdev/Makefile b/package/libevdev/Makefile
new file mode 100644
index 000000000..b78cca1b1
--- /dev/null
+++ b/package/libevdev/Makefile
@@ -0,0 +1,25 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= libevdev
+PKG_VERSION:= 1.12.0
+PKG_RELEASE:= 1
+PKG_HASH:= 2f729e3480695791f9482e8388bd723402b89f0eaf118057bbdea3cecee9b237
+PKG_DESCR:= wrapper library for evdev devices
+PKG_SECTION:= libs/misc
+PKG_URL:= add project url
+PKG_SITES:= https://www.freedesktop.org/software/libevdev/
+PKG_OPTS:= dev
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBEVDEV,libevdev,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+libevdev-install:
+ $(INSTALL_DIR) $(IDIR_LIBEVDEV)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libevdev*.so* \
+ $(IDIR_LIBEVDEV)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/libevent/Makefile b/package/libevent/Makefile
index bb3ae87d7..68094dd2f 100644
--- a/package/libevent/Makefile
+++ b/package/libevent/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libevent
-PKG_VERSION:= 2.0.22
+PKG_VERSION:= 2.1.12
PKG_RELEASE:= 1
-PKG_HASH:= 71c2c49f0adadacfdbe6332a372c38cf9c8b7895bb73dabeaa53cdcc1d4e1fa3
+PKG_HASH:= 92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb
PKG_DESCR:= event notification library for event-driven network servers
PKG_SECTION:= libs/net
PKG_URL:= http://libevent.org/
@@ -24,6 +24,8 @@ ifeq ($(ADK_TARGET_USE_STATIC_LIBS_ONLY),y)
MAKE_FLAGS+= LDFLAGS="$(TARGET_LDFLAGS) -all-static"
endif
+CONFIGURE_ARGS+= --disable-openssl
+
libevent-install:
$(INSTALL_DIR) $(IDIR_LIBEVENT)/usr/lib
$(CP) $(WRKINST)/usr/lib/libevent*.so* $(IDIR_LIBEVENT)/usr/lib
diff --git a/package/libfastjson/Makefile b/package/libfastjson/Makefile
index 071494ee9..8aa71db57 100644
--- a/package/libfastjson/Makefile
+++ b/package/libfastjson/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libfastjson
-PKG_VERSION:= 0.99.4
+PKG_VERSION:= 0.99.8
PKG_RELEASE:= 1
-PKG_HASH:= 03ef63dcc88417e71c19ce4436804159e3397e3a20d3529efef6a43c3bef5c8d
+PKG_HASH:= 7e49057b26a5a9e3c6623e024f95f9fd9a14b571b9150aeb89d6d475fc3633e3
PKG_DESCR:= another json library
PKG_SECTION:= libs/data
PKG_URL:= https://github.com/rsyslog/libfastjson
diff --git a/package/libffi/Makefile b/package/libffi/Makefile
index 8fe84fc58..80857706b 100644
--- a/package/libffi/Makefile
+++ b/package/libffi/Makefile
@@ -4,14 +4,14 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= libffi
-PKG_VERSION:= 3.2.1
+PKG_VERSION:= 3.4.4
PKG_RELEASE:= 1
-PKG_HASH:= d06ebb8e1d9a22d19e38d63fdb83954253f39bedc5d46232a05645685722ca37
+PKG_HASH:= d66c56ad259a82cf2a9dfc408b32bf5da52371500b84745f7fb8b645712df676
PKG_DESCR:= foreign function interface library
PKG_SECTION:= libs/misc
HOST_BUILDDEP:= libtool-host
PKG_URL:= http://sourceware.org/libffi/
-PKG_SITES:= ftp://sourceware.org/pub/libffi/
+PKG_SITES:= https://github.com/libffi/libffi/releases/download/v${PKG_VERSION}/
PKG_OPTS:= dev
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
@@ -22,10 +22,9 @@ include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call HOST_template,LIBFFI,libffi,${PKG_VERSION}-${PKG_RELEASE}))
$(eval $(call PKG_template,LIBFFI,libffi,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-AUTOTOOL_STYLE:= autoreconf
HOST_STYLE:= auto
-HOST_CONFIGURE_ARGS+= --disable-builddir --with-pic
-CONFIGURE_ARGS+= --disable-builddir --with-pic
+HOST_CONFIGURE_ARGS+= --disable-builddir --with-pic --disable-symvers
+CONFIGURE_ARGS+= --disable-builddir --with-pic --disable-symvers
ifeq ($(ADK_PACKAGE_OPENJDK7),y)
CONFIGURE_ARGS+= --enable-static
diff --git a/package/libffi/patches/patch-include_Makefile_am b/package/libffi/patches/patch-include_Makefile_am
deleted file mode 100644
index 0ec4e125c..000000000
--- a/package/libffi/patches/patch-include_Makefile_am
+++ /dev/null
@@ -1,9 +0,0 @@
---- libffi-3.1.orig/include/Makefile.am 2014-04-25 19:45:13.000000000 +0200
-+++ libffi-3.1/include/Makefile.am 2014-06-12 15:22:08.000000000 +0200
-@@ -5,5 +5,5 @@ AUTOMAKE_OPTIONS=foreign
- DISTCLEANFILES=ffitarget.h
- EXTRA_DIST=ffi.h.in ffi_common.h
-
--includesdir = $(libdir)/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
-+includesdir = $(prefix)/include
- nodist_includes_HEADERS = ffi.h ffitarget.h
diff --git a/package/libffi/patches/patch-libffi_pc_in b/package/libffi/patches/patch-libffi_pc_in
deleted file mode 100644
index 05980c7cc..000000000
--- a/package/libffi/patches/patch-libffi_pc_in
+++ /dev/null
@@ -1,16 +0,0 @@
---- libffi-3.1.orig/libffi.pc.in 2014-04-25 19:45:13.000000000 +0200
-+++ libffi-3.1/libffi.pc.in 2014-06-12 17:35:39.000000000 +0200
-@@ -1,11 +1,10 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
- libdir=@libdir@
--toolexeclibdir=@toolexeclibdir@
--includedir=${libdir}/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
-+includedir=${prefix}/include
-
- Name: @PACKAGE_NAME@
- Description: Library supporting Foreign Function Interfaces
- Version: @PACKAGE_VERSION@
--Libs: -L${toolexeclibdir} -lffi
-+Libs: -lffi
- Cflags: -I${includedir}
diff --git a/package/libgc/Makefile b/package/libgc/Makefile
index 5971082e0..61d170970 100644
--- a/package/libgc/Makefile
+++ b/package/libgc/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libgc
-PKG_VERSION:= 7.4.0
-PKG_RELEASE:= 2
-PKG_HASH:= 61f8fc6991f8cb003a0d3c7d251c5b9a76093615ef793e0c588a4661e0b5e283
+PKG_VERSION:= 8.2.0
+PKG_RELEASE:= 1
+PKG_HASH:= 2540f7356cb74f6c5b75326c6d38a066edd796361fd7d4ed26e494d9856fed8f
PKG_DESCR:= garbage collector library
PKG_SECTION:= libs/misc
PKG_BUILDDEP:= libatomic_ops
diff --git a/package/libgc/patches/patch-os_dep_c b/package/libgc/patches/patch-os_dep_c
deleted file mode 100644
index 6a5e00f87..000000000
--- a/package/libgc/patches/patch-os_dep_c
+++ /dev/null
@@ -1,39 +0,0 @@
---- gc-7.4.0.orig/os_dep.c 2013-11-15 21:11:03.000000000 +0100
-+++ gc-7.4.0/os_dep.c 2014-04-10 07:14:09.000000000 +0200
-@@ -16,36 +16,6 @@
-
- #include "private/gc_priv.h"
-
--#if defined(LINUX) && !defined(POWERPC) && !defined(NO_SIGCONTEXT_H)
--# include <linux/version.h>
--# 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 <asm/signal.h>
--# 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 <features.h>
--# 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 <sigcontext.h>
--# endif /* 0 == __GLIBC_MINOR__ */
--# else /* __GLIBC__ < 2 */
-- /* libc5 doesn't have <sigcontext.h>: go directly with the kernel */
-- /* one. Check LINUX_VERSION_CODE to see which we should reference. */
--# include <asm/sigcontext.h>
--# endif /* __GLIBC__ < 2 */
--# endif
--#endif /* LINUX && !POWERPC */
--
- #if !defined(OS2) && !defined(PCR) && !defined(AMIGA) && !defined(MACOS) \
- && !defined(MSWINCE) && !defined(__CC_ARM)
- # include <sys/types.h>
diff --git a/package/libgcc/Makefile b/package/libgcc/Makefile
index e9ae22b86..b00bb59c5 100644
--- a/package/libgcc/Makefile
+++ b/package/libgcc/Makefile
@@ -34,7 +34,7 @@ endif
else
ifeq ($(ADK_TARGET_ARCH_AVR32),)
ifeq ($(ADK_TARGET_BINFMT_FLAT),)
- ${CP} ${STAGING_TARGET_DIR}/usr/lib/libgcc*.so* ${IDIR_LIBGCC}/$(ADK_TARGET_LIBC_PATH)
+ -${CP} ${STAGING_TARGET_DIR}/usr/lib/libgcc*.so* ${IDIR_LIBGCC}/$(ADK_TARGET_LIBC_PATH)
endif
endif
endif
diff --git a/package/libgcrypt/Makefile b/package/libgcrypt/Makefile
index 7d9bd2de9..9ed07ce9c 100644
--- a/package/libgcrypt/Makefile
+++ b/package/libgcrypt/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libgcrypt
-PKG_VERSION:= 1.8.2
+PKG_VERSION:= 1.10.3
PKG_RELEASE:= 1
-PKG_HASH:= c8064cae7558144b13ef0eb87093412380efa16c4ee30ad12ecb54886a524c07
+PKG_HASH:= 8b0870897ac5ac67ded568dcfadf45969cfa8a6beb0fd60af2a9eadc2a3272aa
PKG_DESCR:= crypto library
PKG_SECTION:= libs/crypto
PKG_DEPENDS:= libgpg-error
@@ -22,6 +22,7 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,LIBGCRYPT,libgcrypt,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
CONFIGURE_ARGS+= --disable-asm \
+ --disable-doc \
--with-gpg-error-prefix="$(STAGING_TARGET_DIR)/usr"
libgcrypt-install:
diff --git a/package/libgpg-error/Makefile b/package/libgpg-error/Makefile
index 418efe7c5..c9d50ca65 100644
--- a/package/libgpg-error/Makefile
+++ b/package/libgpg-error/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= libgpg-error
-PKG_VERSION:= 1.28
+PKG_VERSION:= 1.47
PKG_RELEASE:= 1
-PKG_HASH:= 3edb957744905412f30de3e25da18682cbe509541e18cd3b8f9df695a075da49
+PKG_HASH:= 9e3c670966b96ecc746c28c2c419541e3bcb787d1a73930f5e5f5e1bcbbb9bdb
PKG_DESCR:= helper library for common error codes and descriptions
PKG_SECTION:= libs/misc
PKG_URL:= http://www.gnupg.org/
@@ -54,16 +54,24 @@ ifeq ($(ADK_TARGET_ARCH_SPARC64),y)
LIBGPG_PREFIX:= sparc64-unknown-linux-gnu
endif
ifeq ($(ADK_TARGET_ARCH_X86),y)
-LIBGPG_PREFIX:= i686-pc-linux-gnu
+LIBGPG_PREFIX:= i686-unknown-linux-gnu
endif
ifeq ($(ADK_TARGET_ARCH_X86_64),y)
-LIBGPG_PREFIX:= x86_64-pc-linux-gnu
+LIBGPG_PREFIX:= x86_64-unknown-linux-gnu
endif
+ifeq ($(ADK_TARGET_ARCH_XTENSA),y)
+LIBGPG_PREFIX:= xtensa-unknown-linux-gnu
+endif
+
+CONFIGURE_ARGS+= --disable-tests \
+ --disable-languages
post-extract:
- cd $(WRKSRC)/src/syscfg && \
+ cd $(WRKSRC)/src/syscfg && ( \
+ ln -s lock-obj-pub.$(LIBGPG_PREFIX).h \
+ lock-obj-pub.$(GNU_TARGET_NAME).h ; \
ln -s lock-obj-pub.$(LIBGPG_PREFIX).h \
- lock-obj-pub.$(GNU_TARGET_NAME).h
+ lock-obj-pub.$(ADK_TARGET_LINUXTYPE)-$(ADK_TARGET_SUFFIX).h )
libgpg-error-install:
${INSTALL_DIR} ${IDIR_LIBGPG_ERROR}/usr/lib
diff --git a/package/libgpg-error/patches/0001-core-Fix-regression-on-arm64-due-to-invalid-use-of-v.patch b/package/libgpg-error/patches/0001-core-Fix-regression-on-arm64-due-to-invalid-use-of-v.patch
deleted file mode 100644
index 3abf3ab49..000000000
--- a/package/libgpg-error/patches/0001-core-Fix-regression-on-arm64-due-to-invalid-use-of-v.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 791177de023574223eddf7288eb7c5a0721ac623 Mon Sep 17 00:00:00 2001
-From: Werner Koch <wk@gnupg.org>
-Date: Sun, 18 Mar 2018 17:39:43 +0100
-Subject: [PATCH] core: Fix regression on arm64 due to invalid use of va_list.
-
-* src/logging.c (_gpgrt_log_printhex): Provide a dummy arg instead of
-NULL.
---
-
-Fix
-Suggested-by: Jakub Wilk <jwilk@jwilk.net>
-
-Signed-off-by: Werner Koch <wk@gnupg.org>
----
- src/logging.c | 18 ++++++++++++++----
- 1 file changed, 14 insertions(+), 4 deletions(-)
-
-diff --git a/src/logging.c b/src/logging.c
-index 1a4f620..d01f974 100644
---- a/src/logging.c
-+++ b/src/logging.c
-@@ -1090,9 +1090,10 @@ _gpgrt_log_flush (void)
-
-
- /* Print a hexdump of (BUFFER,LENGTH). With FMT passed as NULL print
-- * just the raw dump, with FMT being an empty string, print a trailing
-- * linefeed, otherwise print an entire debug line with the expanded
-- * FMT followed by a possible wrapped hexdump and a final LF. */
-+ * just the raw dump (in this case ARG_PTR is not used), with FMT
-+ * being an empty string, print a trailing linefeed, otherwise print
-+ * an entire debug line with the expanded FMT followed by a possible
-+ * wrapped hexdump and a final LF. */
- void
- _gpgrt_logv_printhex (const void *buffer, size_t length,
- const char *fmt, va_list arg_ptr)
-@@ -1150,7 +1151,16 @@ _gpgrt_log_printhex (const void *buffer, size_t length,
- va_end (arg_ptr);
- }
- else
-- _gpgrt_logv_printhex (buffer, length, NULL, NULL);
-+ {
-+ /* va_list is not necessary a pointer and thus we can't use NULL
-+ * because that would conflict with platforms using a straight
-+ * struct for it (e.g. arm64). We use a dummy variable instead;
-+ * the static is a simple way zero it out so to not get
-+ * complains about uninitialized use. */
-+ static va_list dummy_argptr;
-+
-+ _gpgrt_logv_printhex (buffer, length, NULL, dummy_argptr);
-+ }
- }
-
-
---
-2.16.2
-
diff --git a/package/libgpg-error/patches/patch-configure b/package/libgpg-error/patches/patch-configure
deleted file mode 100644
index ef5027984..000000000
--- a/package/libgpg-error/patches/patch-configure
+++ /dev/null
@@ -1,31 +0,0 @@
---- libgpg-error-1.12.orig/configure 2013-06-24 06:42:28.000000000 +0200
-+++ libgpg-error-1.12/configure 2015-11-08 11:40:16.360212436 +0100
-@@ -670,6 +670,7 @@ MSGFMT
- GETTEXT_MACRO_VERSION
- USE_NLS
- CC_FOR_BUILD
-+CFLAGS_FOR_BUILD
- RC
- OTOOL64
- OTOOL
-@@ -814,7 +815,8 @@ LDFLAGS
- LIBS
- CPPFLAGS
- CPP
--CC_FOR_BUILD'
-+CC_FOR_BUILD
-+CFLAGS_FOR_BUILD'
-
-
- # Initialize some variables set by options.
-@@ -12259,8 +12261,10 @@ CFLAGS=$lt_save_CFLAGS
- $as_echo_n "checking for cc for build... " >&6; }
- if test "$cross_compiling" = "yes"; then
- CC_FOR_BUILD="${CC_FOR_BUILD-cc}"
-+ CFLAGS_FOR_BUILD="${CFLAGS_FOR_BUILD}"
- else
- CC_FOR_BUILD="${CC_FOR_BUILD-$CC}"
-+ CFLAGS_FOR_BUILD="${CFLAGS_FOR_BUILD-$CFLAGS}"
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC_FOR_BUILD" >&5
- $as_echo "$CC_FOR_BUILD" >&6; }
diff --git a/package/libgpg-error/src/src/syscfg/lock-obj-pub.xtensa-unknown-linux-gnu.h b/package/libgpg-error/src/src/syscfg/lock-obj-pub.xtensa-unknown-linux-gnu.h
new file mode 100644
index 000000000..60eadab8e
--- /dev/null
+++ b/package/libgpg-error/src/src/syscfg/lock-obj-pub.xtensa-unknown-linux-gnu.h
@@ -0,0 +1,24 @@
+## lock-obj-pub.or1k-unknown-linux-gnu.h
+## File created by gen-posix-lock-obj - DO NOT EDIT
+## To be included by mkheader into gpg-error.h
+
+typedef struct
+{
+ long _vers;
+ union {
+ volatile char _priv[32];
+ long _x_align;
+ long *_xp_align;
+ } u;
+} gpgrt_lock_t;
+
+#define GPGRT_LOCK_INITIALIZER {1,{{0,0,0,0,0,0,0,0, \
+ 0,0,0,0,0,0,0,0, \
+ 0,0,0,0,0,0,0,0, \
+ 0,0,0,0,0,0,0,0}}}
+##
+## Local Variables:
+## mode: c
+## buffer-read-only: t
+## End:
+##
diff --git a/package/libgtk3/Makefile b/package/libgtk3/Makefile
index 2d90fdf39..e0e087dd7 100644
--- a/package/libgtk3/Makefile
+++ b/package/libgtk3/Makefile
@@ -4,18 +4,19 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libgtk3
-PKG_VERSION:= 3.20.6
-PKG_EXTRAVER:= 3.20
+PKG_VERSION:= 3.24.31
+PKG_EXTRAVER:= 3.24
PKG_RELEASE:= 1
-PKG_HASH:= 3f8016563a96b1cfef4ac9e795647f6316deb2978ff939b19e4e4f8f936fa4b2
+PKG_HASH:= 423c3e7fdb4c459ee889e35fd4d71fd2623562541c1041b11c07e5ad1ff10bf9
PKG_DESCR:= multi-platform toolkit for creating graphical user interfaces
PKG_SECTION:= libs/misc
PKG_DEPENDS:= glib cairo libxi libepoxy pango at-spi2-core
PKG_DEPENDS+= at-spi2-atk libxext libxrender libx11
-PKG_DEPENDS+= libxcomposite libxdamage
+PKG_DEPENDS+= libxcomposite libxdamage fribidi
PKG_BUILDDEP:= cairo atk pango libXext renderproto libXrender
PKG_BUILDDEP+= gdk-pixbuf libXcomposite libXdamage libX11 libXi
PKG_BUILDDEP+= at-spi2-core at-spi2-atk gdk-pixbuf-host libepoxy
+PKG_BUILDDEP+= fribidi
PKG_NEEDS:= c++
PKG_URL:= http://www.gtk.org/
PKG_SITES:= $(MASTER_SITE_GNOME:=gtk+/$(PKG_EXTRAVER)/)
@@ -35,6 +36,7 @@ $(eval $(call PKG_template,LIBGTK3,libgtk3,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_D
HOST_CFLAGS+= -I$(STAGING_HOST_DIR)/usr/include/glib-2.0 -I$(STAGING_HOST_DIR)/usr/include/gdk-pixbuf-2.0
HOST_LDFLAGS+= -lgobject-2.0 -lgmodule-2.0 -pthread -lrt -lglib-2.0 -lgdk_pixbuf-2.0
+CONFIGURE_ENV+= GLIB_COMPILE_RESOURCES=$(STAGING_HOST_DIR)/usr/bin/glib-compile-resources
CONFIGURE_ARGS+= --disable-gtk-doc-html \
--disable-gtk-doc \
--disable-modules \
diff --git a/package/libinih/Makefile b/package/libinih/Makefile
new file mode 100644
index 000000000..d546f244a
--- /dev/null
+++ b/package/libinih/Makefile
@@ -0,0 +1,36 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= libinih
+PKG_VERSION:= r58
+PKG_RELEASE:= 1
+PKG_HASH:= e79216260d5dffe809bda840be48ab0eec7737b2bb9f02d2275c1b46344ea7b7
+PKG_DESCR:= ini parser library
+PKG_SECTION:= libs/misc
+PKG_BUILDDEP:= meson-host
+PKG_URL:= https://github.com/benhoyt/inih
+PKG_SITES:= https://github.com/benhoyt/inih/archive/refs/tags/
+PKG_OPTS:= dev
+
+DISTFILES:= $(PKG_VERSION).tar.gz
+
+WRKDIST= ${WRKDIR}/inih-${PKG_VERSION}
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBINIH,libinih,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
+
+libinih-install:
+ $(INSTALL_DIR) $(IDIR_LIBINIH)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libinih*.so* \
+ $(IDIR_LIBINIH)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/libinput/Makefile b/package/libinput/Makefile
new file mode 100644
index 000000000..8c0c6a759
--- /dev/null
+++ b/package/libinput/Makefile
@@ -0,0 +1,39 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= libinput
+PKG_VERSION:= 1.19.2
+PKG_RELEASE:= 1
+PKG_HASH:= 0fc39f0af3ee1a77c60c34bc45391a4d0879169f7c0f7bbbeb5eef590b98b883
+PKG_DESCR:= input library
+PKG_DEPENDS:= mtdev libevdev libudev
+PKG_BUILDDEP:= mtdev libevdev eudev
+PKG_SECTION:= libs/misc
+PKG_SITES:= https://www.freedesktop.org/software/libinput/
+PKG_OPTS:= dev
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBINPUT,libinput,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+MESON_FLAGS+= -Dlibwacom=false \
+ -Dtests=false \
+ -Ddebug-gui=false
+
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
+
+libinput-install:
+ $(INSTALL_DIR) $(IDIR_LIBINPUT)/usr/share/libinput
+ $(CP) $(WRKINST)/usr/share/libinput/* \
+ $(IDIR_LIBINPUT)/usr/share/libinput/
+ $(INSTALL_DIR) $(IDIR_LIBINPUT)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libinput*.so* \
+ $(IDIR_LIBINPUT)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/libjansson/Makefile b/package/libjansson/Makefile
index e75c8b199..c26b28812 100644
--- a/package/libjansson/Makefile
+++ b/package/libjansson/Makefile
@@ -4,16 +4,16 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libjansson
-PKG_VERSION:= 2.5
+PKG_VERSION:= 2.14
PKG_RELEASE:= 1
-PKG_HASH:= dd8bbfb38ad5031ce88e066b14d3b7e9c7113243daa7f4cde1994b7fc90bb1b1
+PKG_HASH:= fba956f27c6ae56ce6dfd52fbf9d20254aad42821f74fa52f83957625294afb9
PKG_DESCR:= json library
PKG_SECTION:= libs/data
PKG_URL:= http://www.digip.org/jansson/
-PKG_SITES:= http://www.digip.org/jansson/releases/
+PKG_SITES:= https://github.com/akheron/jansson/releases/download/v$(PKG_VERSION)/
PKG_OPTS:= dev
-DISTFILES:= jansson-${PKG_VERSION}.tar.gz
+DISTFILES:= jansson-${PKG_VERSION}.tar.bz2
WRKDIST= ${WRKDIR}/jansson-${PKG_VERSION}
include $(ADK_TOPDIR)/mk/package.mk
diff --git a/package/libksba/Makefile b/package/libksba/Makefile
index c2c474bdc..1d0565068 100644
--- a/package/libksba/Makefile
+++ b/package/libksba/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libksba
-PKG_VERSION:= 1.3.5
+PKG_VERSION:= 1.6.5
PKG_RELEASE:= 1
-PKG_HASH:= 41444fd7a6ff73a79ad9728f985e71c9ba8cd3e5e53358e70d5f066d35c1a340
+PKG_HASH:= a564628c574c99287998753f98d750babd91a4e9db451f46ad140466ef2a6d16
PKG_DESCR:= working with X.509 certificates
PKG_SECTION:= libs/crypto
PKG_DEPENDS:= libgpg-error
diff --git a/package/libmd/Makefile b/package/libmd/Makefile
new file mode 100644
index 000000000..f95b7bf0e
--- /dev/null
+++ b/package/libmd/Makefile
@@ -0,0 +1,25 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= libmd
+PKG_VERSION:= 1.1.0
+PKG_RELEASE:= 1
+PKG_HASH:= 1bd6aa42275313af3141c7cf2e5b964e8b1fd488025caf2f971f43b00776b332
+PKG_DESCR:= message digest implementations
+PKG_SECTION:= libs/misc
+PKG_URL:= https://www.hadrons.org/software/libmd/
+PKG_SITES:= https://archive.hadrons.org/software/libmd/
+PKG_OPTS:= dev
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBMD,libmd,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+libmd-install:
+ $(INSTALL_DIR) $(IDIR_LIBMD)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libmd*.so* \
+ $(IDIR_LIBMD)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/libmicrohttpd/Makefile b/package/libmicrohttpd/Makefile
index 6b9590553..f8621deaa 100644
--- a/package/libmicrohttpd/Makefile
+++ b/package/libmicrohttpd/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libmicrohttpd
-PKG_VERSION:= 0.9.52
+PKG_VERSION:= 1.0.0
PKG_RELEASE:= 1
-PKG_HASH:= 54797f6e763d417627f89f60e4ae0a431dab0523f92f83def23ea02d0defafea
+PKG_HASH:= a02792d3cd1520e2ecfed9df642079d44a36ed87167442b28d7ed19e906e3e96
PKG_DESCR:= library make it easy to run an webserver
PKG_SECTION:= libs/net
PKG_URL:= http://www.gnu.org/software/libmicrohttpd/
@@ -19,6 +19,8 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,LIBMICROHTTPD,libmicrohttpd,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
+CONFIGURE_ARGS+= --disable-https
+
libmicrohttpd-install:
$(INSTALL_DIR) $(IDIR_LIBMICROHTTPD)/usr/lib
$(CP) $(WRKINST)/usr/lib/libmicrohttpd*.so* \
diff --git a/package/libmpdclient/Makefile b/package/libmpdclient/Makefile
index 2d9f31c75..e8a456c50 100644
--- a/package/libmpdclient/Makefile
+++ b/package/libmpdclient/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libmpdclient
-PKG_VERSION:= 2.13
+PKG_VERSION:= 2.22
PKG_RELEASE:= 1
-PKG_HASH:= 5115bd52bc20a707c1ecc7587e6389c17305348e2132a66cf767c62fc55ed45d
+PKG_HASH:= eac15b82b5ba5ed0648af580221eb74657394f7fe768e966d9e9ebb27435429f
PKG_DESCR:= library for interfacing music player daemon
PKG_SECTION:= libs/audio
PKG_BUILDDEP:= meson-host
diff --git a/package/libmpdclient/patches/patch-src_socket_c b/package/libmpdclient/patches/patch-src_socket_c
deleted file mode 100644
index 5417eccd7..000000000
--- a/package/libmpdclient/patches/patch-src_socket_c
+++ /dev/null
@@ -1,10 +0,0 @@
---- libmpdclient-2.8.orig/src/socket.c 2010-01-01 15:17:56.000000000 +0100
-+++ libmpdclient-2.8/src/socket.c 2013-09-18 11:03:04.000000000 +0200
-@@ -35,6 +35,7 @@
- #include <stdlib.h>
- #include <stdio.h>
- #include <fcntl.h>
-+#include <sys/select.h>
- #include <unistd.h>
-
- #ifdef WIN32
diff --git a/package/libmpdclient/patches/patch-src_sync_c b/package/libmpdclient/patches/patch-src_sync_c
deleted file mode 100644
index b9c5ec10d..000000000
--- a/package/libmpdclient/patches/patch-src_sync_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- libmpdclient-2.8.orig/src/sync.c 2010-01-01 15:17:56.000000000 +0100
-+++ libmpdclient-2.8/src/sync.c 2013-09-18 11:04:49.000000000 +0200
-@@ -34,6 +34,8 @@
- #include <stdlib.h>
- #include <stdio.h>
- #include <fcntl.h>
-+#include <time.h>
-+#include <sys/select.h>
- #include <unistd.h>
-
- static bool
diff --git a/package/libmspack/Makefile b/package/libmspack/Makefile
new file mode 100644
index 000000000..b877fb16a
--- /dev/null
+++ b/package/libmspack/Makefile
@@ -0,0 +1,26 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= libmspack
+PKG_VERSION:= 0.10.1alpha
+PKG_RELEASE:= 1
+PKG_HASH:= bac862dee6e0fc10d92c70212441d9f8ad9b0222edc9a708c3ead4adb1b24a8e
+PKG_DESCR:= cab extractor
+PKG_SECTION:= libs/misc
+PKG_SITES:= https://www.cabextract.org.uk/libmspack/
+PKG_OPTS:= dev
+
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBMSPACK,libmspack,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+libmspack-install:
+ $(INSTALL_DIR) $(IDIR_LIBMSPACK)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libmspack*.so* \
+ $(IDIR_LIBMSPACK)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/libnettle/Makefile b/package/libnettle/Makefile
index e3527e0e3..c9d3f38e1 100644
--- a/package/libnettle/Makefile
+++ b/package/libnettle/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libnettle
-PKG_VERSION:= 3.3
+PKG_VERSION:= 3.9.1
PKG_RELEASE:= 1
-PKG_HASH:= 46942627d5d0ca11720fec18d81fc38f7ef837ea4197c1f630e71ce0d470b11e
+PKG_HASH:= ccfeff981b0ca71bbd6fbcb054f407c60ffb644389a5be80d6716d5b550c6ce3
PKG_DESCR:= crypto library
PKG_SECTION:= libs/crypto
PKG_DEPENDS:= libgmp
diff --git a/package/libnl/patches/patch-autogen_sh b/package/libnl/patches/patch-autogen_sh
new file mode 100644
index 000000000..2888ae770
--- /dev/null
+++ b/package/libnl/patches/patch-autogen_sh
@@ -0,0 +1,7 @@
+--- libnl-libnl3_2_29.orig/autogen.sh Fri Dec 30 15:57:01 2016
++++ libnl-libnl3_2_29/autogen.sh Sat Jan 13 10:02:41 2024
+@@ -12,4 +12,3 @@ cd "$BASEDIR" || die "Could not change into base direc
+ autoreconf -fi || die "Error during autoreconf"
+ rm -Rf autom4te.cache;
+
+-doc/autogen.sh || die "Error during doc/autogen.sh"
diff --git a/package/libnl/patches/patch-lib_utils_c b/package/libnl/patches/patch-lib_utils_c
index 3e14d4739..3d75f7487 100644
--- a/package/libnl/patches/patch-lib_utils_c
+++ b/package/libnl/patches/patch-lib_utils_c
@@ -1,5 +1,5 @@
---- libnl-libnl3_2_29.orig/lib/utils.c 2016-12-30 15:57:01.000000000 +0100
-+++ libnl-libnl3_2_29/lib/utils.c 2017-04-26 20:09:18.137933191 +0200
+--- libnl-libnl3_2_29.orig/lib/utils.c Fri Dec 30 15:57:01 2016
++++ libnl-libnl3_2_29/lib/utils.c Sat Jan 13 09:58:56 2024
@@ -30,7 +30,9 @@
#include <netlink/utils.h>
#include <linux/socket.h>
@@ -10,7 +10,7 @@
/**
* Global variable indicating the desired level of debugging output.
-@@ -123,9 +125,10 @@ int __nl_read_num_str_file(const char *p
+@@ -123,9 +125,10 @@ int __nl_read_num_str_file(const char *path, int (*cb)
const char *nl_strerror_l(int err)
{
diff --git a/package/libnl/patches/patch-src_lib_utils_c b/package/libnl/patches/patch-src_lib_utils_c
index 6d75c3acf..60117cbdc 100644
--- a/package/libnl/patches/patch-src_lib_utils_c
+++ b/package/libnl/patches/patch-src_lib_utils_c
@@ -1,6 +1,6 @@
---- libnl-libnl3_2_29.orig/src/lib/utils.c 2016-12-30 15:57:01.000000000 +0100
-+++ libnl-libnl3_2_29/src/lib/utils.c 2017-04-26 20:09:18.149933980 +0200
-@@ -81,6 +81,7 @@ void nl_cli_fatal(int err, const char *f
+--- libnl-libnl3_2_29.orig/src/lib/utils.c Fri Dec 30 15:57:01 2016
++++ libnl-libnl3_2_29/src/lib/utils.c Sat Jan 13 09:58:56 2024
+@@ -81,6 +81,7 @@ void nl_cli_fatal(int err, const char *fmt, ...)
fprintf(stderr, "\n");
} else {
char *buf;
@@ -8,7 +8,7 @@
locale_t loc = newlocale(LC_MESSAGES_MASK, "", (locale_t)0);
if (loc == (locale_t)0) {
if (errno == ENOENT)
-@@ -91,9 +92,14 @@ void nl_cli_fatal(int err, const char *f
+@@ -91,9 +92,14 @@ void nl_cli_fatal(int err, const char *fmt, ...)
}
if (loc != (locale_t)0)
buf = strerror_l(err, loc);
diff --git a/package/libowfat/Makefile b/package/libowfat/Makefile
index c3ac0c0e9..5939a63aa 100644
--- a/package/libowfat/Makefile
+++ b/package/libowfat/Makefile
@@ -4,13 +4,15 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= libowfat
-PKG_VERSION:= 0.30
+PKG_VERSION:= 0.33
PKG_RELEASE:= 1
-PKG_HASH:= db4a3a853cfbb9e83b27f565b580f6fdc519475b162edc1a656043e1c126e993
+PKG_HASH:= 311ec8b3f4b72bb442e323fb013a98f956fa745547f2bc9456287b20d027cd7d
PKG_DESCR:= owfat library
PKG_SECTION:= libs/misc
-PKG_URL:= http://www.fefe.de/libowfat
-PKG_SITES:= http://www.fefe.de/libowfat/
+PKG_URL:= https://www.fefe.de/libowfat
+PKG_SITES:= https://www.fefe.de/libowfat/
+
+PKG_NOPARALLEL:= 1
include ${ADK_TOPDIR}/mk/package.mk
@@ -18,9 +20,8 @@ CONFIG_STYLE:= manual
TARGET_CFLAGS+= ${TARGET_CPPFLAGS}
MAKE_FILE= GNUmakefile
-MAKE_FLAGS+= DIET= CC='${TARGET_CC}' CROSS=${TARGET_CROSS} \
+MAKE_FLAGS+= DIET= CROSS=${TARGET_CROSS} \
LDFLAGS='${TARGET_LDFLAGS}'
-FAKE_FLAGS+= prefix='${WRKINST}/usr' \
- INCLUDEDIR='${WRKINST}/usr/include/owfat'
+FAKE_FLAGS+= prefix='/usr'
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/libowfat/patches/patch-GNUmakefile b/package/libowfat/patches/patch-GNUmakefile
index fbe2b0a3b..4338cf8da 100644
--- a/package/libowfat/patches/patch-GNUmakefile
+++ b/package/libowfat/patches/patch-GNUmakefile
@@ -1,11 +1,25 @@
---- libowfat-0.30.orig/GNUmakefile 2015-04-10 22:54:57.000000000 +0200
-+++ libowfat-0.30/GNUmakefile 2015-06-05 16:06:19.000000000 +0200
-@@ -18,7 +18,7 @@ all: ent $(LIBS) libowfat.a libsocket t
+--- libowfat-0.33.orig/GNUmakefile 2021-04-24 12:47:51.000000000 +0200
++++ libowfat-0.33/GNUmakefile 2024-02-23 05:07:36.527866006 +0100
+@@ -23,9 +23,9 @@ picx32 piex32:
+
CROSS=
#CROSS=i686-mingw-
- CC=$(CROSS)gcc
--CFLAGS=-pipe -W -Wall -Wextra -O2 -fomit-frame-pointer
+-CC?=gcc
+-AR?=ar
+-RANLIB?=ranlib
++CC=gcc
++AR=ar
++RANLIB=ranlib
+ CCC=$(CROSS)$(CC)
+ WERROR=
+ WARN=-W -Wall -Wextra $(WERROR)
+@@ -41,7 +41,8 @@ OPT_PLUS=-O3 $(NATIVE)
+
+ DEFINE=-D_REENTRANT
+
+-CFLAGS=-pipe $(WARN) $(DEFINE) $(OPT_REG)
+CFLAGS?=
- #CFLAGS=-pipe -Os -march=pentiumpro -mcpu=pentiumpro -fomit-frame-pointer -fschedule-insns2 -Wall
++CFLAGS+=-pipe $(WARN) $(DEFINE) $(OPT_REG)
+ CFLAGS_OPT=-pipe $(WARN) $(DEFINE) $(OPT_PLUS)
- ent: ent.c haveuint128.h
+ #CFLAGS=-pipe -Os -march=pentiumpro -mcpu=pentiumpro -fomit-frame-pointer -fschedule-insns2 -Wall
diff --git a/package/libp11/Makefile b/package/libp11/Makefile
index 19681c0ba..1a6c3ddb0 100644
--- a/package/libp11/Makefile
+++ b/package/libp11/Makefile
@@ -4,15 +4,15 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= libp11
-PKG_VERSION:= 0.2.8
+PKG_VERSION:= 0.4.12
PKG_RELEASE:= 1
-PKG_HASH:= a4121015503ade98074b5e2a2517fc8a139f8b28aed10021db2bb77283f40691
+PKG_HASH:= 1e1a2533b3fcc45fde4da64c9c00261b1047f14c3f911377ebd1b147b3321cfd
PKG_DESCR:= library implementing a small layer on top of pkcs11 api
PKG_SECTION:= libs/crypto
-PKG_DEPENDS:= libltdl libressl
-PKG_BUILDDEP:= libtool libressl
+PKG_DEPENDS:= libltdl libopenssl
+PKG_BUILDDEP:= libtool openssl
PKG_URL:= https://github.com/OpenSC/libp11/wiki
-PKG_SITES:= http://sourceforge.net/projects/opensc/files/libp11/
+PKG_SITES:= https://github.com/OpenSC/libp11/releases/download/$(PKG_NAME)-$(PKG_VERSION)/
PKG_OPTS:= dev
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
diff --git a/package/libp11/patches/patch-ltmain_sh b/package/libp11/patches/patch-ltmain_sh
deleted file mode 100644
index 409b69508..000000000
--- a/package/libp11/patches/patch-ltmain_sh
+++ /dev/null
@@ -1,11 +0,0 @@
---- libp11-0.2.7.orig/ltmain.sh 2009-10-20 14:38:20.000000000 +0200
-+++ libp11-0.2.7/ltmain.sh 2011-01-15 22:58:43.000000000 +0100
-@@ -4765,7 +4765,7 @@ func_mode_link ()
- # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
- # @file GCC response files
- -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-- -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
-+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-fstack-protector*|-flto)
- func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
- func_append compile_command " $arg"
diff --git a/package/libpcap/Makefile b/package/libpcap/Makefile
index 6cac920ee..efc9440da 100644
--- a/package/libpcap/Makefile
+++ b/package/libpcap/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libpcap
-PKG_VERSION:= 1.9.1
+PKG_VERSION:= 1.10.4
PKG_RELEASE:= 1
-PKG_HASH:= 635237637c5b619bcceba91900666b64d56ecb7be63f298f601ec786ce087094
+PKG_HASH:= ed19a0383fad72e3ad435fd239d7cd80d64916b87269550159d20e47160ebe5f
PKG_DESCR:= low-level packet capture library
PKG_SECTION:= libs/net
PKG_URL:= http://www.tcpdump.org/
diff --git a/package/libpciaccess/Makefile b/package/libpciaccess/Makefile
index 13abcdbeb..89e388cd4 100644
--- a/package/libpciaccess/Makefile
+++ b/package/libpciaccess/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libpciaccess
-PKG_VERSION:= 0.13.4
+PKG_VERSION:= 0.16
PKG_RELEASE:= 1
-PKG_HASH:= 74d92bda448e6fdb64fee4e0091255f48d625d07146a121653022ed3a0ca1f2f
+PKG_HASH:= 84413553994aef0070cf420050aa5c0a51b1956b404920e21b81e96db6a61a27
PKG_DESCR:= pci access library
PKG_SECTION:= x11/libs
PKG_SITES:= http://www.x.org/releases/individual/lib/
diff --git a/package/libptytty/Makefile b/package/libptytty/Makefile
new file mode 100644
index 000000000..cb1126ce1
--- /dev/null
+++ b/package/libptytty/Makefile
@@ -0,0 +1,32 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= libptytty
+PKG_VERSION:= 2.0
+PKG_RELEASE:= 1
+PKG_HASH:= 8033ed3aadf28759660d4f11f2d7b030acf2a6890cb0f7926fb0cfa6739d31f7
+PKG_DESCR:= pty library
+PKG_SECTION:= libs/misc
+PKG_SITES:= http://dist.schmorp.de/libptytty/
+PKG_OPTS:= dev
+
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBPTYTTY,libptytty,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+TARGET_CFLAGS+= -lstdc++
+CONFIG_STYLE:= cmake
+CMAKE_FLAGS+= -DTTY_GID_SUPPORT_EXITCODE=0 \
+ -DTTY_GID_SUPPORT_EXITCODE__TRYRUN_OUTPUT=0
+XAKE_FLAGS+= VERBOSE=1
+
+libptytty-install:
+ $(INSTALL_DIR) $(IDIR_LIBPTYTTY)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libptytty*.so* \
+ $(IDIR_LIBPTYTTY)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/libptytty/patches/patch-CMakeLists_txt b/package/libptytty/patches/patch-CMakeLists_txt
new file mode 100644
index 000000000..09a108c5a
--- /dev/null
+++ b/package/libptytty/patches/patch-CMakeLists_txt
@@ -0,0 +1,13 @@
+--- libptytty-2.0.orig/CMakeLists.txt 2021-08-04 16:07:44.000000000 +0200
++++ libptytty-2.0/CMakeLists.txt 2024-03-03 19:23:33.085544136 +0100
+@@ -323,10 +323,6 @@ configure_file(
+ libptytty.pc.in
+ libptytty.pc)
+
+-add_executable(c-sample eg/c-sample.c)
+-target_include_directories(c-sample PRIVATE src)
+-target_link_libraries(c-sample ptytty)
+-
+ add_custom_command(
+ OUTPUT ${CMAKE_SOURCE_DIR}/doc/libptytty.3
+ DEPENDS ${CMAKE_SOURCE_DIR}/doc/libptytty.3.pod
diff --git a/package/libressl/Makefile b/package/libressl/Makefile
index 4cbd25ee8..6af4b2c0f 100644
--- a/package/libressl/Makefile
+++ b/package/libressl/Makefile
@@ -4,15 +4,17 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libressl
-PKG_VERSION:= 3.1.3
+PKG_VERSION:= 3.8.3
PKG_RELEASE:= 1
-PKG_HASH:= c76b0316acf612ecb62f5cb014a20d972a663bd9e40abf952a86f3b998b69fa0
+PKG_HASH:= a65f40e3ef6e3c9451c8318e6f2c454c367e67f09c0cde1849731a4d6ecc7272
PKG_DESCR:= ssl/tls library
PKG_SECTION:= libs/crypto
PKG_URL:= http://www.libressl.org
PKG_SITES:= http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/
PKG_OPTS:= dev
+PKG_ARCH_DEPENDS:= !m68k !xtensa
+
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
PKG_SUBPKGS:= LIBRESSL LIBRESSL_UTIL
@@ -27,6 +29,10 @@ $(eval $(call HOST_template,LIBRESSL,libressl,${PKG_VERSION}-${PKG_RELEASE}))
$(eval $(call PKG_template,LIBRESSL,libressl,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
$(eval $(call PKG_template,LIBRESSL_UTIL,libressl-util,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_LIBRESSL_UTIL},${PKGSD_LIBRESSL_UTIL},${PKGSC_LIBRESSL_UTIL}))
+ifeq ($(ADK_TARGET_ARCH_ARM),y)
+CONFIGURE_ARGS+= --disable-asm
+endif
+
ifeq ($(ADK_TARGET_USE_SSP),y)
CONFIGURE_ARGS+= --enable-hardening
else
@@ -34,13 +40,13 @@ CONFIGURE_ARGS+= --disable-hardening
endif
libressl-install:
+ ${INSTALL_DIR} ${IDIR_LIBRESSL}/etc/ssl
+ ${CP} ${WRKINST}/etc/ssl/openssl.cnf ${IDIR_LIBRESSL}/etc/ssl
$(INSTALL_DIR) $(IDIR_LIBRESSL)/usr/lib
$(CP) $(WRKINST)/usr/lib/lib{crypto,ssl,tls}.so* \
$(IDIR_LIBRESSL)/usr/lib
libressl-util-install:
- ${INSTALL_DIR} ${IDIR_LIBRESSL_UTIL}/etc/ssl
- ${CP} ${WRKINST}/etc/ssl/openssl.cnf ${IDIR_LIBRESSL_UTIL}/etc/ssl
${INSTALL_DIR} ${IDIR_LIBRESSL_UTIL}/usr/bin
${CP} ${WRKINST}/usr/bin/openssl ${IDIR_LIBRESSL_UTIL}/usr/bin
diff --git a/package/libressl/patches/patch-Makefile_in b/package/libressl/patches/patch-Makefile_in
deleted file mode 100644
index 745dc246d..000000000
--- a/package/libressl/patches/patch-Makefile_in
+++ /dev/null
@@ -1,11 +0,0 @@
---- libressl-3.1.2.orig/Makefile.in 2020-05-21 05:00:51.000000000 +0200
-+++ libressl-3.1.2/Makefile.in 2020-06-06 20:50:41.000000000 +0200
-@@ -191,7 +191,7 @@ am__define_uniq_tagged_files = \
- ETAGS = etags
- CTAGS = ctags
- CSCOPE = cscope
--DIST_SUBDIRS = crypto ssl tls include apps man tests
-+DIST_SUBDIRS = crypto ssl tls include apps
- am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/libcrypto.pc.in \
- $(srcdir)/libssl.pc.in $(srcdir)/libtls.pc.in \
- $(srcdir)/openssl.pc.in COPYING ChangeLog INSTALL compile \
diff --git a/package/libseat/Makefile b/package/libseat/Makefile
new file mode 100644
index 000000000..b408fcaf6
--- /dev/null
+++ b/package/libseat/Makefile
@@ -0,0 +1,31 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= libseat
+PKG_VERSION:= 0.7.0
+PKG_RELEASE:= 1
+PKG_HASH:= ea6ccbaf86949dba4eda64761b11aa8d05b61fc60f569b0fc05f2c4d06baeb87
+PKG_DESCR:= seat library
+PKG_SECTION:= libs/misc
+PKG_URL:= https://git.sr.ht/~kennylevinsen/seatd
+PKG_SITES:= https://git.sr.ht/~kennylevinsen/seatd
+PKG_OPTS:= dev
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBSEAT,libseat,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
+
+libseat-install:
+ $(INSTALL_DIR) $(IDIR_LIBSEAT)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libseat*.so* \
+ $(IDIR_LIBSEAT)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/libshout/Makefile b/package/libshout/Makefile
index 7a79fb145..f43489234 100644
--- a/package/libshout/Makefile
+++ b/package/libshout/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= libshout
-PKG_VERSION:= 2.3.1
+PKG_VERSION:= 2.4.6
PKG_RELEASE:= 1
-PKG_HASH:= cf3c5f6b4a5e3fcfbe09fb7024aa88ad4099a9945f7cb037ec06bcee7a23926e
+PKG_HASH:= 39cbd4f0efdfddc9755d88217e47f8f2d7108fa767f9d58a2ba26a16d8f7c910
PKG_DESCR:= library which can be used to write a source client for streaming
PKG_SECTION:= libs/audio
PKG_DEPENDS:= libvorbis libogg
diff --git a/package/libsndfile/Makefile b/package/libsndfile/Makefile
index 00faca413..bea414e08 100644
--- a/package/libsndfile/Makefile
+++ b/package/libsndfile/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libsndfile
-PKG_VERSION:= 1.0.27
+PKG_VERSION:= 1.0.28
PKG_RELEASE:= 1
-PKG_HASH:= a391952f27f4a92ceb2b4c06493ac107896ed6c76be9a613a4731f076d30fac0
+PKG_HASH:= 1ff33929f042fa333aed1e8923aa628c3ee9e1eb85512686c55092d1e5a9dfa9
PKG_DESCR:= reading and writing files containing sampled sound
PKG_SECTION:= libs/audio
PKG_URL:= http://www.mega-nerd.com/libsndfile/
diff --git a/package/libssh/Makefile b/package/libssh/Makefile
index d586d6617..231bae2c4 100644
--- a/package/libssh/Makefile
+++ b/package/libssh/Makefile
@@ -4,15 +4,15 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libssh
-PKG_VERSION:= 0.7.5
+PKG_VERSION:= 0.9.5
PKG_RELEASE:= 1
-PKG_HASH:= 54e86dd5dc20e5367e58f3caab337ce37675f863f80df85b6b1614966a337095
+PKG_HASH:= acffef2da98e761fc1fd9c4fddde0f3af60ab44c4f5af05cd1b2d60a3fa08718
PKG_DESCR:= secure shell library
PKG_SECTION:= libs/crypto
PKG_DEPENDS:= zlib libressl
PKG_BUILDDEP:= cmake-host zlib libressl
PKG_URL:= http://www.libssh.org/
-PKG_SITES:= https://red.libssh.org/attachments/download/218/
+PKG_SITES:= https://www.libssh.org/files/0.9/
PKG_OPTS:= dev
include $(ADK_TOPDIR)/mk/package.mk
@@ -26,6 +26,7 @@ CMAKE_FLAGS:= -DOPENSSL_INCLUDE_DIRS='$(STAGING_TARGET_DIR)/usr/include' \
-DZLIB_INCLUDE_DIR='$(STAGING_TARGET_DIR)/usr/include' \
-DZLIB_LIBRARY='$(STAGING_TARGET_DIR)/usr/lib' \
-DWITH_GSSAPI=off \
+ -DWITH_STACK_PROTECTOR=off \
-DWITH_EXAMPLES=off
libssh-install:
diff --git a/package/libssh/patches/patch-CompilerChecks_cmake b/package/libssh/patches/patch-CompilerChecks_cmake
new file mode 100644
index 000000000..8f5d3d805
--- /dev/null
+++ b/package/libssh/patches/patch-CompilerChecks_cmake
@@ -0,0 +1,32 @@
+--- libssh-0.9.5.orig/CompilerChecks.cmake 2020-05-07 13:51:36.000000000 +0200
++++ libssh-0.9.5/CompilerChecks.cmake 2021-03-01 23:53:39.370794233 +0100
+@@ -67,29 +67,6 @@ if (UNIX)
+ endif()
+ endif()
+
+- check_c_compiler_flag_ssp("-fstack-protector-strong" WITH_STACK_PROTECTOR_STRONG)
+- if (WITH_STACK_PROTECTOR_STRONG)
+- list(APPEND SUPPORTED_COMPILER_FLAGS "-fstack-protector-strong")
+- # This is needed as Solaris has a seperate libssp
+- if (SOLARIS)
+- list(APPEND SUPPORTED_LINKER_FLAGS "-fstack-protector-strong")
+- endif()
+- else (WITH_STACK_PROTECTOR_STRONG)
+- check_c_compiler_flag_ssp("-fstack-protector" WITH_STACK_PROTECTOR)
+- if (WITH_STACK_PROTECTOR)
+- list(APPEND SUPPORTED_COMPILER_FLAGS "-fstack-protector")
+- # This is needed as Solaris has a seperate libssp
+- if (SOLARIS)
+- list(APPEND SUPPORTED_LINKER_FLAGS "-fstack-protector")
+- endif()
+- endif()
+- endif (WITH_STACK_PROTECTOR_STRONG)
+-
+- check_c_compiler_flag_ssp("-fstack-clash-protection" WITH_STACK_CLASH_PROTECTION)
+- if (WITH_STACK_CLASH_PROTECTION)
+- list(APPEND SUPPORTED_COMPILER_FLAGS "-fstack-clash-protection")
+- endif()
+-
+ if (PICKY_DEVELOPER)
+ add_c_compiler_flag("-Wno-error=deprecated-declarations" SUPPORTED_COMPILER_FLAGS)
+ add_c_compiler_flag("-Wno-error=tautological-compare" SUPPORTED_COMPILER_FLAGS)
diff --git a/package/libssh/patches/patch-cmake_Modules_DefineCompilerFlags_cmake b/package/libssh/patches/patch-cmake_Modules_DefineCompilerFlags_cmake
deleted file mode 100644
index b8e077b94..000000000
--- a/package/libssh/patches/patch-cmake_Modules_DefineCompilerFlags_cmake
+++ /dev/null
@@ -1,14 +0,0 @@
---- libssh-0.6.3.orig/cmake/Modules/DefineCompilerFlags.cmake 2014-02-06 10:20:57.000000000 +0100
-+++ libssh-0.6.3/cmake/Modules/DefineCompilerFlags.cmake 2014-03-14 09:10:56.621673326 +0100
-@@ -21,11 +21,6 @@ if (UNIX AND NOT WIN32)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
- endif (WITH_FPIC)
-
-- check_c_compiler_flag_ssp("-fstack-protector" WITH_STACK_PROTECTOR)
-- if (WITH_STACK_PROTECTOR)
-- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fstack-protector")
-- endif (WITH_STACK_PROTECTOR)
--
- if (CMAKE_BUILD_TYPE)
- string(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_LOWER)
- if (CMAKE_BUILD_TYPE_LOWER MATCHES (release|relwithdebinfo|minsizerel))
diff --git a/package/libssh/patches/patch-include_libssh_libssh_h b/package/libssh/patches/patch-include_libssh_libssh_h
index dc60939bf..39310ba16 100644
--- a/package/libssh/patches/patch-include_libssh_libssh_h
+++ b/package/libssh/patches/patch-include_libssh_libssh_h
@@ -1,10 +1,10 @@
---- libssh-0.6.3.orig/include/libssh/libssh.h 2014-03-04 13:20:48.000000000 +0100
-+++ libssh-0.6.3/include/libssh/libssh.h 2014-03-14 09:07:03.304701842 +0100
-@@ -56,6 +56,7 @@
+--- libssh-0.9.5.orig/include/libssh/libssh.h 2020-09-10 14:43:02.000000000 +0200
++++ libssh-0.9.5/include/libssh/libssh.h 2021-03-01 23:52:22.358253014 +0100
+@@ -58,6 +58,7 @@
typedef unsigned long long uint64_t;
typedef int mode_t;
#else /* _MSC_VER */
+ #include <sys/types.h>
#include <unistd.h>
#include <inttypes.h>
- #endif /* _MSC_VER */
+ #include <sys/types.h>
diff --git a/package/libssh2/Makefile b/package/libssh2/Makefile
index b832133e5..1227c0440 100644
--- a/package/libssh2/Makefile
+++ b/package/libssh2/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libssh2
-PKG_VERSION:= 1.8.0
+PKG_VERSION:= 1.11.0
PKG_RELEASE:= 1
-PKG_HASH:= 39f34e2f6835f4b992cafe8625073a88e5a28ba78f83e8099610a7b3af4676d4
+PKG_HASH:= 3736161e41e2693324deb38c26cfdc3efe6209d634ba4258db1cecff6a5ad461
PKG_DESCR:= client-side c library implementing ssh2 protocol
PKG_SECTION:= libs/crypto
PKG_BUILDDEP:= zlib libressl
diff --git a/package/libtasn1/Makefile b/package/libtasn1/Makefile
index 9b4bc9ec6..e91f75001 100644
--- a/package/libtasn1/Makefile
+++ b/package/libtasn1/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libtasn1
-PKG_VERSION:= 4.12
+PKG_VERSION:= 4.19.0
PKG_RELEASE:= 1
-PKG_HASH:= 6753da2e621257f33f5b051cc114d417e5206a0818fe0b1ecfd6153f70934753
+PKG_HASH:= 1613f0ac1cf484d6ec0ce3b8c06d56263cc7242f1c23b30d82d23de345a63f7a
PKG_DESCR:= asn.1 and der structures manipulation library
PKG_SECTION:= libs/crypto
PKG_URL:= http://www.gnupg.org/
diff --git a/package/libtiff/Makefile b/package/libtiff/Makefile
index 7c0e72fce..960605be8 100644
--- a/package/libtiff/Makefile
+++ b/package/libtiff/Makefile
@@ -4,13 +4,13 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= tiff
-PKG_VERSION:= 4.0.8
+PKG_VERSION:= 4.3.0
PKG_RELEASE:= 1
-PKG_HASH:= 59d7a5a8ccd92059913f246877db95a2918e6c04fb9d43fd74e5c3390dac2910
+PKG_HASH:= 0e46e5acb087ce7d1ac53cf4f56a09b221537fc86dfc5daaad1c2e89e1b37ac8
PKG_DESCR:= library for reading/writing tiff images
PKG_SECTION:= libs/image
PKG_NEEDS:= c++
-PKG_BUILDDEP:= cmake-host zlib xz
+PKG_BUILDDEP:= zlib xz
PKG_URL:= http://simplesystems.org/libtiff/
PKG_SITES:= http://download.osgeo.org/libtiff/
PKG_LIBNAME:= libtiff
@@ -22,8 +22,6 @@ include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,LIBTIFF,libtiff,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-CONFIG_STYLE:= cmake
-
libtiff-install:
${INSTALL_DIR} ${IDIR_LIBTIFF}/usr/lib
${CP} ${WRKINST}/usr/lib/libtiff.so* ${IDIR_LIBTIFF}/usr/lib/
diff --git a/package/libtiff/patches/patch-libtiff-4_pc_in b/package/libtiff/patches/patch-libtiff-4_pc_in
new file mode 100644
index 000000000..4cd57a213
--- /dev/null
+++ b/package/libtiff/patches/patch-libtiff-4_pc_in
@@ -0,0 +1,14 @@
+--- tiff-4.3.0.orig/libtiff-4.pc.in 2021-03-05 14:01:43.000000000 +0100
++++ tiff-4.3.0/libtiff-4.pc.in 2021-11-06 16:42:35.662674034 +0100
+@@ -1,7 +1,7 @@
+-prefix=@prefix@
+-exec_prefix=@exec_prefix@
+-libdir=@libdir@
+-includedir=@includedir@
++prefix=/usr
++exec_prefix=${prefix}
++libdir=${exec_prefix}/lib
++includedir=${prefix}/include
+
+ Name: libtiff
+ Description: Tag Image File Format (TIFF) library.
diff --git a/package/libtirpc/Makefile b/package/libtirpc/Makefile
index 165217fc5..5cbddde61 100644
--- a/package/libtirpc/Makefile
+++ b/package/libtirpc/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= libtirpc
-PKG_VERSION:= 1.0.3
+PKG_VERSION:= 1.3.4
PKG_RELEASE:= 1
-PKG_HASH:= 86c3a78fc1bddefa96111dd233124c703b22a78884203c55c3e06b3be6a0fd5e
+PKG_HASH:= 1e0b0c7231c5fa122e06c0609a76723664d068b0dba3b8219b63e6340b347860
PKG_DESCR:= transport independent rpc library
PKG_SECTION:= libs/net
PKG_URL:= http://sourceforge.net/projects/libtirpc/
@@ -26,7 +26,6 @@ include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,LIBTIRPC,libtirpc,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
MAKE_ENV+= V=1
-AUTOTOOL_STYLE:= autoreconf
HOST_CPPFLAGS+= -I/usr/include/tirpc
ifeq (${ADK_PACKAGE_LIBTIRPC_WITH_GSS},y)
@@ -42,10 +41,6 @@ else
CONFIGURE_ARGS+= --disable-ipv6
endif
-post-extract:
- rm $(WRKBUILD)/tirpc/rpcsvc/crypt.h
- rm $(WRKBUILD)/tirpc/rpc/rpcb_prot.h
-
libtirpc-install:
${INSTALL_DIR} ${IDIR_LIBTIRPC}/usr/lib ${IDIR_LIBTIRPC}/etc
${CP} ${WRKINST}/usr/lib/libtirpc*.so* ${IDIR_LIBTIRPC}/usr/lib/
diff --git a/package/libtirpc/patches/patch-Makefile_am b/package/libtirpc/patches/patch-Makefile_am
deleted file mode 100644
index 80bc6991c..000000000
--- a/package/libtirpc/patches/patch-Makefile_am
+++ /dev/null
@@ -1,54 +0,0 @@
---- libtirpc-1.0.1.orig/Makefile.am 2015-10-30 16:15:14.000000000 +0100
-+++ libtirpc-1.0.1/Makefile.am 2015-11-29 16:38:58.340674483 +0100
-@@ -1,6 +1,12 @@
--SUBDIRS = src man doc
-+SUBDIRS = src man doc rpcgen
- ACLOCAL_AMFLAGS = -I m4
-
-+GENFILES = tirpc/rpcsvc/crypt.h \
-+ tirpc/rpcsvc/mount.h \
-+ tirpc/rpcsvc/nfs_prot.h \
-+ tirpc/rpcsvc/rquota.h \
-+ tirpc/rpc/rpcb_prot.h
-+
- noinst_HEADERS = tirpc/reentrant.h \
- tirpc/getpeereid.h \
- tirpc/libc_private.h \
-@@ -8,7 +14,9 @@ noinst_HEADERS = tirpc/reentrant.
-
- nobase_include_HEADERS = tirpc/netconfig.h \
- tirpc/rpcsvc/crypt.x \
-- tirpc/rpcsvc/crypt.h \
-+ tirpc/rpcsvc/mount.x \
-+ tirpc/rpcsvc/nfs_prot.x \
-+ tirpc/rpcsvc/rquota.x \
- tirpc/rpc/xdr.h \
- tirpc/rpc/types.h \
- tirpc/rpc/svc_soc.h \
-@@ -21,7 +29,6 @@ nobase_include_HEADERS = tirpc/netconfig
- tirpc/rpc/rpcent.h \
- tirpc/rpc/rpc_com.h \
- tirpc/rpc/rpcb_prot.x \
-- tirpc/rpc/rpcb_prot.h \
- tirpc/rpc/rpcb_clnt.h \
- tirpc/rpc/raw.h \
- tirpc/rpc/pmap_rmt.h \
-@@ -48,5 +55,17 @@ endif
- pkgconfigdir=$(libdir)/pkgconfig
- pkgconfig_DATA = libtirpc.pc
-
--CLEANFILES = cscope.* *~
-+nobase_nodist_include_HEADERS = $(GENFILES)
-+BUILT_SOURCES = $(GENFILES)
-+
-+$(GENFILES): %.h: %.x $(top_builddir)/rpcgen/rpcgen
-+ mkdir -p $(dir $@)
-+ $(top_builddir)/rpcgen/rpcgen -h -o $@ $<
-+
-+$(top_builddir)/rpcgen/rpcgen: force
-+ cd rpcgen && $(MAKE)
-+
-+force:
-+
-+CLEANFILES = cscope.* *~ $(GENFILES)
- DISTCLEANFILES = Makefile.in libtirpc*.tar.gz
diff --git a/package/libtirpc/patches/patch-configure_ac b/package/libtirpc/patches/patch-configure_ac
deleted file mode 100644
index 659bdad8c..000000000
--- a/package/libtirpc/patches/patch-configure_ac
+++ /dev/null
@@ -1,23 +0,0 @@
---- libtirpc-1.0.1.orig/configure.ac 2015-10-30 16:15:14.000000000 +0100
-+++ libtirpc-1.0.1/configure.ac 2015-11-29 16:38:38.817971632 +0100
-@@ -89,7 +89,19 @@ AC_CHECK_HEADERS([arpa/inet.h fcntl.h li
- AC_CHECK_LIB([pthread], [pthread_create])
- AC_CHECK_FUNCS([getrpcbyname getrpcbynumber setrpcent endrpcent getrpcent])
-
--AC_CONFIG_FILES([Makefile src/Makefile man/Makefile doc/Makefile])
-+AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
-+
-+AC_MSG_CHECKING([for a C compiler for build tools])
-+if test $cross_compiling = yes; then
-+ AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc)
-+else
-+ CC_FOR_BUILD=$CC
-+fi
-+AC_MSG_RESULT([$CC_FOR_BUILD])
-+AC_SUBST(CC_FOR_BUILD)
-+
-+AC_CONFIG_FILES([Makefile src/Makefile man/Makefile doc/Makefile rpcgen/Makefile])
-+
- AC_OUTPUT(libtirpc.pc)
-
-
diff --git a/package/libtirpc/patches/patch-src_clnt_bcast_c b/package/libtirpc/patches/patch-src_clnt_bcast_c
index d2dd1a38c..86f56c7f2 100644
--- a/package/libtirpc/patches/patch-src_clnt_bcast_c
+++ b/package/libtirpc/patches/patch-src_clnt_bcast_c
@@ -1,18 +1,11 @@
---- libtirpc-1.0.1.orig/src/clnt_bcast.c 2015-10-30 16:15:14.000000000 +0100
-+++ libtirpc-1.0.1/src/clnt_bcast.c 2016-01-28 15:46:15.322676441 +0100
-@@ -40,7 +40,6 @@
+--- libtirpc-1.3.4.orig/src/clnt_bcast.c 2023-10-07 09:54:42.000000000 +0200
++++ libtirpc-1.3.4/src/clnt_bcast.c 2024-02-08 16:26:57.298094444 +0100
+@@ -40,7 +40,7 @@
*/
#include <sys/socket.h>
#include <sys/types.h>
-#include <sys/queue.h>
++#include "queue.h"
#include <net/if.h>
#include <netinet/in.h>
-@@ -62,6 +61,7 @@
- #include <err.h>
- #include <string.h>
-
-+#include "queue.h"
- #include "rpc_com.h"
- #include "debug.h"
-
diff --git a/package/libtirpc/patches/patch-src_clnt_fd_locks_h b/package/libtirpc/patches/patch-src_clnt_fd_locks_h
new file mode 100644
index 000000000..6927fca68
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_clnt_fd_locks_h
@@ -0,0 +1,11 @@
+--- libtirpc-1.3.4.orig/src/clnt_fd_locks.h 2023-10-07 09:54:42.000000000 +0200
++++ libtirpc-1.3.4/src/clnt_fd_locks.h 2024-02-08 16:25:34.795598116 +0100
+@@ -30,7 +30,7 @@
+ #ifndef _CLNT_FD_LOCKS_H
+ #define _CLNT_FD_LOCKS_H
+
+-#include <sys/queue.h>
++#include "queue.h"
+ #include <errno.h>
+ #include <reentrant.h>
+ #include <rpc/xdr.h>
diff --git a/package/libtirpc/patches/patch-src_svc_auth_c b/package/libtirpc/patches/patch-src_svc_auth_c
deleted file mode 100644
index 05436f3b7..000000000
--- a/package/libtirpc/patches/patch-src_svc_auth_c
+++ /dev/null
@@ -1,12 +0,0 @@
---- libtirpc-1.0.1.orig/src/svc_auth.c 2015-10-30 16:15:14.000000000 +0100
-+++ libtirpc-1.0.1/src/svc_auth.c 2015-11-29 16:39:17.807381054 +0100
-@@ -114,9 +114,6 @@ _gss_authenticate(rqst, msg, no_dispatch
- case AUTH_SHORT:
- dummy = _svcauth_short(rqst, msg);
- return (dummy);
-- case AUTH_DES:
-- dummy = _svcauth_des(rqst, msg);
-- return (dummy);
- #ifdef HAVE_RPCSEC_GSS
- case RPCSEC_GSS:
- dummy = _svcauth_gss(rqst, msg, no_dispatch);
diff --git a/package/libtorrent/Makefile b/package/libtorrent/Makefile
index f631b37fd..1ff5c5b01 100644
--- a/package/libtorrent/Makefile
+++ b/package/libtorrent/Makefile
@@ -4,29 +4,30 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= libtorrent
-PKG_VERSION:= 0.13.6
+PKG_VERSION:= 0.13.8
PKG_RELEASE:= 1
-PKG_HASH:= 2838a08c96edfd936aff8fbf99ecbb930c2bfca3337dd1482eb5fccdb80d5a04
+PKG_HASH:= ed115a28f4ae8cfcd33b94a597c076ca74fd549867a26e4fac9505c27288e983
PKG_DESCR:= bittorrent library
PKG_SECTION:= libs/net
PKG_DEPENDS:= libsigc++ zlib libressl
PKG_BUILDDEP:= libsigc++ zlib libressl
PKG_NEEDS:= intl
PKG_URL:= https://rakshasa.github.io/rtorrent/
-PKG_SITES:= http://rtorrent.net/downloads/
+PKG_SITES:= https://github.com/rakshasa/rtorrent/releases/download/v0.9.8/
PKG_OPTS:= dev
+PKG_CFLINE_LIBTORRENT:= depends on ADK_BROKEN
+
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,LIBTORRENT,libtorrent,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-AUTOTOOL_STYLE:= autoreconf
CONFIGURE_ARGS+= --enable-aligned \
--without-kqueue \
--disable-instrumentation \
- --with-zlib=$(STAGING_TARGET_DIR)
+ --without-zlib
libtorrent-install:
${INSTALL_DIR} ${IDIR_LIBTORRENT}/usr/lib
diff --git a/package/libtorrent/patches/patch-configure_ac b/package/libtorrent/patches/patch-configure_ac
deleted file mode 100644
index 00e1c2fec..000000000
--- a/package/libtorrent/patches/patch-configure_ac
+++ /dev/null
@@ -1,18 +0,0 @@
---- libtorrent-0.13.6.orig/configure.ac 2015-09-03 20:57:38.000000000 +0200
-+++ libtorrent-0.13.6/configure.ac 2016-05-25 21:29:51.436557128 +0200
-@@ -19,7 +19,6 @@ AC_SUBST(LIBTORRENT_INTERFACE_VERSION_NO
-
- AM_INIT_AUTOMAKE
- AC_CONFIG_HEADERS(config.h)
--AM_PATH_CPPUNIT(1.9.6)
-
- AC_PROG_CXX
-
-@@ -99,7 +98,6 @@ AC_CHECK_FUNCS(posix_memalign)
- TORRENT_CHECK_MADVISE()
- TORRENT_CHECK_CACHELINE()
- TORRENT_CHECK_POPCOUNT()
--TORRENT_CHECK_EXECINFO()
- TORRENT_CHECK_PTHREAD_SETNAME_NP()
- TORRENT_MINCORE()
- TORRENT_OTFD()
diff --git a/package/libtorrent/patches/patch-scripts_ax_check_zlib_m4 b/package/libtorrent/patches/patch-scripts_ax_check_zlib_m4
deleted file mode 100644
index 1e629d011..000000000
--- a/package/libtorrent/patches/patch-scripts_ax_check_zlib_m4
+++ /dev/null
@@ -1,11 +0,0 @@
---- libtorrent-0.13.6.orig/scripts/ax_check_zlib.m4 2015-08-08 17:01:32.000000000 +0200
-+++ libtorrent-0.13.6/scripts/ax_check_zlib.m4 2016-05-25 21:33:01.003893982 +0200
-@@ -79,7 +79,7 @@ AC_ARG_WITH([zlib],
- AC_MSG_RESULT(yes)
- if test -d "$withval"
- then
-- zlib_places="$withval $zlib_places"
-+ zlib_places="$withval"
- else
- AC_MSG_WARN([Sorry, $withval does not exist, checking usual places])
- fi
diff --git a/package/libudfread/Makefile b/package/libudfread/Makefile
new file mode 100644
index 000000000..7426e3ba5
--- /dev/null
+++ b/package/libudfread/Makefile
@@ -0,0 +1,28 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= libudfread
+PKG_VERSION:= 1.1.2
+PKG_RELEASE:= 1
+PKG_HASH:= 2bf16726ac98d093156195bb049a663e07d3323e079c26912546f4e05c77bac5
+PKG_DESCR:= udf library
+PKG_SECTION:= libs/misc
+PKG_SITES:= http://mirrors.kodi.tv/build-deps/sources/
+PKG_OPTS:= dev
+
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBUDFREAD,libudfread,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+AUTOTOOL_STYLE:= bootstrap
+
+libudfread-install:
+ $(INSTALL_DIR) $(IDIR_LIBUDFREAD)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libudfread*.so* \
+ $(IDIR_LIBUDFREAD)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/libunistring/Makefile b/package/libunistring/Makefile
index 7ab3c9794..46b83438a 100755
--- a/package/libunistring/Makefile
+++ b/package/libunistring/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= libunistring
-PKG_VERSION:= 0.9.7
+PKG_VERSION:= 0.9.10
PKG_RELEASE:= 1
-PKG_HASH:= 2e3764512aaf2ce598af5a38818c0ea23dedf1ff5460070d1b6cee5c3336e797
+PKG_HASH:= eb8fb2c3e4b6e2d336608377050892b54c3c983b646c561836550863003c05d7
PKG_DESCR:= functions for manipulating unicode strings
PKG_SECTION:= libs/misc
PKG_URL:= http://www.gnu.org/software/libunistring/
diff --git a/package/liburcu/Makefile b/package/liburcu/Makefile
new file mode 100644
index 000000000..60477c389
--- /dev/null
+++ b/package/liburcu/Makefile
@@ -0,0 +1,27 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= liburcu
+PKG_VERSION:= 0.14.0
+PKG_RELEASE:= 1
+PKG_HASH:= ca43bf261d4d392cff20dfae440836603bf009fce24fdc9b2697d837a2239d4f
+PKG_DESCR:= userspace rcu (read-copy-update) libraries
+PKG_SECTION:= libs/misc
+PKG_SITES:= https://lttng.org/files/urcu/
+PKG_OPTS:= dev
+
+DISTFILES:= userspace-rcu-$(PKG_VERSION).tar.bz2
+WRKDIST= ${WRKDIR}/userspace-rcu-${PKG_VERSION}
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBURCU,liburcu,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+liburcu-install:
+ $(INSTALL_DIR) $(IDIR_LIBURCU)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/liburcu*.so* \
+ $(IDIR_LIBURCU)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/libuv/Makefile b/package/libuv/Makefile
new file mode 100644
index 000000000..3a8b43a61
--- /dev/null
+++ b/package/libuv/Makefile
@@ -0,0 +1,29 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= libuv
+PKG_VERSION:= 1.42.0
+PKG_RELEASE:= 1
+PKG_HASH:= 371e5419708f6aaeb8656671f89400b92a9bba6443369af1bb70bcd6e4b3c764
+PKG_DESCR:= multi-platform support library
+PKG_SECTION:= libs/misc
+PKG_URL:= https://github.com/libuv/libuv/
+PKG_SITES:= https://github.com/libuv/libuv/archive/refs/tags/
+PKG_OPTS:= dev
+
+DISTFILES:= v$(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBUV,libuv,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+CONFIG_STYLE:= cmake
+
+libuv-install:
+ $(INSTALL_DIR) $(IDIR_LIBUV)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libuv*.so* \
+ $(IDIR_LIBUV)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/libuv/patches/patch-libuv_pc_in b/package/libuv/patches/patch-libuv_pc_in
new file mode 100644
index 000000000..4c7ae339d
--- /dev/null
+++ b/package/libuv/patches/patch-libuv_pc_in
@@ -0,0 +1,12 @@
+--- libuv-1.42.0.orig/libuv.pc.in 2021-07-20 04:44:04.000000000 +0200
++++ libuv-1.42.0/libuv.pc.in 2021-10-29 13:40:49.561398557 +0200
+@@ -1,7 +1,7 @@
+ prefix=@prefix@
+ exec_prefix=${prefix}
+-libdir=@libdir@
+-includedir=@includedir@
++libdir=${prefix}/@libdir@
++includedir=${prefix}/@includedir@
+
+ Name: libuv
+ Version: @PACKAGE_VERSION@
diff --git a/package/libvncserver/Makefile b/package/libvncserver/Makefile
new file mode 100644
index 000000000..a3812648c
--- /dev/null
+++ b/package/libvncserver/Makefile
@@ -0,0 +1,33 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= libvncserver
+PKG_VERSION:= 0.9.14
+PKG_RELEASE:= 1
+PKG_HASH:= 83104e4f7e28b02f8bf6b010d69b626fae591f887e949816305daebae527c9a5
+PKG_DESCR:= VNC library
+PKG_SECTION:= libs/misc
+PKG_BUILDDEP:= cmake-host
+PKG_SITES:= https://github.com/LibVNC/libvncserver/archive/refs/tags/
+PKG_OPTS:= dev
+
+DISTFILES:= LibVNCServer-$(PKG_VERSION).tar.gz
+
+WRKDIST= ${WRKDIR}/${PKG_NAME}-LibVNCServer-${PKG_VERSION}
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBVNCSERVER,libvncserver,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+CONFIG_STYLE:= cmake
+
+libvncserver-install:
+ $(INSTALL_DIR) $(IDIR_LIBVNCSERVER)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libvncserver*.so* \
+ $(IDIR_LIBVNCSERVER)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libvncclient*.so* \
+ $(IDIR_LIBVNCSERVER)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/libvpx/Makefile b/package/libvpx/Makefile
index 7aa126402..7f31d719c 100644
--- a/package/libvpx/Makefile
+++ b/package/libvpx/Makefile
@@ -4,19 +4,17 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libvpx
-PKG_VERSION:= 1.6.0
+PKG_VERSION:= 1.14.0
PKG_RELEASE:= 1
-PKG_HASH:= d0afbb5eb1ecae68f8d578abace160a97e2e8a230e3028cf4db115d59a695aad
+PKG_HASH:= 5f21d2db27071c8a46f1725928a10227ae45c5cd1cad3727e4aafbe476e321fa
PKG_DESCR:= vp8/vp9 codec library
PKG_SECTION:= libs/video
PKG_BUILDDEP:= yasm-host
PKG_URL:= http://www.webmproject.org/about/
-PKG_SITES:= http://storage.googleapis.com/downloads.webmproject.org/releases/webm/
+PKG_SITES:= https://github.com/webmproject/libvpx/archive/refs/tags/
PKG_OPTS:= dev
-PKG_ARCH_DEPENDS:= !m68k
-
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
+DISTFILES:= v${PKG_VERSION}.tar.gz
include $(ADK_TOPDIR)/mk/package.mk
@@ -25,6 +23,9 @@ $(eval $(call PKG_template,LIBVPX,libvpx,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEP
CONFIGURE_ENV+= LD=$(TARGET_CC)
CONFIG_STYLE:= minimal
+ifeq ($(ADK_TARGET_ARCH_AARCH64),y)
+CONFIGURE_ARGS+= --target=armv8-linux-gcc
+endif
ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_VEXPRESS_A9),y)
CONFIGURE_ARGS+= --target=armv7-linux-gcc
endif
@@ -43,6 +44,9 @@ endif
ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI3P),y)
CONFIGURE_ARGS+= --target=armv7-linux-gcc
endif
+ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI4),y)
+CONFIGURE_ARGS+= --target=armv7-linux-gcc
+endif
ifeq ($(ADK_TARGET_SYSTEM_SHARP_ZAURUS),y)
CONFIGURE_ARGS+= --target=armv5te-linux-gcc
endif
diff --git a/package/libvpx/patches/patch-configure b/package/libvpx/patches/patch-configure
deleted file mode 100644
index e3ceac490..000000000
--- a/package/libvpx/patches/patch-configure
+++ /dev/null
@@ -1,18 +0,0 @@
---- libvpx-1.5.0.orig/configure 2015-11-09 23:12:38.000000000 +0100
-+++ libvpx-1.5.0/configure 2015-11-22 16:17:41.869446856 +0100
-@@ -111,6 +111,7 @@ all_platforms="${all_platforms} armv7-wi
- all_platforms="${all_platforms} armv7s-darwin-gcc"
- all_platforms="${all_platforms} mips32-linux-gcc"
- all_platforms="${all_platforms} mips64-linux-gcc"
-+all_platforms="${all_platforms} loongson2f-linux-gcc"
- all_platforms="${all_platforms} sparc-solaris-gcc"
- all_platforms="${all_platforms} x86-android-gcc"
- all_platforms="${all_platforms} x86-darwin8-gcc"
-@@ -242,6 +243,7 @@ ARCH_EXT_LIST="
- dspr2
- msa
- mips64
-+ loongson2f
-
- mmx
- sse
diff --git a/package/libwebp/Makefile b/package/libwebp/Makefile
index 967a686d5..d894f3831 100644
--- a/package/libwebp/Makefile
+++ b/package/libwebp/Makefile
@@ -4,24 +4,24 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libwebp
-PKG_VERSION:= 0.3.1
+PKG_VERSION:= 1.2.2
PKG_RELEASE:= 1
-PKG_HASH:= b37932c625322a69fe4e9b88884b5c7aed2b3eaf9fd5e5b480aee339a92e6ee7
+PKG_HASH:= 51e9297aadb7d9eb99129fe0050f53a11fcce38a0848fb2b0389e385ad93695e
PKG_DESCR:= new image format for the web
PKG_SECTION:= libs/image
+PKG_BUILDDEP:= cmake-host
PKG_URL:= https://developers.google.com/speed/webp/
-PKG_SITES:= https://webp.googlecode.com/files/
+PKG_SITES:= https://github.com/webmproject/libwebp/archive/refs/tags/
PKG_OPTS:= dev
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
+DISTFILES:= v${PKG_VERSION}.tar.gz
include $(ADK_TOPDIR)/mk/package.mk
+CONFIG_STYLE:= cmake
+
$(eval $(call PKG_template,LIBWEBP,libwebp,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
libwebp-install:
- $(INSTALL_DIR) $(IDIR_LIBWEBP)/usr/lib
- $(CP) $(WRKINST)/usr/lib/libwebp*.so* \
- $(IDIR_LIBWEBP)/usr/lib
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/libwebsockets/Makefile b/package/libwebsockets/Makefile
new file mode 100644
index 000000000..87eb01678
--- /dev/null
+++ b/package/libwebsockets/Makefile
@@ -0,0 +1,31 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= libwebsockets
+PKG_VERSION:= 4.3.3
+PKG_RELEASE:= 1
+PKG_HASH:= 6fd33527b410a37ebc91bb64ca51bdabab12b076bc99d153d7c5dd405e4bdf90
+PKG_DESCR:= lightweight network library
+PKG_SECTION:= libs/net
+PKG_BUILDDEP:= cmake-host zlib libressl
+PKG_DEPENDS:= zlib libressl
+PKG_URL:= https://libwebsockets.org/
+PKG_SITES:= https://github.com/warmcat/libwebsockets/archive/refs/tags/
+PKG_OPTS:= dev
+
+DISTFILES:= v$(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBWEBSOCKETS,libwebsockets,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+CONFIG_STYLE:= cmake
+
+libwebsockets-install:
+ $(INSTALL_DIR) $(IDIR_LIBWEBSOCKETS)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libwebsockets*.so* \
+ $(IDIR_LIBWEBSOCKETS)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/libx264/Makefile b/package/libx264/Makefile
index 18b92ffc1..394cbcd82 100644
--- a/package/libx264/Makefile
+++ b/package/libx264/Makefile
@@ -13,8 +13,6 @@ PKG_URL:= http://www.videolan.org/developers/x264.html
PKG_SITES:= http://git.videolan.org/git/x264.git
PKG_OPTS:= dev
-PKG_BUILDDEP_IBM_X40:= yasm-host
-
include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,LIBX264,libx264,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
diff --git a/package/libx265/Makefile b/package/libx265/Makefile
index 616bacd8f..bde8655cd 100644
--- a/package/libx265/Makefile
+++ b/package/libx265/Makefile
@@ -4,14 +4,14 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libx265
-PKG_VERSION:= 2.7
-PKG_HASH:= d5e75fa62ffe6ed49e691f8eb8ab8c1634ffcc0725dd553c6fdb4d5443b494a2
+PKG_VERSION:= 3.2
+PKG_HASH:= 364d79bcd56116a9e070fdeb1d9d2aaef1a786b4970163fb56ff0991a183133b
PKG_RELEASE:= 1
PKG_DESCR:= h265 encoding library
PKG_SECTION:= libs/video
PKG_BUILDDEP:= cmake-host
PKG_URL:= http://x265.org
-PKG_SITES:= https://bitbucket.org/multicoreware/x265/downloads/
+PKG_SITES:= http://ftp.videolan.org/pub/videolan/x265/
PKG_OPTS:= dev
DISTFILES:= x265_${PKG_VERSION}.tar.gz
diff --git a/package/libxcb/Makefile b/package/libxcb/Makefile
index a8b52760d..5dbd1b4b5 100644
--- a/package/libxcb/Makefile
+++ b/package/libxcb/Makefile
@@ -4,12 +4,12 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libxcb
-PKG_VERSION:= 1.12
+PKG_VERSION:= 1.16
PKG_RELEASE:= 1
-PKG_HASH:= 092f147149d8a6410647a848378aaae749304d5b73e028ccb8306aa8a9e26f06
+PKG_HASH:= bc0f75f84b28e6496a19a1d094d7e47def861a50cb7cce5b23b62eecdc2a4479
PKG_DESCR:= interface to the x window system protocol
PKG_SECTION:= x11/libs
-PKG_BUILDDEP+= python2 libpthread-stubs libxslt libXau xcb-proto
+PKG_BUILDDEP:= python3 libpthread-stubs libxslt libXau xcb-proto
HOST_BUILDDEP:= libXau-host libpthread-stubs-host xcb-proto-host
PKG_SITES:= http://xcb.freedesktop.org/dist/
PKG_OPTS:= dev
@@ -22,10 +22,10 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call HOST_template,LIBXCB,libxcb,${PKG_VERSION}-${PKG_RELEASE}))
$(eval $(call PKG_template,LIBXCB,libxcb,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-include $(ADK_TOPDIR)/mk/python.mk
+include $(ADK_TOPDIR)/mk/python3.mk
HOST_STYLE:= auto
-CONFIGURE_ENV+= PYTHON=$(PYTHON)
+CONFIGURE_ENV+= PYTHONPATH=$(PYTHON) PYTHON=python3
libxcb-install:
${INSTALL_DIR} ${IDIR_LIBXCB}/usr/lib
diff --git a/package/libxcrypt/Makefile b/package/libxcrypt/Makefile
new file mode 100644
index 000000000..3d6bb2907
--- /dev/null
+++ b/package/libxcrypt/Makefile
@@ -0,0 +1,30 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= libxcrypt
+PKG_VERSION:= 4.4.36
+PKG_RELEASE:= 1
+PKG_HASH:= b979838d5f1f238869d467484793b72b8bca64c4eae696fdbba0a9e0b6c28453
+PKG_DESCR:= crypt library
+PKG_SECTION:= libs/crypto
+PKG_SITES:= https://github.com/besser82/libxcrypt/archive/refs/tags/
+PKG_OPTS:= dev
+
+PKG_LIBC_DEPENDS:= glibc
+
+DISTFILES:= v$(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBXCRYPT,libxcrypt,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+AUTOTOOL_STYLE:= autogen
+
+libxcrypt-install:
+ $(INSTALL_DIR) $(IDIR_LIBXCRYPT)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/lib*crypt*.so* \
+ $(IDIR_LIBXCRYPT)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/libxcvt/Makefile b/package/libxcvt/Makefile
new file mode 100644
index 000000000..952b7c7e7
--- /dev/null
+++ b/package/libxcvt/Makefile
@@ -0,0 +1,30 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= libxcvt
+PKG_VERSION:= 0.1.1
+PKG_RELEASE:= 1
+PKG_HASH:= 27ebce180d355f94c1992930bedb40a36f6d7312ee50bf7f0acbcd22f33e8c29
+PKG_DESCR:= xcvt library
+PKG_SECTION:= libs/misc
+PKG_SITES:= https://www.x.org/releases/individual/lib/
+PKG_OPTS:= dev
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBXCVT,libxcvt,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
+
+libxcvt-install:
+ $(INSTALL_DIR) $(IDIR_LIBXCVT)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libxcvt*.so* \
+ $(IDIR_LIBXCVT)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/libxkbcommon/Makefile b/package/libxkbcommon/Makefile
new file mode 100644
index 000000000..1650043a9
--- /dev/null
+++ b/package/libxkbcommon/Makefile
@@ -0,0 +1,35 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= libxkbcommon
+PKG_VERSION:= 1.5.0
+PKG_RELEASE:= 1
+PKG_HASH:= 560f11c4bbbca10f495f3ef7d3a6aa4ca62b4f8fb0b52e7d459d18a26e46e017
+PKG_DESCR:= library for handling of keyboard descriptions
+PKG_SECTION:= libs/misc
+PKG_BUILDDEP:= meson-host
+PKG_SITES:= https://xkbcommon.org/download/
+PKG_OPTS:= dev
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBXKBCOMMON,libxkbcommon,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+MESON_FLAGS+= -Denable-docs=false \
+ -Denable-wayland=false \
+ -Dxkb-config-root=/usr/share/X11/xkb
+
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
+
+libxkbcommon-install:
+ $(INSTALL_DIR) $(IDIR_LIBXKBCOMMON)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libxkbcommon*.so* \
+ $(IDIR_LIBXKBCOMMON)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/libxml2/Makefile b/package/libxml2/Makefile
index 5835c98d7..20a1428b7 100644
--- a/package/libxml2/Makefile
+++ b/package/libxml2/Makefile
@@ -4,48 +4,33 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= libxml2
-PKG_VERSION:= 2.9.4
+PKG_VERSION:= 2.10.3
PKG_RELEASE:= 1
-PKG_HASH:= ffb911191e509b966deb55de705387f14156e1a56b21824357cdf0053233633c
+PKG_HASH:= 5d2cc3d78bec3dbe212a9d7fa629ada25a7da928af432c93060ff5c17ee28a9c
PKG_DESCR:= xml parser and toolkit
PKG_SECTION:= libs/data
PKG_DEPENDS:= zlib
-PKG_BUILDDEP:= libxml2-host python2 zlib
-HOST_BUILDDEP:= python2-host
+PKG_BUILDDEP:= libxml2-host python3 zlib
+HOST_BUILDDEP:= python3-host
PKG_URL:= http://www.xmlsoft.org/
-PKG_SITES:= http://xmlsoft.org/sources/
+PKG_SITES:= https://download.gnome.org/sources/libxml2/2.10/
PKG_OPTS:= dev
-DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
-
-PKG_SUBPKGS:= LIBXML2 LIBXML2_PYTHON
-PKGSD_LIBXML2_PYTHON:= xml python bindings
-PKGSC_LIBXML2_PYTHON:= libs/misc
-PKGSB_LIBXML2_PYTHON:= python2
-PKGSS_LIBXML2_PYTHON:= python2
-
include $(ADK_TOPDIR)/mk/host.mk
include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call HOST_template,LIBXML2,libxml2,$(PKG_VERSION)-$(PKG_RELEASE)))
$(eval $(call PKG_template,LIBXML2,libxml2,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
-$(eval $(call PKG_template,LIBXML2_PYTHON,libxml2-python,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKGSD_LIBXML2_PYTHON),$(PKGSC_LIBXML2_PYTHON)))
-
-include $(ADK_TOPDIR)/mk/python.mk
-TARGET_CPPFLAGS+= -I$(STAGING_TARGET_DIR)/usr/include/python$(PYTHON_VERSION)
-HOST_CPPFLAGS+= -I$(STAGING_HOST_DIR)/usr/include/python$(PYTHON_VERSION)
HOST_STYLE:= auto
-HOST_CONFIGURE_ARGS+= --with-python \
+HOST_CONFIGURE_ARGS+= --without-python \
--with-threads \
--without-iconv \
--without-lzma \
--without-zlib
-AUTOTOOL_STYLE:= autoreconf
CONFIGURE_ARGS+= --without-c14n \
--without-debug \
- --without-docbook \
--with-catalog \
--with-html \
--without-ftp \
@@ -69,17 +54,12 @@ CONFIGURE_ARGS+= --without-c14n \
--with-xinclude \
--with-xpath \
--with-xptr \
- --with-python \
+ --without-python \
--with-zlib='$(STAGING_TARGET_DIR)/usr'
libxml2-install:
$(INSTALL_DIR) $(IDIR_LIBXML2)/usr/lib
$(CP) $(WRKINST)/usr/lib/libxml2.so* $(IDIR_LIBXML2)/usr/lib
-libxml2-python-install:
- $(INSTALL_DIR) $(IDIR_LIBXML2_PYTHON)/usr/lib/python/site-packages
- $(CP) $(WRKINST)/usr/lib/python/site-packages/*.{so,py} \
- $(IDIR_LIBXML2_PYTHON)/usr/lib/python/site-packages
-
include $(ADK_TOPDIR)/mk/host-bottom.mk
include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/libxml2/patches/patch-Makefile_am b/package/libxml2/patches/patch-Makefile_am
deleted file mode 100644
index f14a120d9..000000000
--- a/package/libxml2/patches/patch-Makefile_am
+++ /dev/null
@@ -1,14 +0,0 @@
---- libxml2-2.9.2.orig/Makefile.am 2014-10-13 05:02:53.000000000 -0500
-+++ libxml2-2.9.2/Makefile.am 2015-02-11 12:51:49.858163855 -0600
-@@ -2,9 +2,9 @@
-
- ACLOCAL_AMFLAGS = -I m4
-
--SUBDIRS = include . doc example xstc $(PYTHON_SUBDIR)
-+SUBDIRS = include . xstc $(PYTHON_SUBDIR)
-
--DIST_SUBDIRS = include . doc example python xstc
-+DIST_SUBDIRS = include . python xstc
-
- AM_CPPFLAGS = -I$(top_builddir)/include -I$(srcdir)/include
-
diff --git a/package/libxml2/patches/patch-configure_ac b/package/libxml2/patches/patch-configure_ac
deleted file mode 100644
index 6cbef4845..000000000
--- a/package/libxml2/patches/patch-configure_ac
+++ /dev/null
@@ -1,96 +0,0 @@
---- libxml2-2.9.2.orig/configure.ac 2014-10-15 23:06:15.000000000 -0500
-+++ libxml2-2.9.2/configure.ac 2015-02-11 12:53:35.494162888 -0600
-@@ -837,62 +837,13 @@ if test "$with_python" != "no" ; then
- echo Found python in environment PYTHON=$PYTHON
- with_python=`$PYTHON -c "import sys; print(sys.exec_prefix)"`
- else
-- AC_PATH_PROG(PYTHON, python python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5)
-- fi
-- fi
-- fi
-- fi
-- if test "$PYTHON" != ""
-- then
-- PYTHON_VERSION=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_version())"`
-- PYTHON_INCLUDES=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_inc())"`
--# does not work as it produce a /usr/lib/python path instead of/usr/lib64/python
--#
--# PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_lib())"`
-- echo Found Python version $PYTHON_VERSION
-- fi
-- if test "$PYTHON_VERSION" != "" -a "$PYTHON_INCLUDES" = ""
-- then
-- if test -r $with_python/include/python$PYTHON_VERSION/Python.h
-- then
-- PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION
-- else
-- if test -r $prefix/include/python$PYTHON_VERSION/Python.h
-- then
-- PYTHON_INCLUDES=$prefix/include/python$PYTHON_VERSION
-- else
-- if test -r /usr/include/python$PYTHON_VERSION/Python.h
-- then
-- PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION
-- else
-- if test -r $with_python/include/Python.h
-- then
-- PYTHON_INCLUDES=$with_python/include
-- else
-- echo could not find python$PYTHON_VERSION/Python.h or $with_python/include/Python.h
-- fi
-+ AC_PATH_PROG(PYTHON, python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5)
- fi
- fi
- fi
- fi
-- if test "$with_python_install_dir" != ""
-- then
-- PYTHON_SITE_PACKAGES="$with_python_install_dir"
-- fi
-- if test "$PYTHON_VERSION" != "" -a "$PYTHON_SITE_PACKAGES" = ""
-- then
-- if test -d $libdir/python$PYTHON_VERSION/site-packages
-- then
-- PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
-- else
-- if test -d $with_python/lib/site-packages
-- then
-- PYTHON_SITE_PACKAGES=$with_python/lib/site-packages
-- else
-- PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_lib())"`
-- fi
-- fi
-- fi
-+ PYTHON_INCLUDES=`python$PYTHON_VERSION-config --includes`
-+ PYTHON_SITE_PACKAGES=${prefix}/lib/python$PYTHON_VERSION/site-packages
- pythondir='$(PYTHON_SITE_PACKAGES)'
- PYTHON_LIBS=`python$PYTHON_VERSION-config --ldflags`
- else
-@@ -1065,26 +1016,7 @@ else
- THREAD_CFLAGS="$THREAD_CFLAGS -DHAVE_BEOS_THREADS"
- ;;
- *linux*)
-- if test "${GCC}" = "yes" ; then
-- GCC_VERSION=`${CC} --version | head -1 | awk '{print $3}'`
-- GCC_MAJOR=`echo ${GCC_VERSION} | sed 's+\..*++'`
-- GCC_MEDIUM=`echo ${GCC_VERSION} | sed 's+[[0-9]]*\.++' | sed 's+\..*++'`
-- if test "${THREAD_LIBS}" = "-lpthread" ; then
-- if expr ${GCC_MEDIUM} \> 2 \& ${GCC_MAJOR} = 3 > /dev/null
-- then
-- THREAD_LIBS=""
-- BASE_THREAD_LIBS="-lpthread"
-- else
-- if expr ${GCC_MAJOR} \> 3 > /dev/null
-- then
-- THREAD_LIBS=""
-- BASE_THREAD_LIBS="-lpthread"
-- else
-- echo old GCC disabling weak symbols for pthread
-- fi
-- fi
-- fi
-- fi
-+ THREAD_LIBS="-lpthread"
- ;;
- esac
- if test "$WITH_THREADS" = "1" ; then
diff --git a/package/libxml2/patches/patch-python_Makefile_am b/package/libxml2/patches/patch-python_Makefile_am
deleted file mode 100644
index b3ac2539b..000000000
--- a/package/libxml2/patches/patch-python_Makefile_am
+++ /dev/null
@@ -1,12 +0,0 @@
---- libxml2-2.9.2.orig/python/Makefile.am 2014-10-03 04:00:53.000000000 -0500
-+++ libxml2-2.9.2/python/Makefile.am 2015-02-11 12:53:07.150163147 -0600
-@@ -18,8 +18,7 @@ EXTRA_DIST = \
- if WITH_PYTHON
- AM_CPPFLAGS = \
- -I$(top_builddir)/include \
-- -I$(top_srcdir)/include \
-- -I$(PYTHON_INCLUDES)
-+ -I$(top_srcdir)/include
-
- python_LTLIBRARIES = libxml2mod.la
-
diff --git a/package/libxslt/Makefile b/package/libxslt/Makefile
index 012ade2c1..3c2522122 100644
--- a/package/libxslt/Makefile
+++ b/package/libxslt/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= libxslt
-PKG_VERSION:= 1.1.29
+PKG_VERSION:= 1.1.38
PKG_RELEASE:= 1
-PKG_HASH:= b5976e3857837e7617b29f2249ebb5eeac34e249208d31f1fbf7a6ba7a4090ce
+PKG_HASH:= 1f32450425819a09acaff2ab7a5a7f8a2ec7956e505d7beeb45e843d0e1ecab1
PKG_DESCR:= xslt library
PKG_SECTION:= libs/data
PKG_DEPENDS:= libxml2
@@ -14,11 +14,9 @@ PKG_BUILDDEP:= libxslt-host libxml2
HOST_BUILDDEP:= libxml2-host
PKG_NEEDS:= c++
PKG_URL:= http://xmlsoft.org/XSLT
-PKG_SITES:= http://xmlsoft.org/sources/
+PKG_SITES:= https://download.gnome.org/sources/libxslt/1.1/
PKG_OPTS:= dev
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
-
PKG_SUBPKGS:= LIBXSLT XSLTPROC
PKGSD_XSLTPROC:= xslt processor utility
PKGSC_XSLTPROC:= sys/misc
@@ -30,12 +28,14 @@ $(eval $(call HOST_template,LIBXSLT,libxslt,${PKG_VERSION}-${PKG_RELEASE}))
$(eval $(call PKG_template,LIBXSLT,libxslt,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
$(eval $(call PKG_template,XSLTPROC,xsltproc,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_XSLTPROC},${PKGSC_XSLTPROC}))
+#AUTOTOOL_STYLE:= autoreconf
+HOST_LDFLAGS+= -lxml2
HOST_CONFIGURE_ARGS+= --without-python \
--without-crypto \
--with-libxml-prefix="${STAGING_HOST_DIR}/usr" \
--with-libxml-include-prefix="${STAGING_HOST_DIR}/usr/include/libxml2" \
--with-libxml-libs-prefix="${STAGING_HOST_DIR}/usr/lib"
-AUTOTOOL_STYLE:= autoreconf
+TARGET_LDFLAGS+= -lxml2
CONFIGURE_ARGS+= --with-libxml-prefix="${STAGING_TARGET_DIR}/usr" \
--with-libxml-include-prefix="${STAGING_TARGET_DIR}/usr/include/libxml2" \
--with-libxml-libs-prefix="${STAGING_TARGET_DIR}/usr/lib" \
diff --git a/package/lighttpd/Makefile b/package/lighttpd/Makefile
index c6865c145..5c126e861 100644
--- a/package/lighttpd/Makefile
+++ b/package/lighttpd/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= lighttpd
-PKG_VERSION:= 1.4.45
+PKG_VERSION:= 1.4.68
PKG_RELEASE:= 1
-PKG_HASH:= 1c97225deea33eefba6d4158c2cef27913d47553263516bbe9d2e2760fc43a3f
+PKG_HASH:= e56f37ae52b63e1ada4d76ce78005affb6e56eea2f6bdb0ce17d6d36e9583384
PKG_DESCR:= lightweight web server
PKG_SECTION:= net/http
PKG_URL:= http://www.lighttpd.net/
@@ -22,9 +22,9 @@ PKGCS_WITH_LIBRESSL:= libressl ca-certificates
PKGCD_WITHOUT_SSL:= use no ssl
PKG_SUBPKGS:= LIGHTTPD LIGHTTPD_MOD_ALIAS LIGHTTPD_MOD_AUTH
-PKG_SUBPKGS+= LIGHTTPD_MOD_CGI LIGHTTPD_MOD_DIRLIST LIGHTTPD_MOD_EVASIVE LIGHTTPD_MOD_EXPIRE LIGHTTPD_MOD_FASTCGI
+PKG_SUBPKGS+= LIGHTTPD_MOD_CGI LIGHTTPD_MOD_DIRLIST LIGHTTPD_MOD_EXPIRE LIGHTTPD_MOD_FASTCGI
PKG_SUBPKGS+= LIGHTTPD_MOD_PROXY LIGHTTPD_MOD_REDIRECT LIGHTTPD_MOD_REWRITE LIGHTTPD_MOD_SETENV
-PKG_SUBPKGS+= LIGHTTPD_MOD_VHOST LIGHTTPD_MOD_SSI LIGHTTPD_MOD_STATUS LIGHTTPD_MOD_USERTRACK
+PKG_SUBPKGS+= LIGHTTPD_MOD_VHOST LIGHTTPD_MOD_SSI LIGHTTPD_MOD_STATUS
PKGSD_LIGHTTPD_MOD_ALIAS:= alias support
PKGSN_LIGHTTPD_MOD_ALIAS:= lighttpd
PKGSD_LIGHTTPD_MOD_AUTH:= authentication support
@@ -35,8 +35,6 @@ PKGSD_LIGHTTPD_MOD_DIRLIST:= Dirlisting support
PKGSB_LIGHTTPD_MOD_DIRLIST:= pcre
PKGSS_LIGHTTPD_MOD_DIRLIST:= libpcre
PKGSN_LIGHTTPD_MOD_DIRLIST:= lighttpd
-PKGSD_LIGHTTPD_MOD_EVASIVE:= Evasive support
-PKGSN_LIGHTTPD_MOD_EVASIVE:= lighttpd
PKGSD_LIGHTTPD_MOD_EXPIRE:= Expire support
PKGSN_LIGHTTPD_MOD_EXPIRE:= lighttpd
PKGSD_LIGHTTPD_MOD_FASTCGI:= FastCGI support
@@ -55,8 +53,6 @@ PKGSD_LIGHTTPD_MOD_SSI:= SSI support
PKGSN_LIGHTTPD_MOD_SSI:= lighttpd
PKGSD_LIGHTTPD_MOD_STATUS:= Status support
PKGSN_LIGHTTPD_MOD_STATUS:= lighttpd
-PKGSD_LIGHTTPD_MOD_USERTRACK:= Usertracking support
-PKGSN_LIGHTTPD_MOD_USERTRACK:= lighttpd
PKGSD_LIGHTTPD_MOD_WEBDAV:= Webdav support
PKGSB_LIGHTTPD_MOD_WEBDAV:= libxml2 sqlite util-linux
PKGSS_LIGHTTPD_MOD_WEBDAV:= libxml2 libsqlite libuuid
@@ -79,7 +75,6 @@ $(eval $(call PKG_template,LIGHTTPD_MOD_ALIAS,lighttpd-mod-alias,$(PKG_VERSION)-
$(eval $(call PKG_template,LIGHTTPD_MOD_AUTH,lighttpd-mod-auth,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_LIGHTTPD_MOD_AUTH},${PKG_SECTION}))
$(eval $(call PKG_template,LIGHTTPD_MOD_CGI,lighttpd-mod-cgi,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_LIGHTTPD_MOD_CGI},${PKG_SECTION}))
$(eval $(call PKG_template,LIGHTTPD_MOD_DIRLIST,lighttpd-mod-dirlist,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_LIGHTTPD_MOD_DIRLIST},${PKG_SECTION}))
-$(eval $(call PKG_template,LIGHTTPD_MOD_EVASIVE,lighttpd-mod-evasive,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_LIGHTTPD_MOD_EVASIVE},${PKG_SECTION}))
$(eval $(call PKG_template,LIGHTTPD_MOD_EXPIRE,lighttpd-mod-expire,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_LIGHTTPD_MOD_EXPIRE},${PKG_SECTION}))
$(eval $(call PKG_template,LIGHTTPD_MOD_FASTCGI,lighttpd-mod-fastcgi,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_LIGHTTPD_MOD_FASTCGI},${PKG_SECTION}))
$(eval $(call PKG_template,LIGHTTPD_MOD_PROXY,lighttpd-mod-proxy,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_LIGHTTPD_MOD_PROXY},${PKG_SECTION}))
@@ -89,13 +84,11 @@ $(eval $(call PKG_template,LIGHTTPD_MOD_SETENV,lighttpd-mod-setenv,$(PKG_VERSION
$(eval $(call PKG_template,LIGHTTPD_MOD_VHOST,lighttpd-mod-vhost,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_LIGHTTPD_MOD_VHOST},${PKG_SECTION}))
$(eval $(call PKG_template,LIGHTTPD_MOD_SSI,lighttpd-mod-ssi,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_LIGHTTPD_MOD_SSI},${PKG_SECTION}))
$(eval $(call PKG_template,LIGHTTPD_MOD_STATUS,lighttpd-mod-status,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_LIGHTTPD_MOD_STATUS},${PKG_SECTION}))
-$(eval $(call PKG_template,LIGHTTPD_MOD_USERTRACK,lighttpd-mod-usertrack,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_LIGHTTPD_MOD_USERTRACK},${PKG_SECTION}))
$(eval $(call PKG_mod_template,LIGHTTPD_MOD_ALIAS,alias))
$(eval $(call PKG_mod_template,LIGHTTPD_MOD_AUTH,auth))
$(eval $(call PKG_mod_template,LIGHTTPD_MOD_CGI,cgi))
$(eval $(call PKG_mod_template,LIGHTTPD_MOD_DIRLIST,dirlisting))
-$(eval $(call PKG_mod_template,LIGHTTPD_MOD_EVASIVE,evasive))
$(eval $(call PKG_mod_template,LIGHTTPD_MOD_EXPIRE,expire))
$(eval $(call PKG_mod_template,LIGHTTPD_MOD_FASTCGI,fastcgi))
$(eval $(call PKG_mod_template,LIGHTTPD_MOD_PROXY,proxy))
@@ -105,7 +98,6 @@ $(eval $(call PKG_mod_template,LIGHTTPD_MOD_SETENV,setenv))
$(eval $(call PKG_mod_template,LIGHTTPD_MOD_VHOST,simple_vhost))
$(eval $(call PKG_mod_template,LIGHTTPD_MOD_SSI,ssi))
$(eval $(call PKG_mod_template,LIGHTTPD_MOD_STATUS,status))
-$(eval $(call PKG_mod_template,LIGHTTPD_MOD_USERTRACK,usertrack))
CONFIGURE_ARGS+= --libdir=/usr/lib/lighttpd \
--sysconfdir=/etc/lighttpd \
@@ -113,10 +105,8 @@ CONFIGURE_ARGS+= --libdir=/usr/lib/lighttpd \
--without-zlib \
--without-bzip2 \
--without-fam \
- --without-gdbm \
--without-ldap \
--without-lua \
- --without-memcache \
--without-mysql \
--without-webdav-props \
--without-webdav-locks \
diff --git a/package/linux-atm/Makefile b/package/linux-atm/Makefile
index f2c1ed82e..276b63eaa 100644
--- a/package/linux-atm/Makefile
+++ b/package/linux-atm/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= linux-atm
-PKG_VERSION:= 2.5.1
-PKG_RELEASE:= 3
-PKG_HASH:= 6bc60fe53c9e9c828a6d7f3675da11ad7fb54491863584e01c1051740fe2a286
+PKG_VERSION:= 2.5.2
+PKG_RELEASE:= 1
+PKG_HASH:= 9645481a2b16476b59220aa2d6bc5bc41043f291326c9b37581018fbd16dd53a
PKG_DESCR:= atm library
PKG_SECTION:= libs/net
PKG_BUILDDEP:= flex-host bison-host
@@ -16,15 +16,13 @@ PKG_NOPARALLEL:= 1
PKG_LIBNAME:= libatm
PKG_OPTS:= dev
-PKG_HOST_DEPENDS:= !freebsd
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SUBPKGS:= LIBATM BR2684CTL
PKGSD_BR2684CTL:= br2684ctl ATM utility
PKGSS_BR2684CTL:= libatm
PKGSC_BR2684CTL:= net/route
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tgz
-
include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,LIBATM,libatm,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
diff --git a/package/linux-atm/patches/patch-ltmain_sh b/package/linux-atm/patches/patch-ltmain_sh
deleted file mode 100644
index 583f17839..000000000
--- a/package/linux-atm/patches/patch-ltmain_sh
+++ /dev/null
@@ -1,11 +0,0 @@
---- linux-atm-2.5.1.orig/ltmain.sh 2008-08-30 00:27:10.000000000 +0200
-+++ linux-atm-2.5.1/ltmain.sh 2011-01-15 21:47:10.000000000 +0100
-@@ -1676,7 +1676,7 @@ EOF
- # -F/path gives path to uninstalled frameworks, gcc on darwin
- # @file GCC response files
- -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-- -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
-+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-fstack-protector*|-flto)
-
- # Unknown arguments in both finalize_command and compile_command need
- # to be aesthetically quoted because they are evaled later.
diff --git a/package/linux-atm/patches/patch-src_Makefile_am b/package/linux-atm/patches/patch-src_Makefile_am
new file mode 100644
index 000000000..378b4ca16
--- /dev/null
+++ b/package/linux-atm/patches/patch-src_Makefile_am
@@ -0,0 +1,7 @@
+--- linux-atm-2.5.1.orig/src/Makefile.am 2009-08-03 22:36:56.000000000 +0200
++++ linux-atm-2.5.1/src/Makefile.am 2020-09-14 15:09:51.650818873 +0200
+@@ -1,3 +1 @@
+-SUBDIRS = include lib test debug qgen q2931 saal sigd maint arpd ilmid man led lane \
+- mpoad oamd switch config extra br2684
+-
++SUBDIRS = include lib br2684ctl
diff --git a/package/linux-atm/patches/patch-src_Makefile_in b/package/linux-atm/patches/patch-src_Makefile_in
index 843577f7f..17a162daa 100644
--- a/package/linux-atm/patches/patch-src_Makefile_in
+++ b/package/linux-atm/patches/patch-src_Makefile_in
@@ -1,11 +1,11 @@
---- linux-atm-2.5.1.orig/src/Makefile.in 2009-11-30 17:21:16.000000000 +0100
-+++ linux-atm-2.5.1/src/Makefile.in 2009-12-17 16:12:07.284420844 +0100
-@@ -214,7 +214,7 @@ target_vendor = @target_vendor@
+--- linux-atm-2.5.2.orig/src/Makefile.in 2010-12-28 17:06:09.000000000 +0100
++++ linux-atm-2.5.2/src/Makefile.in 2020-09-14 15:27:36.454621754 +0200
+@@ -215,7 +215,7 @@ target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-SUBDIRS = include lib test debug qgen q2931 saal sigd maint arpd ilmid man led lane \
-+SUBDIRS = include lib debug qgen q2931 saal sigd maint arpd ilmid man led lane \
++SUBDIRS = include lib debug qgen q2931 saal sigd ilmid led lane \
mpoad oamd switch config extra br2684
all: all-recursive
diff --git a/package/linux-atm/patches/patch-src_qgen_Makefile_in b/package/linux-atm/patches/patch-src_qgen_Makefile_in
deleted file mode 100644
index 9ed7ec3de..000000000
--- a/package/linux-atm/patches/patch-src_qgen_Makefile_in
+++ /dev/null
@@ -1,40 +0,0 @@
---- linux-atm-2.5.1.orig/src/qgen/Makefile.in 2009-11-30 17:21:18.000000000 +0100
-+++ linux-atm-2.5.1/src/qgen/Makefile.in 2014-02-07 21:40:48.000000000 +0100
-@@ -57,15 +57,15 @@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top
- depcomp = $(SHELL) $(top_srcdir)/depcomp
- am__depfiles_maybe = depfiles
- am__mv = mv -f
--COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-+COMPILE = $(CC_FOR_BUILD) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
- LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-+ --mode=compile $(CC_FOR_BUILD) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
- CCLD = $(CC)
- LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-- $(LDFLAGS) -o $@
-+ --mode=link $(CC_FOR_BUILD) $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(AM_LDFLAGS) \
-+ $(LDFLAGS_FOR_BUILD) -o $@
- LEXCOMPILE = $(LEX) $(LFLAGS) $(AM_LFLAGS)
- LTLEXCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(LEX) $(LFLAGS) $(AM_LFLAGS)
-@@ -91,7 +91,7 @@ CC_FOR_BUILD = @CC_FOR_BUILD@
- CFLAGS = @CFLAGS_FOR_BUILD@
- CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
- CPP = @CPP@
--CPPFLAGS = @CPPFLAGS@
-+CPPFLAGS =
- CXX = @CXX@
- CXXCPP = @CXXCPP@
- CXXDEPMODE = @CXXDEPMODE@
-@@ -114,7 +114,7 @@ INSTALL_DATA = @INSTALL_DATA@
- INSTALL_PROGRAM = @INSTALL_PROGRAM@
- INSTALL_SCRIPT = @INSTALL_SCRIPT@
- INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
--LDFLAGS = @LDFLAGS@
-+LDFLAGS =
- LEX = @LEX@
- LEXLIB = @LEXLIB@
- LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
diff --git a/package/linux-atm/patches/patch-src_sigd_Makefile_in b/package/linux-atm/patches/patch-src_sigd_Makefile_in
index faa5a1385..62f0e5424 100644
--- a/package/linux-atm/patches/patch-src_sigd_Makefile_in
+++ b/package/linux-atm/patches/patch-src_sigd_Makefile_in
@@ -1,6 +1,6 @@
---- linux-atm-2.5.1.orig/src/sigd/Makefile.in 2009-11-30 17:21:19.000000000 +0100
-+++ linux-atm-2.5.1/src/sigd/Makefile.in 2009-12-17 16:21:42.636433571 +0100
-@@ -244,7 +244,7 @@ atmsigd_XTRAS = mess.o $(top_builddir)/s
+--- linux-atm-2.5.2.orig/src/sigd/Makefile.in 2010-12-28 17:06:11.000000000 +0100
++++ linux-atm-2.5.2/src/sigd/Makefile.in 2020-09-14 15:22:00.557233015 +0200
+@@ -245,7 +245,7 @@ atmsigd_XTRAS = mess.o $(top_builddir)/s
$(top_builddir)/src/lib/libatm.la \
$(top_builddir)/src/saal/libsaal.a
diff --git a/package/linux-atm/patches/patch-src_switch_Makefile_in b/package/linux-atm/patches/patch-src_switch_Makefile_in
index 4a2981839..0aabc8b69 100644
--- a/package/linux-atm/patches/patch-src_switch_Makefile_in
+++ b/package/linux-atm/patches/patch-src_switch_Makefile_in
@@ -1,6 +1,6 @@
---- linux-atm-2.5.1.orig/src/switch/Makefile.in 2009-11-30 17:21:19.000000000 +0100
-+++ linux-atm-2.5.1/src/switch/Makefile.in 2009-12-17 16:30:47.392542123 +0100
-@@ -249,7 +249,7 @@ target_vendor = @target_vendor@
+--- linux-atm-2.5.2.orig/src/switch/Makefile.in 2010-12-28 17:06:11.000000000 +0100
++++ linux-atm-2.5.2/src/switch/Makefile.in 2020-09-14 15:22:00.585234798 +0200
+@@ -250,7 +250,7 @@ target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
diff --git a/package/linux-atm/patches/patch-src_switch_debug_Makefile_in b/package/linux-atm/patches/patch-src_switch_debug_Makefile_in
index 2d8fa57d2..b7e08da25 100644
--- a/package/linux-atm/patches/patch-src_switch_debug_Makefile_in
+++ b/package/linux-atm/patches/patch-src_switch_debug_Makefile_in
@@ -1,6 +1,6 @@
---- linux-atm-2.5.1.orig/src/switch/debug/Makefile.in 2009-11-30 17:21:19.000000000 +0100
-+++ linux-atm-2.5.1/src/switch/debug/Makefile.in 2009-12-17 16:28:31.520542232 +0100
-@@ -199,7 +199,7 @@ sw_debug_SOURCES = debug.c
+--- linux-atm-2.5.2.orig/src/switch/debug/Makefile.in 2010-12-28 17:06:11.000000000 +0100
++++ linux-atm-2.5.2/src/switch/debug/Makefile.in 2020-09-14 15:22:00.573234034 +0200
+@@ -200,7 +200,7 @@ sw_debug_SOURCES = debug.c
sw_debug_XTRAS = $(top_builddir)/src/switch/libsw.a \
$(top_builddir)/src/lib/libatm.la
diff --git a/package/linux-atm/patches/patch-src_switch_tcp_Makefile_in b/package/linux-atm/patches/patch-src_switch_tcp_Makefile_in
index f23a64405..04113eee1 100644
--- a/package/linux-atm/patches/patch-src_switch_tcp_Makefile_in
+++ b/package/linux-atm/patches/patch-src_switch_tcp_Makefile_in
@@ -1,6 +1,6 @@
---- linux-atm-2.5.1.orig/src/switch/tcp/Makefile.in 2009-11-30 17:21:19.000000000 +0100
-+++ linux-atm-2.5.1/src/switch/tcp/Makefile.in 2009-12-17 16:33:08.832418828 +0100
-@@ -199,7 +199,7 @@ sw_tcp_SOURCES = tcpsw.c
+--- linux-atm-2.5.2.orig/src/switch/tcp/Makefile.in 2010-12-28 17:06:11.000000000 +0100
++++ linux-atm-2.5.2/src/switch/tcp/Makefile.in 2020-09-14 15:22:00.593235307 +0200
+@@ -200,7 +200,7 @@ sw_tcp_SOURCES = tcpsw.c
sw_tcp_XTRAS = $(top_builddir)/src/switch/libsw.a \
$(top_builddir)/src/lib/libatm.la
diff --git a/package/lirc/Makefile b/package/lirc/Makefile
index b72992549..9f2e886c2 100644
--- a/package/lirc/Makefile
+++ b/package/lirc/Makefile
@@ -4,11 +4,12 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= lirc
-PKG_VERSION:= 0.9.4
+PKG_VERSION:= 0.10.2
PKG_RELEASE:= 1
-PKG_HASH:= dd18a6751674fd61e4a96eebc3b9e5c883389d6230811943513443522dfc5dd0
+PKG_HASH:= 3d44ec8274881cf262f160805641f0827ffcc20ade0d85e7e6f3b90e0d3d222a
PKG_DESCR:= decode and send infra-red signals
PKG_SECTION:= sys/hw
+PKG_BUILDDEP:= libxml2-host libxslt-host
PKG_URL:= http://www.lirc.org/
PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=lirc/}
diff --git a/package/logitechmediaserver/Makefile b/package/logitechmediaserver/Makefile
index 5fcd398c3..fdaa45edb 100644
--- a/package/logitechmediaserver/Makefile
+++ b/package/logitechmediaserver/Makefile
@@ -4,10 +4,10 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= logitechmediaserver
-PKG_VERSION:= 7.9.1
-PKG_EXTRAVER:= 1519287262-noCPAN
+PKG_VERSION:= 8.4.1
+PKG_EXTRAVER:= 1708787582-noCPAN
PKG_RELEASE:= 1
-PKG_HASH:= c57cb0158bed9804d30283890df186964ae6ad8fe72e21857b08b6592c00fd5f
+PKG_HASH:= b521bb7e03ee24003e718298cf54c7aac29e59a2da37d55a3380904397341802
PKG_DESCR:= popular media server
PKG_SECTION:= mm/audio
PKG_NEEDS:= data
@@ -19,7 +19,7 @@ PKG_DEPENDS+= p5-dbd-sqlite p5-tie-refhash p5-template-toolkit
PKG_DEPENDS+= p5-class-xsaccessor p5-io-interface p5-anyevent
PKG_BUILDDEP:= perl
PKG_URL:= http://wiki.slimdevices.com/index.php/Logitech_Media_Server
-PKG_SITES:= http://downloads.slimdevices.com/nightly/7.9/sc/a141d03b6489a3a1c65eebc34213e809d1c95df4/
+PKG_SITES:= https://downloads.slimdevices.com/nightly/
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}-${PKG_EXTRAVER}.tgz
WRKDIST= ${WRKDIR}/${PKG_NAME}-${PKG_VERSION}-${PKG_EXTRAVER}
diff --git a/package/logitechmediaserver/patches/patch-Slim_Utils_OS_Linux_pm b/package/logitechmediaserver/patches/patch-Slim_Utils_OS_Linux_pm
deleted file mode 100644
index 39d9a53a6..000000000
--- a/package/logitechmediaserver/patches/patch-Slim_Utils_OS_Linux_pm
+++ /dev/null
@@ -1,13 +0,0 @@
---- logitechmediaserver-7.9.1-1502887423-noCPAN.orig/Slim/Utils/OS/Linux.pm 2017-08-09 10:50:44.000000000 +0200
-+++ logitechmediaserver-7.9.1-1502887423-noCPAN/Slim/Utils/OS/Linux.pm 2017-08-17 20:44:24.015911172 +0200
-@@ -47,6 +47,10 @@ sub getFlavor {
-
- return 'Netgear RAIDiator';
-
-+ } elsif (-f '/etc/.adktarget') {
-+
-+ return 'OpenADK';
-+
- } elsif (-f '/etc/squeezeos.version') {
-
- return 'SqueezeOS';
diff --git a/package/logrotate/Makefile b/package/logrotate/Makefile
index 4701a9c0c..166edcbdb 100644
--- a/package/logrotate/Makefile
+++ b/package/logrotate/Makefile
@@ -4,24 +4,19 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= logrotate
-PKG_VERSION:= 3.8.9
+PKG_VERSION:= 3.21.0
PKG_RELEASE:= 1
-PKG_HASH:= 700ed7ce9072a1cca324779a74797dfaefdae37ac50a817134b947c4ded1dfa7
+PKG_HASH:= 8fa12015e3b8415c121fc9c0ca53aa872f7b0702f543afda7e32b6c4900f6516
PKG_DESCR:= logfile rotation utility
PKG_SECTION:= sys/misc
PKG_DEPENDS:= libpopt
PKG_BUILDDEP:= popt
-PKG_SITES:= https://fedorahosted.org/releases/l/o/logrotate/
-
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
+PKG_SITES:= https://github.com/logrotate/logrotate/releases/download/$(PKG_VERSION)/
include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,LOGROTATE,logrotate,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-CONFIG_STYLE:= manual
-TARGET_CFLAGS+= -DVERSION=\"$(PKG_VERSION)\"
-
logrotate-install:
${INSTALL_DIR} ${IDIR_LOGROTATE}/usr/sbin
${INSTALL_BIN} ${WRKINST}/usr/sbin/logrotate ${IDIR_LOGROTATE}/usr/sbin
diff --git a/package/logrotate/patches/patch-Makefile b/package/logrotate/patches/patch-Makefile
deleted file mode 100644
index 9b8fec9c3..000000000
--- a/package/logrotate/patches/patch-Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
---- logrotate-3.8.9.orig/Makefile 2015-02-13 07:11:21.000000000 +0100
-+++ logrotate-3.8.9/Makefile 2015-04-02 16:40:24.000000000 +0200
-@@ -1,11 +1,12 @@
- VERSION = $(shell awk '/Version:/ { print $$2 }' logrotate.spec)
--OS_NAME = $(shell uname -s)
--LFS = $(shell echo `getconf LFS_CFLAGS 2>/dev/null`)
--CFLAGS = -Wall -D_GNU_SOURCE -D$(OS_NAME) -DVERSION=\"$(VERSION)\" -DHAVE_STRPTIME=1 -DHAVE_QSORT $(RPM_OPT_FLAGS) $(LFS)
-+OS_NAME = Linux
-+#LFS = $(shell echo `getconf LFS_CFLAGS 2>/dev/null`)
-+CFLAGS ?=
-+CFLAGS += -D_GNU_SOURCE -D$(OS_NAME) -DVERSION=\"$(VERSION)\" -DHAVE_STRPTIME=1 -DHAVE_QSORT $(RPM_OPT_FLAGS) $(LFS)
- PROG = logrotate
- MAN = logrotate.8
- MAN5 = logrotate.conf.5
--LOADLIBES = -lpopt
-+LIBS = -lpopt
- SVNURL= svn+ssh://svn.fedorahosted.org/svn/logrotate
- SVNPUBURL = http://svn.fedorahosted.org/svn/logrotate
- SVNTAG = r$(subst .,-,$(VERSION))
-@@ -64,7 +65,7 @@ endif
- # Red Hat Linux
- ifeq ($(OS_NAME),Linux)
- INSTALL = install
-- BASEDIR = /usr
-+ BASEDIR = $(DESTDIR)/usr
- endif
-
- # FreeBSD
-@@ -124,6 +125,7 @@ show_warning:
- @echo ""
-
- $(PROG): $(OBJS)
-+ $(CC) $(LDFLAGS) -o $(PROG) $^ $(LIBS)
-
- clean:
- rm -f $(OBJS) $(PROG) core* .depend
diff --git a/package/ltp/Makefile b/package/ltp/Makefile
index f6c334012..1a039c239 100644
--- a/package/ltp/Makefile
+++ b/package/ltp/Makefile
@@ -4,11 +4,15 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= ltp
-PKG_VERSION:= 20190930
+PKG_VERSION:= 20240129
PKG_RELEASE:= 1
PKG_DESCR:= linux test project
-PKG_HASH:= c7049590df2da3135030db5ef4c0076b76c789724a752b1102b4a01db0189f9a
-PKG_DEPENDS:= bash mke2fs mkfs
+PKG_HASH:= c302f6b2ca09cbb7835f549777bdb9233fe31f7086d7ad8e65472a0804e3e025
+PKG_DEPENDS:= bash mke2fs mkfs shadow libtirpc libaio
+PKG_DEPENDS+= kmod dosfstools
+PKG_BUILDDEP+= libtirpc libaio
+PKG_KDEPENDS:= coredump bsd-process-acct ikconfig-proc cgroups
+PKG_KDEPENDS+= user-ns net-ns time-ns bpf-syscall blk-dev-loop watch-queue
PKG_NEEDS:= threads
PKG_SECTION:= base/tests
PKG_URL:= http://linux-test-project.github.io
@@ -28,19 +32,12 @@ CONFIGURE_ARGS+= --with-open-posix-testsuite \
--without-power-management-testsuite \
--without-python \
--without-perl \
- --without-expect
+ --without-expect \
+ --disable-metadata
pre-configure:
PATH="$(HOST_PATH)" $(MAKE) -C $(WRKBUILD) autotools
-# bessel float and mallopt not implemented in uClibc-ng
-pre-build:
- -rm ${WRKBUILD}/testcases/misc/math/float/float_bessel.c
- -rm -rf ${WRKBUILD}/testcases/misc/math/float/bessel
- -rm -rf ${WRKBUILD}/testcases/network/{rpc,nfs*}
- -rm -rf ${WRKBUILD}/testcases/kernel/syscalls/profil
- -rm -rf ${WRKBUILD}/testcases/kernel/syscalls/mallopt
-
ltp-install:
$(INSTALL_DIR) $(IDIR_LTP)/opt/ltp/tmp
$(CP) $(WRKINST)/usr/* $(IDIR_LTP)/opt/ltp
diff --git a/package/ltp/patches/patch-Makefile b/package/ltp/patches/patch-Makefile
new file mode 100644
index 000000000..0c47a972d
--- /dev/null
+++ b/package/ltp/patches/patch-Makefile
@@ -0,0 +1,11 @@
+--- ltp-full-20220121.orig/Makefile 2022-01-21 20:33:16.000000000 +0100
++++ ltp-full-20220121/Makefile 2022-02-23 15:14:48.211207957 +0100
+@@ -62,7 +62,7 @@ $(1):: | $$(abs_top_builddir)/$$(basenam
+ endif
+ endef
+
+-COMMON_TARGETS += testcases tools metadata
++COMMON_TARGETS += testcases tools
+
+ # Don't want to nuke the original files if we're installing in-build-tree.
+ ifneq ($(BUILD_TREE_STATE),$(BUILD_TREE_SRCDIR_INSTALL))
diff --git a/package/ltp/patches/patch-runtest_mm b/package/ltp/patches/patch-runtest_mm
deleted file mode 100644
index 968b15e1e..000000000
--- a/package/ltp/patches/patch-runtest_mm
+++ /dev/null
@@ -1,8 +0,0 @@
---- ltp-full-20170929.orig/runtest/mm 2017-09-29 17:11:53.000000000 +0200
-+++ ltp-full-20170929/runtest/mm 2017-10-05 18:58:09.655415743 +0200
-@@ -100,4 +100,4 @@ overcommit_memory06 overcommit_memory -R
-
- max_map_count max_map_count -i 10
-
--min_free_kbytes min_free_kbytes
-+#min_free_kbytes min_free_kbytes
diff --git a/package/ltp/patches/patch-runtest_sched b/package/ltp/patches/patch-runtest_sched
deleted file mode 100644
index 829b1b3dd..000000000
--- a/package/ltp/patches/patch-runtest_sched
+++ /dev/null
@@ -1,13 +0,0 @@
---- ltp-full-20190930.orig/runtest/sched 2019-09-30 13:30:25.000000000 +0200
-+++ ltp-full-20190930/runtest/sched 2019-10-29 14:36:35.718142489 +0100
-@@ -6,8 +6,8 @@ pth_str03 pth_str03
- time-schedule01 time-schedule
- trace_sched01 trace_sched -c 1
-
--hackbench01 hackbench 50 process 1000
--hackbench02 hackbench 20 thread 1000
-+#hackbench01 hackbench 50 process 500
-+#hackbench02 hackbench 20 thread 500
-
- sched_cli_serv run_sched_cliserv.sh
- # Run this stress test for 2 minutes
diff --git a/package/ltp/patches/patch-runtest_syscalls b/package/ltp/patches/patch-runtest_syscalls
deleted file mode 100644
index 3137ed3dc..000000000
--- a/package/ltp/patches/patch-runtest_syscalls
+++ /dev/null
@@ -1,11 +0,0 @@
---- ltp-full-20190930.orig/runtest/syscalls 2019-09-30 13:30:25.000000000 +0200
-+++ ltp-full-20190930/runtest/syscalls 2019-10-29 14:36:35.746144285 +0100
-@@ -330,7 +330,7 @@ fork08 fork08
- fork09 fork09
- fork10 fork10
- fork11 fork11
--fork13 fork13 -i 1000000
-+fork13 fork13 -i 10000
- fork14 fork14
-
- fpathconf01 fpathconf01
diff --git a/package/ltp/patches/patch-testcases_kernel_syscalls_fanotify_fanotify02_c b/package/ltp/patches/patch-testcases_kernel_syscalls_fanotify_fanotify02_c
deleted file mode 100644
index 0244804de..000000000
--- a/package/ltp/patches/patch-testcases_kernel_syscalls_fanotify_fanotify02_c
+++ /dev/null
@@ -1,10 +0,0 @@
---- ltp-full-20190930.orig/testcases/kernel/syscalls/fanotify/fanotify02.c 2019-09-30 13:30:25.000000000 +0200
-+++ ltp-full-20190930/testcases/kernel/syscalls/fanotify/fanotify02.c 2019-10-29 14:36:35.762145321 +0100
-@@ -10,6 +10,7 @@
- #define _GNU_SOURCE
- #include "config.h"
-
-+#define _GNU_SOURCE
- #include <stdio.h>
- #include <sys/stat.h>
- #include <sys/types.h>
diff --git a/package/ltp/patches/patch-testcases_kernel_syscalls_fanotify_fanotify04_c b/package/ltp/patches/patch-testcases_kernel_syscalls_fanotify_fanotify04_c
deleted file mode 100644
index 89c03fc74..000000000
--- a/package/ltp/patches/patch-testcases_kernel_syscalls_fanotify_fanotify04_c
+++ /dev/null
@@ -1,10 +0,0 @@
---- ltp-full-20190930.orig/testcases/kernel/syscalls/fanotify/fanotify04.c 2019-09-30 13:30:25.000000000 +0200
-+++ ltp-full-20190930/testcases/kernel/syscalls/fanotify/fanotify04.c 2019-10-29 14:36:35.806148130 +0100
-@@ -11,6 +11,7 @@
- #define _GNU_SOURCE
- #include "config.h"
-
-+#define _GNU_SOURCE
- #include <stdio.h>
- #include <sys/stat.h>
- #include <sys/types.h>
diff --git a/package/ltp/patches/patch-testcases_kernel_syscalls_pkeys_pkey01_c b/package/ltp/patches/patch-testcases_kernel_syscalls_pkeys_pkey01_c
deleted file mode 100644
index 5f52235c1..000000000
--- a/package/ltp/patches/patch-testcases_kernel_syscalls_pkeys_pkey01_c
+++ /dev/null
@@ -1,35 +0,0 @@
---- ltp-full-20190930.orig/testcases/kernel/syscalls/pkeys/pkey01.c 2019-09-30 13:30:26.000000000 +0200
-+++ ltp-full-20190930/testcases/kernel/syscalls/pkeys/pkey01.c 2019-10-29 15:02:09.524423510 +0100
-@@ -157,12 +157,12 @@ static void pkey_test(struct tcase *tc,
-
- buffer = SAFE_MMAP(NULL, size, mpa->prot, mpa->flags, fd, 0);
-
-- pkey = pkey_alloc(tc->flags, tc->access_rights);
-+ pkey = ltp_pkey_alloc(tc->flags, tc->access_rights);
- if (pkey == -1)
- tst_brk(TBROK | TERRNO, "pkey_alloc failed");
-
- tst_res(TINFO, "Set %s on (%s) buffer", tc->name, flag_to_str(mpa->flags));
-- if (pkey_mprotect(buffer, size, mpa->prot, pkey) == -1)
-+ if (ltp_pkey_mprotect(buffer, size, mpa->prot, pkey) == -1)
- tst_brk(TBROK | TERRNO, "pkey_mprotect failed");
-
- pid = SAFE_FORK();
-@@ -189,7 +189,7 @@ static void pkey_test(struct tcase *tc,
- tst_res(TFAIL, "Child: %s", tst_strstatus(status));
-
- tst_res(TINFO, "Remove %s from the buffer", tc->name);
-- if (pkey_mprotect(buffer, size, mpa->prot, 0x0) == -1)
-+ if (ltp_pkey_mprotect(buffer, size, mpa->prot, 0x0) == -1)
- tst_brk(TBROK | TERRNO, "pkey_mprotect failed");
-
- switch (mpa->prot) {
-@@ -211,7 +211,7 @@ static void pkey_test(struct tcase *tc,
-
- SAFE_MUNMAP(buffer, size);
-
-- if (pkey_free(pkey) == -1)
-+ if (ltp_pkey_free(pkey) == -1)
- tst_brk(TBROK | TERRNO, "pkey_free failed");
- }
-
diff --git a/package/ltp/patches/patch-testcases_kernel_syscalls_pkeys_pkey_h b/package/ltp/patches/patch-testcases_kernel_syscalls_pkeys_pkey_h
deleted file mode 100644
index 219cd3699..000000000
--- a/package/ltp/patches/patch-testcases_kernel_syscalls_pkeys_pkey_h
+++ /dev/null
@@ -1,53 +0,0 @@
---- ltp-full-20190930.orig/testcases/kernel/syscalls/pkeys/pkey.h 2019-09-30 13:30:26.000000000 +0200
-+++ ltp-full-20190930/testcases/kernel/syscalls/pkeys/pkey.h 2019-10-29 15:02:09.524423510 +0100
-@@ -1,6 +1,7 @@
- // SPDX-License-Identifier: GPL-2.0-or-later
- /*
- * Copyright (c) 2019 Red Hat, Inc.
-+ * Copyright (c) Linux Test Project, 2019
- */
-
- #ifndef PKEYS_H
-@@ -15,25 +16,29 @@
- #endif
-
- #ifndef HAVE_PKEY_MPROTECT
--static inline int pkey_mprotect(void *addr, size_t len, int prot, int pkey)
-+inline int ltp_pkey_mprotect(void *addr, size_t len, int prot, int pkey)
- {
- return tst_syscall(__NR_pkey_mprotect, addr, len, prot, pkey);
- }
-
--static inline int pkey_alloc(unsigned int flags, unsigned int access_rights)
-+inline int ltp_pkey_alloc(unsigned int flags, unsigned int access_rights)
- {
- return tst_syscall(__NR_pkey_alloc, flags, access_rights);
- }
-
--static inline int pkey_free(int pkey)
-+inline int ltp_pkey_free(int pkey)
- {
- return tst_syscall(__NR_pkey_free, pkey);
- }
-+#else
-+#define ltp_pkey_alloc pkey_alloc
-+#define ltp_pkey_free pkey_free
-+#define ltp_pkey_mprotect pkey_mprotect
- #endif /* HAVE_PKEY_MPROTECT */
-
- static inline void check_pkey_support(void)
- {
-- int pkey = pkey_alloc(0, 0);
-+ int pkey = ltp_pkey_alloc(0, 0);
-
- if (pkey == -1) {
- if (errno == ENOSYS)
-@@ -44,7 +49,7 @@ static inline void check_pkey_support(vo
- tst_brk(TCONF, "pkeys are not available for test");
- }
-
-- pkey_free(pkey);
-+ ltp_pkey_free(pkey);
- }
-
- #endif /* PKEYS_H */
diff --git a/package/lttng-tools/Makefile b/package/lttng-tools/Makefile
index f3505fe55..fe9678212 100644
--- a/package/lttng-tools/Makefile
+++ b/package/lttng-tools/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= lttng-tools
-PKG_VERSION:= 2.9.5
+PKG_VERSION:= 2.13.11
PKG_RELEASE:= 1
-PKG_HASH:= 77839eb6fc6c652125f08acfd9369701c2516eb05cc2084160e7efc7a3fb731c
+PKG_HASH:= ac5baeef9fa690936b1ca01ecd1742da762c2c08511ff1b4e923938d94d0f979
PKG_DESCR:= open source tracing framework
PKG_SECTION:= app/debug
PKG_BUILDDEP:= popt libxml2 util-linux userspace-rcu ncurses
@@ -20,7 +20,10 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,LTTNG_TOOLS,lttng-tools,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
-CONFIGURE_ARGS+= --without-lttng-ust
+AUTOTOOL_STYLE:= autoreconf
+CONFIGURE_ARGS+= --without-lttng-ust \
+ --disable-tests \
+ --disable-silent-rules
lttng-tools-install:
$(INSTALL_DIR) $(IDIR_LTTNG_TOOLS)/usr/bin
diff --git a/package/lttng-tools/patches/patch-configure_ac b/package/lttng-tools/patches/patch-configure_ac
new file mode 100644
index 000000000..fcde66d8b
--- /dev/null
+++ b/package/lttng-tools/patches/patch-configure_ac
@@ -0,0 +1,19 @@
+--- lttng-tools-2.13.11.orig/configure.ac 2023-08-21 20:32:56.422853499 +0200
++++ lttng-tools-2.13.11/configure.ac 2024-02-18 06:45:39.022802047 +0100
+@@ -884,6 +884,8 @@ AC_ARG_ENABLE([bin-lttng-sessiond], AS_H
+ [Disable the build of lttng-sessiond binaries]))
+ AC_ARG_ENABLE([extras], AS_HELP_STRING([--disable-extras],
+ [Disable the build of the extra components]))
++AC_ARG_ENABLE([tests], AS_HELP_STRING([--disable-tests],
++ [Disable the build of the test components]))
+
+
+ build_lib_consumer=no
+@@ -1035,6 +1037,7 @@ AM_CONDITIONAL([BUILD_BIN_LTTNG_SESSIOND
+
+ # Export the tests and extras build conditions.
+ AS_IF([\
++test "x$enable_tests" != "xno" && \
+ test "x$enable_bin_lttng" != "xno" && \
+ test "x$enable_bin_lttng_consumerd" != "xno" && \
+ test "x$enable_bin_lttng_crash" != "xno" && \
diff --git a/package/lttng-tools/patches/patch-src_bin_lttng-sessiond_thread_c b/package/lttng-tools/patches/patch-src_bin_lttng-sessiond_thread_c
new file mode 100644
index 000000000..53652ccf1
--- /dev/null
+++ b/package/lttng-tools/patches/patch-src_bin_lttng-sessiond_thread_c
@@ -0,0 +1,11 @@
+--- lttng-tools-2.13.11.orig/src/bin/lttng-sessiond/thread.c 2023-08-21 20:32:56.490852554 +0200
++++ lttng-tools-2.13.11/src/bin/lttng-sessiond/thread.c 2024-02-18 06:55:46.482793807 +0100
+@@ -134,7 +134,7 @@ void lttng_thread_put(struct lttng_threa
+ if (!thread) {
+ return;
+ }
+- assert(thread->ref.refcount);
++ //assert(thread->ref.refcount);
+ urcu_ref_put(&thread->ref, lttng_thread_release);
+ }
+
diff --git a/package/lttng-tools/patches/patch-src_common_fd-handle_c b/package/lttng-tools/patches/patch-src_common_fd-handle_c
new file mode 100644
index 000000000..079fcb539
--- /dev/null
+++ b/package/lttng-tools/patches/patch-src_common_fd-handle_c
@@ -0,0 +1,20 @@
+--- lttng-tools-2.13.11.orig/src/common/fd-handle.c 2023-08-21 20:32:56.530851999 +0200
++++ lttng-tools-2.13.11/src/common/fd-handle.c 2024-02-18 06:50:31.478798080 +0100
+@@ -21,7 +21,7 @@ static void fd_handle_release(struct urc
+ int ret;
+ struct fd_handle *handle = container_of(ref, struct fd_handle, ref);
+
+- assert(handle->fd >= 0);
++ //assert(handle->fd >= 0);
+ ret = close(handle->fd);
+ if (ret == -1) {
+ PERROR("Failed to close file descriptor of fd_handle upon release: fd = %d",
+@@ -78,7 +78,7 @@ void fd_handle_put(struct fd_handle *han
+ LTTNG_HIDDEN
+ int fd_handle_get_fd(struct fd_handle *handle)
+ {
+- assert(handle);
++ //assert(handle);
+ return handle->fd;
+ }
+
diff --git a/package/lttng-tools/patches/patch-src_common_shm_c b/package/lttng-tools/patches/patch-src_common_shm_c
new file mode 100644
index 000000000..e55463125
--- /dev/null
+++ b/package/lttng-tools/patches/patch-src_common_shm_c
@@ -0,0 +1,20 @@
+--- lttng-tools-2.13.11.orig/src/common/shm.c 2023-08-21 20:32:56.550851722 +0200
++++ lttng-tools-2.13.11/src/common/shm.c 2024-02-18 06:56:33.822793165 +0100
+@@ -32,7 +32,7 @@ static int get_wait_shm(char *shm_path,
+ int wait_shm_fd, ret;
+ mode_t mode, old_mode;
+
+- assert(shm_path);
++ //assert(shm_path);
+
+ /* Default permissions */
+ mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP;
+@@ -166,7 +166,7 @@ char *shm_ust_get_mmap(char *shm_path, i
+ char *wait_shm_mmap;
+ long sys_page_size;
+
+- assert(shm_path);
++ //assert(shm_path);
+
+ sys_page_size = sysconf(_SC_PAGE_SIZE);
+ if (sys_page_size < 0) {
diff --git a/package/luajit/Makefile b/package/luajit/Makefile
index 4d1612cd1..21fec1a1e 100644
--- a/package/luajit/Makefile
+++ b/package/luajit/Makefile
@@ -4,17 +4,13 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= luajit
-PKG_VERSION:= 2.0.4
+PKG_VERSION:= 0d313b243194a0b8d2399d8b549ca5a0ff234db5
+PKG_GIT:= hash
PKG_RELEASE:= 1
-PKG_HASH:= 620fa4eb12375021bef6e4f237cbd2dd5d49e56beb414bee052c746beef1807d
PKG_DESCR:= just in time compiler for lua
PKG_SECTION:= dev/lang
PKG_URL:= http://luajit.org/download/
-PKG_SITES:= http://luajit.org/download/
-
-DISTFILES:= LuaJIT-$(PKG_VERSION).tar.gz
-
-WRKDIST= $(WRKDIR)/LuaJIT-$(PKG_VERSION)
+PKG_SITES:= https://luajit.org/git/luajit.git
include $(ADK_TOPDIR)/mk/package.mk
@@ -30,7 +26,7 @@ XAKE_FLAGS+= STATIC_CC="$(TARGET_CC)" \
LDFLAGS='' \
TARGET_CFLAGS='$(TARGET_CFLAGS) -fPIC' \
TARGET_LDFLAGS='$(TARGET_LDFLAGS)' \
- HOST_CC='$(HOST_CC) -m32' \
+ HOST_CC='$(HOST_CC)' \
HOST_CFLAGS='$(HOST_CFLAGS)' \
HOST_LDFLAGS='$(HOST_LDFLAGS)' \
Q=''
diff --git a/package/lvm/Makefile b/package/lvm/Makefile
index ac782d98c..82ff98a3a 100644
--- a/package/lvm/Makefile
+++ b/package/lvm/Makefile
@@ -4,13 +4,14 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= lvm
-PKG_VERSION:= 2.02.177
-PKG_RELEASE:= 1
-PKG_HASH:= 4025a23ec9b15c2cb7486d151c29dc953b75efc4d452cfe9dbbc7c0fac8e80f2
+PKG_VERSION:= 2.02.188
+PKG_RELEASE:= 2
+PKG_HASH:= 7101e8b0816ad77e4390fed9749a090214ba520061cd083437871e19e50cc9bd
PKG_DESCR:= logical volume management
PKG_SECTION:= sys/fs
-PKG_DEPENDS:= libdevmapper libncurses
-PKG_BUILDDEP:= ncurses util-linux
+PKG_DEPENDS:= libdevmapper libncurses libaio
+PKG_KDEPENDS:= blk-dev-dm
+PKG_BUILDDEP:= ncurses util-linux libaio
PKG_NEEDS:= threads
PKG_URL:= http://sourceware.org/lvm2/
PKG_SITES:= http://ftp.gwdg.de/pub/linux/sources.redhat.com/lvm2/
@@ -40,6 +41,8 @@ CONFIGURE_ARGS+= --with-user="" --with-group="" \
--with-optimisation="" \
--disable-testing \
--disable-blkid_wiping \
+ --disable-udev-systemd-background-jobs \
+ --with-symvers=no \
--with-lvm1=none
CONFIGURE_ENV+= ac_cv_flag_HAVE_PIE=no \
ac_cv_func_malloc_0_nonnull=yes \
@@ -49,6 +52,8 @@ lvm-install:
${INSTALL_DIR} ${IDIR_LVM}/usr/sbin
${INSTALL_BIN} ${WRKINST}/usr/sbin/lvm \
${IDIR_LVM}/usr/sbin
+ ${INSTALL_DIR} ${IDIR_LVM}/etc/
+ ${INSTALL_DATA} ./files/lvm.conf ${IDIR_LVM}/etc/
libdevmapper-install:
${INSTALL_DIR} ${IDIR_LIBDEVMAPPER}/usr/lib
diff --git a/package/lvm/files/lvm.conf b/package/lvm/files/lvm.conf
new file mode 100644
index 000000000..a2e77c05d
--- /dev/null
+++ b/package/lvm/files/lvm.conf
@@ -0,0 +1,4 @@
+devices {
+ # avoid constant cfgfs updates
+ write_cache_state = 0
+}
diff --git a/package/lvm/patches/0001-configure-support-builds-without-versioning.patch b/package/lvm/patches/0001-configure-support-builds-without-versioning.patch
new file mode 100644
index 000000000..49c20cccc
--- /dev/null
+++ b/package/lvm/patches/0001-configure-support-builds-without-versioning.patch
@@ -0,0 +1,273 @@
+From 7a45d4d688d4966664ca94619b2ad0fc8d333d77 Mon Sep 17 00:00:00 2001
+From: Zdenek Kabelac <zkabelac@redhat.com>
+Date: Mon, 29 Mar 2021 21:46:12 +0200
+Subject: [PATCH] configure: support builds without versioning
+
+Not all libc (like musl, uclibc dietlibc) libraries support full symbol
+version resolution in runtime like glibc.
+Add support to not generate symbol versions when compiling against them.
+
+Additionally libdevmapper.so was broken when compiled against
+uclibc. Runtime linker loader caused calling dm_task_get_info_base()
+function recursively, leading to segmentation fault.
+
+Introduce --with-symvers=STYLE option, which allows to choose
+between gnu and disabled symbol versioning. By default gnu symbol
+versioning is used.
+__GNUC__ check is replaced now with GNU_SYMVER.
+Additionally ld version script is included only in
+case of gnu option, which slightly reduces output size.
+
+Providing --without-symvers to configure script when building against
+uclibc library fixes segmentation fault error described above, due to
+lack of several versions of the same symbol in libdevmapper.so
+library.
+
+Based on:
+https://patchwork.kernel.org/project/dm-devel/patch/20180831144817.31207-1-m.niestroj@grinn-global.com/
+
+Suggested-by: Marcin Niestroj <m.niestroj@grinn-global.com>
+---
+ configure | 35 ++++++++++++++++++++++++++++++++---
+ configure.ac | 26 +++++++++++++++++++++++---
+ include/configure.h.in | 3 +++
+ lib/misc/lib.h | 4 ++--
+ libdm/datastruct/bitset.c | 4 +---
+ libdm/ioctl/libdm-iface.c | 2 +-
+ libdm/libdm-deptree.c | 2 +-
+ libdm/libdm-stats.c | 2 +-
+ 8 files changed, 64 insertions(+), 14 deletions(-)
+
+diff --git a/configure b/configure
+index bb8d502209d60..eeb8397a27d0b 100755
+--- a/configure
++++ b/configure
+@@ -942,6 +942,7 @@ enable_cmirrord
+ with_cmirrord_pidfile
+ enable_debug
+ with_optimisation
++with_symvers
+ enable_profiling
+ enable_valgrind_pool
+ enable_devmapper
+@@ -1792,6 +1793,8 @@ Optional Packages:
+ --with-cmirrord-pidfile=PATH
+ cmirrord pidfile [PID_DIR/cmirrord.pid]
+ --with-optimisation=OPT C optimisation flag [OPT=-O2]
++ --with-symvers=STYLE use symbol versioning of the shared library
++ [default=gnu]
+ --with-lvmlockd-pidfile=PATH
+ lvmlockd pidfile [PID_DIR/lvmlockd.pid]
+ --with-lvmetad-pidfile=PATH
+@@ -3168,13 +3171,11 @@ if test -z "$CFLAGS"; then :
+ fi
+ case "$host_os" in
+ linux*)
+- CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym"
+ # equivalent to -rdynamic
+ ELDFLAGS="-Wl,--export-dynamic"
+ # FIXME Generate list and use --dynamic-list=.dlopen.sym
+ CLDWHOLEARCHIVE="-Wl,-whole-archive"
+ CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive"
+- LDDEPS="$LDDEPS .export.sym"
+ LIB_SUFFIX=so
+ DEVMAPPER=yes
+ BUILD_LVMETAD=no
+@@ -3190,7 +3191,6 @@ case "$host_os" in
+ ;;
+ darwin*)
+ CFLAGS="$CFLAGS -no-cpp-precomp -fno-common"
+- CLDFLAGS="$CLDFLAGS"
+ ELDFLAGS=
+ CLDWHOLEARCHIVE="-all_load"
+ CLDNOWHOLEARCHIVE=
+@@ -11182,6 +11182,35 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $COPTIMISE_FLAG" >&5
+ $as_echo "$COPTIMISE_FLAG" >&6; }
+
++################################################################################
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use symbol versioning" >&5
++$as_echo_n "checking whether to use symbol versioning... " >&6; }
++
++# Check whether --with-symvers was given.
++if test "${with_symvers+set}" = set; then :
++ withval=$with_symvers; case "$withval" in
++ gnu|no) symvers=$withval ;;
++ *) as_fn_error $? "Unknown argument to with-symvers" "$LINENO" 5 ;;
++ esac
++else
++ symvers=gnu
++fi
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $symvers" >&5
++$as_echo "$symvers" >&6; }
++
++if test "$GCC" = "yes" && test "$symvers" = "gnu" ; then
++
++$as_echo "#define GNU_SYMVER 1" >>confdefs.h
++
++ case "$host_os" in
++ linux*)
++ CLDFLAGS="${CLDFLAGS-"$LDFLAGS"} -Wl,--version-script,.export.sym"
++ LDDEPS="$LDDEPS .export.sym"
++ ;;
++ esac
++fi
++
+ ################################################################################
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to gather gcov profiling data" >&5
+ $as_echo_n "checking whether to gather gcov profiling data... " >&6; }
+diff --git a/configure.ac b/configure.ac
+index f040a5a713d7f..a2697d15c9150 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -30,13 +30,11 @@ AC_CANONICAL_TARGET([])
+ AS_IF([test -z "$CFLAGS"], [COPTIMISE_FLAG="-O2"])
+ case "$host_os" in
+ linux*)
+- CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym"
+ # equivalent to -rdynamic
+ ELDFLAGS="-Wl,--export-dynamic"
+ # FIXME Generate list and use --dynamic-list=.dlopen.sym
+ CLDWHOLEARCHIVE="-Wl,-whole-archive"
+ CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive"
+- LDDEPS="$LDDEPS .export.sym"
+ LIB_SUFFIX=so
+ DEVMAPPER=yes
+ BUILD_LVMETAD=no
+@@ -52,7 +50,6 @@ case "$host_os" in
+ ;;
+ darwin*)
+ CFLAGS="$CFLAGS -no-cpp-precomp -fno-common"
+- CLDFLAGS="$CLDFLAGS"
+ ELDFLAGS=
+ CLDWHOLEARCHIVE="-all_load"
+ CLDNOWHOLEARCHIVE=
+@@ -981,6 +978,29 @@ AC_ARG_WITH(optimisation,
+ COPTIMISE_FLAG=$withval)
+ AC_MSG_RESULT($COPTIMISE_FLAG)
+
++################################################################################
++dnl -- Symbol versioning
++AC_MSG_CHECKING(whether to use symbol versioning)
++AC_ARG_WITH(symvers,
++ AC_HELP_STRING([--with-symvers=STYLE],
++ [use symbol versioning of the shared library [default=gnu]]),
++ [ case "$withval" in
++ gnu|no) symvers=$withval ;;
++ *) AC_MSG_ERROR(Unknown argument to with-symvers) ;;
++ esac], symvers=gnu)
++AC_MSG_RESULT($symvers)
++
++if test "$GCC" = "yes" && test "$symvers" = "gnu" ; then
++ AC_DEFINE(GNU_SYMVER, 1,
++ [Define to use GNU versioning in the shared library.])
++ case "$host_os" in
++ linux*)
++ CLDFLAGS="${CLDFLAGS-"$LDFLAGS"} -Wl,--version-script,.export.sym"
++ LDDEPS="$LDDEPS .export.sym"
++ ;;
++ esac
++fi
++
+ ################################################################################
+ dnl -- Enable profiling
+ AC_MSG_CHECKING(whether to gather gcov profiling data)
+diff --git a/include/configure.h.in b/include/configure.h.in
+index 49663e484e0b2..af0fa31e063a3 100644
+--- a/include/configure.h.in
++++ b/include/configure.h.in
+@@ -150,6 +150,9 @@
+ /* Path to fsadm binary. */
+ #undef FSADM_PATH
+
++/* Define to use GNU versioning in the shared library. */
++#undef GNU_SYMVER
++
+ /* Define to 1 if you have the `alarm' function. */
+ #undef HAVE_ALARM
+
+diff --git a/lib/misc/lib.h b/lib/misc/lib.h
+index d7fa5c721c118..3cd7a76ae3486 100644
+--- a/lib/misc/lib.h
++++ b/lib/misc/lib.h
+@@ -42,7 +42,7 @@
+ * specified version string.
+ *
+ * Since versioning is only available when compiling with GCC the entire
+- * compatibility version should be enclosed in '#if defined(__GNUC__)',
++ * compatibility version should be enclosed in '#if defined(GNU_SYMVER)',
+ * for example:
+ *
+ * int dm_foo(int bar)
+@@ -67,7 +67,7 @@
+ * versions of library symbols prior to the introduction of symbol
+ * versioning: it must never be used for new symbols.
+ */
+-#if defined(__GNUC__)
++#if defined(GNU_SYMVER)
+ #define DM_EXPORT_SYMBOL(func, ver) \
+ __asm__(".symver " #func "_v" #ver ", " #func "@DM_" #ver )
+ #define DM_EXPORT_SYMBOL_BASE(func) \
+diff --git a/libdm/datastruct/bitset.c b/libdm/datastruct/bitset.c
+index b0826e1eb54ec..642587e5472b1 100644
+--- a/libdm/datastruct/bitset.c
++++ b/libdm/datastruct/bitset.c
+@@ -242,7 +242,7 @@ bad:
+ return NULL;
+ }
+
+-#if defined(__GNUC__)
++#if defined(GNU_SYMVER)
+ /*
+ * Maintain backward compatibility with older versions that did not
+ * accept a 'min_num_bits' argument to dm_bitset_parse_list().
+@@ -254,6 +254,4 @@ dm_bitset_t dm_bitset_parse_list_v1_02_129(const char *str, struct dm_pool *mem)
+ }
+ DM_EXPORT_SYMBOL(dm_bitset_parse_list, 1_02_129);
+
+-#else /* if defined(__GNUC__) */
+-
+ #endif
+diff --git a/libdm/ioctl/libdm-iface.c b/libdm/ioctl/libdm-iface.c
+index 14186e680d97d..4be7ab34a704f 100644
+--- a/libdm/ioctl/libdm-iface.c
++++ b/libdm/ioctl/libdm-iface.c
+@@ -2176,7 +2176,7 @@ void dm_lib_exit(void)
+ _version_checked = 0;
+ }
+
+-#if defined(__GNUC__)
++#if defined(GNU_SYMVER)
+ /*
+ * Maintain binary backward compatibility.
+ * Version script mechanism works with 'gcc' compatible compilers only.
+diff --git a/libdm/libdm-deptree.c b/libdm/libdm-deptree.c
+index ba1ed1991a0cf..802db076e27f1 100644
+--- a/libdm/libdm-deptree.c
++++ b/libdm/libdm-deptree.c
+@@ -3849,7 +3849,7 @@ void dm_tree_node_set_callback(struct dm_tree_node *dnode,
+ dnode->callback_data = data;
+ }
+
+-#if defined(__GNUC__)
++#if defined(GNU_SYMVER)
+ /*
+ * Backward compatible implementations.
+ *
+diff --git a/libdm/libdm-stats.c b/libdm/libdm-stats.c
+index a3697c74dfde8..9f09f1c2f082e 100644
+--- a/libdm/libdm-stats.c
++++ b/libdm/libdm-stats.c
+@@ -5069,7 +5069,7 @@ int dm_stats_start_filemapd(int fd, uint64_t group_id, const char *path,
+ * current dm_stats_create_region() version.
+ */
+
+-#if defined(__GNUC__)
++#if defined(GNU_SYMVER)
+ int dm_stats_create_region_v1_02_106(struct dm_stats *dms, uint64_t *region_id,
+ uint64_t start, uint64_t len, int64_t step,
+ int precise, const char *program_id,
+--
+2.33.1
+
diff --git a/package/lvm/patches/patch-Makefile_in b/package/lvm/patches/patch-Makefile_in
deleted file mode 100644
index 305822e5b..000000000
--- a/package/lvm/patches/patch-Makefile_in
+++ /dev/null
@@ -1,20 +0,0 @@
---- LVM2.2.02.177.orig/Makefile.in 2017-12-18 21:44:34.000000000 +0100
-+++ LVM2.2.02.177/Makefile.in 2018-06-07 03:09:57.000000000 +0200
-@@ -18,7 +18,7 @@ top_builddir = @top_builddir@
- abs_top_builddir = @abs_top_builddir@
- abs_top_srcdir = @abs_top_srcdir@
-
--SUBDIRS = conf daemons include lib libdaemon libdm man scripts tools
-+SUBDIRS = conf daemons include lib libdaemon libdm scripts tools
-
- ifeq ("@UDEV_RULES@", "yes")
- SUBDIRS += udev
-@@ -69,7 +69,7 @@ liblvm.device-mapper: include.device-map
- daemons.device-mapper: libdm.device-mapper
- tools.device-mapper: libdm.device-mapper
- scripts.device-mapper: include.device-mapper
--device-mapper: tools.device-mapper daemons.device-mapper man.device-mapper
-+device-mapper: tools.device-mapper daemons.device-mapper
-
- ifeq ("@INTL@", "yes")
- lib.pofile: include.pofile
diff --git a/package/lvm/patches/patch-conf_Makefile_in b/package/lvm/patches/patch-conf_Makefile_in
deleted file mode 100644
index 5b910dba7..000000000
--- a/package/lvm/patches/patch-conf_Makefile_in
+++ /dev/null
@@ -1,23 +0,0 @@
---- LVM2.2.02.168.orig/conf/Makefile.in 2016-12-01 00:17:28.000000000 +0100
-+++ LVM2.2.02.168/conf/Makefile.in 2017-03-27 19:47:20.000000000 +0200
-@@ -37,14 +37,16 @@ generate:
-
- install_conf: $(CONFSRC)
- @if [ ! -e $(confdir)/$(CONFDEST) ]; then \
-- echo "$(INSTALL_WDATA) -D $< $(confdir)/$(CONFDEST)"; \
-- $(INSTALL_WDATA) -D $< $(confdir)/$(CONFDEST); \
-+ echo "$(INSTALL_WDATA) $< $(confdir)/$(CONFDEST)"; \
-+ $(INSTALL_DIR) $(confdir); \
-+ $(INSTALL_WDATA) $< $(confdir)/$(CONFDEST); \
- fi
-
- install_localconf: $(CONFLOCAL)
- @if [ ! -e $(confdir)/$(CONFLOCAL) ]; then \
-- echo "$(INSTALL_WDATA) -D $< $(confdir)/$(CONFLOCAL)"; \
-- $(INSTALL_WDATA) -D $< $(confdir)/$(CONFLOCAL); \
-+ echo "$(INSTALL_WDATA) $< $(confdir)/$(CONFLOCAL)"; \
-+ $(INSTALL_DIR) $(confdir); \
-+ $(INSTALL_WDATA) $< $(confdir)/$(CONFLOCAL); \
- fi
-
- install_profiles: $(PROFILES)
diff --git a/package/lvm/patches/patch-configure_in b/package/lvm/patches/patch-configure_in
deleted file mode 100644
index a1b99eae9..000000000
--- a/package/lvm/patches/patch-configure_in
+++ /dev/null
@@ -1,45 +0,0 @@
---- LVM2.2.02.177.orig/configure.in 2017-12-18 21:44:34.000000000 +0100
-+++ LVM2.2.02.177/configure.in 2018-06-07 03:09:58.000000000 +0200
-@@ -29,7 +29,7 @@ AC_CANONICAL_TARGET([])
-
- AS_IF([test -z "$CFLAGS"], [COPTIMISE_FLAG="-O2"])
- case "$host_os" in
-- linux*)
-+ *)
- CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym"
- # equivalent to -rdynamic
- ELDFLAGS="-Wl,--export-dynamic"
-@@ -50,21 +50,6 @@ case "$host_os" in
- FSADM=yes
- BLKDEACTIVATE=yes
- ;;
-- darwin*)
-- CFLAGS="$CFLAGS -no-cpp-precomp -fno-common"
-- CLDFLAGS="$CLDFLAGS"
-- ELDFLAGS=
-- CLDWHOLEARCHIVE="-all_load"
-- CLDNOWHOLEARCHIVE=
-- LIB_SUFFIX=dylib
-- DEVMAPPER=yes
-- ODIRECT=no
-- DM_IOCTLS=no
-- SELINUX=no
-- CLUSTER=none
-- FSADM=no
-- BLKDEACTIVATE=no
-- ;;
- esac
-
- ################################################################################
-@@ -111,10 +96,8 @@ AC_CHECK_HEADERS([assert.h ctype.h diren
- AC_CHECK_HEADERS(termios.h sys/statvfs.h sys/timerfd.h sys/vfs.h linux/magic.h linux/fiemap.h)
-
- case "$host_os" in
-- linux*)
-+ *)
- AC_CHECK_HEADERS(asm/byteorder.h linux/fs.h malloc.h,,AC_MSG_ERROR(bailing out)) ;;
-- darwin*)
-- AC_CHECK_HEADERS(machine/endian.h sys/disk.h,,AC_MSG_ERROR(bailing out)) ;;
- esac
-
- ################################################################################
diff --git a/package/lvm/patches/patch-lib_mm_memlock_c b/package/lvm/patches/patch-lib_mm_memlock_c
deleted file mode 100644
index af53ad132..000000000
--- a/package/lvm/patches/patch-lib_mm_memlock_c
+++ /dev/null
@@ -1,76 +0,0 @@
---- LVM2.2.02.177.orig/lib/mm/memlock.c 2017-12-18 21:44:35.000000000 +0100
-+++ LVM2.2.02.177/lib/mm/memlock.c 2018-06-07 03:09:58.000000000 +0200
-@@ -25,7 +25,6 @@
- #include <sys/mman.h>
- #include <sys/time.h>
- #include <sys/resource.h>
--#include <malloc.h>
-
- #ifdef HAVE_VALGRIND
- #include <valgrind.h>
-@@ -152,10 +151,8 @@ static void _touch_memory(void *mem, siz
- static void _allocate_memory(void)
- {
- #ifndef VALGRIND_POOL
-- void *stack_mem;
-+ void *stack_mem, *temp_malloc_mem;
- struct rlimit limit;
-- int i, area = 0, missing = _size_malloc_tmp, max_areas = 32, hblks;
-- char *areas[max_areas];
-
- /* Check if we could preallocate requested stack */
- if ((getrlimit (RLIMIT_STACK, &limit) == 0) &&
-@@ -164,50 +161,13 @@ static void _allocate_memory(void)
- _touch_memory(stack_mem, _size_stack);
- /* FIXME else warn user setting got ignored */
-
-- /*
-- * When a brk() fails due to fragmented address space (which sometimes
-- * happens when we try to grab 8M or so), glibc will make a new
-- * arena. In this arena, the rules for using “direct” mmap are relaxed,
-- * circumventing the MAX_MMAPs and MMAP_THRESHOLD settings. We can,
-- * however, detect when this happens with mallinfo() and try to co-opt
-- * malloc into using MMAP as a MORECORE substitute instead of returning
-- * MMAP'd memory directly. Since MMAP-as-MORECORE does not munmap the
-- * memory on free(), this is good enough for our purposes.
-- */
-- while (missing > 0) {
-- struct mallinfo inf = mallinfo();
-- hblks = inf.hblks;
--
-- if ((areas[area] = malloc(_size_malloc_tmp)))
-- _touch_memory(areas[area], _size_malloc_tmp);
--
-- inf = mallinfo();
--
-- if (hblks < inf.hblks) {
-- /* malloc cheated and used mmap, even though we told it
-- not to; we try with twice as many areas, each half
-- the size, to circumvent the faulty logic in glibc */
-- free(areas[area]);
-- _size_malloc_tmp /= 2;
-- } else {
-- ++ area;
-- missing -= _size_malloc_tmp;
-- }
--
-- if (area == max_areas && missing > 0) {
-- /* Too bad. Warn the user and proceed, as things are
-- * most likely going to work out anyway. */
-- log_warn("WARNING: Failed to reserve memory, %d bytes missing.", missing);
-- break;
-- }
-- }
-+ if ((temp_malloc_mem = malloc(_size_malloc_tmp)))
-+ _touch_memory(temp_malloc_mem, _size_malloc_tmp);
-
- if ((_malloc_mem = malloc(_size_malloc)))
- _touch_memory(_malloc_mem, _size_malloc);
-
-- /* free up the reserves so subsequent malloc's can use that memory */
-- for (i = 0; i < area; ++i)
-- free(areas[i]);
-+ free(temp_malloc_mem);
- #endif
- }
-
diff --git a/package/lvm/patches/patch-libdm_Makefile_in b/package/lvm/patches/patch-libdm_Makefile_in
deleted file mode 100644
index 4943fab06..000000000
--- a/package/lvm/patches/patch-libdm_Makefile_in
+++ /dev/null
@@ -1,49 +0,0 @@
---- LVM2.2.02.168.orig/libdm/Makefile.in 2016-12-01 00:17:30.000000000 +0100
-+++ LVM2.2.02.168/libdm/Makefile.in 2017-03-27 20:24:52.000000000 +0200
-@@ -38,10 +38,7 @@ SOURCES =\
-
- INCLUDES = -I$(srcdir)/$(interface)
-
--ifeq ("@STATIC_LINK@", "yes")
- LIB_STATIC = $(interface)/libdevmapper.a
--endif
--
- LIB_SHARED = $(interface)/libdevmapper.$(LIB_SUFFIX)
- LIB_VERSION = $(LIB_VERSION_DM)
- TARGETS = libdevmapper.$(LIB_SUFFIX) libdevmapper.$(LIB_SUFFIX).$(LIB_VERSION)
-@@ -69,9 +66,7 @@ libdevmapper.$(LIB_SUFFIX) libdevmapper.
-
- INSTALL_TYPE = install_dynamic
-
--ifeq ("@STATIC_LINK@", "yes")
-- INSTALL_TYPE += install_static
--endif
-+INSTALL_TYPE += install_static
-
- ifeq ("@PKGCONFIG@", "yes")
- INSTALL_TYPE += install_pkgconfig
-@@ -82,7 +77,8 @@ install: $(INSTALL_TYPE) install_include
- install_device-mapper: install
-
- install_include: $(srcdir)/libdevmapper.h
-- $(INSTALL_DATA) -D $< $(includedir)/$(<F)
-+ $(INSTALL_DIR) $(includedir)
-+ $(INSTALL_DATA) $< $(includedir)/$(<F)
-
- install_dynamic: install_@interface@
-
-@@ -91,10 +87,12 @@ install_static: install_@interface@_stat
- install_ioctl: install_lib_shared
-
- install_pkgconfig: libdevmapper.pc
-- $(INSTALL_DATA) -D $< $(pkgconfigdir)/devmapper.pc
-+ $(INSTALL_DIR) $(pkgconfigdir)
-+ $(INSTALL_DATA) $< $(pkgconfigdir)/devmapper.pc
-
- install_ioctl_static: $(LIB_STATIC)
-- $(INSTALL_DATA) -D $< $(usrlibdir)/$(<F)
-+ $(INSTALL_DIR) $(usrlibdir)
-+ $(INSTALL_DATA) $< $(usrlibdir)/$(<F)
-
- CLEAN_TARGETS += ioctl/libdevmapper.a
- DISTCLEAN_TARGETS += libdevmapper.pc
diff --git a/package/lvm/patches/patch-make_tmpl_in b/package/lvm/patches/patch-make_tmpl_in
deleted file mode 100644
index 7ddf32071..000000000
--- a/package/lvm/patches/patch-make_tmpl_in
+++ /dev/null
@@ -1,28 +0,0 @@
---- LVM2.2.02.177.orig/make.tmpl.in 2017-12-18 21:44:35.000000000 +0100
-+++ LVM2.2.02.177/make.tmpl.in 2018-06-07 03:09:58.000000000 +0200
-@@ -468,7 +468,8 @@ $(LIB_SHARED): $(LIB_SHARED).$(LIB_VERSI
- CLEAN_TARGETS += $(LDDEPS) .exported_symbols_generated
-
- install_lib_shared: $(LIB_SHARED)
-- $(INSTALL_PROGRAM) -D $< $(libdir)/$(<F).$(LIB_VERSION)
-+ $(INSTALL_DIR) $(libdir)
-+ $(INSTALL_PROGRAM) $< $(libdir)/$(<F).$(LIB_VERSION)
- $(INSTALL_DIR) $(usrlibdir)
- $(LN_S) -f $(USRLIB_RELPATH)$(<F).$(LIB_VERSION) $(usrlibdir)/$(<F)
-
-@@ -476,11 +477,13 @@ install_lib_shared: $(LIB_SHARED)
- # and for compatibility links in libdir are created
- # when the code is fixed links could be removed.
- install_dm_plugin: $(LIB_SHARED)
-- $(INSTALL_PROGRAM) -D $< $(libdir)/device-mapper/$(<F)
-+ $(INSTALL_DIR) $(libdir)
-+ $(INSTALL_PROGRAM) $< $(libdir)/device-mapper/$(<F)
- $(LN_S) -f device-mapper/$(<F) $(libdir)/$(<F)
-
- install_lvm2_plugin: $(LIB_SHARED)
-- $(INSTALL_PROGRAM) -D $< $(libdir)/lvm2/$(<F)
-+ $(INSTALL_DIR) $(libdir)
-+ $(INSTALL_PROGRAM) $< $(libdir)/lvm2/$(<F)
- $(LN_S) -f lvm2/$(<F) $(libdir)/$(<F)
- $(LN_S) -f $(<F) $(libdir)/$(<F).$(LIB_VERSION)
- endif
diff --git a/package/lvm/patches/patch-scripts_Makefile_in b/package/lvm/patches/patch-scripts_Makefile_in
deleted file mode 100644
index af1cea8cb..000000000
--- a/package/lvm/patches/patch-scripts_Makefile_in
+++ /dev/null
@@ -1,12 +0,0 @@
---- LVM2.2.02.168.orig/scripts/Makefile.in 2016-12-01 00:17:31.000000000 +0100
-+++ LVM2.2.02.168/scripts/Makefile.in 2017-03-27 20:49:38.000000000 +0200
-@@ -51,7 +51,8 @@ vpath %.sh $(srcdir)
- vpath %.ocf $(srcdir)
-
- %_install: %.sh
-- $(INSTALL_PROGRAM) -D $< $(sbindir)/$(basename $(<F))
-+ $(INSTALL_DIR) $(sbindir)
-+ $(INSTALL_PROGRAM) $< $(sbindir)/$(basename $(<F))
-
- %_install: %.ocf
- $(INSTALL_DIR) $(ocf_scriptdir)
diff --git a/package/lvm/patches/patch-tools_Makefile_in b/package/lvm/patches/patch-tools_Makefile_in
deleted file mode 100644
index 9fc597990..000000000
--- a/package/lvm/patches/patch-tools_Makefile_in
+++ /dev/null
@@ -1,48 +0,0 @@
---- LVM2.2.02.177.orig/tools/Makefile.in 2017-12-18 21:44:35.000000000 +0100
-+++ LVM2.2.02.177/tools/Makefile.in 2018-06-07 03:15:42.000000000 +0200
-@@ -217,18 +217,21 @@ endif
- install_dmsetup_dynamic install_dmsetup_static
-
- install_cmdlib_include: $(srcdir)/lvm2cmd.h
-- $(INSTALL_DATA) -D $< $(includedir)/$(<F)
-+ $(INSTALL_DIR) $(includedir)
-+ $(INSTALL_DATA) $< $(includedir)/$(<F)
-
- install_cmdlib_dynamic: liblvm2cmd.$(LIB_SUFFIX)
-- $(INSTALL_PROGRAM) -D $< $(libdir)/$(<F).$(LIB_VERSION)
- $(INSTALL_DIR) $(usrlibdir)
-+ $(INSTALL_PROGRAM) $< $(libdir)/$(<F).$(LIB_VERSION)
- $(LN_S) -f $(USRLIB_RELPATH)$(<F).$(LIB_VERSION) $(usrlibdir)/$(<F)
-
- install_cmdlib_static: liblvm2cmd-static.a
-+ $(INSTALL_DIR) $(usrlibdir)
- $(INSTALL_DATA) -D $< $(usrlibdir)/liblvm2cmd.a
-
- install_tools_dynamic: lvm .commands
-- $(INSTALL_PROGRAM) -D lvm $(sbindir)/lvm
-+ $(INSTALL_DIR) $(sbindir)
-+ $(INSTALL_PROGRAM) lvm $(sbindir)/lvm
- @echo Creating symbolic links for individual commands in $(sbindir)
- @for v in `cat .commands`; do \
- echo "$(LN_S) -f lvm $(sbindir)/$$v"; \
-@@ -236,14 +239,17 @@ install_tools_dynamic: lvm .commands
- done;
-
- install_tools_static: lvm.static
-- $(INSTALL_PROGRAM) -D $< $(staticdir)/$(<F)
-+ $(INSTALL_DIR) $(staticdir)
-+ $(INSTALL_PROGRAM) $< $(staticdir)/$(<F)
-
- install_dmsetup_dynamic: dmsetup
-- $(INSTALL_PROGRAM) -D $< $(sbindir)/$(<F)
-+ $(INSTALL_DIR) $(sbindir)
-+ $(INSTALL_PROGRAM) $< $(sbindir)/$(<F)
- $(LN_S) -f $(<F) $(sbindir)/dmstats
-
- install_dmsetup_static: dmsetup.static
-- $(INSTALL_PROGRAM) -D $< $(staticdir)/$(<F)
-+ $(INSTALL_DIR) $(staticdir)
-+ $(INSTALL_PROGRAM) $< $(staticdir)/$(<F)
- $(LN_S) -f $(<F) $(staticdir)/dmstats
-
- install_device-mapper: $(INSTALL_DMSETUP_TARGETS)
diff --git a/package/lvm/patches/patch-tools_lvmcmdline_c b/package/lvm/patches/patch-tools_lvmcmdline_c
deleted file mode 100644
index 8c5cb5c6b..000000000
--- a/package/lvm/patches/patch-tools_lvmcmdline_c
+++ /dev/null
@@ -1,34 +0,0 @@
---- LVM2.2.02.177.orig/tools/lvmcmdline.c 2017-12-18 21:44:35.000000000 +0100
-+++ LVM2.2.02.177/tools/lvmcmdline.c 2018-06-07 03:09:58.000000000 +0200
-@@ -3093,9 +3093,12 @@ int lvm_split(char *str, int *argc, char
- static int _check_standard_fds(void)
- {
- int err = is_valid_fd(STDERR_FILENO);
-+ FILE *stdin_stream = stdin;
-+ FILE *stdout_stream = stdout;
-+ FILE *stderr_stream = stderr;
-
- if (!is_valid_fd(STDIN_FILENO) &&
-- !(stdin = fopen(_PATH_DEVNULL, "r"))) {
-+ !(stdin_stream = fopen(_PATH_DEVNULL, "r"))) {
- if (err)
- perror("stdin stream open");
- else
-@@ -3105,7 +3108,7 @@ static int _check_standard_fds(void)
- }
-
- if (!is_valid_fd(STDOUT_FILENO) &&
-- !(stdout = fopen(_PATH_DEVNULL, "w"))) {
-+ !(stdout_stream = fopen(_PATH_DEVNULL, "w"))) {
- if (err)
- perror("stdout stream open");
- /* else no stdout */
-@@ -3113,7 +3116,7 @@ static int _check_standard_fds(void)
- }
-
- if (!is_valid_fd(STDERR_FILENO) &&
-- !(stderr = fopen(_PATH_DEVNULL, "w"))) {
-+ !(stderr_stream = fopen(_PATH_DEVNULL, "w"))) {
- printf("stderr stream open: %s\n",
- strerror(errno));
- return 0;
diff --git a/package/lynx/Makefile b/package/lynx/Makefile
index 8a1e2b2af..f5488dc1f 100644
--- a/package/lynx/Makefile
+++ b/package/lynx/Makefile
@@ -4,19 +4,19 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= lynx
-PKG_VERSION:= 2.8.8
-PKG_RELEASE:= 3
-PKG_HASH:= 234c9dc77d4c4594ad6216d7df4d49eae3019a3880e602f39721b35b97fbc408
+PKG_VERSION:= 2.9.0
+PKG_RELEASE:= 1
+PKG_HASH:= 746c926e28d50571a42d2477f9c50784b27fc8cba4c7db7f3e6c9e00dde89070
PKG_DESCR:= text browser
PKG_SECTION:= app/browser
PKG_DEPENDS:= libncurses zlib libressl
PKG_BUILDDEP:= ncurses zlib libressl
-PKG_URL:= http://lynx.isc.org/
-PKG_SITES:= http://lynx.isc.org/${PKG_NAME}${PKG_VERSION}/
+PKG_URL:= https://lynx.invisible-island.net/
+PKG_SITES:= https://invisible-island.net/archives/lynx/tarballs/
PKG_NOPARALLEL:= 1
DISTFILES:= ${PKG_NAME}${PKG_VERSION}.tar.gz
-WRKDIST= ${WRKDIR}/lynx2-8-8
+WRKDIST= ${WRKDIR}/$(PKG_NAME)$(PKG_VERSION)
include ${ADK_TOPDIR}/mk/package.mk
@@ -24,6 +24,7 @@ $(eval $(call PKG_template,LYNX,lynx,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS
TARGET_CPPFLAGS+= -I${STAGING_TARGET_DIR}/include/openssl
TARGET_CPPFLAGS+= -DUSE_OPENSSL_INCL -DUSE_X509_SUPPORT
+HOST_CFLAGS+= -DUSE_OPENSSL_INCL -DUSE_X509_SUPPORT
CONFIGURE_ENV+= ac_cv_path_TELNET=telnet \
ac_cv_path_TN3270=tn3270 \
diff --git a/package/lynx/patches/patch-WWW_Library_Implementation_HTTP_c b/package/lynx/patches/patch-WWW_Library_Implementation_HTTP_c
deleted file mode 100644
index 8f563a71b..000000000
--- a/package/lynx/patches/patch-WWW_Library_Implementation_HTTP_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- lynx2-8-8.orig/WWW/Library/Implementation/HTTP.c 2014-01-11 20:06:15.000000000 +0100
-+++ lynx2-8-8/WWW/Library/Implementation/HTTP.c 2017-06-05 13:30:53.165071650 +0200
-@@ -720,7 +720,7 @@ static int HTLoadHTTP(const char *arg,
- #elif SSLEAY_VERSION_NUMBER >= 0x0900
- #ifndef USE_NSS_COMPAT_INCL
- if (!try_tls) {
-- handle->options |= SSL_OP_NO_TLSv1;
-+ SSL_set_options(handle, SSL_OP_NO_TLSv1);
- #if OPENSSL_VERSION_NUMBER >= 0x0090806fL && !defined(OPENSSL_NO_TLSEXT)
- } else {
- int ret = (int) SSL_set_tlsext_host_name(handle, ssl_host);
diff --git a/package/lynx/patches/patch-WWW_Library_Implementation_HTUtils_h b/package/lynx/patches/patch-WWW_Library_Implementation_HTUtils_h
deleted file mode 100644
index c8217b70e..000000000
--- a/package/lynx/patches/patch-WWW_Library_Implementation_HTUtils_h
+++ /dev/null
@@ -1,34 +0,0 @@
---- lynx2-8-8.orig/WWW/Library/Implementation/HTUtils.h 2014-02-05 01:50:18.000000000 +0100
-+++ lynx2-8-8/WWW/Library/Implementation/HTUtils.h 2014-03-21 22:14:07.000000000 +0100
-@@ -725,6 +725,8 @@ extern int WWW_TraceMask;
-
- #define SHORTENED_RBIND /* FIXME: do this in configure-script */
-
-+#ifdef DONT_USE_SSL
-+#else
- #ifdef USE_SSL
-
- #define free_func free__func
-@@ -765,6 +767,7 @@ extern int WWW_TraceMask;
-
- #undef free_func
- #endif /* USE_SSL */
-+#endif
-
- #ifdef HAVE_BSD_STDLIB_H
- #include <bsd/stdlib.h> /* prototype for arc4random.h */
-@@ -801,11 +804,14 @@ extern "C" {
-
- extern FILE *TraceFP(void);
-
-+#ifdef DONT_USE_SSL
-+#else
- #ifdef USE_SSL
- extern SSL *HTGetSSLHandle(void);
- extern void HTSSLInitPRNG(void);
- extern int HTGetSSLCharacter(void *handle);
- #endif /* USE_SSL */
-+#endif
-
- #ifdef __cplusplus
- }
diff --git a/package/lynx/patches/patch-makefile_in b/package/lynx/patches/patch-makefile_in
deleted file mode 100644
index 5cb6b5962..000000000
--- a/package/lynx/patches/patch-makefile_in
+++ /dev/null
@@ -1,11 +0,0 @@
---- lynx2-8-8.orig/makefile.in 2014-03-09 22:43:10.000000000 +0100
-+++ lynx2-8-8/makefile.in 2014-03-21 23:17:26.000000000 +0100
-@@ -210,7 +210,7 @@ SRC_CFLAGS = \
- WWWINC=$(WWW_DIR) \
- WWWLIB="../$(WWW_DIR)/libwww.a"
-
--actual_PROG = `echo lynx| sed '$(transform)'`
-+actual_PROG = lynx
- binary_PROG = $(actual_PROG)$x
-
- all lynx$x: cfg_defs.h LYHelp.h
diff --git a/package/lynx/patches/patch-src_chrtrans_makeuctb_c b/package/lynx/patches/patch-src_chrtrans_makeuctb_c
deleted file mode 100644
index 9972a6f8c..000000000
--- a/package/lynx/patches/patch-src_chrtrans_makeuctb_c
+++ /dev/null
@@ -1,10 +0,0 @@
---- lynx2-8-8.orig/src/chrtrans/makeuctb.c 2013-11-29 01:52:56.000000000 +0100
-+++ lynx2-8-8/src/chrtrans/makeuctb.c 2014-03-21 22:12:13.000000000 +0100
-@@ -28,6 +28,7 @@
-
- #define DONT_USE_GETTEXT
- #define DONT_USE_SOCKS5
-+#define DONT_USE_SSL
- #include <UCDefs.h>
- #include <UCkd.h>
-
diff --git a/package/lz4/Makefile b/package/lz4/Makefile
index 605d446d0..148144693 100644
--- a/package/lz4/Makefile
+++ b/package/lz4/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= lz4
-PKG_VERSION:= 1.9.2
+PKG_VERSION:= 1.9.4
PKG_RELEASE:= 1
-PKG_HASH:= 658ba6191fa44c92280d4aa2c271b0f4fbc0e34d249578dd05e50e76d0e5efcc
+PKG_HASH:= 0b0e3aa07c8c063ddf40b082bdf7e37a1562bda40a0ff5272957f3e987e0e54b
PKG_DESCR:= compression utility
PKG_SECTION:= app/archive
PKG_DEPENDS:= liblz4
diff --git a/package/lz4/patches/patch-lib_liblz4_pc_in b/package/lz4/patches/patch-lib_liblz4_pc_in
deleted file mode 100644
index 05fc1b2ca..000000000
--- a/package/lz4/patches/patch-lib_liblz4_pc_in
+++ /dev/null
@@ -1,10 +0,0 @@
---- lz4-1.9.2.orig/lib/liblz4.pc.in 2019-08-15 13:59:59.000000000 +0200
-+++ lz4-1.9.2/lib/liblz4.pc.in 2019-10-07 22:01:00.003319055 +0200
-@@ -10,5 +10,5 @@ Name: lz4
- Description: extremely fast lossless compression algorithm library
- URL: http://www.lz4.org/
- Version: @VERSION@
--Libs: -L@LIBDIR@ -llz4
--Cflags: -I@INCLUDEDIR@
-+Libs: -llz4
-+Cflags:
diff --git a/package/lzip/Makefile b/package/lzip/Makefile
index 564e8ee55..90fa5dbab 100644
--- a/package/lzip/Makefile
+++ b/package/lzip/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= lzip
-PKG_VERSION:= 1.21
+PKG_VERSION:= 1.24
PKG_RELEASE:= 1
-PKG_HASH:= e48b5039d3164d670791f9c5dbaa832bf2df080cb1fbb4f33aa7b3300b670d8b
+PKG_HASH:= d42659229b10e066eeb6e81eb673cdd893b672e512d26719c2d95975556ca56c
PKG_DESCR:= compression utility
PKG_SECTION:= app/archive
PKG_NEEDS:= c++
diff --git a/package/lzip/patches/patch-configure b/package/lzip/patches/patch-configure
index 3ac80460f..f7e067a0e 100644
--- a/package/lzip/patches/patch-configure
+++ b/package/lzip/patches/patch-configure
@@ -1,9 +1,9 @@
---- lzip-1.17.orig/configure 2015-07-09 18:58:33.000000000 +0200
-+++ lzip-1.17/configure 2016-09-24 13:07:38.493476268 +0200
-@@ -20,10 +20,10 @@ bindir='$(exec_prefix)/bin'
- datarootdir='$(prefix)/share'
- infodir='$(datarootdir)/info'
- mandir='$(datarootdir)/man'
+--- lzip-1.24.orig/configure 2024-01-26 14:01:44.000000000 +0100
++++ lzip-1.24/configure 2024-02-12 07:10:37.674941547 +0100
+@@ -23,10 +23,10 @@ mandir='$(datarootdir)/man'
+ build=no
+ check=no
+ installdir=
-CXX=g++
-CPPFLAGS=
-CXXFLAGS='-Wall -W -O2'
@@ -12,6 +12,6 @@
+CPPFLAGS?=
+CXXFLAGS?='-Wall -W -O2'
+LDFLAGS?=
+ MAKEINFO=makeinfo
# checking whether we are using GNU C++.
- ${CXX} --version > /dev/null 2>&1
diff --git a/package/m4/Makefile b/package/m4/Makefile
index a6af849a3..6973ed164 100644
--- a/package/m4/Makefile
+++ b/package/m4/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= m4
-PKG_VERSION:= 1.4.18
+PKG_VERSION:= 1.4.19
PKG_RELEASE:= 1
-PKG_HASH:= f2c1e86ca0a404ff281631bdc8377638992744b175afb806e25871a24a934e07
+PKG_HASH:= 63aede5c6d33b6d9b13511cd0be2cac046f2e70fd0a07aa9573a04a82783af96
PKG_DESCR:= macro processor
PKG_SECTION:= dev/tools
PKG_BUILDDEP:= m4-host
diff --git a/package/m4/patches/0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch b/package/m4/patches/0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch
deleted file mode 100644
index 5c5c11b99..000000000
--- a/package/m4/patches/0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch
+++ /dev/null
@@ -1,166 +0,0 @@
-From 4af4a4a71827c0bc5e0ec67af23edef4f15cee8e Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Mon, 5 Mar 2018 10:56:29 -0800
-Subject: [PATCH] fflush: adjust to glibc 2.28 libio.h removal
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Problem reported by Daniel P. Berrangé in:
-https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
-* lib/fbufmode.c (fbufmode):
-* lib/fflush.c (clear_ungetc_buffer_preserving_position)
-(disable_seek_optimization, rpl_fflush):
-* lib/fpending.c (__fpending):
-* lib/fpurge.c (fpurge):
-* lib/freadable.c (freadable):
-* lib/freadahead.c (freadahead):
-* lib/freading.c (freading):
-* lib/freadptr.c (freadptr):
-* lib/freadseek.c (freadptrinc):
-* lib/fseeko.c (fseeko):
-* lib/fseterr.c (fseterr):
-* lib/fwritable.c (fwritable):
-* lib/fwriting.c (fwriting):
-Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
-* lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
-Define if not already defined.
-
-[yann.morin.1998@free.fr: partially backport from upstream gnulib]
-Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
-
----
- lib/fflush.c | 6 +++---
- lib/fpending.c | 2 +-
- lib/fpurge.c | 2 +-
- lib/freadahead.c | 2 +-
- lib/freading.c | 2 +-
- lib/fseeko.c | 4 ++--
- lib/stdio-impl.h | 6 ++++++
- 7 files changed, 15 insertions(+), 9 deletions(-)
-
-diff --git a/lib/fflush.c b/build-aux/gnulib/lib/fflush.c
-index 983ade0ff..a6edfa105 100644
---- a/lib/fflush.c
-+++ b/lib/fflush.c
-@@ -33,7 +33,7 @@
- #undef fflush
-
-
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-
- /* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */
- static void
-@@ -72,7 +72,7 @@ clear_ungetc_buffer (FILE *fp)
-
- #endif
-
--#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
-+#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
-
- # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT
- /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
-@@ -148,7 +148,7 @@ rpl_fflush (FILE *stream)
- if (stream == NULL || ! freading (stream))
- return fflush (stream);
-
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-
- clear_ungetc_buffer_preserving_position (stream);
-
-diff --git a/lib/fpending.c b/build-aux/gnulib/lib/fpending.c
-index c84e3a5b4..789f50e4e 100644
---- a/lib/fpending.c
-+++ b/lib/fpending.c
-@@ -32,7 +32,7 @@ __fpending (FILE *fp)
- /* Most systems provide FILE as a struct and the necessary bitmask in
- <stdio.h>, because they need it for implementing getc() and putc() as
- fast macros. */
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- return fp->_IO_write_ptr - fp->_IO_write_base;
- #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
- /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
-diff --git a/lib/fpurge.c b/build-aux/gnulib/lib/fpurge.c
-index b1d417c7a..3aedcc373 100644
---- a/lib/fpurge.c
-+++ b/lib/fpurge.c
-@@ -62,7 +62,7 @@ fpurge (FILE *fp)
- /* Most systems provide FILE as a struct and the necessary bitmask in
- <stdio.h>, because they need it for implementing getc() and putc() as
- fast macros. */
--# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- fp->_IO_read_end = fp->_IO_read_ptr;
- fp->_IO_write_ptr = fp->_IO_write_base;
- /* Avoid memory leak when there is an active ungetc buffer. */
-diff --git a/lib/freadahead.c b/build-aux/gnulib/lib/freadahead.c
-index c2ecb5b28..23ec76ee5 100644
---- a/lib/freadahead.c
-+++ b/lib/freadahead.c
-@@ -30,7 +30,7 @@ extern size_t __sreadahead (FILE *);
- size_t
- freadahead (FILE *fp)
- {
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- if (fp->_IO_write_ptr > fp->_IO_write_base)
- return 0;
- return (fp->_IO_read_end - fp->_IO_read_ptr)
-diff --git a/lib/freading.c b/build-aux/gnulib/lib/freading.c
-index 73c28acdd..c24d0c88a 100644
---- a/lib/freading.c
-+++ b/lib/freading.c
-@@ -31,7 +31,7 @@ freading (FILE *fp)
- /* Most systems provide FILE as a struct and the necessary bitmask in
- <stdio.h>, because they need it for implementing getc() and putc() as
- fast macros. */
--# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- return ((fp->_flags & _IO_NO_WRITES) != 0
- || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0
- && fp->_IO_read_base != NULL));
-diff --git a/lib/fseeko.c b/build-aux/gnulib/lib/fseeko.c
-index 0101ab55f..193f4e8ce 100644
---- a/lib/fseeko.c
-+++ b/lib/fseeko.c
-@@ -47,7 +47,7 @@ fseeko (FILE *fp, off_t offset, int whence)
- #endif
-
- /* These tests are based on fpurge.c. */
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- if (fp->_IO_read_end == fp->_IO_read_ptr
- && fp->_IO_write_ptr == fp->_IO_write_base
- && fp->_IO_save_base == NULL)
-@@ -123,7 +123,7 @@ fseeko (FILE *fp, off_t offset, int whence)
- return -1;
- }
-
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- fp->_flags &= ~_IO_EOF_SEEN;
- fp->_offset = pos;
- #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
-diff --git a/lib/stdio-impl.h b/build-aux/gnulib/lib/stdio-impl.h
-index 78d896e9f..05c5752a2 100644
---- a/lib/stdio-impl.h
-+++ b/lib/stdio-impl.h
-@@ -18,6 +18,12 @@
- the same implementation of stdio extension API, except that some fields
- have different naming conventions, or their access requires some casts. */
-
-+/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this
-+ problem by defining it ourselves. FIXME: Do not rely on glibc
-+ internals. */
-+#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN
-+# define _IO_IN_BACKUP 0x100
-+#endif
-
- /* BSD stdio derived implementations. */
-
---
-2.14.1
-
diff --git a/package/m4/patches/patch-lib_vasnprintf_c b/package/m4/patches/patch-lib_vasnprintf_c
deleted file mode 100644
index 07b989cc6..000000000
--- a/package/m4/patches/patch-lib_vasnprintf_c
+++ /dev/null
@@ -1,28 +0,0 @@
---- m4-1.4.18.orig/lib/vasnprintf.c 2016-12-31 14:54:42.000000000 +0100
-+++ m4-1.4.18/lib/vasnprintf.c 2018-02-24 20:59:00.000000000 +0100
-@@ -4858,7 +4858,10 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *
- #endif
- *fbp = dp->conversion;
- #if USE_SNPRINTF
--# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
-+# if ! (((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) \
-+ && !defined __UCLIBC__) \
-+ || (defined __APPLE__ && defined __MACH__) \
-+ || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
- fbp[1] = '%';
- fbp[2] = 'n';
- fbp[3] = '\0';
-@@ -4872,6 +4875,13 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *
- in format strings in writable memory may crash the program
- (if compiled with _FORTIFY_SOURCE=2), so we should avoid it
- in this situation. */
-+ /* On Mac OS X 10.3 or newer, we know that snprintf's return
-+ value conforms to ISO C 99: the tests gl_SNPRINTF_RETVAL_C99
-+ and gl_SNPRINTF_TRUNCATION_C99 pass.
-+ Therefore we can avoid using %n in this situation.
-+ On Mac OS X 10.13 or newer, the use of %n in format strings
-+ in writable memory by default crashes the program, so we
-+ should avoid it in this situation. */
- /* On native Windows systems (such as mingw), we can avoid using
- %n because:
- - Although the gl_SNPRINTF_TRUNCATION_C99 test fails,
diff --git a/package/make/Makefile b/package/make/Makefile
index 670bbfe06..ee584771a 100644
--- a/package/make/Makefile
+++ b/package/make/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= make
-PKG_VERSION:= 4.2.1
-PKG_RELEASE:= 2
-PKG_HASH:= e40b8f018c1da64edd1cc9a6fce5fa63b2e707e404e20cad91fbae337c98a5b7
+PKG_VERSION:= 4.4.1
+PKG_RELEASE:= 1
+PKG_HASH:= dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3
PKG_DESCR:= c/c++ code buildtool
PKG_SECTION:= dev/tools
PKG_DEPENDS:= libelf
diff --git a/package/make/patches/patch-configure_ac b/package/make/patches/patch-configure_ac
deleted file mode 100644
index e155851b4..000000000
--- a/package/make/patches/patch-configure_ac
+++ /dev/null
@@ -1,14 +0,0 @@
---- make-4.2.1.orig/configure.ac 2016-06-06 12:27:31.000000000 +0000
-+++ make-4.2.1/configure.ac 2018-02-28 20:57:40.797354623 +0000
-@@ -399,10 +399,9 @@ AC_CACHE_CHECK([if system libc has GNU g
- #include <glob.h>
- #include <fnmatch.h>
-
--#define GLOB_INTERFACE_VERSION 1
- #if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
- # include <gnu-versions.h>
--# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION
-+# if _GNU_GLOB_INTERFACE_VERSION == 1 || _GNU_GLOB_INTERFACE_VERSION == 2
- gnu glob
- # endif
- #endif],
diff --git a/package/mariadb/Makefile b/package/mariadb/Makefile
index bbd029bd0..33a865c1f 100644
--- a/package/mariadb/Makefile
+++ b/package/mariadb/Makefile
@@ -4,13 +4,14 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= mariadb
-PKG_VERSION:= 10.1.25
+PKG_VERSION:= 10.11.7
PKG_RELEASE:= 1
-PKG_HASH:= 7205ecaa6f1bc16335ad88faa5c46be52b3ac628a5e795cb942a3f4335b2a0d6
+PKG_HASH:= 5239a245ed90517e96396605cd01ccd8f73cd7442d1b3076b6ffe258110e5157
PKG_DESCR:= sql client library
PKG_SECTION:= libs/db
-PKG_DEPENDS:= libncurses zlib libevent libpcre
-PKG_BUILDDEP:= cmake-host mariadb-host ncurses zlib readline libevent pcre libressl
+PKG_DEPENDS:= libncurses zlib libevent libpcre boost libfmt libkrb5
+PKG_BUILDDEP:= cmake-host mariadb-host ncurses zlib readline libevent
+PKG_BUILDDEP+= boost fmt gnutls pcre2 krb5
HOST_BUILDDEP:= cmake-host
PKG_NEEDS:= c++
PKG_URL:= http://www.mariadb.org/
@@ -18,6 +19,8 @@ PKG_SITES= https://downloads.mariadb.org/interstitial/mariadb-$(PKG_VERSION)/so
PKG_LIBNAME:= libmariadbclient
PKG_OPTS:= dev
+PKG_CFLINE_MARIADB:= select ADK_PACKAGE_BOOST_DATE_TIME
+
# atomic ops not implemented
PKG_ARCH_DEPENDS:= !mips
@@ -37,15 +40,15 @@ HOST_ALL_TARGET:= import_executables
CONFIG_STYLE:= cmake
CMAKE_FLAGS+= -DCMAKE_CROSSCOMPILING=ON \
-DIMPORT_EXECUTABLES=${BASE_DIR}/host_build_${GNU_HOST_NAME}/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)-host/$(PKG_NAME)-$(PKG_VERSION)/import_executables.cmake \
- -DWITH_SSL=system \
- -DWITHOUT_SERVER=OFF \
+ -DWITHOUT_SERVER=ON \
+ -DWITH_SSL=bundled \
+ -DWITH_SYSTEMD=auto \
-DSECURITY_HARDENED=OFF \
-DWITHOUT_DYNAMIC_PLUGINS=ON \
-DWITHOUT_MROONGA=ON \
-DWITHOUT_TOKUDB=ON \
-DSTACK_DIRECTION=-1 \
-DWITH_JEMALLOC=OFF \
- -DWITH_SYSTEMD=OFF \
-DWITH_UNIT_TESTS=OFF
host-configure:
@@ -62,6 +65,8 @@ libmariadbclient-install:
${INSTALL_DIR} ${IDIR_LIBMARIADBCLIENT}/usr/lib
${CP} ${WRKINST}/usr/lib/libmysqlclient.so* \
${IDIR_LIBMARIADBCLIENT}/usr/lib
+ ${CP} ${WRKINST}/usr/lib/libmariadb.so* \
+ ${IDIR_LIBMARIADBCLIENT}/usr/lib
include ${ADK_TOPDIR}/mk/host-bottom.mk
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/mbedtls/Makefile b/package/mbedtls/Makefile
index 9771ffc96..9ce0d5468 100644
--- a/package/mbedtls/Makefile
+++ b/package/mbedtls/Makefile
@@ -4,17 +4,17 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= mbedtls
-PKG_VERSION:= 2.3.0
+PKG_VERSION:= 2.28.7
PKG_RELEASE:= 1
-PKG_HASH:= 590734c8bc8b3ac48e9123d44bf03562e91f8dce0d1ac2615c318c077f3215b2
+PKG_HASH:= 1df6073f0cf6a4e1953890bf5e0de2a8c7e6be50d6d6c69fa9fefcb1d14e981a
PKG_DESCR:= embedded ssl/tls library
PKG_SECTION:= libs/crypto
PKG_URL:= https://tls.mbed.org
-PKG_SITES:= https://tls.mbed.org/download/
+PKG_SITES:= https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/
PKG_LIBNAME:= libmbedtls
PKG_OPTS:= dev
-DISTFILES:= $(PKG_NAME)-$(PKG_VERSION)-apache.tgz
+DISTFILES:= v$(PKG_VERSION).tar.gz
include $(ADK_TOPDIR)/mk/package.mk
@@ -24,9 +24,7 @@ CONFIG_STYLE:= manual
ALL_TARGET:= lib
TARGET_CFLAGS+= -DSHARED
-libpolarssl-install:
+libmbedtls-install:
$(INSTALL_DIR) $(IDIR_LIBMBEDTLS)/usr/lib
- $(CP) $(WRKINST)/usr/lib/libpolarssl.so* \
- $(IDIR_LIBMBEDTLS)/usr/lib
include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/mbedtls/patches/patch-Makefile b/package/mbedtls/patches/patch-Makefile
new file mode 100644
index 000000000..95c3340e1
--- /dev/null
+++ b/package/mbedtls/patches/patch-Makefile
@@ -0,0 +1,35 @@
+--- mbedtls-3.5.2.orig/Makefile 2024-01-24 10:49:11.000000000 +0100
++++ mbedtls-3.5.2/Makefile 2024-02-22 19:10:23.460591189 +0100
+@@ -79,22 +79,22 @@ $(VISUALC_FILES):
+
+ ifndef WINDOWS
+ install: no_test
+- mkdir -p $(DESTDIR)/include/mbedtls
+- cp -rp include/mbedtls $(DESTDIR)/include
+- mkdir -p $(DESTDIR)/include/psa
+- cp -rp include/psa $(DESTDIR)/include
++ mkdir -p $(DESTDIR)/usr/include/mbedtls
++ cp -rp include/mbedtls $(DESTDIR)/usr/include
++ mkdir -p $(DESTDIR)/usr/include/psa
++ cp -rp include/psa $(DESTDIR)/usr/include
+
+- mkdir -p $(DESTDIR)/lib
+- cp -RP library/libmbedtls.* $(DESTDIR)/lib
+- cp -RP library/libmbedx509.* $(DESTDIR)/lib
+- cp -RP library/libmbedcrypto.* $(DESTDIR)/lib
++ mkdir -p $(DESTDIR)/usr/lib
++ cp -RP library/libmbedtls.* $(DESTDIR)/usr/lib
++ cp -RP library/libmbedx509.* $(DESTDIR)/usr/lib
++ cp -RP library/libmbedcrypto.* $(DESTDIR)/usr/lib
+
+- mkdir -p $(DESTDIR)/bin
++ mkdir -p $(DESTDIR)/usr/bin
+ for p in programs/*/* ; do \
+ if [ -x $$p ] && [ ! -d $$p ] ; \
+ then \
+ f=$(PREFIX)`basename $$p` ; \
+- cp $$p $(DESTDIR)/bin/$$f ; \
++ cp $$p $(DESTDIR)/usr/bin/$$f ; \
+ fi \
+ done
+
diff --git a/package/mc/Makefile b/package/mc/Makefile
index 49c0db187..539c292c4 100644
--- a/package/mc/Makefile
+++ b/package/mc/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= mc
-PKG_VERSION:= 4.8.23
+PKG_VERSION:= 4.8.31
PKG_RELEASE:= 1
-PKG_HASH:= dd7f7ce74183307b0df25b5c3e60ad3293fd3d3d27d2f37dd7a10efce13dff1c
+PKG_HASH:= 24191cf8667675b8e31fc4a9d18a0a65bdc0598c2c5c4ea092494cd13ab4ab1a
PKG_DESCR:= norton commander clone
PKG_SECTION:= sys/misc
PKG_DEPENDS:= glib libncurses libssh2
@@ -19,11 +19,9 @@ include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,MC,mc,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-TARGET_LDFLAGS+= -ltinfo
+TARGET_LDFLAGS+= -ltinfo -lncurses
CONFIGURE_ARGS+= --enable-charset \
- --disable-extcharset \
--disable-background \
- --disable-gcc-warnings \
--disable-glibtest \
--disable-netcode \
--without-libiconv-prefix \
@@ -37,7 +35,7 @@ CONFIGURE_ARGS+= --enable-charset \
--without-ext2undel \
--with-subshell \
--with-screen=ncurses \
- --with-edit
+ --disable-silent-rules
CONFIGURE_ENV+= mc_cv_have_zipinfo=yes \
am_cv_func_iconv=no
@@ -48,7 +46,7 @@ mc-install:
${CP} ${WRKINST}/usr/share/mc/* ${IDIR_MC}/usr/share/mc
${INSTALL_BIN} ${WRKINST}/usr/bin/mc ${IDIR_MC}/usr/bin/
cd ${IDIR_MC}/usr/bin && ln -fs mc mcedit && ln -fs mc mcview
- cd ${WRKINST}/etc/mc && ${CP} mcedit.menu mc.ext sfs.ini \
+ cd ${WRKINST}/etc/mc && ${CP} mcedit.menu sfs.ini \
mc.menu ${IDIR_MC}/etc/mc/
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/mc/patches/patch-lib_tty_tty-ncurses_c b/package/mc/patches/patch-lib_tty_tty-ncurses_c
new file mode 100644
index 000000000..34c0b53df
--- /dev/null
+++ b/package/mc/patches/patch-lib_tty_tty-ncurses_c
@@ -0,0 +1,42 @@
+--- mc-4.8.31.orig/lib/tty/tty-ncurses.c 2024-01-20 20:34:38.000000000 +0100
++++ mc-4.8.31/lib/tty/tty-ncurses.c 2024-02-14 11:53:54.151821148 +0100
+@@ -561,39 +561,11 @@ tty_fill_region (int y, int x, int rows,
+ void
+ tty_colorize_area (int y, int x, int rows, int cols, int color)
+ {
+-#ifdef ENABLE_SHADOWS
+- cchar_t *ctext;
+- wchar_t wch[10]; /* TODO not sure if the length is correct */
+- attr_t attrs;
+- short color_pair;
+-
+- if (!use_colors || !tty_clip (&y, &x, &rows, &cols))
+- return;
+-
+- tty_setcolor (color);
+- ctext = g_malloc (sizeof (cchar_t) * (cols + 1));
+-
+- for (int row = 0; row < rows; row++)
+- {
+- mvin_wchnstr (y + row, x, ctext, cols);
+-
+- for (int col = 0; col < cols; col++)
+- {
+- getcchar (&ctext[col], wch, &attrs, &color_pair, NULL);
+- setcchar (&ctext[col], wch, attrs, color, NULL);
+- }
+-
+- mvadd_wchnstr (y + row, x, ctext, cols);
+- }
+-
+- g_free (ctext);
+-#else
+ (void) y;
+ (void) x;
+ (void) rows;
+ (void) cols;
+ (void) color;
+-#endif /* ENABLE_SHADOWS */
+ }
+
+ /* --------------------------------------------------------------------------------------------- */
diff --git a/package/mdadm/Makefile b/package/mdadm/Makefile
index bc8efee0f..69d17ee2f 100644
--- a/package/mdadm/Makefile
+++ b/package/mdadm/Makefile
@@ -4,10 +4,13 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= mdadm
-PKG_VERSION:= 4.0
+PKG_VERSION:= 4.2
PKG_RELEASE:= 1
-PKG_HASH:= 1d6ae7f24ced3a0fa7b5613b32f4a589bb4881e3946a5a2c3724056254ada3a9
+PKG_HASH:= 461c215670864bb74a4d1a3620684aa2b2f8296dffa06743f26dda5557acf01d
PKG_DESCR:= tool for managing software raid arrays
+PKG_DEPENDS:= libudev
+PKG_BUILDDEP:= eudev
+PKG_KDEPENDS:= blk-dev-md md md-raid0 md-raid1 md-raid456
PKG_SECTION:= sys/fs
PKG_URL:= http://neil.brown.name/blog/mdadm
PKG_SITES:= ${MASTER_SITE_KERNEL:=utils/raid/mdadm/}
diff --git a/package/mdadm/patches/patch-Makefile b/package/mdadm/patches/patch-Makefile
index 9c5057c22..7ce1f18b2 100644
--- a/package/mdadm/patches/patch-Makefile
+++ b/package/mdadm/patches/patch-Makefile
@@ -1,27 +1,23 @@
---- mdadm-4.0.orig/Makefile 2017-01-09 22:46:34.000000000 +0100
-+++ mdadm-4.0/Makefile 2017-06-02 01:53:13.425906734 +0200
-@@ -42,8 +42,8 @@ KLIBC=/home/src/klibc/klibc-0.77
- KLIBC_GCC = gcc -nostdinc -iwithprefix include -I$(KLIBC)/klibc/include -I$(KLIBC)/linux/include -I$(KLIBC)/klibc/arch/i386/include -I$(KLIBC)/klibc/include/bits32
-
- CC ?= $(CROSS_COMPILE)gcc
--CXFLAGS ?= -ggdb
--CWFLAGS = -Wall -Werror -Wstrict-prototypes -Wextra -Wno-unused-parameter
-+CXFLAGS ?=
-+CWFLAGS = -Wall -Wstrict-prototypes -Wextra -Wno-unused-parameter
- ifdef WARN_UNUSED
- CWFLAGS += -Wp,-D_FORTIFY_SOURCE=2 -O3
- endif
-@@ -269,9 +269,10 @@ $(MON_OBJS) : $(INCL) mdmon.h
+--- mdadm-4.2.orig/Makefile 2021-12-30 20:43:35.000000000 +0100
++++ mdadm-4.2/Makefile 2024-02-11 17:01:11.419915988 +0100
+@@ -250,7 +250,7 @@ $(MON_OBJS) : $(INCL) mdmon.h
sha1.o : sha1.c sha1.h md5.h
$(CC) $(CFLAGS) -DHAVE_STDINT_H -o sha1.o -c sha1.c
--install : mdadm mdmon install-man install-udev
+-install : install-bin install-man install-udev
++install : install-bin install-udev
+
+ install-static : mdadm.static install-man
+ $(INSTALL) -D $(STRIP) -m 755 mdadm.static $(DESTDIR)$(BINDIR)/mdadm
+@@ -301,8 +301,9 @@ install-systemd: systemd/mdmon@.service
+ if [ -f /etc/SuSE-release -o -n "$(SUSE)" ] ;then $(INSTALL) -D -m 755 systemd/SUSE-mdadm_env.sh $(DESTDIR)$(LIB_DIR)/mdadm_env.sh ;fi
+
+ install-bin: mdadm mdmon
- $(INSTALL) -D $(STRIP) -m 755 mdadm $(DESTDIR)$(BINDIR)/mdadm
- $(INSTALL) -D $(STRIP) -m 755 mdmon $(DESTDIR)$(BINDIR)/mdmon
-+install : mdadm mdmon install-udev
+ mkdir -p $(DESTDIR)$(BINDIR)
+ $(INSTALL) -m 755 mdadm $(DESTDIR)$(BINDIR)/mdadm
+ $(INSTALL) -m 755 mdmon $(DESTDIR)$(BINDIR)/mdmon
- install-static : mdadm.static install-man
- $(INSTALL) -D $(STRIP) -m 755 mdadm.static $(DESTDIR)$(BINDIR)/mdadm
+ uninstall:
+ rm -f $(DESTDIR)$(MAN8DIR)/mdadm.8 $(DESTDIR)$(MAN8DIR)/mdmon.8 $(DESTDIR)$(MAN4DIR)/md.4 $(DESTDIR)$(MAN5DIR)/mdadm.conf.5 $(DESTDIR)$(BINDIR)/mdadm
diff --git a/package/mesa-demos/Makefile b/package/mesa-demos/Makefile
index e1addc2ba..fec8cb4d3 100644
--- a/package/mesa-demos/Makefile
+++ b/package/mesa-demos/Makefile
@@ -4,28 +4,39 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= mesa-demos
-PKG_VERSION:= 8.2.0
+PKG_VERSION:= 8.5.0
PKG_RELEASE:= 1
-PKG_HASH:= 5f0e76215ffc6acdaa80c7aadf02e448cb95d0ae8f69dbb894382b9c349a19e2
+PKG_HASH:= 2472818cea452a34229d03084e7c81f94267d14a39c5287379de0fb1dc02caab
PKG_DESCR:= opengl demo apps
PKG_SECTION:= mm/video
-PKG_DEPENDS:= mesa
+PKG_DEPENDS:= mesa libglew libglu
PKG_BUILDDEP:= mesa libglew glu
PKG_SITES:= ftp://ftp.freedesktop.org/pub/mesa/demos/${PKG_VERSION}/
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
-PKG_ARCH_DEPENDS:= x86 x86_64 mips mipsel mips64 mips64el arm
+PKG_ARCH_DEPENDS:= x86 x86_64 mips mipsel mips64 mips64el arm aarch64
-PKG_SUBPKGS:= GLXINFO
+PKG_SUBPKGS:= GLXINFO GLXGEARS
+PKGSD_GLXGEARS:= opengl demo app
PKGSD_GLXINFO:= command-line tool for diagnosing problems with your 3D acceleration card
-PKGSS_GLXINFO:= libxt libxau libxdmcp libxcb libx11 libxext libglew
+PKGSS_GLXINFO:= libxt libxau libxdmcp libxcb libx11 libxext libglew
+PKGSS_GLXINFO+= libxxf86vm
include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,GLXINFO,glxinfo,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,GLXGEARS,glxgears,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-CONFIGURE_ARGS+= --disable-egl
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
+
+glxgears-install:
+ $(INSTALL_DIR) $(IDIR_GLXGEARS)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/glxgears \
+ $(IDIR_GLXGEARS)/usr/bin
glxinfo-install:
$(INSTALL_DIR) $(IDIR_GLXINFO)/usr/bin
diff --git a/package/mesa/Makefile b/package/mesa/Makefile
index 9a93ed590..75a10c003 100644
--- a/package/mesa/Makefile
+++ b/package/mesa/Makefile
@@ -4,41 +4,39 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= mesa
-PKG_VERSION:= 18.3.6
+PKG_VERSION:= 23.3.3
PKG_RELEASE:= 1
-PKG_HASH:= aaf17638dcf5a90b93b6389e152fdc9ef147768b09598f24d2c5cf482fcfc705
+PKG_HASH:= 518307c0057fa3cee8b58df78be431d4df5aafa7edc60d09278b2d7a0a80f3b4
PKG_DESCR:= 3d graphics library
PKG_SECTION:= libs/video
PKG_DEPENDS:= libxdamage libxfixes libdrm libxxf86vm libexpat
-PKG_DEPENDS+= libxml2 libxml2-python
-PKG_BUILDDEP:= python2 libxml2 libXdamage libXfixes libXrandr
+PKG_DEPENDS+= libxml2
+PKG_BUILDDEP:= python3 libxml2 libXdamage libXfixes libXrandr
PKG_BUILDDEP+= libXxf86vm libdrm dri2proto glproto expat libXext
PKG_BUILDDEP+= eudev dri3proto presentproto xcb-proto libxcb
-PKG_BUILDDEP+= libxshmfence
+PKG_BUILDDEP+= libxshmfence python-mako-host
PKG_NEEDS:= c++
PKG_URL:= http://www.mesa3d.org/
PKG_SITES:= ftp://ftp.freedesktop.org/pub/mesa/
PKG_LIBNAME:= mesa
PKG_OPTS:= dev
-PKG_ARCH_DEPENDS:= x86 x86_64 mips mipsel mips64 mips64el arm
+PKG_ARCH_DEPENDS:= x86 x86_64 mips mipsel mips64 mips64el arm aarch64
include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,MESA,mesa,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-DRI_DRIVERS:= swrast
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
-CONFIGURE_ARGS+= --disable-static \
- --disable-gallium-llvm \
- --without-gallium-drivers \
- --enable-dri \
- --enable-dri3 \
- --enable-glx=dri \
- --with-dri-driverdir=/usr/lib/dri \
- --with-dri-drivers=${DRI_DRIVERS}
-CONFIGURE_ENV+= MISSING="echo"
-XAKE_FLAGS+= HOST_CC=${CC_FOR_BUILD}
+MESON_FLAGS+= -Dllvm=disabled \
+ -Dgallium-drivers=swrast,panfrost,vc4,v3d \
+ -Dvulkan-drivers= \
+ -Dgbm=enabled \
+ -Dplatforms=x11
mesa-install:
$(INSTALL_DIR) $(IDIR_MESA)/usr/lib/dri
@@ -48,6 +46,8 @@ mesa-install:
$(IDIR_MESA)/usr/lib
$(CP) $(WRKINST)/usr/lib/libglapi.so* \
$(IDIR_MESA)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libgbm.so* \
+ $(IDIR_MESA)/usr/lib
${CP} $(WRKINST)/usr/lib/dri/*.so \
${IDIR_MESA}/usr/lib/dri/
diff --git a/package/mesa/patches/patch-src_mapi_glapi_glapi_gentable_c b/package/mesa/patches/patch-src_mapi_glapi_glapi_gentable_c
deleted file mode 100644
index af6a53aa7..000000000
--- a/package/mesa/patches/patch-src_mapi_glapi_glapi_gentable_c
+++ /dev/null
@@ -1,14 +0,0 @@
---- mesa-11.0.6.orig/src/mapi/glapi/glapi_gentable.c 2015-11-21 12:45:27.000000000 +0100
-+++ mesa-11.0.6/src/mapi/glapi/glapi_gentable.c 2016-01-05 22:36:19.266092512 +0100
-@@ -35,11 +35,6 @@
- #include <dix-config.h>
- #endif
-
--#if (defined(GLXEXT) && defined(HAVE_BACKTRACE)) \
-- || (!defined(GLXEXT) && defined(DEBUG) && !defined(__CYGWIN__) && !defined(__MINGW32__) && !defined(__OpenBSD__) && !defined(__NetBSD__) && !defined(__DragonFly__))
--#define USE_BACKTRACE
--#endif
--
- #ifdef USE_BACKTRACE
- #include <execinfo.h>
- #endif
diff --git a/package/meson/Makefile b/package/meson/Makefile
index d16d450e0..314fac6dc 100644
--- a/package/meson/Makefile
+++ b/package/meson/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= meson
-PKG_VERSION:= 0.44.0
+PKG_VERSION:= 1.3.2
PKG_RELEASE:= 1
-PKG_HASH:= 5cdbc68c63b5b4a8ee862ab3b6393a2633487ebc9b3e1c3da1091b9c912d1d95
+PKG_HASH:= 683082fb3c5cddf203b21d29bdf4c227e2f7964da5324a15e1a5f7db94322b4b
PKG_DESCR:= build utility
PKG_SECTION:= dev/tools
HOST_BUILDDEP:= python3-host ninja-host
@@ -35,12 +35,20 @@ meson-hostinstall:
-e "s%@TARGET_ARCH@%$(ADK_TARGET_ARCH)%g" \
-e "s%@TARGET_CPU@%$(ADK_TARGET_CPU_ARCH)%g" \
-e "s%@TARGET_ENDIAN@%$(ADK_TARGET_ENDIAN)%g" \
- -e "s%@TARGET_CFLAGS@%`printf '"%s", ' $(TARGET_CFLAGS)`%g" \
+ -e "s%@TARGET_CFLAGS@%`printf '"%s", ' $(TARGET_CFLAGS)`%g" \
-e "s%@TARGET_LDFLAGS@%`printf '"%s", ' $(TARGET_LDFLAGS)`%g" \
-e "s%@TARGET_CXXFLAGS@%`printf '"%s", ' $(TARGET_CXXFLAGS)`%g" \
-e "s%@STAGING_HOST_DIR@%$(STAGING_HOST_DIR)%g" \
$(WRKBUILD)/cross-compilation.conf.in \
> $(STAGING_HOST_DIR)/etc/meson/cross-compilation.conf
+ sed -i "s/\"/'/g" $(STAGING_HOST_DIR)/etc/meson/cross-compilation.conf
+ sed -e "s%@HOST_CFLAGS@%`printf '"%s", ' $(HOST_CFLAGS)`%g" \
+ -e "s%@HOST_LDFLAGS@%`printf '"%s", ' $(HOST_LDFLAGS)`%g" \
+ -e "s%@HOST_CXXFLAGS@%`printf '"%s", ' $(HOST_CXXFLAGS)`%g" \
+ -e "s%@STAGING_HOST_DIR@%$(STAGING_HOST_DIR)%g" \
+ $(WRKBUILD)/host-compilation.conf.in \
+ > $(STAGING_HOST_DIR)/etc/meson/host-compilation.conf
+ sed -i "s/\"/'/g" $(STAGING_HOST_DIR)/etc/meson/host-compilation.conf
include ${ADK_TOPDIR}/mk/host-bottom.mk
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/meson/src/cross-compilation.conf.in b/package/meson/src/cross-compilation.conf.in
index a636ca329..24ef6ef53 100644
--- a/package/meson/src/cross-compilation.conf.in
+++ b/package/meson/src/cross-compilation.conf.in
@@ -8,12 +8,16 @@ c = '@TARGET_CROSS@gcc'
cpp = '@TARGET_CROSS@g++'
ar = '@TARGET_CROSS@ar'
strip = '@TARGET_CROSS@strip'
-pkgconfig = '@STAGING_HOST_DIR@/usr/bin/pkg-config'
-[properties]
+pkg-config = '@STAGING_HOST_DIR@/usr/bin/pkg-config'
+
+[built-in options]
c_args = [@TARGET_CFLAGS@]
c_link_args = [@TARGET_LDFLAGS@]
cpp_args = [@TARGET_CXXFLAGS@]
cpp_link_args = [@TARGET_LDFLAGS@]
+
+[properties]
+needs_exe_wrapper = true
[host_machine]
system = 'linux'
diff --git a/package/meson/src/host-compilation.conf.in b/package/meson/src/host-compilation.conf.in
new file mode 100644
index 000000000..c67cec76e
--- /dev/null
+++ b/package/meson/src/host-compilation.conf.in
@@ -0,0 +1,12 @@
+# Note: OpenADK's and Meson's terminologies differ about the meaning
+# of 'build', 'host' and 'target':
+# - OpenADK's 'host' is Meson's 'build'
+# - OpenADK's 'target' is Meson's 'host'
+
+[binaries]
+pkgconfig = '@STAGING_HOST_DIR@/usr/bin/pkg-config'
+[properties]
+c_args = [@HOST_CFLAGS@]
+c_link_args = [@HOST_LDFLAGS@]
+cpp_args = [@HOST_CXXFLAGS@]
+cpp_link_args = [@HOST_LDFLAGS@]
diff --git a/package/mgetty/Makefile b/package/mgetty/Makefile
index c610f53b7..105da3001 100644
--- a/package/mgetty/Makefile
+++ b/package/mgetty/Makefile
@@ -4,15 +4,16 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= mgetty
-PKG_VERSION:= 1.1.36
-PKG_EXTRAVER:= Jun15
+PKG_VERSION:= 1.2.1
PKG_RELEASE:= 1
-PKG_HASH:= 8b8642aa318604ad057ed161cacff5c600296cbfbc9b4d562134ee5c130c80ce
+PKG_HASH:= c8a72f5ca4142e30627ad16725c40692fb09e6284514392b95ac02062cac9a89
PKG_DESCR:= mgetty + sendfax
PKG_SECTION:= sys/misc
-PKG_SITES:= ftp://alpha.greenie.net/pub/mgetty/source/1.1/
+PKG_SITES:= ftp://mgetty.greenie.net/pub/mgetty/source/1.2/
-DISTFILES:= ${PKG_NAME}${PKG_VERSION}-${PKG_EXTRAVER}.tar.gz
+PKG_CFLINE_MGETTY:= depends on ADK_BROKEN
+
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
include ${ADK_TOPDIR}/mk/package.mk
diff --git a/package/mgetty/patches/patch-Makefile b/package/mgetty/patches/patch-Makefile
index 41f1203f0..d121e705a 100644
--- a/package/mgetty/patches/patch-Makefile
+++ b/package/mgetty/patches/patch-Makefile
@@ -1,86 +1,39 @@
---- mgetty-1.1.36.orig/Makefile 2007-06-15 13:15:56.000000000 +0200
-+++ mgetty-1.1.36/Makefile 2011-02-28 21:22:07.000000000 +0100
-@@ -4,7 +4,7 @@
- #
- # this is the C compiler to use (on SunOS, the standard "cc" does not
+--- mgetty-1.2.1.orig/Makefile 2018-09-11 12:38:58.000000000 +0200
++++ mgetty-1.2.1/Makefile 2024-02-13 16:33:13.023498839 +0100
+@@ -6,7 +6,7 @@
# grok my code, so please use gcc there. On ISC 4.0, use "icc".).
--CC=gcc
-+CC?=gcc
- #CC=cc
#
- #### C Compiler Flags ####
-@@ -102,7 +102,7 @@ CC=gcc
+ # if you are cross-compiling, this is the C compiler for the target platform
+-CC=cc
++CC?=cc
+ #CC=gcc
+ #
+ # if you are cross-compiling, *this* needs to be the C compiler that
+@@ -109,7 +109,7 @@ HOSTCC=$(CC)
# USTAT - ustat(), no statfs etc.
#
#CFLAGS=-Wall -O2 -pipe -DSECUREWARE -DUSE_POLL
--CFLAGS=-O2 -Wall -pipe
-+CFLAGS?=-O2 -Wall -pipe
+-CFLAGS=-Wall -O2 -pipe
++CFLAGS?=-Wall -O2 -pipe
#CFLAGS=-O -DSVR4
#CFLAGS=-O -DSVR4 -DSVR42
#CFLAGS=-O -DUSE_POLL
-@@ -143,7 +143,7 @@ CFLAGS=-O2 -Wall -pipe
+@@ -150,7 +150,7 @@ CFLAGS=-Wall -O2 -pipe
# "utmp.o: unresolved symbol _login"
# For Linux, add "-lutil" if the linker complains about "updwtmp".
#
-LDFLAGS=
+LDFLAGS?=
- LIBS=
+ #LIBS=
#LIBS=-lprot -lsocket # SCO Unix
#LIBS=-lsocket
-@@ -164,7 +164,9 @@ LIBS=
+@@ -171,7 +171,8 @@ LIBS=-lutil # FreeBSD or Linux/GNU l
#
# if your systems doesn't have one, use the shell script that I provide
# in "inst.sh" (taken from X11R5). Needed on IRIX5.2
-INSTALL=install -c -o bin -g bin
+STRIP=
+INSTALL=install -c -o root -g root
-+#INSTALL=install -c -o bin -g bin
#INSTALL=install -c -o root -g wheel # NeXT/BSD
#INSTALL=/usr/ucb/install -c -o bin -g bin # AIX, Solaris 2.x
#INSTALL=installbsd -c -o bin -g bin # OSF/1, AIX 4.1, 4.2
-@@ -216,7 +218,7 @@ FAX_SPOOL_OUT=$(FAX_SPOOL)/outgoing
- # (it's possible to run faxrunq(d) as root, but the FAX_OUT_USER
- # MUST NOT BE root or any other privileged account).
- #
--FAX_OUT_USER=fax
-+FAX_OUT_USER=root
- #
- #
- # Where section 1 manual pages should be placed
-@@ -421,7 +423,12 @@ sedscript: mksed
- ./mksed >sedscript
- chmod +x sedscript
-
--mksed: mksed.c policy.h Makefile
-+REALGCC:=/usr/bin/gcc
-+mksed: mksed.c policy.h Makefile
-+ ( echo $(CC_FOR_BUILD); $(MAKE) "CC=$(CC_FOR_BUILD)" "CFLAGS=$(CFLAGS_FOR_BUILD)" mksed-wrong;\
-+ );
-+
-+mksed-wrong: mksed.c policy.h Makefile
- $(CC) $(CFLAGS) -DBINDIR=\"$(BINDIR)\" -DSBINDIR=\"$(SBINDIR)\" \
- -DLIBDIR=\"$(LIBDIR)\" \
- -DCONFDIR=\"$(CONFDIR)\" \
-@@ -586,8 +593,10 @@ install.bin: mgetty sendfax newslock \
- -test -d $(SBINDIR) || ( ./mkidirs $(SBINDIR) ; chmod 755 $(SBINDIR) )
- -mv -f $(SBINDIR)/mgetty $(SBINDIR)/mgetty.old
- -mv -f $(SBINDIR)/sendfax $(SBINDIR)/sendfax.old
-- $(INSTALL) -s -m 700 mgetty $(SBINDIR)
-- $(INSTALL) -s -m 755 sendfax $(SBINDIR)
-+ $(INSTALL) -m 700 mgetty $(SBINDIR)
-+ $(STRIP) $(SBINDIR)/mgetty
-+ $(INSTALL) -m 755 sendfax $(SBINDIR)
-+ $(STRIP) $(SBINDIR)/sendfax
- #
- # data files + directories
- #
-@@ -649,7 +658,8 @@ install.bin: mgetty sendfax newslock \
- if [ ! -z "$(INSTALL_MECHO)" ] ; then \
- cd compat ; \
- $(CC) $(CFLAGS) -o mg.echo mg.echo.c && \
-- $(INSTALL) -s -m 755 mg.echo $(BINDIR) ; \
-+ $(INSTALL) -m 755 mg.echo $(BINDIR) && \
-+ $(STRIP) $(BINDIR)/mg.echo ; \
- fi
-
- #
diff --git a/package/mgetty/patches/patch-g3_Makefile b/package/mgetty/patches/patch-g3_Makefile
deleted file mode 100644
index 3cb6cf24e..000000000
--- a/package/mgetty/patches/patch-g3_Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
---- mgetty-1.1.36.orig/g3/Makefile 2006-02-22 18:25:34.000000000 +0100
-+++ mgetty-1.1.36/g3/Makefile 2009-08-28 15:17:14.239450922 +0200
-@@ -37,7 +37,8 @@ install: all
- # install programs
- #
- for f in $(G3_PROGRAMS) ; do \
-- $(INSTALL) -s -m 755 $$f $(BINDIR) ; \
-+ $(INSTALL) -m 755 $$f $(BINDIR) ; \
-+ $(STRIP) $(BINDIR)/$$f ; \
- done
- #
- # make symlink for "g3topbm" (so third-party fax viewers won't fail)
diff --git a/package/mgetty/patches/patch-g3_g3cat_c b/package/mgetty/patches/patch-g3_g3cat_c
deleted file mode 100644
index 964eea4aa..000000000
--- a/package/mgetty/patches/patch-g3_g3cat_c
+++ /dev/null
@@ -1,38 +0,0 @@
---- mgetty-1.1.36.orig/g3/g3cat.c 2005-02-27 20:03:37.000000000 +0100
-+++ mgetty-1.1.36/g3/g3cat.c 2017-06-03 23:40:23.804404768 +0200
-@@ -44,7 +44,7 @@ static int b_written = 0; /* bytes of a
- /* written */
-
- #ifdef __GNUC__
--inline
-+static inline
- #endif
- void putcode _P2( (code, len), int code, int len )
- {
-@@ -67,7 +67,7 @@ void putcode _P2( (code, len), int code,
- }
-
- #ifdef __GNUC__
--inline
-+static inline
- #endif
- void putwhitespan _P1( (l), int l )
- {
-@@ -98,7 +98,7 @@ void putwhitespan _P1( (l), int l )
- }
-
- #ifdef __GNUC__
--inline
-+static inline
- #endif
- void putblackspan _P1( (l), int l )
- {
-@@ -129,7 +129,7 @@ void putblackspan _P1( (l), int l )
- }
-
- #ifdef __GNUC__
--inline
-+static inline
- #endif
- void puteol _P0( void ) /* write byte-aligned EOL */
- {
diff --git a/package/mgetty/patches/patch-g3_pbm2g3_c b/package/mgetty/patches/patch-g3_pbm2g3_c
deleted file mode 100644
index f56292e84..000000000
--- a/package/mgetty/patches/patch-g3_pbm2g3_c
+++ /dev/null
@@ -1,38 +0,0 @@
---- mgetty-1.1.36.orig/g3/pbm2g3.c 1998-05-07 13:32:04.000000000 +0200
-+++ mgetty-1.1.36/g3/pbm2g3.c 2017-06-03 23:32:07.020481555 +0200
-@@ -40,7 +40,7 @@ static unsigned int out_hibit = 0;
- static int out_byte_tab[ 256 ]; /* for g3 byte reversal */
-
- #ifdef __GNUC__
--inline
-+static inline
- #endif
- void putcode _P2( (code, len), int code, int len )
- {
-@@ -60,7 +60,7 @@ void putcode _P2( (code, len), int code,
- }
-
- #ifdef __GNUC__
--inline
-+static inline
- #endif
- void puteol _P0( void ) /* write byte-aligned EOL */
- {
-@@ -69,7 +69,7 @@ void puteol _P0( void ) /* write byte-
- }
-
- #ifdef __GNUC__
--inline
-+static inline
- #endif
- void putwhitespan _P1( (l), int l )
- {
-@@ -100,7 +100,7 @@ void putwhitespan _P1( (l), int l )
- }
-
- #ifdef __GNUC__
--inline
-+static inline
- #endif
- void putblackspan _P1( (l), int l )
- {
diff --git a/package/mgetty/patches/patch-logfile_c b/package/mgetty/patches/patch-logfile_c
deleted file mode 100644
index e2c4fdc96..000000000
--- a/package/mgetty/patches/patch-logfile_c
+++ /dev/null
@@ -1,17 +0,0 @@
---- mgetty-1.1.36.orig/logfile.c 2005-11-26 14:48:16.000000000 +0100
-+++ mgetty-1.1.36/logfile.c 2009-08-28 15:17:14.239450922 +0200
-@@ -327,12 +327,11 @@ static int first_open = TRUE;
- }
- else /* ERROR or FATAL */
- {
-- fprintf(log_fp, "\n%02d/%02d %02d:%02d:%02d %s %s: %s",
-+ fprintf(log_fp, "\n%02d/%02d %02d:%02d:%02d %s %s: #%d",
- tm->tm_mon+1, tm->tm_mday,
- tm->tm_hour, tm->tm_min, tm->tm_sec,
- log_infix, ws,
-- ( errnr <= sys_nerr ) ? sys_errlist[errnr]:
-- "<error not in list>" );
-+ errnr );
- #ifdef SYSLOG
- syslog( level == L_FATAL? LOG_ALERT: LOG_ERR, "%s: %m", ws );
- #endif
diff --git a/package/midori/Makefile b/package/midori/Makefile
deleted file mode 100644
index 6f45300e0..000000000
--- a/package/midori/Makefile
+++ /dev/null
@@ -1,49 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(ADK_TOPDIR)/rules.mk
-
-PKG_NAME:= midori
-PKG_VERSION:= 0.5.11
-PKG_RELEASE:= 2
-PKG_HASH:= 3b8f3a0fe8283fcbb0f9c88b2165e2689d3e18f7c1b5d275fff97cf20e7be198
-PKG_DESCR:= graphical web browser
-PKG_SECTION:= x11/apps
-PKG_DEPENDS:= libnotify webkitgtk gcr pango libatk cairo libsqlite
-PKG_DEPENDS+= gdk-pixbuf libgtk3 p11-kit libxcomposite at-spi2-atk
-PKG_DEPENDS+= libpng icu4c gstreamer gst-plugins-base dbus libgnutls
-PKG_DEPENDS+= libxslt libjpeg-turbo libtasn1 libnettle enchant
-PKG_DEPENDS+= libgmp at-spi2-core libxext
-PKG_BUILDDEP:= cmake-host vala-host libnotify webkitgtk gcr
-PKG_BUILDDEP+= librsvg-host librsvg pango atk cairo sqlite
-PKG_BUILDDEP+= gdk-pixbuf libgtk3 p11-kit libpng icu4c gstreamer
-PKG_BUILDDEP+= libXext
-PKG_URL:= http://www.midori-browser.org
-PKG_SITES:= http://distfiles.openadk.org/
-
-PKG_ARCH_DEPENDS:= !mips
-
-WRKBUILD= ${WRKDIR}/${PKG_NAME}-obj
-
-include $(ADK_TOPDIR)/mk/package.mk
-
-$(eval $(call PKG_template,MIDORI,midori,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-
-CONFIG_STYLE:= cmake
-CMAKE_FLAGS+= -DUSE_GTK3=ON \
- -DHALF_BRO_INCOM_WEBKIT2=ON \
- -DENABLE_NLS=OFF \
- -DUSE_ZEITGEIST=OFF
-
-midori-install:
- $(INSTALL_DIR) $(IDIR_MIDORI)/usr/lib
- $(CP) $(WRKINST)/usr/lib/* \
- $(IDIR_MIDORI)/usr/lib
- $(INSTALL_DIR) $(IDIR_MIDORI)/usr/share
- $(CP) $(WRKINST)/usr/share/* \
- $(IDIR_MIDORI)/usr/share
- $(INSTALL_DIR) $(IDIR_MIDORI)/usr/bin
- $(INSTALL_BIN) $(WRKINST)/usr/bin/midori \
- $(IDIR_MIDORI)/usr/bin
-
-include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/midori/patches/patch-CMakeLists_txt b/package/midori/patches/patch-CMakeLists_txt
deleted file mode 100644
index 2129969f6..000000000
--- a/package/midori/patches/patch-CMakeLists_txt
+++ /dev/null
@@ -1,13 +0,0 @@
---- midori-0.5.11.orig/CMakeLists.txt 2015-08-30 13:56:26.000000000 +0200
-+++ midori-0.5.11/CMakeLists.txt 2016-04-03 15:01:39.481595419 +0200
-@@ -206,8 +206,8 @@ if (HALF_BRO_INCOM_WEBKIT2)
- elseif (USE_GTK3)
- pkg_check_modules(DEPS_GTK REQUIRED
- gtk+-3.0>=3.10.0
-- webkitgtk-3.0>=1.8.1
-- javascriptcoregtk-3.0
-+ webkitgtk-4.0>=1.8.1
-+ javascriptcoregtk-4.0
- )
- add_definitions("-DGTK_VERSION=\"${DEPS_GTK_gtk+-3.0_VERSION}\"")
- add_definitions("-DWEBKIT_VERSION=\"${DEPS_GTK_webkitgtk-3.0_VERSION}\"")
diff --git a/package/minijail/Makefile b/package/minijail/Makefile
new file mode 100644
index 000000000..4582ff62f
--- /dev/null
+++ b/package/minijail/Makefile
@@ -0,0 +1,38 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= minijail
+PKG_VERSION:= v17
+PKG_RELEASE:= 1
+PKG_HASH:= 1ee5a5916491a32c121c7422b4d8c16481c0396a3acab34bf1c44589dcf810ae
+PKG_DESCR:= sandboxing and containment tool
+PKG_SECTION:= sys/misc
+PKG_DEPENDS:= libcap
+PKG_BUILDDEP:= libcap
+PKG_URL:= https://google.github.io/minijail/
+PKG_SITES:= https://github.com/google/minijail/archive/refs/tags/
+
+DISTFILES:= linux-$(PKG_VERSION).tar.gz
+WRKDIST= ${WRKDIR}/${PKG_NAME}-linux-${PKG_VERSION}
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,MINIJAIL,minijail,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+CONFIG_STYLE:= manual
+INSTALL_STYLE:= manual
+
+minijail-install:
+ $(INSTALL_DIR) $(IDIR_MINIJAIL)/lib
+ $(CP) $(WRKBUILD)/libminijailpreload.so \
+ $(IDIR_MINIJAIL)/lib
+ $(INSTALL_DIR) $(IDIR_MINIJAIL)/lib
+ $(CP) $(WRKBUILD)/libminijail.so \
+ $(IDIR_MINIJAIL)/lib
+ $(INSTALL_DIR) $(IDIR_MINIJAIL)/usr/bin
+ $(INSTALL_BIN) $(WRKBUILD)/minijail0 \
+ $(IDIR_MINIJAIL)/usr/bin
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/minijail/patches/patch-common_mk b/package/minijail/patches/patch-common_mk
new file mode 100644
index 000000000..23dc08e77
--- /dev/null
+++ b/package/minijail/patches/patch-common_mk
@@ -0,0 +1,15 @@
+--- minijail-linux-v17.orig/common.mk 2021-08-11 08:01:06.000000000 +0200
++++ minijail-linux-v17/common.mk 2022-01-13 04:53:35.432449083 +0100
+@@ -306,12 +306,6 @@ check_libs_cxx = $(call check_compile,$(
+ check_cc = $(call check_compile_cc,'int main() { return 0; }',$(1),$(2))
+ check_cxx = $(call check_compile_cxx,'int main() { return 0; }',$(1),$(2))
+
+-# Choose the stack protector flags based on whats supported by the compiler.
+-SSP_CFLAGS := $(call check_cc,-fstack-protector-strong)
+-ifeq ($(SSP_CFLAGS),)
+- SSP_CFLAGS := $(call check_cc,-fstack-protector-all)
+-endif
+-
+ # To update these from an including Makefile:
+ # CXXFLAGS += -mahflag # Append to the list
+ # CXXFLAGS := -mahflag $(CXXFLAGS) # Prepend to the list
diff --git a/package/minijail/patches/patch-libminijail_c b/package/minijail/patches/patch-libminijail_c
new file mode 100644
index 000000000..67b06094e
--- /dev/null
+++ b/package/minijail/patches/patch-libminijail_c
@@ -0,0 +1,12 @@
+--- minijail-linux-v17.orig/libminijail.c 2021-08-11 08:01:06.000000000 +0200
++++ minijail-linux-v17/libminijail.c 2022-01-13 04:24:57.190934413 +0100
+@@ -2620,9 +2620,6 @@ static int fd_is_open(int fd)
+ return fcntl(fd, F_GETFD) != -1 || errno != EBADF;
+ }
+
+-static_assert(FD_SETSIZE >= MAX_PRESERVED_FDS * 2 - 1,
+- "If true, ensure_no_fd_conflict will always find an unused fd.");
+-
+ /* If parent_fd will be used by a child fd, move it to an unused fd. */
+ static int ensure_no_fd_conflict(const fd_set *child_fds,
+ int child_fd, int *parent_fd)
diff --git a/package/mksh/Makefile b/package/mksh/Makefile
index 98f18fef8..220e69333 100644
--- a/package/mksh/Makefile
+++ b/package/mksh/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= mksh
-PKG_VERSION:= 57
+PKG_VERSION:= 59c
PKG_RELEASE:= 1
-PKG_HASH:= 3d101154182d52ae54ef26e1360c95bc89c929d28859d378cc1c84f3439dbe75
+PKG_HASH:= 77ae1665a337f1c48c61d6b961db3e52119b38e58884d1c89684af31f87bc506
PKG_DESCR:= mirbsd korn shell
PKG_SECTION:= base/shells
PKG_NEEDS:= mmu
@@ -37,7 +37,7 @@ BUILD_STYLE:= manual
INSTALL_STYLE:= manual
host-build:
- cd $(WRKBUILD) && $(BASH) $(WRKSRC)/Build.sh -Q -r -c lto
+ cd $(WRKBUILD) && $(BASH) $(WRKSRC)/Build.sh -Q -r
mksh-hostinstall:
$(INSTALL_DIR) $(STAGING_HOST_DIR)/usr/bin
@@ -48,7 +48,7 @@ do-build:
cd $(WRKBUILD) && CC='$(TARGET_CC)' CFLAGS='$(TARGET_CFLAGS)' \
CPPFLAGS='$(TARGET_CPPFLAGS)' LDFLAGS='$(TARGET_LDFLAGS)' \
HAVE_CAN_FSTACKPROTECTORALL=0 HAVE_CAN_FSTACKPROTECTORSTRONG=0 \
- TARGET_OS=Linux $(BASH) $(WRKSRC)/Build.sh -Q -r -c lto
+ TARGET_OS=Linux $(BASH) $(WRKSRC)/Build.sh -Q -r
mksh-install:
$(INSTALL_DIR) $(IDIR_MKSH)/root
diff --git a/package/mongrel2/Makefile b/package/mongrel2/Makefile
index 8fa6393b2..9ae849160 100644
--- a/package/mongrel2/Makefile
+++ b/package/mongrel2/Makefile
@@ -4,13 +4,13 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= mongrel2
-PKG_VERSION:= 1.11.0
+PKG_VERSION:= 1.13.0
PKG_RELEASE:= 1
-PKG_HASH:= 917f2ce07c0908cae63ac03f3039815839355d46568581902377ba7e41257bed
+PKG_HASH:= b6f1f50c9f65b605342d8792b1cc8a1c151105339030313b9825b6a68d400c10
PKG_DESCR:= application, language, and network architecture agnostic web server
PKG_SECTION:= net/http
-PKG_BUILDDEP:= zeromq sqlite
-PKG_DEPENDS:= zeromq libsqlite
+PKG_BUILDDEP:= zeromq sqlite-host sqlite mbedtls
+PKG_DEPENDS:= zeromq libsqlite mbedtls
PKG_NEEDS:= threads c++
PKG_URL:= http://mongrel2.org
PKG_SITES:= https://github.com/mongrel2/mongrel2/releases/download/v$(PKG_VERSION)/
diff --git a/package/mongrel2/patches/patch-Makefile b/package/mongrel2/patches/patch-Makefile
index 182389538..14ede92ab 100644
--- a/package/mongrel2/patches/patch-Makefile
+++ b/package/mongrel2/patches/patch-Makefile
@@ -1,30 +1,20 @@
---- mongrel2-v1.11.0.orig/Makefile 2015-12-31 10:25:17.000000000 +0100
-+++ mongrel2-v1.11.0/Makefile 2016-04-25 20:21:46.996240089 +0200
-@@ -1,6 +1,7 @@
--CFLAGS=-g -O2 -Wall -Wextra -Isrc -Isrc/mbedtls/include -pthread -rdynamic -DNDEBUG $(OPTFLAGS) -D_FILE_OFFSET_BITS=64
-+CFLAGS?=
-+CFLAGS+=-Wall -Wextra -Isrc -Isrc/mbedtls/include -pthread -rdynamic -DNDEBUG $(OPTFLAGS) -D_FILE_OFFSET_BITS=64
- LIBS=-lzmq -ldl -lsqlite3 $(OPTLIBS)
+--- mongrel2-v1.13.0.orig/Makefile 2021-12-25 01:03:28.000000000 +0100
++++ mongrel2-v1.13.0/Makefile 2024-02-22 19:19:16.724583955 +0100
+@@ -2,7 +2,7 @@ CFLAGS?=-g -O2
+ CFLAGS += -Wall -Wextra -Wno-implicit-fallthrough -Wno-unused-const-variable -I./src -DNDEBUG -D_FILE_OFFSET_BITS=64 -pthread
+ CFLAGS += ${OPTFLAGS}
+ LIBS+=-lzmq -ldl -lsqlite3 -lmbedtls -lmbedx509 -lmbedcrypto
-PREFIX?=/usr/local
+PREFIX?=/usr
get_objs = $(addsuffix .o,$(basename $(wildcard $(1))))
-@@ -29,7 +30,7 @@ ifdef $($(shell \
- fi ))
- endif
+@@ -18,7 +18,7 @@ TEST_SRC=$(wildcard tests/*_tests.c)
+ TESTS=$(patsubst %.c,%,${TEST_SRC})
+ MAKEOPTS=OPTFLAGS="${CFLAGS} ${NOEXTCFLAGS} ${OPTFLAGS}" LDFLAGS="${LDFLAGS}" LIBS="${LIBS}" DESTDIR="${DESTDIR}" PREFIX="${PREFIX}"
--all: builddirs bin/mongrel2 tests m2sh procer
-+all: builddirs bin/mongrel2 m2sh procer
+-all: bin/mongrel2 tests m2sh procer
++all: bin/mongrel2 m2sh procer
- dev: CFLAGS=-g -Wall -Isrc -Wall -Wextra $(OPTFLAGS) -D_FILE_OFFSET_BITS=64
- dev: all
-@@ -160,8 +161,6 @@ install: all
- || ( install -d $(DESTDIR)/$(PREFIX)/bin/ \
- && install bin/mongrel2 $(DESTDIR)/$(PREFIX)/bin/ )
- ${MAKE} ${MAKEOPTS} -C tools/m2sh install
-- ${MAKE} ${MAKEOPTS} -C tools/config_modules install
-- ${MAKE} ${MAKEOPTS} -C tools/filters install
- ${MAKE} ${MAKEOPTS} -C tools/procer install
-
- examples/python/mongrel2/sql/config.sql: src/config/config.sql src/config/mimetypes.sql
+ ${OBJECTS_NOEXT}: CFLAGS += ${NOEXTCFLAGS}
+ ${OBJECTS}: | builddirs
diff --git a/package/mongrel2/patches/patch-tools_m2sh_Makefile b/package/mongrel2/patches/patch-tools_m2sh_Makefile
index c6296496a..abec82a1f 100644
--- a/package/mongrel2/patches/patch-tools_m2sh_Makefile
+++ b/package/mongrel2/patches/patch-tools_m2sh_Makefile
@@ -1,5 +1,5 @@
---- mongrel2-v1.11.0.orig/tools/m2sh/Makefile 2015-12-31 10:25:18.000000000 +0100
-+++ mongrel2-v1.11.0/tools/m2sh/Makefile 2016-04-25 20:14:36.744476585 +0200
+--- mongrel2-v1.13.0.orig/tools/m2sh/Makefile 2021-12-25 01:03:28.000000000 +0100
++++ mongrel2-v1.13.0/tools/m2sh/Makefile 2024-02-22 19:03:20.332596928 +0100
@@ -1,7 +1,8 @@
-CFLAGS=-DNDEBUG -DNO_LINENOS -pthread -g -I../../src -Isrc -Wall $(OPTFLAGS)
+CFLAGS?=
@@ -11,17 +11,17 @@
SOURCES=$(wildcard src/*.c src/**/*.c)
OBJECTS=$(patsubst %.c,%.o,${SOURCES})
TEST_SRC=$(wildcard tests/*.c)
-@@ -9,7 +10,7 @@ TESTS=$(patsubst %.c,%,${TEST_SRC})
- LIB_SRC=$(filter-out src/m2sh.c,${SOURCES})
- LIB_OBJ=$(filter-out src/m2sh.o,${OBJECTS})
+@@ -12,7 +13,7 @@ RAGEL_OBJECTS=src/lexer.o src/cli.o
+
+ $(RAGEL_OBJECTS): CFLAGS += -Wno-unused-const-variable -Wimplicit-fallthrough=0 -Wno-unused-parameter
-all: ../lemon/lemon tests build/m2sh
+all: ../lemon/lemon build/m2sh
dev: CFLAGS=-g -Wall -Wextra -Isrc -I../../src $(OPTFLAGS)
dev: all
-@@ -27,7 +28,7 @@ build/m2sh: ../lemon/lemon ../../build/l
- $(CC) $(CFLAGS) -o build/m2sh ${OBJECTS} ../../build/libm2.a $(LIBS)
+@@ -32,7 +33,7 @@ build/m2sh: ../lemon/lemon ../../build/l
+ $(CC) $(CFLAGS) -o build/m2sh ${OBJECTS} ../../build/libm2.a $(LDFLAGS) $(LIBS)
../lemon/lemon: ../lemon/lemon.c
- $(CC) -O2 ../lemon/lemon.c -o ../lemon/lemon
diff --git a/package/monit/Makefile b/package/monit/Makefile
index ace5b354d..2cc22ef74 100644
--- a/package/monit/Makefile
+++ b/package/monit/Makefile
@@ -4,13 +4,13 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= monit
-PKG_VERSION:= 5.23.0
+PKG_VERSION:= 5.33.0
PKG_RELEASE:= 1
-PKG_HASH:= dd39fe3a379c02402ba9c44c201b3ba925ebdc8f04225918820607b6c5d56713
+PKG_HASH:= 1ace889c0183473a9d70160df6533bb6e1338dc1354f5928507803e1e2a863b5
PKG_DESCR:= utility for system services monitoring
PKG_SECTION:= sys/misc
-PKG_DEPENDS:= libressl
-PKG_BUILDDEP:= libressl
+PKG_DEPENDS:= libressl zlib
+PKG_BUILDDEP:= libressl zlib
PKG_NEEDS:= threads
PKG_URL:= http://mmonit.com/monit/
PKG_SITES:= https://mmonit.com/monit/dist/
diff --git a/package/monit/patches/patch-configure b/package/monit/patches/patch-configure
new file mode 100644
index 000000000..5908d3b70
--- /dev/null
+++ b/package/monit/patches/patch-configure
@@ -0,0 +1,49 @@
+--- monit-5.33.0.orig/configure 2023-02-11 11:29:07.000000000 +0100
++++ monit-5.33.0/configure 2024-02-13 16:51:40.139483822 +0100
+@@ -5428,46 +5428,6 @@ else $as_nop
+ :
+ fi
+
+-if test `uname` != "AIX"; then
+- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fstack-protector-all" >&5
+-printf %s "checking whether C compiler accepts -fstack-protector-all... " >&6; }
+-if test ${ax_cv_check_cflags___fstack_protector_all+y}
+-then :
+- printf %s "(cached) " >&6
+-else $as_nop
+-
+- ax_check_save_flags=$CFLAGS
+- CFLAGS="$CFLAGS -fstack-protector-all"
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h. */
+-
+-int
+-main (void)
+-{
+-
+- ;
+- return 0;
+-}
+-_ACEOF
+-if ac_fn_c_try_compile "$LINENO"
+-then :
+- ax_cv_check_cflags___fstack_protector_all=yes
+-else $as_nop
+- ax_cv_check_cflags___fstack_protector_all=no
+-fi
+-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+- CFLAGS=$ax_check_save_flags
+-fi
+-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fstack_protector_all" >&5
+-printf "%s\n" "$ax_cv_check_cflags___fstack_protector_all" >&6; }
+-if test "x$ax_cv_check_cflags___fstack_protector_all" = xyes
+-then :
+- CFLAGS="$CFLAGS -fstack-protector-all"
+-else $as_nop
+- :
+-fi
+-
+-fi
+
+
+ # ------------------------------------------------------------------------
diff --git a/package/monit/patches/patch-libmonit_configure b/package/monit/patches/patch-libmonit_configure
new file mode 100644
index 000000000..f86308419
--- /dev/null
+++ b/package/monit/patches/patch-libmonit_configure
@@ -0,0 +1,49 @@
+--- monit-5.33.0.orig/libmonit/configure 2023-02-11 11:29:10.000000000 +0100
++++ monit-5.33.0/libmonit/configure 2024-02-13 16:56:07.859480191 +0100
+@@ -5130,46 +5130,6 @@ else $as_nop
+ :
+ fi
+
+-if test `uname` != "AIX"; then
+- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fstack-protector-all" >&5
+-printf %s "checking whether C compiler accepts -fstack-protector-all... " >&6; }
+-if test ${ax_cv_check_cflags___fstack_protector_all+y}
+-then :
+- printf %s "(cached) " >&6
+-else $as_nop
+-
+- ax_check_save_flags=$CFLAGS
+- CFLAGS="$CFLAGS -fstack-protector-all"
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h. */
+-
+-int
+-main (void)
+-{
+-
+- ;
+- return 0;
+-}
+-_ACEOF
+-if ac_fn_c_try_compile "$LINENO"
+-then :
+- ax_cv_check_cflags___fstack_protector_all=yes
+-else $as_nop
+- ax_cv_check_cflags___fstack_protector_all=no
+-fi
+-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+- CFLAGS=$ax_check_save_flags
+-fi
+-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fstack_protector_all" >&5
+-printf "%s\n" "$ax_cv_check_cflags___fstack_protector_all" >&6; }
+-if test "x$ax_cv_check_cflags___fstack_protector_all" = xyes
+-then :
+- CFLAGS="$CFLAGS -fstack-protector-all"
+-else $as_nop
+- :
+-fi
+-
+-fi
+
+ # ---------------------------------------------------------------------------
+ # Libtool
diff --git a/package/mopd/Makefile b/package/mopd/Makefile
index e3ffe9dd3..54245dc63 100644
--- a/package/mopd/Makefile
+++ b/package/mopd/Makefile
@@ -15,6 +15,7 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,MOPD,mopd,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+TARGET_CFLAGS+= -fcommon
CONFIG_STYLE:= manual
INSTALL_STYLE:= manual
diff --git a/package/mopd/src/Makefile b/package/mopd/src/Makefile
index 980579251..522884369 100644
--- a/package/mopd/src/Makefile
+++ b/package/mopd/src/Makefile
@@ -12,7 +12,7 @@ MOP_PATH="-DMOP_FILE_PATH=\\\"/tftpboot/mop\\\""
# AOUT_SUPPORT="-DNOAOUT"
AOUT_SUPPORT=""
-CFLAGS="-g ${AOUT_SUPPORT} ${MOP_PATH} ${DEFAULT_HOSTNAME} ${REAL_HOSTNAME}"
+CFLAGS="-fcommon ${AOUT_SUPPORT} ${MOP_PATH} ${DEFAULT_HOSTNAME} ${REAL_HOSTNAME}"
#make file to build linux-mopd
SUBDIRS=common mopd mopchk mopprobe moptrace
diff --git a/package/mosquitto/Makefile b/package/mosquitto/Makefile
index 836e1630b..2cafc703f 100644
--- a/package/mosquitto/Makefile
+++ b/package/mosquitto/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= mosquitto
-PKG_VERSION:= 1.4.9
+PKG_VERSION:= 2.0.18
PKG_RELEASE:= 1
-PKG_HASH:= 1df3ae07de40b80a74cd37a7b026895c544cdd3b42c9e0719ae91623aa98c58b
+PKG_HASH:= d665fe7d0032881b1371a47f34169ee4edab67903b2cd2b4c083822823f4448a
PKG_DESCR:= mqtt broker
PKG_SECTION:= net/misc
PKG_DEPENDS:= c-ares libressl
@@ -33,7 +33,7 @@ mosquitto-install:
$(IDIR_MOSQUITTO)/usr/bin
$(INSTALL_BIN) $(WRKINST)/usr/sbin/mosquitto* \
$(IDIR_MOSQUITTO)/usr/sbin
- $(INSTALL_DATA) $(WRKINST)/etc/mosquitto/* \
+ $(INSTALL_DATA) $(WRKINST)/usr/etc/mosquitto/* \
$(IDIR_MOSQUITTO)/etc/mosquitto
$(CP) $(WRKINST)/usr/lib/*.so* \
$(IDIR_MOSQUITTO)/usr/lib
diff --git a/package/motion/Makefile b/package/motion/Makefile
index 4e2c7d4f7..f88db12bd 100644
--- a/package/motion/Makefile
+++ b/package/motion/Makefile
@@ -4,22 +4,24 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= motion
-# actually a svn version from 25.06.2014 checkout
-PKG_VERSION:= 4.0
-PKG_RELEASE:= 2
-PKG_HASH:= ff2931b0af037da126fed3e496430944132528132e71473aae478ff2e7f78e0d
+PKG_VERSION:= 4.6.0
+PKG_RELEASE:= 1
+PKG_HASH:= 9268df31a5ebeaf8daca4747cdcd01c86e223625b6f971e9bcec98edf35ec06f
PKG_DESCR:= webcam motion sensing and logging
PKG_SECTION:= mm/video
-PKG_DEPENDS:= libjpeg-turbo libsdl
-PKG_BUILDDEP:= libjpeg-turbo sdl
+PKG_DEPENDS:= libjpeg-turbo libmicrohttpd
+PKG_BUILDDEP:= libjpeg-turbo libmicrohttpd
PKG_NEEDS:= threads
-PKG_URL:= http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome
-PKG_SITES:= http://distfiles.openadk.org/
+PKG_SITES:= https://github.com/Motion-Project/motion/archive/refs/tags/
+
+DISTFILES:= release-$(PKG_VERSION).tar.gz
+WRKDIST= ${WRKDIR}/${PKG_NAME}-release-${PKG_VERSION}
include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,MOTION,motion,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+AUTOTOOL_STYLE:= autoreconf
CONFIGURE_ARGS+= --without-ffmpeg \
--without-jpeg-mmx \
--without-optimizecpu \
diff --git a/package/motion/patches/patch-config_h b/package/motion/patches/patch-config_h
deleted file mode 100644
index 7c6d32ce8..000000000
--- a/package/motion/patches/patch-config_h
+++ /dev/null
@@ -1,33 +0,0 @@
---- motion-4.0.orig/config.h 2011-09-18 22:49:29.000000000 +0200
-+++ motion-4.0/config.h 2012-07-25 14:54:50.000000000 +0200
-@@ -14,7 +14,7 @@
- #define HAVE_LINUX_VIDEODEV2_H 1
-
- /* Define to 1 if you have the <linux/videodev.h> header file. */
--#define HAVE_LINUX_VIDEODEV_H 1
-+/* #undef HAVE_LINUX_VIDEODEV_H */
-
- /* Define to 1 if you have the <memory.h> header file. */
- #define HAVE_MEMORY_H 1
-@@ -89,10 +89,10 @@
- #define SIZEOF_INT 4
-
- /* The size of `int *', as computed by sizeof. */
--#define SIZEOF_INT_P 8
-+#define SIZEOF_INT_P 4
-
- /* The size of `long int', as computed by sizeof. */
--#define SIZEOF_LONG_INT 8
-+#define SIZEOF_LONG_INT 4
-
- /* The size of `long long', as computed by sizeof. */
- #define SIZEOF_LONG_LONG 8
-@@ -101,7 +101,7 @@
- #define SIZEOF_SHORT 2
-
- /* The size of `void *', as computed by sizeof. */
--#define SIZEOF_VOID_P 8
-+#define SIZEOF_VOID_P 4
-
- /* Define to 1 if you have the ANSI C header files. */
- #define STDC_HEADERS 1
diff --git a/package/motion/patches/patch-configure b/package/motion/patches/patch-configure
deleted file mode 100644
index e4f923ce8..000000000
--- a/package/motion/patches/patch-configure
+++ /dev/null
@@ -1,20 +0,0 @@
---- motion-4.0.orig/configure 2011-09-18 22:48:41.000000000 +0200
-+++ motion-4.0/configure 2012-07-25 15:29:03.000000000 +0200
-@@ -2395,7 +2395,7 @@ fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Darwin" >&5
- $as_echo_n "checking for Darwin... " >&6; }
--Darwin=`uname -a | grep "Darwin"`
-+Darwin=
-
- if test "${Darwin}" = ""; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-@@ -2403,7 +2403,7 @@ $as_echo "no" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for *BSD" >&5
- $as_echo_n "checking for *BSD... " >&6; }
-
-- FreeBSD=`uname -a | grep "BSD"`
-+ FreeBSD=
- if test "${FreeBSD}" = ""; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- $as_echo "no" >&6; }
diff --git a/package/motion/patches/patch-motion_init-Debian b/package/motion/patches/patch-motion_init-Debian
deleted file mode 100644
index 18f9ef1a3..000000000
--- a/package/motion/patches/patch-motion_init-Debian
+++ /dev/null
@@ -1,11 +0,0 @@
---- motion-4.0.orig/motion.init-Debian 2011-09-18 22:49:29.000000000 +0200
-+++ motion-4.0/motion.init-Debian 2012-07-25 14:54:50.000000000 +0200
-@@ -6,7 +6,7 @@
-
- NAME=motion
- PATH=/bin:/usr/bin:/sbin:/usr/sbin
--DAEMON=/usr/local/bin/motion
-+DAEMON=/usr/bin/motion
- PIDFILE=/var/run/motion/$NAME.pid
-
-
diff --git a/package/motion/patches/patch-motion_init-FreeBSD_sh b/package/motion/patches/patch-motion_init-FreeBSD_sh
deleted file mode 100644
index 64a47fe11..000000000
--- a/package/motion/patches/patch-motion_init-FreeBSD_sh
+++ /dev/null
@@ -1,11 +0,0 @@
---- motion-4.0.orig/motion.init-FreeBSD.sh 2011-09-18 22:49:29.000000000 +0200
-+++ motion-4.0/motion.init-FreeBSD.sh 2012-07-25 14:54:50.000000000 +0200
-@@ -18,7 +18,7 @@ motion_enable="${motion_enable-NO}"
- name="motion"
- rcvar=`set_rcvar`
-
--command="/usr/local/bin/${name}"
-+command="/usr/bin/${name}"
- pidfile="/var/run/${name}.pid"
- required_files="/usr/local/etc/${name}.conf"
-
diff --git a/package/mpc/Makefile b/package/mpc/Makefile
index 7ccdb9a1e..0ae87e82d 100644
--- a/package/mpc/Makefile
+++ b/package/mpc/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= mpc
-PKG_VERSION:= 0.28
+PKG_VERSION:= 0.35
PKG_RELEASE:= 1
-PKG_HASH:= a4337d06c85dc81a638821d30fce8a137a58d13d510be34a11c1cce95cabc547
+PKG_HASH:= 382959c3bfa2765b5346232438650491b822a16607ff5699178aa1386e3878d4
PKG_DESCR:= music player client
PKG_SECTION:= mm/audio
PKG_DEPENDS:= libmpdclient
@@ -18,8 +18,11 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,MPC,mpc,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-CONFIGURE_ARGS+= --disable-iconv
-CONFIGURE_ENV+= ac_cv_lib_nsl_gethostbyname=no
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
mpc-install:
$(INSTALL_DIR) $(IDIR_MPC)/usr/bin
diff --git a/package/mpd/Makefile b/package/mpd/Makefile
index 82e02ab0a..424358185 100644
--- a/package/mpd/Makefile
+++ b/package/mpd/Makefile
@@ -4,17 +4,19 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= mpd
-PKG_VERSION:= 0.20.13
+PKG_VERSION:= 0.23.15
PKG_RELEASE:= 1
-PKG_HASH:= 46c1c534d80a52de00263e8ef43a6011ff9d765232443749539ef26b1b48ff40
+PKG_HASH:= 550132239ad1acf82ccf8905b56cc13dc2c81a4489b96fba7731b3049907661a
PKG_DESCR:= music player daemon
PKG_SECTION:= mm/audio
-PKG_DEPENDS:= libmpdclient boost libncurses libexpat
-PKG_BUILDDEP:= libmpdclient boost ncurses expat
+PKG_DEPENDS:= libmpdclient boost libncurses libexpat libsqlite libfmt libxcb
+PKG_DEPENDS+= libxau libxdmcp
+PKG_BUILDDEP:= libmpdclient boost ncurses expat sqlite fmt libxcb
+PKG_BUILDDEP+= libXau libXdmcp
PKG_FDEPENDS:= libmpdclient
PKG_NEEDS:= threads c++ data
PKG_URL:= http://www.musicpd.org/
-PKG_SITES:= http://www.musicpd.org/download/mpd/0.20/
+PKG_SITES:= http://www.musicpd.org/download/mpd/0.23/
PKG_FLAVOURS_MPD:= WITH_ALSA WITH_AO WITH_MP3 WITH_MP4
PKG_FLAVOURS_MPD+= WITH_OGG WITH_FLAC WITH_WAV WITH_MMS WITH_FFMPEG
@@ -91,7 +93,7 @@ PKGFD_WITH_CURL:= enable CURL support
PKGFS_WITH_CURL:= libcurl
PKGFB_WITH_CURL:= curl
ifeq ($(ADK_PACKAGE_MPD_WITH_CURL),y)
-PKG_FDEPENDS+= libcurl
+PKG_FDEPENDS+= curl
endif
PKGFD_WITH_SAMPLERATE:= enable samplerate support
@@ -135,142 +137,128 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,MPD,mpd,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_FDEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
+
TARGET_CPPFLAGS+= -D_GNU_SOURCE -D_POSIX_SOURCE
TARGET_CFLAGS+= -std=gnu99
-CONFIGURE_ENV+= ac_cv_lib_nsl_gethostbyname=no
-CONFIGURE_ARGS+= --disable-fifo \
- --disable-oss \
- --disable-icu \
- --disable-bzip2 \
- --disable-libwrap \
- --disable-smbclient \
- --disable-mpc \
- --disable-wavpack \
- --disable-modplug \
- --disable-sqlite \
- --disable-mpg123 \
- --disable-soundcloud \
- --enable-inotify \
- --enable-pipe-output
+
+MESON_FLAGS+= -Dfifo=false \
+ -Doss=disabled
ifneq ($(ADK_PACKAGE_MPD_WITH_JACK),)
-CONFIGURE_ARGS+= --enable-jack
+MESON_FLAGS+= -Djack=enabled
else
-CONFIGURE_ARGS+= --disable-jack
+MESON_FLAGS+= -Djack=disabled
endif
ifneq ($(ADK_PACKAGE_MPD_WITH_SNDFILE),)
-CONFIGURE_ARGS+= --enable-sndfile
+MESON_FLAGS+= -Dsndfile=enabled
else
-CONFIGURE_ARGS+= --disable-sndfile
+MESON_FLAGS+= -Dsndfile=disabled
endif
ifneq ($(ADK_PACKAGE_MPD_WITH_HTTPD),)
-CONFIGURE_ARGS+= --enable-httpd-output
+MESON_FLAGS+= -Dhttpd=true
else
-CONFIGURE_ARGS+= --disable-httpd-output
+MESON_FLAGS+= -Dhttpd=false
endif
ifneq ($(ADK_PACKAGE_MPD_WITH_AVAHI),)
-CONFIGURE_ARGS+= --with-zeroconf=avahi
+MESON_FLAGS+= -Dzeroconf=avahi
else
-CONFIGURE_ARGS+= --with-zeroconf=no
+MESON_FLAGS+= -Dzeroconf=disabled
endif
ifneq ($(ADK_PACKAGE_MPD_WITH_PULSE),)
-CONFIGURE_ARGS+= --enable-pulse
+MESON_FLAGS+= -Dpulse=enabled
else
-CONFIGURE_ARGS+= --disable-pulse
+MESON_FLAGS+= -Dpulse=disabled
endif
ifneq ($(ADK_PACKAGE_MPD_WITH_ALSA),)
-CONFIGURE_ARGS+= --enable-alsa
+MESON_FLAGS+= -Dalsa=enabled
else
-CONFIGURE_ARGS+= --disable-alsa
+MESON_FLAGS+= -Dalsa=disabled
endif
ifneq ($(ADK_PACKAGE_MPD_WITH_AO),)
-CONFIGURE_ARGS+= --enable-ao
+MESON_FLAGS+= -Dao=enabled
else
-CONFIGURE_ARGS+= --disable-ao
+MESON_FLAGS+= -Dao=disabled
endif
ifneq ($(ADK_PACKAGE_MPD_WITH_MP3),)
-CONFIGURE_ARGS+= --enable-id3 --enable-mad
+MESON_FLAGS+= -Dmad=enabled
else
-CONFIGURE_ARGS+= --disable-id3 --disable-mad
+MESON_FLAGS+= -Dmad=disabled
endif
ifneq ($(ADK_PACKAGE_MPD_WITH_MP4),)
-CONFIGURE_ARGS+= --enable-aac
+MESON_FLAGS+= -Dfaad=enabled
else
-CONFIGURE_ARGS+= --disable-aac
+MESON_FLAGS+= -Dfaad=disabled
endif
ifneq ($(ADK_PACKAGE_MPD_WITH_OGG),)
-CONFIGURE_ARGS+= --enable-vorbis
+MESON_FLAGS+= -Dvorbis=enabled
else
-CONFIGURE_ARGS+= --disable-vorbis
+MESON_FLAGS+= -Dvorbis=disabled
endif
ifneq ($(ADK_PACKAGE_MPD_WITH_TREMOR),)
-CONFIGURE_ARGS+= \
- --disable-vorbis \
- --with-tremor \
- --with-tremor-includes=$(STAGING_TARGET_DIR)/usr/include \
- --with-tremor-libraries=$(STAGING_TARGET_DIR)/usr/lib
+MESON_FLAGS+= -Dtremor=enabled
endif
ifneq ($(ADK_PACKAGE_MPD_WITH_FLAC),)
-CONFIGURE_ARGS+= --enable-flac
+MESON_FLAGS+= -Dflac=enabled
else
-CONFIGURE_ARGS+= --disable-flac
+MESON_FLAGS+= -Dflac=disabled
endif
ifneq ($(ADK_PACKAGE_MPD_WITH_WAV),)
-CONFIGURE_ARGS+= --enable-audiofile
+MESON_FLAGS+= -Daudiofile=enabled
else
-CONFIGURE_ARGS+= --disable-audiofile
+MESON_FLAGS+= -Daudiofile=disabled
endif
ifneq ($(ADK_PACKAGE_MPD_WITH_SHOUT),)
-CONFIGURE_ARGS+= --enable-shout \
- --enable-lame-encoder \
- --enable-vorbis-encoder
+MESON_FLAGS+= -Dshout=enabled
else
-CONFIGURE_ARGS+= --disable-shout \
- --disable-lame-encoder \
- --disable-vorbis-encoder
+MESON_FLAGS+= -Dshout=disabled
endif
ifneq ($(ADK_PACKAGE_MPD_WITH_CURL),)
-CONFIGURE_ARGS+= --enable-curl
+MESON_FLAGS+= -Dcurl=enabled
else
-CONFIGURE_ARGS+= --disable-curl
+MESON_FLAGS+= -Dcurl=disabled
endif
ifneq ($(ADK_PACKAGE_MPD_WITH_MMS),)
-CONFIGURE_ARGS+= --enable-mms
+MESON_FLAGS+= -Dmms=enabled
else
-CONFIGURE_ARGS+= --disable-mms
+MESON_FLAGS+= -Dmms=disabled
endif
ifneq ($(ADK_PACKAGE_MPD_WITH_FFMPEG),)
-CONFIGURE_ARGS+= --enable-ffmpeg
+MESON_FLAGS+= -Dffmpeg=enabled
else
-CONFIGURE_ARGS+= --disable-ffmpeg
+MESON_FLAGS+= -Dffmpeg=disabled
endif
ifneq ($(ADK_PACKAGE_MPD_WITH_SAMPLERATE),)
-CONFIGURE_ARGS+= --enable-lsr
+MESON_FLAGS+= -Dlibsamplerate=enabled
else
-CONFIGURE_ARGS+= --disable-lsr
+MESON_FLAGS+= -Dlibsamplerate=disabled
endif
ifneq ($(ADK_PACKAGE_MPD_WITH_OPUS),)
-CONFIGURE_ARGS+= --enable-opus
+MESON_FLAGS+= -Dopus=enabled
else
-CONFIGURE_ARGS+= --disable-opus
+MESON_FLAGS+= -Dopus=disabled
endif
mpd-install:
diff --git a/package/mpd/files/mpd.conf b/package/mpd/files/mpd.conf
index 4c6cfe471..7e1c947d5 100644
--- a/package/mpd/files/mpd.conf
+++ b/package/mpd/files/mpd.conf
@@ -8,7 +8,6 @@ db_file "/data/mpd/database"
pid_file "/var/run/mpd/mpd.pid"
log_file "syslog"
filesystem_charset "UTF-8"
-id3v1_encoding "UTF-8"
mixer_type "software"
# An example of an ALSA output
diff --git a/package/mpfr/patches/patch-src_mpfr-longlong_h b/package/mpfr/patches/patch-src_mpfr-longlong_h
deleted file mode 100644
index e68cfa752..000000000
--- a/package/mpfr/patches/patch-src_mpfr-longlong_h
+++ /dev/null
@@ -1,11 +0,0 @@
---- mpfr-3.1.2.orig/src/mpfr-longlong.h 2013-03-13 16:37:32.000000000 +0100
-+++ mpfr-3.1.2/src/mpfr-longlong.h 2014-01-06 16:29:39.854354889 +0100
-@@ -1043,7 +1043,7 @@ extern UWtype __MPN(udiv_qrnnd) _PROTO (
- #define UDIV_TIME 100
- #endif /* __mips */
-
--#if (defined (__mips) && __mips >= 3) && W_TYPE_SIZE == 64
-+#if (defined (__mips) && __mips >= 3) && W_TYPE_SIZE == 64 && defined (_LP64)
- #if __GMP_GNUC_PREREQ (4,4)
- #define umul_ppmm(w1, w0, u, v) \
- do { \
diff --git a/package/mpg123/Makefile b/package/mpg123/Makefile
index 9ef90c5cf..dbc9b0033 100644
--- a/package/mpg123/Makefile
+++ b/package/mpg123/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= mpg123
-PKG_VERSION:= 1.25.2
+PKG_VERSION:= 1.32.4
PKG_RELEASE:= 1
-PKG_HASH:= 5314b0fb8ad291bfc79ff4c5c321b971916819a65233ec065434358fcf8aee38
+PKG_HASH:= 5a99664338fb2f751b662f40ee25804d0c9db6b575dcb5ce741c6dc64224a08a
PKG_DESCR:= mp3 console player
PKG_SECTION:= mm/audio
PKG_DEPENDS:= alsa-lib
@@ -21,21 +21,20 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,MPG123,mpg123,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-AUTOTOOL_STYLE:= autoreconf
-
ifeq ($(ADK_TARGET_CPU_X86_I486),y)
CONFIGURE_ARGS+= --with-cpu=i486
endif
ifeq ($(ADK_TARGET_CPU_X86_I586),y)
CONFIGURE_ARGS+= --with-cpu=i586
endif
-ifeq ($(ADK_TARGET_CPU_WITH_NEON),y)
+ifeq ($(ADK_TARGET_ARCH_ARM)$(ADK_TARGET_CPU_WITH_NEON),yy)
CONFIGURE_ARGS+= --with-cpu=neon
endif
+ifeq ($(ADK_TARGET_ARCH_AARCH64),y)
+CONFIGURE_ARGS+= --with-cpu=aarch64
+endif
-TARGET_CPPFLAGS+= -D_GNU_SOURCE -D_POSIX_SOURCE
-CONFIGURE_ARGS+= --disable-shared \
- --with-default-audio=alsa
+CONFIGURE_ARGS+= --with-default-audio=alsa --disable-shared
mpg123-install:
$(INSTALL_DIR) $(IDIR_MPG123)/usr/bin
diff --git a/package/mpg123/patches/patch-configure_ac b/package/mpg123/patches/patch-configure_ac
deleted file mode 100644
index 41a7e658e..000000000
--- a/package/mpg123/patches/patch-configure_ac
+++ /dev/null
@@ -1,11 +0,0 @@
---- mpg123-1.21.0.orig/configure.ac 2014-09-28 16:27:28.000000000 -0500
-+++ mpg123-1.21.0/configure.ac 2015-02-16 13:31:29.910186926 -0600
-@@ -1548,7 +1548,7 @@ do
- HAVE_ALSA=no
- else
-
-- ALSA_LIBS="-lasound"
-+ ALSA_LIBS="-lasound -lpthread"
- # Check for ALSA
- AC_CHECK_LIB( [asound], [snd_pcm_open],
- [ AC_CHECK_HEADER( [alsa/asoundlib.h],
diff --git a/package/mplayer/Makefile b/package/mplayer/Makefile
index 047e07a97..ef821a290 100644
--- a/package/mplayer/Makefile
+++ b/package/mplayer/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= mplayer
-PKG_VERSION:= 1.3.0
+PKG_VERSION:= 1.5
PKG_RELEASE:= 1
-PKG_HASH:= 3ad0846c92d89ab2e4e6fb83bf991ea677e7aa2ea775845814cbceb608b09843
+PKG_HASH:= 650cd55bb3cb44c9b39ce36dac488428559799c5f18d16d98edb2b7256cbbf85
PKG_DESCR:= popular video player
PKG_SECTION:= mm/video
PKG_DEPENDS:= alsa-lib libjpeg-turbo libfaad2 libmad libncurses
@@ -23,7 +23,7 @@ PKG_SITES:= http://www.mplayerhq.hu/MPlayer/releases/
DISTFILES:= MPlayer-$(PKG_VERSION).tar.xz
WRKDIST= ${WRKDIR}/MPlayer-${PKG_VERSION}
-PKG_ARCH_DEPENDS:= x86 x86_64 mips arm
+PKG_ARCH_DEPENDS:= x86 x86_64 mips arm aarch64
PKG_FLAVOURS_MPLAYER:= WITH_DIRECTFB
PKGFD_WITH_DIRECTFB:= enable DirectFB video output support
@@ -161,7 +161,6 @@ CONFIGURE_ARGS:= --prefix=/usr \
--disable-live \
--disable-pvr \
--disable-ftp \
- --disable-ivtv \
--disable-freetype \
--disable-mpg123 \
--disable-arts \
diff --git a/package/mplayer/patches/patch-stream_asf_streaming_c b/package/mplayer/patches/patch-stream_asf_streaming_c
deleted file mode 100644
index 4fa3b696b..000000000
--- a/package/mplayer/patches/patch-stream_asf_streaming_c
+++ /dev/null
@@ -1,27 +0,0 @@
---- mplayer-1.0-32749.orig/stream/asf_streaming.c 2011-01-03 11:26:52.000000000 +0100
-+++ mplayer-1.0-32749/stream/asf_streaming.c 2011-07-29 17:54:35.013424616 +0200
-@@ -38,7 +38,6 @@
-
- #include "stream.h"
- #include "libmpdemux/demuxer.h"
--#include "asf_mmst_streaming.h"
- #include "network.h"
- #include "tcp.h"
-
-@@ -87,16 +86,6 @@ static int asf_streaming_start( stream_t
- if( fd==-2 ) return -1;
- }
-
-- //Is protocol mms or mmst?
-- if (!strcasecmp(proto, "mmst") || !strcasecmp(proto, "mms"))
-- {
-- mp_msg(MSGT_NETWORK,MSGL_V,"Trying ASF/TCP...\n");
-- fd = asf_mmst_streaming_start( stream );
-- stream->streaming_ctrl->url->port = port;
-- if( fd>-1 ) return fd;
-- mp_msg(MSGT_NETWORK,MSGL_V," ===> ASF/TCP failed\n");
-- if( fd==-2 ) return -1;
-- }
-
- //Is protocol http, http_proxy, or mms?
- if (!strcasecmp(proto, "http_proxy") || !strcasecmp(proto, "http") ||
diff --git a/package/mtdev/Makefile b/package/mtdev/Makefile
new file mode 100644
index 000000000..b4e2bfd3c
--- /dev/null
+++ b/package/mtdev/Makefile
@@ -0,0 +1,26 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= mtdev
+PKG_VERSION:= 1.1.6
+PKG_RELEASE:= 1
+PKG_HASH:= 1325f389a2f25cd5f5a8ea4d29aad24aa7c3ec30401d679400dd79eb9c0a8dbb
+PKG_DESCR:= library which transforms all variants of kernel MT events
+PKG_SECTION:= libs/misc
+PKG_SITES:= https://bitmath.org/code/mtdev/
+PKG_OPTS:= dev
+
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,MTDEV,mtdev,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+mtdev-install:
+ $(INSTALL_DIR) $(IDIR_MTDEV)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libmtdev*.so* \
+ $(IDIR_MTDEV)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/mtr/Makefile b/package/mtr/Makefile
index 910dce00b..8076804f6 100644
--- a/package/mtr/Makefile
+++ b/package/mtr/Makefile
@@ -4,17 +4,17 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= mtr
-PKG_VERSION:= 0.75
-PKG_RELEASE:= 2
-PKG_HASH:= 1d1a5de6b233289bf17a21e3bf83c82db47d22bb269af986229b788689e1f0f3
+PKG_VERSION:= 0.95
+PKG_RELEASE:= 1
+PKG_HASH:= 12490fb660ba5fb34df8c06a0f62b4f9cbd11a584fc3f6eceda0a99124e8596f
PKG_DESCR:= traceroute/ping tool
PKG_SECTION:= net/debug
PKG_DEPENDS:= libncurses
PKG_BUILDDEP:= ncurses
PKG_URL:= http://www.bitwizard.nl/mtr/
-PKG_SITES:= ftp://ftp.bitwizard.nl/mtr/
+PKG_SITES:= https://github.com/traviscross/mtr/archive/refs/tags/
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
+DISTFILES:= v${PKG_VERSION}.tar.gz
PKG_LIBC_DEPENDS:= uclibc-ng glibc
@@ -23,6 +23,7 @@ include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,MTR,mtr,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
TARGET_LDFLAGS+= -ltinfo
+AUTOTOOL_STYLE:= bootstrap
CONFIGURE_ENV+= ac_cv_lib_resolv_res_mkquery=yes
CONFIGURE_ARGS+= --without-gtk
diff --git a/package/mtr/patches/501-dns.patch b/package/mtr/patches/501-dns.patch
deleted file mode 100644
index f1c915580..000000000
--- a/package/mtr/patches/501-dns.patch
+++ /dev/null
@@ -1,511 +0,0 @@
-diff -Naur mtr-0.69.old/dns.c mtr-0.69.new/dns.c
---- mtr-0.69.old/dns.c 2005-01-11 09:32:42.000000000 +0100
-+++ mtr-0.69.new/dns.c 2005-10-03 21:31:27.000000000 +0200
-@@ -853,6 +853,507 @@
- fputs("\r",stderr);
- }
-
-+#ifdef __UCLIBC__
-+
-+static const char digits[] = "0123456789";
-+#define __set_errno(e) (errno = (e))
-+
-+#define NS_PUT16(s, cp) do { \
-+ register u_int16_t t_s = (u_int16_t)(s); \
-+ register u_char *t_cp = (u_char *)(cp); \
-+ *t_cp++ = t_s >> 8; \
-+ *t_cp = t_s; \
-+ (cp) += NS_INT16SZ; \
-+} while (0)
-+
-+
-+
-+#define NS_PUT32(l, cp) do { \
-+ register u_int32_t t_l = (u_int32_t)(l); \
-+ register u_char *t_cp = (u_char *)(cp); \
-+ *t_cp++ = t_l >> 24; \
-+ *t_cp++ = t_l >> 16; \
-+ *t_cp++ = t_l >> 8; \
-+ *t_cp = t_l; \
-+ (cp) += NS_INT32SZ; \
-+} while (0)
-+
-+
-+void
-+ns_put16(u_int src, u_char *dst) {
-+ NS_PUT16(src, dst);
-+}
-+
-+void
-+ns_put32(u_long src, u_char *dst) {
-+ NS_PUT32(src, dst);
-+}
-+
-+void __putshort(u_int16_t src, u_char *dst) { ns_put16(src, dst); }
-+void __putlong(u_int32_t src, u_char *dst) { ns_put32(src, dst); }
-+
-+int
-+mklower(int ch) {
-+ if (ch >= 0x41 && ch <= 0x5A)
-+ return (ch + 0x20);
-+ return (ch);
-+}
-+
-+
-+static int
-+dn_find(const u_char *domain, const u_char *msg,
-+ const u_char * const *dnptrs,
-+ const u_char * const *lastdnptr)
-+{
-+ const u_char *dn, *cp, *sp;
-+ const u_char * const *cpp;
-+ u_int n;
-+
-+ for (cpp = dnptrs; cpp < lastdnptr; cpp++) {
-+ sp = *cpp;
-+ /*
-+ * terminate search on:
-+ * root label
-+ * compression pointer
-+ * unusable offset
-+ */
-+ while (*sp != 0 && (*sp & NS_CMPRSFLGS) == 0 &&
-+ (sp - msg) < 0x4000) {
-+ dn = domain;
-+ cp = sp;
-+ while ((n = *cp++) != 0) {
-+ /*
-+ * check for indirection
-+ */
-+ switch (n & NS_CMPRSFLGS) {
-+ case 0: /* normal case, n == len */
-+ if (n != *dn++)
-+ goto next;
-+ for ((void)NULL; n > 0; n--)
-+ if (mklower(*dn++) !=
-+ mklower(*cp++))
-+ goto next;
-+ /* Is next root for both ? */
-+ if (*dn == '\0' && *cp == '\0')
-+ return (sp - msg);
-+ if (*dn)
-+ continue;
-+ goto next;
-+
-+ case NS_CMPRSFLGS: /* indirection */
-+ cp = msg + (((n & 0x3f) << 8) | *cp);
-+ break;
-+
-+ default: /* illegal type */
-+ __set_errno (EMSGSIZE);
-+ return (-1);
-+ }
-+ }
-+ next:
-+ sp += *sp + 1;
-+ }
-+ }
-+ __set_errno (ENOENT);
-+ return (-1);
-+}
-+
-+
-+int
-+ns_name_pack(const u_char *src, u_char *dst, int dstsiz,
-+ const u_char **dnptrs, const u_char **lastdnptr)
-+{
-+ u_char *dstp;
-+ const u_char **cpp, **lpp, *eob, *msg;
-+ const u_char *srcp;
-+ int n, l, first = 1;
-+
-+ srcp = src;
-+ dstp = dst;
-+ eob = dstp + dstsiz;
-+ lpp = cpp = NULL;
-+ if (dnptrs != NULL) {
-+ if ((msg = *dnptrs++) != NULL) {
-+ for (cpp = dnptrs; *cpp != NULL; cpp++)
-+ (void)NULL;
-+ lpp = cpp; /* end of list to search */
-+ }
-+ } else
-+ msg = NULL;
-+
-+ /* make sure the domain we are about to add is legal */
-+ l = 0;
-+ do {
-+ n = *srcp;
-+ if ((n & NS_CMPRSFLGS) != 0 && n != 0x41) {
-+ __set_errno (EMSGSIZE);
-+ return (-1);
-+ }
-+ if (n == 0x41)
-+ n = *++srcp / 8;
-+ l += n + 1;
-+ if (l > MAXCDNAME) {
-+ __set_errno (EMSGSIZE);
-+ return (-1);
-+ }
-+ srcp += n + 1;
-+ } while (n != 0);
-+
-+ /* from here on we need to reset compression pointer array on error */
-+ srcp = src;
-+ do {
-+ /* Look to see if we can use pointers. */
-+ n = *srcp;
-+ if (n != 0 && n != 0x41 && msg != NULL) {
-+ l = dn_find(srcp, msg, (const u_char * const *)dnptrs,
-+ (const u_char * const *)lpp);
-+ if (l >= 0) {
-+ if (dstp + 1 >= eob) {
-+ goto cleanup;
-+ }
-+ *dstp++ = (l >> 8) | NS_CMPRSFLGS;
-+ *dstp++ = l % 256;
-+ return (dstp - dst);
-+ }
-+ /* Not found, save it. */
-+ if (lastdnptr != NULL && cpp < lastdnptr - 1 &&
-+ (dstp - msg) < 0x4000 && first) {
-+ *cpp++ = dstp;
-+ *cpp = NULL;
-+ first = 0;
-+ }
-+ }
-+ /* copy label to buffer */
-+ if ((n & NS_CMPRSFLGS) != 0 && n != 0x41) { /* Should not happen. */
-+ goto cleanup;
-+ }
-+ if (n == 0x41) {
-+ n = *++srcp / 8;
-+ if (dstp + 1 >= eob)
-+ goto cleanup;
-+ *dstp++ = 0x41;
-+ }
-+ if (dstp + 1 + n >= eob) {
-+ goto cleanup;
-+ }
-+ memcpy(dstp, srcp, n + 1);
-+ srcp += n + 1;
-+ dstp += n + 1;
-+ } while (n != 0);
-+
-+ if (dstp > eob) {
-+cleanup:
-+ if (msg != NULL)
-+ *lpp = NULL;
-+ __set_errno (EMSGSIZE);
-+ return (-1);
-+ }
-+ return (dstp - dst);
-+}
-+
-+
-+int
-+ns_name_pton(const char *src, u_char *dst, size_t dstsiz) {
-+ u_char *label, *bp, *eom;
-+ int c, n, escaped;
-+ char *cp;
-+
-+ escaped = 0;
-+ bp = dst;
-+ eom = dst + dstsiz;
-+ label = bp++;
-+
-+ while ((c = *src++) != 0) {
-+ if (escaped) {
-+ if ((cp = strchr(digits, c)) != NULL) {
-+ n = (cp - digits) * 100;
-+ if ((c = *src++) == 0 ||
-+ (cp = strchr(digits, c)) == NULL) {
-+ __set_errno (EMSGSIZE);
-+ return (-1);
-+ }
-+ n += (cp - digits) * 10;
-+ if ((c = *src++) == 0 ||
-+ (cp = strchr(digits, c)) == NULL) {
-+ __set_errno (EMSGSIZE);
-+ return (-1);
-+ }
-+ n += (cp - digits);
-+ if (n > 255) {
-+ __set_errno (EMSGSIZE);
-+ return (-1);
-+ }
-+ c = n;
-+ } else if (c == '[' && label == bp - 1 && *src == 'x') {
-+ /* Theoretically we would have to handle \[o
-+ as well but we do not since we do not need
-+ it internally. */
-+ *label = 0x41;
-+ label = bp++;
-+ ++src;
-+ while (isxdigit (*src)) {
-+ n = *src > '9' ? *src - 'a' + 10 : *src - '0';
-+ ++src;
-+ if (! isxdigit(*src)) {
-+ __set_errno (EMSGSIZE);
-+ return (-1);
-+ }
-+ n <<= 4;
-+ n += *src > '9' ? *src - 'a' + 10 : *src - '0';
-+ if (bp + 1 >= eom) {
-+ __set_errno (EMSGSIZE);
-+ return (-1);
-+ }
-+ *bp++ = n;
-+ ++src;
-+ }
-+ *label = (bp - label - 1) * 8;
-+ if (*src++ != ']' || *src++ != '.') {
-+ __set_errno (EMSGSIZE);
-+ return (-1);
-+ }
-+ escaped = 0;
-+ label = bp++;
-+ if (bp >= eom) {
-+ __set_errno (EMSGSIZE);
-+ return (-1);
-+ }
-+ continue;
-+ }
-+ escaped = 0;
-+ } else if (c == '\\') {
-+ escaped = 1;
-+ continue;
-+ } else if (c == '.') {
-+ c = (bp - label - 1);
-+ if ((c & NS_CMPRSFLGS) != 0) { /* Label too big. */
-+ __set_errno (EMSGSIZE);
-+ return (-1);
-+ }
-+ if (label >= eom) {
-+ __set_errno (EMSGSIZE);
-+ return (-1);
-+ }
-+ *label = c;
-+ /* Fully qualified ? */
-+ if (*src == '\0') {
-+ if (c != 0) {
-+ if (bp >= eom) {
-+ __set_errno (EMSGSIZE);
-+ return (-1);
-+ }
-+ *bp++ = '\0';
-+ }
-+ if ((bp - dst) > MAXCDNAME) {
-+ __set_errno (EMSGSIZE);
-+ return (-1);
-+ }
-+ return (1);
-+ }
-+ if (c == 0 || *src == '.') {
-+ __set_errno (EMSGSIZE);
-+ return (-1);
-+ }
-+ label = bp++;
-+ continue;
-+ }
-+ if (bp >= eom) {
-+ __set_errno (EMSGSIZE);
-+ return (-1);
-+ }
-+ *bp++ = (u_char)c;
-+ }
-+ c = (bp - label - 1);
-+ if ((c & NS_CMPRSFLGS) != 0) { /* Label too big. */
-+ __set_errno (EMSGSIZE);
-+ return (-1);
-+ }
-+ if (label >= eom) {
-+ __set_errno (EMSGSIZE);
-+ return (-1);
-+ }
-+ *label = c;
-+ if (c != 0) {
-+ if (bp >= eom) {
-+ __set_errno (EMSGSIZE);
-+ return (-1);
-+ }
-+ *bp++ = 0;
-+ }
-+ if ((bp - dst) > MAXCDNAME) { /* src too big */
-+ __set_errno (EMSGSIZE);
-+ return (-1);
-+ }
-+ return (0);
-+}
-+
-+
-+
-+int
-+ns_name_compress(const char *src, u_char *dst, size_t dstsiz,
-+ const u_char **dnptrs, const u_char **lastdnptr)
-+{
-+ u_char tmp[NS_MAXCDNAME];
-+
-+ if (ns_name_pton(src, tmp, sizeof tmp) == -1)
-+ return (-1);
-+ return (ns_name_pack(tmp, dst, dstsiz, dnptrs, lastdnptr));
-+}
-+
-+
-+int
-+dn_comp(const char *src, u_char *dst, int dstsiz,
-+ u_char **dnptrs, u_char **lastdnptr)
-+{
-+ return (ns_name_compress(src, dst, (size_t)dstsiz,
-+ (const u_char **)dnptrs,
-+ (const u_char **)lastdnptr));
-+}
-+
-+
-+
-+
-+int
-+res_nmkquery(res_state statp,
-+ int op, /* opcode of query */
-+ const char *dname, /* domain name */
-+ int class, int type, /* class and type of query */
-+ const u_char *data, /* resource record data */
-+ int datalen, /* length of data */
-+ const u_char *newrr_in, /* new rr for modify or append */
-+ u_char *buf, /* buffer to put query */
-+ int buflen) /* size of buffer */
-+{
-+ register HEADER *hp;
-+ register u_char *cp;
-+ register int n;
-+ u_char *dnptrs[20], **dpp, **lastdnptr;
-+
-+#ifdef DEBUG
-+ if (statp->options & RES_DEBUG)
-+ printf(";; res_nmkquery(%s, %s, %s, %s)\n",
-+ _res_opcodes[op], dname, p_class(class), p_type(type));
-+#endif
-+ /*
-+ * Initialize header fields.
-+ */
-+ if ((buf == NULL) || (buflen < HFIXEDSZ))
-+ return (-1);
-+ memset(buf, 0, HFIXEDSZ);
-+ hp = (HEADER *) buf;
-+ /* We randomize the IDs every time. The old code just
-+ incremented by one after the initial randomization which
-+ still predictable if the application does multiple
-+ requests. */
-+#if 0
-+ hp->id = htons(++statp->id);
-+#else
-+ hp->id = htons(statp->id);
-+ int randombits;
-+ do
-+ {
-+#ifdef RANDOM_BITS
-+ RANDOM_BITS (randombits);
-+#else
-+ struct timeval tv;
-+ gettimeofday (&tv, NULL);
-+ randombits = (tv.tv_sec << 8) ^ tv.tv_usec;
-+#endif
-+ }
-+ while ((randombits & 0xffff) == 0);
-+ statp->id = (statp->id + randombits) & 0xffff;
-+#endif
-+ hp->opcode = op;
-+ hp->rd = (statp->options & RES_RECURSE) != 0;
-+ hp->rcode = NOERROR;
-+ cp = buf + HFIXEDSZ;
-+ buflen -= HFIXEDSZ;
-+ dpp = dnptrs;
-+ *dpp++ = buf;
-+ *dpp++ = NULL;
-+ lastdnptr = dnptrs + sizeof dnptrs / sizeof dnptrs[0];
-+ /*
-+ * perform opcode specific processing
-+ */
-+ switch (op) {
-+ case QUERY: /*FALLTHROUGH*/
-+ case NS_NOTIFY_OP:
-+ if ((buflen -= QFIXEDSZ) < 0)
-+ return (-1);
-+ if ((n = dn_comp(dname, cp, buflen, dnptrs, lastdnptr)) < 0)
-+ return (-1);
-+ cp += n;
-+ buflen -= n;
-+ __putshort(type, cp);
-+ cp += INT16SZ;
-+ __putshort(class, cp);
-+ cp += INT16SZ;
-+ hp->qdcount = htons(1);
-+ if (op == QUERY || data == NULL)
-+ break;
-+ /*
-+ * Make an additional record for completion domain.
-+ */
-+ buflen -= RRFIXEDSZ;
-+ n = dn_comp((char *)data, cp, buflen, dnptrs, lastdnptr);
-+ if (n < 0)
-+ return (-1);
-+ cp += n;
-+ buflen -= n;
-+ __putshort(T_NULL, cp);
-+ cp += INT16SZ;
-+ __putshort(class, cp);
-+ cp += INT16SZ;
-+ __putlong(0, cp);
-+ cp += INT32SZ;
-+ __putshort(0, cp);
-+ cp += INT16SZ;
-+ hp->arcount = htons(1);
-+ break;
-+
-+ case IQUERY:
-+ /*
-+ * Initialize answer section
-+ */
-+ if (buflen < 1 + RRFIXEDSZ + datalen)
-+ return (-1);
-+ *cp++ = '\0'; /* no domain name */
-+ __putshort(type, cp);
-+ cp += INT16SZ;
-+ __putshort(class, cp);
-+ cp += INT16SZ;
-+ __putlong(0, cp);
-+ cp += INT32SZ;
-+ __putshort(datalen, cp);
-+ cp += INT16SZ;
-+ if (datalen) {
-+ memcpy(cp, data, datalen);
-+ cp += datalen;
-+ }
-+ hp->ancount = htons(1);
-+ break;
-+
-+ default:
-+ return (-1);
-+ }
-+ return (cp - buf);
-+}
-+
-+int
-+res_mkquery(int op, /* opcode of query */
-+ const char *dname, /* domain name */
-+ int class, int type, /* class and type of query */
-+ const u_char *data, /* resource record data */
-+ int datalen, /* length of data */
-+ const u_char *newrr_in, /* new rr for modify or append */
-+ u_char *buf, /* buffer to put query */
-+ int buflen) /* size of buffer */
-+{
-+ return (res_nmkquery(&_res, op, dname, class, type,
-+ data, datalen,
-+ newrr_in, buf, buflen));
-+}
-+
-+#endif
-
- void dorequest(char *s,int type,word id)
- {
diff --git a/package/mtr/patches/patch-curses_c b/package/mtr/patches/patch-curses_c
deleted file mode 100644
index 2e04bd4ce..000000000
--- a/package/mtr/patches/patch-curses_c
+++ /dev/null
@@ -1,21 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- mtr-0.75.orig/curses.c 2008-08-19 18:55:48.000000000 +0200
-+++ mtr-0.75/curses.c 2008-10-10 15:04:37.000000000 +0200
-@@ -241,7 +241,7 @@ int mtr_curses_keyaction(void)
- return ActionNone;
- }
- if (tolower(c) == 'j') {
-- if( index(fld_active, 'N') ) {
-+ if( strchr(fld_active, 'N') ) {
- strcpy(fld_active, "DR AGJMXI"); /* GeoMean and jitter */
- } else {
- strcpy(fld_active, "LS NABWV"); /* default */
-@@ -328,7 +328,7 @@ void mtr_curses_hosts(int startstat)
- if (j == -1) continue;
-
- /* temporay hack for stats usec to ms... */
-- if( index( data_fields[j].format, 'f' ) ) {
-+ if( strchr( data_fields[j].format, 'f' ) ) {
- sprintf(buf + hd_len, data_fields[j].format,
- data_fields[j].net_xxx(at) /1000.0 );
- } else {
diff --git a/package/mtr/patches/patch-report_c b/package/mtr/patches/patch-report_c
deleted file mode 100644
index bbae19253..000000000
--- a/package/mtr/patches/patch-report_c
+++ /dev/null
@@ -1,30 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- mtr-0.75.orig/report.c 2008-09-18 14:40:09.000000000 +0200
-+++ mtr-0.75/report.c 2008-10-10 15:05:00.000000000 +0200
-@@ -122,7 +122,7 @@ void report_close(void)
- if (j < 0) continue;
-
- /* 1000.0 is a temporay hack for stats usec to ms, impacted net_loss. */
-- if( index( data_fields[j].format, 'f' ) ) {
-+ if( strchr( data_fields[j].format, 'f' ) ) {
- snprintf( buf + len, sizeof(buf), data_fields[j].format,
- data_fields[j].net_xxx(at) /1000.0 );
- } else {
-@@ -201,7 +201,7 @@ void xml_close(void)
- strcat(name, data_fields[j].format);
- strcat(name, "</%s>\n");
- /* 1000.0 is a temporay hack for stats usec to ms, impacted net_loss. */
-- if( index( data_fields[j].format, 'f' ) ) {
-+ if( strchr( data_fields[j].format, 'f' ) ) {
- printf( name,
- data_fields[j].title,
- data_fields[j].net_xxx(at) /1000.0,
-@@ -280,7 +280,7 @@ void csv_close(void)
- if (j < 0) continue;
-
- /* 1000.0 is a temporay hack for stats usec to ms, impacted net_loss. */
-- if( index( data_fields[j].format, 'f' ) ) {
-+ if( strchr( data_fields[j].format, 'f' ) ) {
- printf( ", %.2f", data_fields[j].net_xxx(at) / 1000.0);
- } else {
- printf( ", %d", data_fields[j].net_xxx(at) );
diff --git a/package/musl/Makefile b/package/musl/Makefile
index ba31e1f5f..4e49aadd9 100644
--- a/package/musl/Makefile
+++ b/package/musl/Makefile
@@ -29,7 +29,7 @@ INSTALL_STYLE:= manual
MUSL_LD_SO:= "`echo 'void main(void) {}' |${TARGET_CC} ${TARGET_CFLAGS} -x c -o \
$(BUILD_DIR)/.musl.tmp - >/dev/null 2>&1 ;\
${TARGET_COMPILER_PREFIX}readelf -l $(BUILD_DIR)/.musl.tmp 2>/dev/null \
- | grep 'program interpreter: /lib/ld-musl' | sed -e 's|.*lib/||'|sed -e 's|]||' ;\
+ | grep 'program interpreter: /lib.*/ld-musl' | sed -e 's|.*lib.*/||'|sed -e 's|]||' ;\
rm $(BUILD_DIR)/.musl.tmp`"
# do nothing, musl is already build in toolchain directory
@@ -48,11 +48,7 @@ endif
musl-dev-install:
${INSTALL_DIR} ${IDIR_MUSL_DEV}/usr/lib
${CP} ${STAGING_TARGET_DIR}/usr/lib/crt*.o ${IDIR_MUSL_DEV}/usr/lib
- ${KERNEL_MAKE_ENV} \
- $(MAKE) -C $(TOOLCHAIN_BUILD_DIR)/w-linux-$(KERNEL_VERSION)/linux-$(KERNEL_FILE_VER) \
- $(KERNEL_MAKE_OPTS) \
- INSTALL_HDR_PATH=$(IDIR_MUSL_DEV)/usr \
- headers_install
+ ${KERNEL_MAKE} INSTALL_HDR_PATH=$(IDIR_MUSL_DEV)/usr headers_install
$(MAKE) -C $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/${PKG_NAME}-${PKG_VERSION} \
DESTDIR=$(IDIR_MUSL_DEV) \
install-headers
diff --git a/package/mutt/Makefile b/package/mutt/Makefile
index e268f761e..a8578b6ad 100644
--- a/package/mutt/Makefile
+++ b/package/mutt/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= mutt
-PKG_VERSION:= 1.8.3
+PKG_VERSION:= 2.2.12
PKG_RELEASE:= 1
-PKG_HASH:= 9b81746d67ffeca5ea44f60893b70dc93c86d4bc10187d4dd360185e4d42ed42
+PKG_HASH:= 043af312f64b8e56f7fd0bf77f84a205d4c498030bd9586457665c47bb18ce38
PKG_DESCR:= mail client for console
PKG_SECTION:= net/mail
PKG_DEPENDS:= libncurses
diff --git a/package/mympd/Makefile b/package/mympd/Makefile
new file mode 100644
index 000000000..ccef09b13
--- /dev/null
+++ b/package/mympd/Makefile
@@ -0,0 +1,33 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= mympd
+PKG_VERSION:= 14.0.2
+PKG_RELEASE:= 1
+PKG_HASH:= 309476bcc352f5b9ddc365412cb636e41b3a9e675c0ef94c17b982af2dfc3aa8
+PKG_DESCR:= standalone music player daemon web gui
+PKG_SECTION:= net/http
+PKG_DEPENDS:= mpd libopenssl pcre2
+PKG_BUILDDEP:= cmake-host libmpdclient openssl pcre2
+PKG_URL:= https://github.com/jcorporation/myMPD
+PKG_SITES:= https://github.com/jcorporation/myMPD/archive/refs/tags/
+
+DISTFILES:= v$(PKG_VERSION).tar.gz
+WRKDIST= ${WRKDIR}/myMPD-${PKG_VERSION}
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,MYMPD,mympd,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+CONFIG_STYLE:= cmake
+CMAKE_FLAGS:= -DMYMPD_EMBEDDED_ASSETS=ON
+
+mympd-install:
+ $(INSTALL_DIR) $(IDIR_MYMPD)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/mympd \
+ $(IDIR_MYMPD)/usr/bin
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/mympd/files/mympd.init b/package/mympd/files/mympd.init
new file mode 100644
index 000000000..f7eec5b6d
--- /dev/null
+++ b/package/mympd/files/mympd.init
@@ -0,0 +1,31 @@
+#!/bin/sh
+#PKG mympd
+#INIT 90
+
+. /etc/rc.conf
+
+case $1 in
+autostop) ;;
+autostart)
+ test x"${mympd:-NO}" = x"NO" && exit 0
+ test x"$mympd" = x"DAEMON" && test -x /bin/mksh && exec mksh -T- $0 start
+ exec sh $0 start
+ ;;
+start)
+ mkdir -p /var/cache/mympd 2>/dev/null
+ mkdir -p /etc/mympd 2>/dev/null
+ mympd -w /etc/mympd -s &
+ ;;
+stop)
+ kill $(pgrep -f mympd)
+ ;;
+restart)
+ sh $0 stop
+ sh $0 start
+ ;;
+*)
+ echo "Usage: $0 {start | stop | restart}"
+ exit 1
+ ;;
+esac
+exit $?
diff --git a/package/mympd/files/mympd.postinst b/package/mympd/files/mympd.postinst
new file mode 100644
index 000000000..be700987b
--- /dev/null
+++ b/package/mympd/files/mympd.postinst
@@ -0,0 +1,7 @@
+#!/bin/sh
+. $IPKG_INSTROOT/etc/functions.sh
+add_rcconf mympd NO
+gid=$(get_next_gid)
+add_group mympd $gid
+add_user mympd $(get_next_uid) $gid /var/lib/mympd
+
diff --git a/package/mympd/patches/patch-src_compile_time_h_in b/package/mympd/patches/patch-src_compile_time_h_in
new file mode 100644
index 000000000..5868aa338
--- /dev/null
+++ b/package/mympd/patches/patch-src_compile_time_h_in
@@ -0,0 +1,13 @@
+--- myMPD-14.0.2.orig/src/compile_time.h.in 2024-02-11 12:00:47.000000000 +0100
++++ myMPD-14.0.2/src/compile_time.h.in 2024-02-13 06:02:38.922236003 +0100
+@@ -58,8 +58,8 @@
+ #define MPD_VERSION_MIN_PATCH 0
+
+ //default paths from cmake
+-#define MYMPD_DOC_ROOT "${MYMPD_DOC_ROOT}"
+-#define MYMPD_WORK_DIR "${MYMPD_WORK_DIR}"
++#define MYMPD_DOC_ROOT "/srv/mympd"
++#define MYMPD_WORK_DIR "/etc/mympd"
+ #define MYMPD_CACHE_DIR "${MYMPD_CACHE_DIR}"
+ #define MYMPD_LUALIBS_PATH "${MYMPD_LUALIBS_PATH}"
+
diff --git a/package/mympd/patches/patch-src_main_c b/package/mympd/patches/patch-src_main_c
new file mode 100644
index 000000000..971c4f1cd
--- /dev/null
+++ b/package/mympd/patches/patch-src_main_c
@@ -0,0 +1,21 @@
+--- myMPD-14.0.2.orig/src/main.c 2024-02-11 12:00:47.000000000 +0100
++++ myMPD-14.0.2/src/main.c 2024-02-13 05:31:53.330851831 +0100
+@@ -492,12 +492,12 @@ int main(int argc, char **argv) {
+ }
+
+ //set output buffers
+- if (setvbuf(stdout, NULL, _IOLBF, 0) != 0 ||
+- setvbuf(stderr, NULL, _IOLBF, 0) != 0)
+- {
+- MYMPD_LOG_EMERG(NULL, "Could not set stdout and stderr buffer");
+- goto cleanup;
+- }
++ //if (setvbuf(stdout, NULL, _IOLBF, 0) != 0 ||
++ // setvbuf(stderr, NULL, _IOLBF, 0) != 0)
++ //{
++ // MYMPD_LOG_EMERG(NULL, "Could not set stdout and stderr buffer");
++ // goto cleanup;
++ // }
+
+ //init webserver
+ mgr = malloc_assert(sizeof(struct mg_mgr));
diff --git a/package/nano/Makefile b/package/nano/Makefile
index f32a963e6..1c6ae32c7 100644
--- a/package/nano/Makefile
+++ b/package/nano/Makefile
@@ -4,15 +4,15 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= nano
-PKG_VERSION:= 4.5
+PKG_VERSION:= 5.9
PKG_RELEASE:= 1
-PKG_HASH:= ded5c38f5ecd9de2b624e0db8013a375c169d3fbbd49575967b868847df8f533
+PKG_HASH:= 757db8cda4bb2873599e47783af463e3b547a627b0cabb30ea7bf71fb4c24937
PKG_DESCR:= enhanced clone of the pico editor
PKG_SECTION:= app/editor
PKG_DEPENDS:= libncurses
PKG_BUILDDEP:= ncurses
PKG_URL:= http://www.nano-editor.org/
-PKG_SITES:= https://www.nano-editor.org/dist/v4/
+PKG_SITES:= https://www.nano-editor.org/dist/v5/
include ${ADK_TOPDIR}/mk/package.mk
diff --git a/package/ncurses/Makefile b/package/ncurses/Makefile
index dc6e02a15..915d7f49d 100644
--- a/package/ncurses/Makefile
+++ b/package/ncurses/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= ncurses
-PKG_VERSION:= 6.1
+PKG_VERSION:= 6.4
PKG_RELEASE:= 1
-PKG_HASH:= aa057eeeb4a14d470101eff4597d5833dcef5965331be3528c08d99cebaa0d17
+PKG_HASH:= 6931283d9ac87c5073f30b6290c4c75f21632bb4fc3603ac8100812bed248159
PKG_DESCR:= terminal handling library
PKG_SECTION:= libs/misc
PKG_BUILDDEP:= ncurses-host
@@ -31,7 +31,7 @@ TARGET_CFLAGS:= $(filter-out -static,$(TARGET_CFLAGS))
TARGET_LDFLAGS:=$(filter-out -static,$(TARGET_LDFLAGS))
endif
-ifeq ($(ADK_TARGET_BINFMT_FLAT)$(ADK_TARGET_USE_STATIC_LIBS_ONLY),y)
+ifeq ($(ADK_TARGET_USE_STATIC_LIBS_ONLY),y)
CONFIGURE_ARGS+= --with-static
else
CONFIGURE_ARGS+= --with-shared
@@ -66,9 +66,10 @@ ALL_TARGET:= libs
INSTALL_TARGET:= install.libs install.data
# use sth which does not exist
-HOST_ALL_TARGET:= progs
-HOST_INSTALL_TARGET:= install.includes install.progs
-HOST_CONFIGURE_ARGS+= --without-shared \
+#HOST_ALL_TARGET:= progs
+#HOST_INSTALL_TARGET:= install.includes install.progs
+HOST_CFLAGS+= -fPIC
+HOST_CONFIGURE_ARGS+= --with-shared \
--with-build-cc="${HOST_CC}" \
--with-progs \
--with-ticlib \
diff --git a/package/neon/Makefile b/package/neon/Makefile
index 936a1e030..68087268e 100644
--- a/package/neon/Makefile
+++ b/package/neon/Makefile
@@ -4,16 +4,16 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= neon
-PKG_VERSION:= 0.30.1
+PKG_VERSION:= 0.33.0
PKG_RELEASE:= 1
-PKG_HASH:= 00c626c0dc18d094ab374dbd9a354915bfe4776433289386ed489c2ec0845cdd
+PKG_HASH:= 659a5cc9cea05e6e7864094f1e13a77abbbdbab452f04d751a8c16a9447cf4b8
PKG_DESCR:= http and webdav library
PKG_SECTION:= libs/misc
PKG_DEPENDS:= libxml2 zlib libressl
PKG_BUILDDEP:= libxml2 zlib libressl
PKG_NEEDS:= threads
-PKG_URL:= http://webdav.org/neon/
-PKG_SITES:= http://webdav.org/neon/
+PKG_URL:= https://notroj.github.io/neon/
+PKG_SITES:= https://notroj.github.io/neon/
PKG_OPTS:= dev
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
diff --git a/package/netcat-openbsd/Makefile b/package/netcat-openbsd/Makefile
new file mode 100644
index 000000000..6a45186c6
--- /dev/null
+++ b/package/netcat-openbsd/Makefile
@@ -0,0 +1,30 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= netcat-openbsd
+PKG_VERSION:= 1.217
+PKG_RELEASE:= 1
+PKG_HASH:= fcb551d9987fd51d020c62b6d81df0c2bb17ce1887bbc3fda4d28313791cc0f5
+PKG_DESCR:= openbsd netcat
+PKG_SECTION:= net/misc
+PKG_BUILDDEP:= libbsd
+PKG_DEPENDS:= libbsd
+PKG_SITES:= http://deb.debian.org/debian/pool/main/n/netcat-openbsd/
+
+NO_DISTFILES:= 1
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,NETCAT_OPENBSD,netcat-openbsd,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+CONFIG_STYLE:= manual
+INSTALL_STYLE:= manual
+
+netcat-openbsd-install:
+ $(INSTALL_DIR) $(IDIR_NETCAT_OPENBSD)/usr/bin
+ $(INSTALL_BIN) $(WRKBUILD)/nc \
+ $(IDIR_NETCAT_OPENBSD)/usr/bin/netcat-openbsd
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/netcat-openbsd/src/Makefile b/package/netcat-openbsd/src/Makefile
new file mode 100644
index 000000000..8247cfd0c
--- /dev/null
+++ b/package/netcat-openbsd/src/Makefile
@@ -0,0 +1,20 @@
+# $OpenBSD: Makefile,v 1.7 2015/09/11 21:07:01 beck Exp $
+
+PROG= nc
+SRCS= netcat.c atomicio.c socks.c
+
+PKG_CONFIG ?= pkg-config
+LIBS= `$(PKG_CONFIG) --libs libbsd` -lresolv
+OBJS= $(SRCS:.c=.o)
+CFLAGS= -g -O2
+LDFLAGS= -Wl,--no-add-needed
+
+all: nc
+nc: $(OBJS)
+ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) -o nc
+
+$(OBJS): %.o: %.c
+ $(CC) $(CFLAGS) -c $< -o $@
+
+clean:
+ rm -f $(OBJS) nc
diff --git a/package/netcat-openbsd/src/atomicio.c b/package/netcat-openbsd/src/atomicio.c
new file mode 100644
index 000000000..344ac63ab
--- /dev/null
+++ b/package/netcat-openbsd/src/atomicio.c
@@ -0,0 +1,67 @@
+/* $OpenBSD: atomicio.c,v 1.11 2012/12/04 02:24:47 deraadt Exp $ */
+/*
+ * Copyright (c) 2006 Damien Miller. All rights reserved.
+ * Copyright (c) 2005 Anil Madhavapeddy. All rights reserved.
+ * Copyright (c) 1995,1999 Theo de Raadt. All rights reserved.
+ * 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 ``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.
+ */
+
+#include <errno.h>
+#include <poll.h>
+#include <unistd.h>
+
+#include "atomicio.h"
+
+/*
+ * ensure all of data on socket comes through. f==read || f==vwrite
+ */
+size_t
+atomicio(ssize_t (*f) (int, void *, size_t), int fd, void *_s, size_t n)
+{
+ char *s = _s;
+ size_t pos = 0;
+ ssize_t res;
+ struct pollfd pfd;
+
+ pfd.fd = fd;
+ pfd.events = f == read ? POLLIN : POLLOUT;
+ while (n > pos) {
+ res = (f) (fd, s + pos, n - pos);
+ switch (res) {
+ case -1:
+ if (errno == EINTR)
+ continue;
+ if ((errno == EAGAIN) || (errno == ENOBUFS)) {
+ (void)poll(&pfd, 1, -1);
+ continue;
+ }
+ return 0;
+ case 0:
+ errno = EPIPE;
+ return pos;
+ default:
+ pos += (size_t)res;
+ }
+ }
+ return (pos);
+}
diff --git a/package/netcat-openbsd/src/atomicio.h b/package/netcat-openbsd/src/atomicio.h
new file mode 100644
index 000000000..7bf5b2541
--- /dev/null
+++ b/package/netcat-openbsd/src/atomicio.h
@@ -0,0 +1,39 @@
+/* $OpenBSD: atomicio.h,v 1.2 2007/09/07 14:50:44 tobias Exp $ */
+
+/*
+ * Copyright (c) 2006 Damien Miller. All rights reserved.
+ * Copyright (c) 1995,1999 Theo de Raadt. All rights reserved.
+ * 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 ``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.
+ */
+
+#ifndef _ATOMICIO_H
+#define _ATOMICIO_H
+
+/*
+ * Ensure all of data on socket comes through. f==read || f==vwrite
+ */
+size_t atomicio(ssize_t (*)(int, void *, size_t), int, void *, size_t);
+
+#define vwrite (ssize_t (*)(int, void *, size_t))write
+
+#endif /* _ATOMICIO_H */
diff --git a/package/netcat-openbsd/src/nc.1 b/package/netcat-openbsd/src/nc.1
new file mode 100644
index 000000000..a77a551e9
--- /dev/null
+++ b/package/netcat-openbsd/src/nc.1
@@ -0,0 +1,582 @@
+.\" $OpenBSD: nc.1,v 1.95 2020/02/12 14:46:36 schwarze Exp $
+.\"
+.\" Copyright (c) 1996 David Sacerdote
+.\" 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.
+.\" 3. The name of the author may not be used to endorse or promote products
+.\" derived from this software without 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.
+.\"
+.Dd $Mdocdate: February 12 2020 $
+.Dt NC 1
+.Os
+.Sh NAME
+.Nm nc
+.Nd arbitrary TCP and UDP connections and listens
+.Sh SYNOPSIS
+.Nm nc
+.Op Fl 46bCDdFhklNnrStUuvZz
+.Op Fl I Ar length
+.Op Fl i Ar interval
+.Op Fl M Ar ttl
+.Op Fl m Ar minttl
+.Op Fl O Ar length
+.Op Fl P Ar proxy_username
+.Op Fl p Ar source_port
+.Op Fl q Ar seconds
+.Op Fl s Ar sourceaddr
+.Op Fl T Ar keyword
+.Op Fl V Ar rtable
+.Op Fl W Ar recvlimit
+.Op Fl w Ar timeout
+.Op Fl X Ar proxy_protocol
+.Op Fl x Ar proxy_address Ns Op : Ns Ar port
+.Op Ar destination
+.Op Ar port
+.Sh DESCRIPTION
+The
+.Nm
+(or
+.Nm netcat )
+utility is used for just about anything under the sun involving TCP,
+UDP, or
+.Ux Ns -domain
+sockets.
+It can open TCP connections, send UDP packets, listen on arbitrary
+TCP and UDP ports, do port scanning, and deal with both IPv4 and
+IPv6.
+Unlike
+.Xr telnet 1 ,
+.Nm
+scripts nicely, and separates error messages onto standard error instead
+of sending them to standard output, as
+.Xr telnet 1
+does with some.
+.Pp
+Common uses include:
+.Pp
+.Bl -bullet -offset indent -compact
+.It
+simple TCP proxies
+.It
+shell-script based HTTP clients and servers
+.It
+network daemon testing
+.It
+a SOCKS or HTTP ProxyCommand for
+.Xr ssh 1
+.It
+and much, much more
+.El
+.Pp
+The options are as follows:
+.Bl -tag -width Ds
+.It Fl 4
+Use IPv4 addresses only.
+.It Fl 6
+Use IPv6 addresses only.
+.It Fl b
+Allow broadcast.
+.It Fl C
+Send CRLF as line-ending. Each line feed (LF) character from the input
+data is translated into CR+LF before being written to the socket. Line
+feed characters that are already preceded with a carriage return (CR)
+are not translated. Received data is not affected.
+.It Fl D
+Enable debugging on the socket.
+.It Fl d
+Do not attempt to read from stdin.
+.It Fl F
+Pass the first connected socket using
+.Xr sendmsg 2
+to stdout and exit.
+This is useful in conjunction with
+.Fl X
+to have
+.Nm
+perform connection setup with a proxy but then leave the rest of the
+connection to another program (e.g.\&
+.Xr ssh 1
+using the
+.Xr ssh_config 5
+.Cm ProxyUseFdpass
+option).
+Cannot be used with
+.Fl U .
+.It Fl h
+Print out the
+.Nm
+help text and exit.
+.It Fl I Ar length
+Specify the size of the TCP receive buffer.
+.It Fl i Ar interval
+Sleep for
+.Ar interval
+seconds between lines of text sent and received.
+Also causes a delay time between connections to multiple ports.
+.It Fl k
+When a connection is completed, listen for another one.
+Requires
+.Fl l .
+When used together with the
+.Fl u
+option, the server socket is not connected and it can receive UDP datagrams from
+multiple hosts.
+.It Fl l
+Listen for an incoming connection rather than initiating a
+connection to a remote host.
+The
+.Ar destination
+and
+.Ar port
+to listen on can be specified either as non-optional arguments, or with
+options
+.Fl s
+and
+.Fl p
+respectively.
+Cannot be used together with
+.Fl x
+or
+.Fl z .
+Additionally, any timeouts specified with the
+.Fl w
+option are ignored.
+.It Fl M Ar ttl
+Set the TTL / hop limit of outgoing packets.
+.It Fl m Ar minttl
+Ask the kernel to drop incoming packets whose TTL / hop limit is under
+.Ar minttl .
+.It Fl N
+.Xr shutdown 2
+the network socket after EOF on the input.
+Some servers require this to finish their work.
+.It Fl n
+Do not perform domain name resolution.
+If a name cannot be resolved without DNS, an error will be reported.
+.It Fl O Ar length
+Specify the size of the TCP send buffer.
+.It Fl P Ar proxy_username
+Specifies a username to present to a proxy server that requires authentication.
+If no username is specified then authentication will not be attempted.
+Proxy authentication is only supported for HTTP CONNECT proxies at present.
+.It Fl p Ar source_port
+Specify the source port
+.Nm
+should use, subject to privilege restrictions and availability.
+.It Fl q Ar seconds
+after EOF on stdin, wait the specified number of
+.Ar seconds
+and then quit. If
+.Ar seconds
+is negative, wait forever (default). Specifying a non-negative
+.Ar seconds
+implies
+.Fl N .
+.It Fl r
+Choose source and/or destination ports randomly
+instead of sequentially within a range or in the order that the system
+assigns them.
+.It Fl S
+Enable the RFC 2385 TCP MD5 signature option.
+.It Fl s Ar sourceaddr
+Set the source address to send packets from,
+which is useful on machines with multiple interfaces.
+For
+.Ux Ns -domain
+datagram sockets, specifies the local temporary socket file
+to create and use so that datagrams can be received.
+Cannot be used together with
+.Fl x .
+.It Fl T Ar keyword
+Change the IPv4 TOS/IPv6 traffic class value.
+.Ar keyword
+may be one of
+.Cm critical ,
+.Cm inetcontrol ,
+.Cm lowcost ,
+.Cm lowdelay ,
+.Cm netcontrol ,
+.Cm throughput ,
+.Cm reliability ,
+or one of the DiffServ Code Points:
+.Cm ef ,
+.Cm af11 No ... Cm af43 ,
+.Cm cs0 No ... Cm cs7 ;
+or a number in either hex or decimal.
+.It Fl t
+Send RFC 854 DON'T and WON'T responses to RFC 854 DO and WILL requests.
+This makes it possible to use
+.Nm
+to script telnet sessions.
+.It Fl U
+Use
+.Ux Ns -domain
+sockets.
+Cannot be used together with
+.Fl F
+or
+.Fl x .
+.It Fl u
+Use UDP instead of TCP.
+Cannot be used together with
+.Fl x .
+For
+.Ux Ns -domain
+sockets, use a datagram socket instead of a stream socket.
+If a
+.Ux Ns -domain
+socket is used, a temporary receiving socket is created in
+.Pa /tmp
+unless the
+.Fl s
+flag is given.
+.It Fl V Ar rtable
+Set the routing table to be used.
+.It Fl v
+Produce more verbose output.
+.It Fl W Ar recvlimit
+Terminate after receiving
+.Ar recvlimit
+packets from the network.
+.It Fl w Ar timeout
+Connections which cannot be established or are idle timeout after
+.Ar timeout
+seconds.
+The
+.Fl w
+flag has no effect on the
+.Fl l
+option, i.e.\&
+.Nm
+will listen forever for a connection, with or without the
+.Fl w
+flag.
+The default is no timeout.
+.It Fl X Ar proxy_protocol
+Use
+.Ar proxy_protocol
+when talking to the proxy server.
+Supported protocols are
+.Cm 4
+(SOCKS v.4),
+.Cm 5
+(SOCKS v.5)
+and
+.Cm connect
+(HTTPS proxy).
+If the protocol is not specified, SOCKS version 5 is used.
+.It Fl x Ar proxy_address Ns Op : Ns Ar port
+Connect to
+.Ar destination
+using a proxy at
+.Ar proxy_address
+and
+.Ar port .
+If
+.Ar port
+is not specified, the well-known port for the proxy protocol is used (1080
+for SOCKS, 3128 for HTTPS).
+An IPv6 address can be specified unambiguously by enclosing
+.Ar proxy_address
+in square brackets.
+A proxy cannot be used with any of the options
+.Fl lsuU .
+.It Fl Z
+DCCP mode.
+.It Fl z
+Only scan for listening daemons, without sending any data to them.
+Cannot be used together with
+.Fl l .
+.El
+.Pp
+.Ar destination
+can be a numerical IP address or a symbolic hostname
+(unless the
+.Fl n
+option is given).
+In general, a destination must be specified,
+unless the
+.Fl l
+option is given
+(in which case the local host is used).
+For
+.Ux Ns -domain
+sockets, a destination is required and is the socket path to connect to
+(or listen on if the
+.Fl l
+option is given).
+.Pp
+.Ar port
+can be specified as a numeric port number or as a service name.
+Port ranges may be specified as numeric port numbers of the form
+.Ar nn Ns - Ns Ar mm .
+In general,
+a destination port must be specified,
+unless the
+.Fl U
+option is given.
+.Sh CLIENT/SERVER MODEL
+It is quite simple to build a very basic client/server model using
+.Nm .
+On one console, start
+.Nm
+listening on a specific port for a connection.
+For example:
+.Pp
+.Dl $ nc -l 1234
+.Pp
+.Nm
+is now listening on port 1234 for a connection.
+On a second console
+.Pq or a second machine ,
+connect to the machine and port being listened on:
+.Pp
+.Dl $ nc 127.0.0.1 1234
+.Pp
+There should now be a connection between the ports.
+Anything typed at the second console will be concatenated to the first,
+and vice-versa.
+After the connection has been set up,
+.Nm
+does not really care which side is being used as a
+.Sq server
+and which side is being used as a
+.Sq client .
+The connection may be terminated using an
+.Dv EOF
+.Pq Sq ^D .
+.Pp
+There is no
+.Fl c
+or
+.Fl e
+option in this netcat, but you still can execute a command after connection
+being established by redirecting file descriptors. Be cautious here because
+opening a port and let anyone connected execute arbitrary command on your
+site is DANGEROUS. If you really need to do this, here is an example:
+.Pp
+On
+.Sq server
+side:
+.Pp
+.Dl $ rm -f /tmp/f; mkfifo /tmp/f
+.Dl $ cat /tmp/f | /bin/sh -i 2>&1 | nc -l 127.0.0.1 1234 > /tmp/f
+.Pp
+On
+.Sq client
+side:
+.Pp
+.Dl $ nc host.example.com 1234
+.Dl $ (shell prompt from host.example.com)
+.Pp
+By doing this, you create a fifo at /tmp/f and make nc listen at port 1234
+of address 127.0.0.1 on
+.Sq server
+side, when a
+.Sq client
+establishes a connection successfully to that port, /bin/sh gets executed
+on
+.Sq server
+side and the shell prompt is given to
+.Sq client
+side.
+.Pp
+When connection is terminated,
+.Nm
+quits as well. Use
+.Fl k
+if you want it keep listening, but if the command quits this option won't
+restart it or keep
+.Nm
+running. Also don't forget to remove the file descriptor once you don't need
+it anymore:
+.Pp
+.Dl $ rm -f /tmp/f
+.Pp
+.Sh DATA TRANSFER
+The example in the previous section can be expanded to build a
+basic data transfer model.
+Any information input into one end of the connection will be output
+to the other end, and input and output can be easily captured in order to
+emulate file transfer.
+.Pp
+Start by using
+.Nm
+to listen on a specific port, with output captured into a file:
+.Pp
+.Dl $ nc -l 1234 \*(Gt filename.out
+.Pp
+Using a second machine, connect to the listening
+.Nm
+process, feeding it the file which is to be transferred:
+.Pp
+.Dl $ nc -N host.example.com 1234 \*(Lt filename.in
+.Pp
+After the file has been transferred, the connection will close automatically.
+.Sh TALKING TO SERVERS
+It is sometimes useful to talk to servers
+.Dq by hand
+rather than through a user interface.
+It can aid in troubleshooting,
+when it might be necessary to verify what data a server is sending
+in response to commands issued by the client.
+For example, to retrieve the home page of a web site:
+.Bd -literal -offset indent
+$ printf "GET / HTTP/1.0\er\en\er\en" | nc host.example.com 80
+.Ed
+.Pp
+Note that this also displays the headers sent by the web server.
+They can be filtered, using a tool such as
+.Xr sed 1 ,
+if necessary.
+.Pp
+More complicated examples can be built up when the user knows the format
+of requests required by the server.
+As another example, an email may be submitted to an SMTP server using:
+.Bd -literal -offset indent
+$ nc [\-C] localhost 25 \*(Lt\*(Lt EOF
+HELO host.example.com
+MAIL FROM:\*(Ltuser@host.example.com\*(Gt
+RCPT TO:\*(Ltuser2@host.example.com\*(Gt
+DATA
+Body of email.
+\&.
+QUIT
+EOF
+.Ed
+.Sh PORT SCANNING
+It may be useful to know which ports are open and running services on
+a target machine.
+The
+.Fl z
+flag can be used to tell
+.Nm
+to report open ports,
+rather than initiate a connection. Usually it's useful to turn on verbose
+output to stderr by use this option in conjunction with
+.Fl v
+option.
+.Pp
+For example:
+.Bd -literal -offset indent
+$ nc \-zv host.example.com 20-30
+Connection to host.example.com 22 port [tcp/ssh] succeeded!
+Connection to host.example.com 25 port [tcp/smtp] succeeded!
+.Ed
+.Pp
+The port range was specified to limit the search to ports 20 \- 30, and is
+scanned by increasing order (unless the
+.Fl r
+flag is set).
+.Pp
+You can also specify a list of ports to scan, for example:
+.Bd -literal -offset indent
+$ nc \-zv host.example.com http 20 22-23
+nc: connect to host.example.com 80 (tcp) failed: Connection refused
+nc: connect to host.example.com 20 (tcp) failed: Connection refused
+Connection to host.example.com port [tcp/ssh] succeeded!
+nc: connect to host.example.com 23 (tcp) failed: Connection refused
+.Ed
+.Pp
+The ports are scanned by the order you given (unless the
+.Fl r
+flag is set).
+.Pp
+Alternatively, it might be useful to know which server software
+is running, and which versions.
+This information is often contained within the greeting banners.
+In order to retrieve these, it is necessary to first make a connection,
+and then break the connection when the banner has been retrieved.
+This can be accomplished by specifying a small timeout with the
+.Fl w
+flag, or perhaps by issuing a
+.Qq Dv QUIT
+command to the server:
+.Bd -literal -offset indent
+$ echo "QUIT" | nc host.example.com 20-30
+SSH-1.99-OpenSSH_3.6.1p2
+Protocol mismatch.
+220 host.example.com IMS SMTP Receiver Version 0.84 Ready
+.Ed
+.Sh EXAMPLES
+Open a TCP connection to port 42 of host.example.com, using port 31337 as
+the source port, with a timeout of 5 seconds:
+.Pp
+.Dl $ nc -p 31337 -w 5 host.example.com 42
+.Pp
+Open a UDP connection to port 53 of host.example.com:
+.Pp
+.Dl $ nc -u host.example.com 53
+.Pp
+Open a TCP connection to port 42 of host.example.com using 10.1.2.3 as the
+IP for the local end of the connection:
+.Pp
+.Dl $ nc -s 10.1.2.3 host.example.com 42
+.Pp
+Create and listen on a
+.Ux Ns -domain
+stream socket:
+.Pp
+.Dl $ nc -lU /var/tmp/dsocket
+.Pp
+Connect to port 42 of host.example.com via an HTTP proxy at 10.2.3.4,
+port 8080.
+This example could also be used by
+.Xr ssh 1 ;
+see the
+.Cm ProxyCommand
+directive in
+.Xr ssh_config 5
+for more information.
+.Pp
+.Dl $ nc -x10.2.3.4:8080 -Xconnect host.example.com 42
+.Pp
+The same example again, this time enabling proxy authentication with username
+.Dq ruser
+if the proxy requires it:
+.Pp
+.Dl $ nc -x10.2.3.4:8080 -Xconnect -Pruser host.example.com 42
+.Sh SEE ALSO
+.Xr cat 1 ,
+.Xr ssh 1
+.Sh AUTHORS
+Original implementation by
+.An *Hobbit* Aq Mt hobbit@avian.org .
+.br
+Rewritten with IPv6 support by
+.An Eric Jackson Aq Mt ericj@monkey.org .
+.br
+Modified for Debian port by Aron Xu
+.Aq aron@debian.org .
+.Sh CAVEATS
+UDP port scans using the
+.Fl uz
+combination of flags will always report success irrespective of
+the target machine's state.
+However,
+in conjunction with a traffic sniffer either on the target machine
+or an intermediary device,
+the
+.Fl uz
+combination could be useful for communications diagnostics.
+Note that the amount of UDP traffic generated may be limited either
+due to hardware resources and/or configuration settings.
diff --git a/package/netcat-openbsd/src/netcat.c b/package/netcat-openbsd/src/netcat.c
new file mode 100644
index 000000000..bd7344fb4
--- /dev/null
+++ b/package/netcat-openbsd/src/netcat.c
@@ -0,0 +1,2305 @@
+/* $OpenBSD: netcat.c,v 1.217 2020/02/12 14:46:36 schwarze Exp $ */
+/*
+ * Copyright (c) 2001 Eric Jackson <ericj@monkey.org>
+ * Copyright (c) 2015 Bob Beck. 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.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without 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.
+ */
+
+/*
+ * Re-written nc(1) for OpenBSD. Original implementation by
+ * *Hobbit* <hobbit@avian.org>.
+ */
+
+#define _GNU_SOURCE
+
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/uio.h>
+#include <sys/un.h>
+
+#include <netinet/in.h>
+#include <netinet/tcp.h>
+#include <netinet/ip.h>
+#include <arpa/telnet.h>
+#ifdef __linux__
+# include <linux/in6.h>
+#endif
+#if defined(TCP_MD5SIG_EXT) && defined(TCP_MD5SIG_MAXKEYLEN)
+# include <bsd/readpassphrase.h>
+#endif
+
+#ifndef IPTOS_LOWDELAY
+# define IPTOS_LOWDELAY 0x10
+# define IPTOS_THROUGHPUT 0x08
+# define IPTOS_RELIABILITY 0x04
+# define IPTOS_LOWCOST 0x02
+# define IPTOS_MINCOST IPTOS_LOWCOST
+#endif /* IPTOS_LOWDELAY */
+
+# ifndef IPTOS_DSCP_AF11
+# define IPTOS_DSCP_AF11 0x28
+# define IPTOS_DSCP_AF12 0x30
+# define IPTOS_DSCP_AF13 0x38
+# define IPTOS_DSCP_AF21 0x48
+# define IPTOS_DSCP_AF22 0x50
+# define IPTOS_DSCP_AF23 0x58
+# define IPTOS_DSCP_AF31 0x68
+# define IPTOS_DSCP_AF32 0x70
+# define IPTOS_DSCP_AF33 0x78
+# define IPTOS_DSCP_AF41 0x88
+# define IPTOS_DSCP_AF42 0x90
+# define IPTOS_DSCP_AF43 0x98
+# define IPTOS_DSCP_EF 0xb8
+#endif /* IPTOS_DSCP_AF11 */
+
+#ifndef IPTOS_DSCP_CS0
+# define IPTOS_DSCP_CS0 0x00
+# define IPTOS_DSCP_CS1 0x20
+# define IPTOS_DSCP_CS2 0x40
+# define IPTOS_DSCP_CS3 0x60
+# define IPTOS_DSCP_CS4 0x80
+# define IPTOS_DSCP_CS5 0xa0
+# define IPTOS_DSCP_CS6 0xc0
+# define IPTOS_DSCP_CS7 0xe0
+#endif /* IPTOS_DSCP_CS0 */
+
+#ifndef IPTOS_DSCP_EF
+# define IPTOS_DSCP_EF 0xb8
+#endif /* IPTOS_DSCP_EF */
+
+
+#include <ctype.h>
+#include <err.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <netdb.h>
+#include <poll.h>
+#include <signal.h>
+#include <stddef.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#ifdef TLS
+# include <tls.h>
+#endif
+#include <unistd.h>
+#include <bsd/stdlib.h>
+#include <bsd/string.h>
+
+#include "atomicio.h"
+
+#define PORT_MAX 65535
+#define UNIX_DG_TMP_SOCKET_SIZE 19
+
+#define POLL_STDIN 0
+#define POLL_NETOUT 1
+#define POLL_NETIN 2
+#define POLL_STDOUT 3
+#define BUFSIZE 16384
+
+#ifdef TLS
+# define TLS_NOVERIFY (1 << 1)
+# define TLS_NONAME (1 << 2)
+# define TLS_CCERT (1 << 3)
+# define TLS_MUSTSTAPLE (1 << 4)
+#endif
+
+#define CONNECTION_SUCCESS 0
+#define CONNECTION_FAILED 1
+#define CONNECTION_TIMEOUT 2
+
+#define UDP_SCAN_TIMEOUT 3 /* Seconds */
+
+/* Command Line Options */
+int bflag; /* Allow Broadcast */
+int dflag; /* detached, no stdin */
+int Fflag; /* fdpass sock to stdout */
+unsigned int iflag; /* Interval Flag */
+int kflag; /* More than one connect */
+int lflag; /* Bind to local port */
+int Nflag; /* shutdown() network socket */
+int nflag; /* Don't do name look up */
+char *Pflag; /* Proxy username */
+char *pflag; /* Localport flag */
+int qflag = -1; /* Quit after some secs */
+int rflag; /* Random ports flag */
+char *sflag; /* Source Address */
+int tflag; /* Telnet Emulation */
+int uflag; /* UDP - Default to TCP */
+int dccpflag; /* DCCP - Default to TCP */
+int vflag; /* Verbosity */
+int xflag; /* Socks proxy */
+int zflag; /* Port Scan Flag */
+int Dflag; /* sodebug */
+int Iflag; /* TCP receive buffer size */
+int Oflag; /* TCP send buffer size */
+int Sflag; /* TCP MD5 signature option */
+int Tflag = -1; /* IP Type of Service */
+int rtableid = -1;
+
+# if defined(TLS)
+int usetls; /* use TLS */
+const char *Cflag; /* Public cert file */
+const char *Kflag; /* Private key file */
+const char *oflag; /* OCSP stapling file */
+const char *Rflag; /* Root CA file */
+int tls_cachanged; /* Using non-default CA file */
+int TLSopt; /* TLS options */
+char *tls_expectname; /* required name in peer cert */
+char *tls_expecthash; /* required hash of peer cert */
+char *tls_ciphers; /* TLS ciphers */
+char *tls_protocols; /* TLS protocols */
+FILE *Zflag; /* file to save peer cert */
+# else
+int Cflag = 0; /* CRLF line-ending */
+# endif
+
+# if defined(TCP_MD5SIG_EXT) && defined(TCP_MD5SIG_MAXKEYLEN)
+char Sflag_password[TCP_MD5SIG_MAXKEYLEN];
+# endif
+int recvcount, recvlimit;
+int timeout = -1;
+int family = AF_UNSPEC;
+char *portlist[PORT_MAX+1];
+char *unix_dg_tmp_socket;
+int ttl = -1;
+int minttl = -1;
+
+void atelnet(int, unsigned char *, unsigned int);
+int strtoport(char *portstr, int udp);
+void build_ports(char **);
+void help(void) __attribute__((noreturn));
+int local_listen(const char *, const char *, struct addrinfo);
+# if defined(TLS)
+void readwrite(int, struct tls *);
+# else
+void readwrite(int);
+# endif
+void fdpass(int nfd) __attribute__((noreturn));
+int remote_connect(const char *, const char *, struct addrinfo, char *);
+# if defined(TLS)
+int timeout_tls(int, struct tls *, int (*)(struct tls *));
+# endif
+int timeout_connect(int, const struct sockaddr *, socklen_t);
+int socks_connect(const char *, const char *, struct addrinfo,
+ const char *, const char *, struct addrinfo, int, const char *);
+int udptest(int);
+int unix_bind(char *, int);
+int unix_connect(char *);
+int unix_listen(char *);
+void set_common_sockopts(int, const struct sockaddr *);
+int process_tos_opt(char *, int *);
+# if defined(TLS)
+int process_tls_opt(char *, int *);
+void save_peer_cert(struct tls *_tls_ctx, FILE *_fp);
+# endif
+void report_sock(const char *, const struct sockaddr *, socklen_t, char *);
+# if defined(TLS)
+void report_tls(struct tls *tls_ctx, char * host);
+# endif
+void usage(int);
+# if defined(TLS)
+ssize_t drainbuf(int, unsigned char *, size_t *, struct tls *);
+ssize_t fillbuf(int, unsigned char *, size_t *, struct tls *);
+void tls_setup_client(struct tls *, int, char *);
+struct tls *tls_setup_server(struct tls *, int, char *);
+# else
+ssize_t drainbuf(int, unsigned char *, size_t *, int);
+ssize_t fillbuf(int, unsigned char *, size_t *);
+# endif
+
+char *proto_name(int uflag, int dccpflag);
+static int connect_with_timeout(int fd, const struct sockaddr *sa,
+ socklen_t salen, int ctimeout);
+
+static void quit();
+
+int
+main(int argc, char *argv[])
+{
+ int ch, s = -1, ret, socksv;
+ char *host, **uport;
+ char ipaddr[NI_MAXHOST];
+ struct addrinfo hints;
+ struct servent *sv;
+ socklen_t len;
+ union {
+ struct sockaddr_storage storage;
+ struct sockaddr_un forunix;
+ } cliaddr;
+ char *proxy = NULL, *proxyport = NULL;
+ const char *errstr;
+ struct addrinfo proxyhints;
+ char unix_dg_tmp_socket_buf[UNIX_DG_TMP_SOCKET_SIZE];
+# if defined(TLS)
+ struct tls_config *tls_cfg = NULL;
+ struct tls *tls_ctx = NULL;
+# endif
+ uint32_t protocols;
+
+ ret = 1;
+ socksv = 5;
+ host = NULL;
+ uport = NULL;
+ sv = NULL;
+# if defined(TLS)
+ Rflag = tls_default_ca_cert_file();
+# endif
+
+ signal(SIGPIPE, SIG_IGN);
+
+ while ((ch = getopt(argc, argv,
+# if defined(TLS)
+ "46bC:cDde:FH:hI:i:K:klM:m:NnO:o:P:p:q:R:rSs:T:tUuV:vW:w:X:x:Z:z"))
+# else
+ "46bCDdFhI:i:klM:m:NnO:P:p:q:rSs:T:tUuV:vW:w:X:x:Zz"))
+# endif
+ != -1) {
+ switch (ch) {
+ case '4':
+ family = AF_INET;
+ break;
+ case '6':
+ family = AF_INET6;
+ break;
+ case 'b':
+# if defined(SO_BROADCAST)
+ bflag = 1;
+# else
+ errx(1, "no broadcast frame support available");
+# endif
+ break;
+ case 'U':
+ family = AF_UNIX;
+ break;
+ case 'X':
+ if (strcasecmp(optarg, "connect") == 0)
+ socksv = -1; /* HTTP proxy CONNECT */
+ else if (strcmp(optarg, "4") == 0)
+ socksv = 4; /* SOCKS v.4 */
+ else if (strcmp(optarg, "5") == 0)
+ socksv = 5; /* SOCKS v.5 */
+ else
+ errx(1, "unsupported proxy protocol");
+ break;
+# if defined(TLS)
+ case 'C':
+ Cflag = optarg;
+ break;
+ case 'c':
+ usetls = 1;
+ break;
+# else
+ case 'C':
+ Cflag = 1;
+ break;
+# endif
+ case 'd':
+ dflag = 1;
+ break;
+# if defined(TLS)
+ case 'e':
+ tls_expectname = optarg;
+ break;
+# endif
+ case 'F':
+ Fflag = 1;
+ break;
+# if defined(TLS)
+ case 'H':
+ tls_expecthash = optarg;
+ break;
+# endif
+ case 'h':
+ help();
+ break;
+ case 'i':
+ iflag = strtonum(optarg, 0, UINT_MAX, &errstr);
+ if (errstr)
+ errx(1, "interval %s: %s", errstr, optarg);
+ break;
+# if defined(TLS)
+ case 'K':
+ Kflag = optarg;
+ break;
+# endif
+ case 'k':
+ kflag = 1;
+ break;
+ case 'l':
+ lflag = 1;
+ break;
+ case 'M':
+ ttl = strtonum(optarg, 0, 255, &errstr);
+ if (errstr)
+ errx(1, "ttl is %s", errstr);
+ break;
+ case 'm':
+ minttl = strtonum(optarg, 0, 255, &errstr);
+ if (errstr)
+ errx(1, "minttl is %s", errstr);
+ break;
+ case 'N':
+ Nflag = 1;
+ break;
+ case 'n':
+ nflag = 1;
+ break;
+ case 'P':
+ Pflag = optarg;
+ break;
+ case 'p':
+ pflag = optarg;
+ break;
+ case 'q':
+ qflag = strtonum(optarg, INT_MIN, INT_MAX, &errstr);
+ if (errstr)
+ errx(1, "quit timer %s: %s", errstr, optarg);
+ if (qflag >= 0)
+ Nflag = 1;
+ break;
+# if defined(TLS)
+ case 'R':
+ tls_cachanged = 1;
+ Rflag = optarg;
+ break;
+# endif
+ case 'r':
+ rflag = 1;
+ break;
+ case 's':
+ sflag = optarg;
+ break;
+ case 't':
+ tflag = 1;
+ break;
+ case 'u':
+ uflag = 1;
+ break;
+ case 'Z':
+# if defined(IPPROTO_DCCP) && defined(SOCK_DCCP)
+ dccpflag = 1;
+# else
+ errx(1, "no DCCP support available");
+# endif
+ break;
+ case 'V':
+# if defined(RT_TABLEID_MAX)
+ rtableid = (int)strtonum(optarg, 0,
+ RT_TABLEID_MAX, &errstr);
+ if (errstr)
+ errx(1, "rtable %s: %s", errstr, optarg);
+# else
+ errx(1, "no alternate routing table support available");
+# endif
+ break;
+ case 'v':
+ vflag = 1;
+ break;
+ case 'W':
+ recvlimit = strtonum(optarg, 1, INT_MAX, &errstr);
+ if (errstr)
+ errx(1, "receive limit %s: %s", errstr, optarg);
+ break;
+ case 'w':
+ timeout = strtonum(optarg, 0, INT_MAX / 1000, &errstr);
+ if (errstr)
+ errx(1, "timeout %s: %s", errstr, optarg);
+ timeout *= 1000;
+ break;
+ case 'x':
+ xflag = 1;
+ if ((proxy = strdup(optarg)) == NULL)
+ err(1, NULL);
+ break;
+# if defined(TLS)
+ case 'Z':
+ if (strcmp(optarg, "-") == 0)
+ Zflag = stderr;
+ else if ((Zflag = fopen(optarg, "w")) == NULL)
+ err(1, "can't open %s", optarg);
+ break;
+# endif
+ case 'z':
+ zflag = 1;
+ break;
+ case 'D':
+ Dflag = 1;
+ break;
+ case 'I':
+ Iflag = strtonum(optarg, 1, 65536 << 14, &errstr);
+ if (errstr != NULL)
+ errx(1, "TCP receive window %s: %s",
+ errstr, optarg);
+ break;
+ case 'O':
+ Oflag = strtonum(optarg, 1, 65536 << 14, &errstr);
+ if (errstr != NULL)
+ errx(1, "TCP send window %s: %s",
+ errstr, optarg);
+ break;
+# if defined(TLS)
+ case 'o':
+ oflag = optarg;
+ break;
+# endif
+ case 'S':
+# if defined(TCP_MD5SIG_EXT) && defined(TCP_MD5SIG_MAXKEYLEN)
+ if (readpassphrase("TCP MD5SIG password: ",
+ Sflag_password, TCP_MD5SIG_MAXKEYLEN, RPP_REQUIRE_TTY) == NULL)
+ errx(1, "Unable to read TCP MD5SIG password");
+ Sflag = 1;
+# else
+ errx(1, "no TCP MD5 signature support available");
+# endif
+ break;
+ case 'T':
+ errstr = NULL;
+ errno = 0;
+# if defined(TLS)
+ if (process_tls_opt(optarg, &TLSopt))
+ break;
+# endif
+ if (process_tos_opt(optarg, &Tflag))
+ break;
+ if (strlen(optarg) > 1 && optarg[0] == '0' &&
+ optarg[1] == 'x')
+ Tflag = (int)strtol(optarg, NULL, 16);
+ else
+ Tflag = (int)strtonum(optarg, 0, 255,
+ &errstr);
+ if (Tflag < 0 || Tflag > 255 || errstr || errno)
+# if defined(TLS)
+ errx(1, "illegal tos/tls value %s", optarg);
+# else
+ errx(1, "illegal tos value %s", optarg);
+# endif
+ break;
+ default:
+ usage(1);
+ }
+ }
+ argc -= optind;
+ argv += optind;
+
+# if defined(RT_TABLEID_MAX)
+ if (rtableid >= 0)
+ if (setrtable(rtableid) == -1)
+ err(1, "setrtable");
+# endif
+
+ /* Cruft to make sure options are clean, and used properly. */
+ if (argc == 0 && lflag) {
+ uport = &pflag;
+ host = sflag;
+ } else if (argc == 1 && !pflag &&
+ /* `nc -l 12345` or `nc -U bar` or `nc -uU -s foo bar` */
+ (!sflag || (family == AF_UNIX && uflag && !lflag))) {
+ if (family == AF_UNIX) {
+ host = argv[0];
+ uport = NULL;
+ } else if (lflag) {
+ host = NULL;
+ uport = argv;
+ }
+ } else if (argc >= 2) {
+ if (lflag && (pflag || sflag || argc > 2))
+ usage(1); /* conflict */
+ host = argv[0];
+ uport = &argv[1];
+ } else
+ usage(1);
+
+ if (family == AF_UNIX) {
+# if defined(IPPROTO_DCCP) && defined(SOCK_DCCP)
+ if (dccpflag)
+ errx(1, "cannot use -Z and -U");
+# endif
+ if (uport && *uport)
+ errx(1, "cannot use port with -U");
+ if (!host)
+ errx(1, "missing socket pathname");
+ } else if (!uport || !*uport)
+ errx(1, "missing port number");
+
+ if (lflag && zflag)
+ errx(1, "cannot use -z and -l");
+
+# if defined(TLS)
+ if (usetls) {
+ if (Cflag && unveil(Cflag, "r") == -1)
+ err(1, "unveil");
+ if (unveil(Rflag, "r") == -1)
+ err(1, "unveil");
+ if (Kflag && unveil(Kflag, "r") == -1)
+ err(1, "unveil");
+ if (oflag && unveil(oflag, "r") == -1)
+ err(1, "unveil");
+ } else if (family == AF_UNIX && uflag && lflag && !kflag) {
+ /*
+ * After recvfrom(2) from client, the server connects
+ * to the client socket. As the client path is determined
+ * during runtime, we cannot unveil(2).
+ */
+ } else {
+ if (family == AF_UNIX) {
+ if (unveil(host, "rwc") == -1)
+ err(1, "unveil");
+ if (uflag && !kflag) {
+ if (sflag) {
+ if (unveil(sflag, "rwc") == -1)
+ err(1, "unveil");
+ } else {
+ if (unveil("/tmp", "rwc") == -1)
+ err(1, "unveil");
+ }
+ }
+ } else {
+ /* no filesystem visibility */
+ if (unveil("/", "") == -1)
+ err(1, "unveil");
+ }
+ }
+# endif
+
+ if (!lflag && kflag)
+ errx(1, "must use -l with -k");
+# if defined(TLS)
+ if (uflag && usetls)
+ errx(1, "cannot use -c and -u");
+ if ((family == AF_UNIX) && usetls)
+ errx(1, "cannot use -c and -U");
+# endif
+ if ((family == AF_UNIX) && Fflag)
+ errx(1, "cannot use -F and -U");
+# if defined(TLS)
+ if (Fflag && usetls)
+ errx(1, "cannot use -c and -F");
+ if (TLSopt && !usetls)
+ errx(1, "you must specify -c to use TLS options");
+ if (Cflag && !usetls)
+ errx(1, "you must specify -c to use -C");
+ if (Kflag && !usetls)
+ errx(1, "you must specify -c to use -K");
+ if (Zflag && !usetls)
+ errx(1, "you must specify -c to use -Z");
+ if (oflag && !Cflag)
+ errx(1, "you must specify -C to use -o");
+ if (tls_cachanged && !usetls)
+ errx(1, "you must specify -c to use -R");
+ if (tls_expecthash && !usetls)
+ errx(1, "you must specify -c to use -H");
+ if (tls_expectname && !usetls)
+ errx(1, "you must specify -c to use -e");
+# endif
+
+ /* Get name of temporary socket for unix datagram client */
+ if ((family == AF_UNIX) && uflag && !lflag) {
+ if (sflag) {
+ unix_dg_tmp_socket = sflag;
+ } else {
+ strlcpy(unix_dg_tmp_socket_buf, "/tmp/nc.XXXXXXXXXX",
+ UNIX_DG_TMP_SOCKET_SIZE);
+ if (mkstemp(unix_dg_tmp_socket_buf) == -1)
+ err(1, "mkstemp");
+ unix_dg_tmp_socket = unix_dg_tmp_socket_buf;
+ }
+ }
+
+ /* Initialize addrinfo structure. */
+ if (family != AF_UNIX) {
+ memset(&hints, 0, sizeof(struct addrinfo));
+ hints.ai_family = family;
+ if (uflag) {
+ hints.ai_socktype = SOCK_DGRAM;
+ hints.ai_protocol = IPPROTO_UDP;
+ }
+# if defined(IPPROTO_DCCP) && defined(SOCK_DCCP)
+ else if (dccpflag) {
+ hints.ai_socktype = SOCK_DCCP;
+ hints.ai_protocol = IPPROTO_DCCP;
+ }
+# endif
+ else {
+ hints.ai_socktype = SOCK_STREAM;
+ hints.ai_protocol = IPPROTO_TCP;
+ }
+ if (nflag)
+ hints.ai_flags |= AI_NUMERICHOST;
+ }
+
+ if (xflag) {
+ if (uflag)
+ errx(1, "no proxy support for UDP mode");
+# if defined(IPPROTO_DCCP) && defined(SOCK_DCCP)
+ if (dccpflag)
+ errx(1, "no proxy support for DCCP mode");
+# endif
+ if (lflag)
+ errx(1, "no proxy support for listen");
+
+ if (family == AF_UNIX)
+ errx(1, "no proxy support for unix sockets");
+
+ if (sflag)
+ errx(1, "no proxy support for local source address");
+
+ if (*proxy == '[') {
+ ++proxy;
+ proxyport = strchr(proxy, ']');
+ if (proxyport == NULL)
+ errx(1, "missing closing bracket in proxy");
+ *proxyport++ = '\0';
+ if (*proxyport == '\0')
+ /* Use default proxy port. */
+ proxyport = NULL;
+ else {
+ if (*proxyport == ':')
+ ++proxyport;
+ else
+ errx(1, "garbage proxy port delimiter");
+ }
+ } else {
+ proxyport = strrchr(proxy, ':');
+ if (proxyport != NULL)
+ *proxyport++ = '\0';
+ }
+
+ memset(&proxyhints, 0, sizeof(struct addrinfo));
+ proxyhints.ai_family = family;
+ proxyhints.ai_socktype = SOCK_STREAM;
+ proxyhints.ai_protocol = IPPROTO_TCP;
+ if (nflag)
+ proxyhints.ai_flags |= AI_NUMERICHOST;
+ }
+
+# if defined(TLS)
+ if (usetls) {
+ if ((tls_cfg = tls_config_new()) == NULL)
+ errx(1, "unable to allocate TLS config");
+ if (Rflag && tls_config_set_ca_file(tls_cfg, Rflag) == -1)
+ errx(1, "%s", tls_config_error(tls_cfg));
+ if (Cflag && tls_config_set_cert_file(tls_cfg, Cflag) == -1)
+ errx(1, "%s", tls_config_error(tls_cfg));
+ if (Kflag && tls_config_set_key_file(tls_cfg, Kflag) == -1)
+ errx(1, "%s", tls_config_error(tls_cfg));
+ if (oflag && tls_config_set_ocsp_staple_file(tls_cfg, oflag) == -1)
+ errx(1, "%s", tls_config_error(tls_cfg));
+ if (tls_config_parse_protocols(&protocols, tls_protocols) == -1)
+ errx(1, "invalid TLS protocols `%s'", tls_protocols);
+ if (tls_config_set_protocols(tls_cfg, protocols) == -1)
+ errx(1, "%s", tls_config_error(tls_cfg));
+ if (tls_config_set_ciphers(tls_cfg, tls_ciphers) == -1)
+ errx(1, "%s", tls_config_error(tls_cfg));
+ if (!lflag && (TLSopt & TLS_CCERT))
+ errx(1, "clientcert is only valid with -l");
+ if (TLSopt & TLS_NONAME)
+ tls_config_insecure_noverifyname(tls_cfg);
+ if (TLSopt & TLS_NOVERIFY) {
+ if (tls_expecthash != NULL)
+ errx(1, "-H and -T noverify may not be used "
+ "together");
+ tls_config_insecure_noverifycert(tls_cfg);
+ }
+ if (TLSopt & TLS_MUSTSTAPLE)
+ tls_config_ocsp_require_stapling(tls_cfg);
+
+ if (Pflag) {
+ if (pledge("stdio inet dns tty", NULL) == -1)
+ err(1, "pledge");
+ } else if (pledge("stdio inet dns", NULL) == -1)
+ err(1, "pledge");
+ }
+# endif
+ if (lflag) {
+ ret = 0;
+
+ if (family == AF_UNIX) {
+ if (uflag)
+ s = unix_bind(host, 0);
+ else
+ s = unix_listen(host);
+ } else
+ s = local_listen(host, *uport, hints);
+ if (s < 0)
+ err(1, NULL);
+
+# if defined(TLS)
+ if (usetls) {
+ tls_config_verify_client_optional(tls_cfg);
+ if ((tls_ctx = tls_server()) == NULL)
+ errx(1, "tls server creation failed");
+ if (tls_configure(tls_ctx, tls_cfg) == -1)
+ errx(1, "tls configuration failed (%s)",
+ tls_error(tls_ctx));
+ }
+# endif
+ /* Allow only one connection at a time, but stay alive. */
+ for (;;) {
+ if (uflag && kflag) {
+ /*
+ * For UDP and -k, don't connect the socket,
+ * let it receive datagrams from multiple
+ * socket pairs.
+ */
+# if defined(TLS)
+ readwrite(s, NULL);
+# else
+ readwrite(s);
+# endif
+ } else if (uflag && !kflag) {
+ /*
+ * For UDP and not -k, we will use recvfrom()
+ * initially to wait for a caller, then use
+ * the regular functions to talk to the caller.
+ */
+ int rv;
+ char buf[2048];
+ struct sockaddr_storage z;
+
+ len = sizeof(z);
+ rv = recvfrom(s, buf, sizeof(buf), MSG_PEEK,
+ (struct sockaddr *)&z, &len);
+ if (rv == -1)
+ err(1, "recvfrom");
+
+ rv = connect(s, (struct sockaddr *)&z, len);
+ if (rv == -1)
+ err(1, "connect");
+
+ if (vflag)
+ report_sock("Connection received",
+ (struct sockaddr *)&z, len,
+ family == AF_UNIX ? host : NULL);
+
+# if defined(TLS)
+ readwrite(s, NULL);
+ } else {
+ struct tls *tls_cctx = NULL;
+# else
+ readwrite(s);
+ } else {
+# endif
+ int connfd;
+
+ len = sizeof(cliaddr);
+ connfd = accept4(s, (struct sockaddr *)&cliaddr,
+ &len, SOCK_NONBLOCK);
+ if (connfd == -1) {
+ /* For now, all errnos are fatal */
+ err(1, "accept");
+ }
+ if (vflag)
+ report_sock("Connection received",
+ (struct sockaddr *)&cliaddr, len,
+ family == AF_UNIX ? host : NULL);
+# if defined(TLS)
+ if ((usetls) &&
+ (tls_cctx = tls_setup_server(tls_ctx, connfd, host)))
+ readwrite(connfd, tls_cctx);
+ if (!usetls)
+ readwrite(connfd, NULL);
+ if (tls_cctx)
+ timeout_tls(s, tls_cctx, tls_close);
+ close(connfd);
+ tls_free(tls_cctx);
+# else
+ readwrite(connfd);
+ close(connfd);
+# endif
+ }
+ if (family == AF_UNIX && uflag) {
+ if (connect(s, NULL, 0) == -1)
+ err(1, "connect");
+ }
+
+ if (!kflag) {
+ if (s != -1)
+ close(s);
+ break;
+ }
+ }
+ } else if (family == AF_UNIX) {
+ ret = 0;
+
+ if ((s = unix_connect(host)) > 0) {
+ if (!zflag)
+# if defined(TLS)
+ readwrite(s, NULL);
+# else
+ readwrite(s);
+# endif
+ close(s);
+ } else {
+ warn("%s", host);
+ ret = 1;
+ }
+
+ if (uflag)
+ unlink(unix_dg_tmp_socket);
+ return ret;
+
+ } else {
+ int i = 0;
+
+ /* Construct the portlist[] array. */
+ build_ports(uport);
+
+ /* Cycle through portlist, connecting to each port. */
+ for (s = -1, i = 0; portlist[i] != NULL; i++) {
+ if (s != -1)
+ close(s);
+# if defined(TLS)
+ tls_free(tls_ctx);
+ tls_ctx = NULL;
+
+ if (usetls) {
+ if ((tls_ctx = tls_client()) == NULL)
+ errx(1, "tls client creation failed");
+ if (tls_configure(tls_ctx, tls_cfg) == -1)
+ errx(1, "tls configuration failed (%s)",
+ tls_error(tls_ctx));
+ }
+# endif
+ if (xflag)
+ s = socks_connect(host, portlist[i], hints,
+ proxy, proxyport, proxyhints, socksv,
+ Pflag);
+ else
+ s = remote_connect(host, portlist[i], hints,
+ ipaddr);
+
+ if (s == -1)
+ continue;
+
+ ret = 0;
+ if (vflag) {
+ /* For UDP, make sure we are connected. */
+ if (uflag) {
+ if (udptest(s) == -1) {
+ ret = 1;
+ continue;
+ }
+ }
+
+ char *proto = proto_name(uflag, dccpflag);
+ /* Don't look up port if -n. */
+ if (nflag)
+ sv = NULL;
+ else {
+ sv = getservbyport(
+ ntohs(atoi(portlist[i])),
+ proto);
+ }
+
+ fprintf(stderr, "Connection to %s", host);
+
+ /*
+ * if we aren't connecting thru a proxy and
+ * there is something to report, print IP
+ */
+ if (!nflag && !xflag
+ && (strcmp(host, ipaddr) != 0))
+ fprintf(stderr, " (%s)", ipaddr);
+
+ fprintf(stderr, " %s port [%s/%s] succeeded!\n",
+ portlist[i], proto,
+ sv ? sv->s_name : "*");
+ }
+ if (Fflag)
+ fdpass(s);
+# if defined(TLS)
+ else {
+ if (usetls)
+ tls_setup_client(tls_ctx, s, host);
+ if (!zflag)
+ readwrite(s, tls_ctx);
+ if (tls_ctx)
+ timeout_tls(s, tls_ctx, tls_close);
+ }
+# else
+ else if (!zflag)
+ readwrite(s);
+# endif
+ }
+ }
+
+ if (s != -1)
+ close(s);
+# if defined(TLS)
+ tls_free(tls_ctx);
+ tls_config_free(tls_cfg);
+# endif
+
+ return ret;
+}
+
+/*
+ * unix_bind()
+ * Returns a unix socket bound to the given path
+ */
+int
+unix_bind(char *path, int flags)
+{
+ struct sockaddr_un s_un;
+ int s, save_errno;
+
+ /* Create unix domain socket. */
+ if ((s = socket(AF_UNIX, flags | (uflag ? SOCK_DGRAM : SOCK_STREAM),
+ 0)) == -1)
+ return -1;
+
+ unlink(path);
+
+ memset(&s_un, 0, sizeof(struct sockaddr_un));
+ s_un.sun_family = AF_UNIX;
+
+ if (strlcpy(s_un.sun_path, path, sizeof(s_un.sun_path)) >=
+ sizeof(s_un.sun_path)) {
+ close(s);
+ errno = ENAMETOOLONG;
+ return -1;
+ }
+
+ if (bind(s, (struct sockaddr *)&s_un, sizeof(s_un)) == -1) {
+ save_errno = errno;
+ close(s);
+ errno = save_errno;
+ return -1;
+ }
+ if (vflag)
+ report_sock("Bound", NULL, 0, path);
+
+ return s;
+}
+
+# if defined(TLS)
+int
+timeout_tls(int s, struct tls *tls_ctx, int (*func)(struct tls *))
+{
+ struct pollfd pfd;
+ int ret;
+
+ while ((ret = (*func)(tls_ctx)) != 0) {
+ if (ret == TLS_WANT_POLLIN)
+ pfd.events = POLLIN;
+ else if (ret == TLS_WANT_POLLOUT)
+ pfd.events = POLLOUT;
+ else
+ break;
+ pfd.fd = s;
+ if ((ret = poll(&pfd, 1, timeout)) == 1)
+ continue;
+ else if (ret == 0) {
+ errno = ETIMEDOUT;
+ ret = -1;
+ break;
+ } else
+ err(1, "poll failed");
+ }
+
+ return ret;
+}
+
+void
+tls_setup_client(struct tls *tls_ctx, int s, char *host)
+{
+ const char *errstr;
+
+ if (tls_connect_socket(tls_ctx, s,
+ tls_expectname ? tls_expectname : host) == -1) {
+ errx(1, "tls connection failed (%s)",
+ tls_error(tls_ctx));
+ }
+ if (timeout_tls(s, tls_ctx, tls_handshake) == -1) {
+ if ((errstr = tls_error(tls_ctx)) == NULL)
+ errstr = strerror(errno);
+ errx(1, "tls handshake failed (%s)", errstr);
+ }
+ if (vflag)
+ report_tls(tls_ctx, host);
+ if (tls_expecthash && (tls_peer_cert_hash(tls_ctx) == NULL ||
+ strcmp(tls_expecthash, tls_peer_cert_hash(tls_ctx)) != 0))
+ errx(1, "peer certificate is not %s", tls_expecthash);
+ if (Zflag) {
+ save_peer_cert(tls_ctx, Zflag);
+ if (Zflag != stderr && (fclose(Zflag) != 0))
+ err(1, "fclose failed saving peer cert");
+ }
+}
+
+struct tls *
+tls_setup_server(struct tls *tls_ctx, int connfd, char *host)
+{
+ struct tls *tls_cctx;
+ const char *errstr;
+
+ if (tls_accept_socket(tls_ctx, &tls_cctx, connfd) == -1) {
+ warnx("tls accept failed (%s)", tls_error(tls_ctx));
+ } else if (timeout_tls(connfd, tls_cctx, tls_handshake) == -1) {
+ if ((errstr = tls_error(tls_cctx)) == NULL)
+ errstr = strerror(errno);
+ warnx("tls handshake failed (%s)", errstr);
+ } else {
+ int gotcert = tls_peer_cert_provided(tls_cctx);
+
+ if (vflag && gotcert)
+ report_tls(tls_cctx, host);
+ if ((TLSopt & TLS_CCERT) && !gotcert)
+ warnx("No client certificate provided");
+ else if (gotcert && tls_expecthash &&
+ (tls_peer_cert_hash(tls_cctx) == NULL ||
+ strcmp(tls_expecthash, tls_peer_cert_hash(tls_cctx)) != 0))
+ warnx("peer certificate is not %s", tls_expecthash);
+ else if (gotcert && tls_expectname &&
+ (!tls_peer_cert_contains_name(tls_cctx, tls_expectname)))
+ warnx("name (%s) not found in client cert",
+ tls_expectname);
+ else {
+ return tls_cctx;
+ }
+ }
+ return NULL;
+}
+# endif
+
+/*
+ * unix_connect()
+ * Returns a socket connected to a local unix socket. Returns -1 on failure.
+ */
+int
+unix_connect(char *path)
+{
+ struct sockaddr_un s_un;
+ int s, save_errno;
+
+ if (uflag) {
+ if ((s = unix_bind(unix_dg_tmp_socket, SOCK_CLOEXEC)) == -1)
+ return -1;
+ } else {
+ if ((s = socket(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0)) == -1) {
+ errx(1, "create unix socket failed");
+ return -1;
+ }
+ }
+
+ memset(&s_un, 0, sizeof(struct sockaddr_un));
+ s_un.sun_family = AF_UNIX;
+
+ if (strlcpy(s_un.sun_path, path, sizeof(s_un.sun_path)) >=
+ sizeof(s_un.sun_path)) {
+ close(s);
+ errno = ENAMETOOLONG;
+ warn("unix connect abandoned");
+ return -1;
+ }
+ if (connect(s, (struct sockaddr *)&s_un, sizeof(s_un)) == -1) {
+ save_errno = errno;
+ warn("unix connect failed");
+ close(s);
+ errno = save_errno;
+ return -1;
+ }
+ return s;
+
+}
+
+/*
+ * unix_listen()
+ * Create a unix domain socket, and listen on it.
+ */
+int
+unix_listen(char *path)
+{
+ int s;
+
+ if ((s = unix_bind(path, 0)) == -1)
+ return -1;
+ if (listen(s, 5) == -1) {
+ close(s);
+ return -1;
+ }
+ if (vflag)
+ report_sock("Listening", NULL, 0, path);
+
+ return s;
+}
+
+char *proto_name(int uflag, int dccpflag) {
+
+ char *proto = NULL;
+ if (uflag) {
+ proto = "udp";
+ }
+# if defined(IPPROTO_DCCP) && defined(SOCK_DCCP)
+ else if (dccpflag) {
+ proto = "dccp";
+ }
+# endif
+ else {
+ proto = "tcp";
+ }
+
+ return proto;
+}
+
+/*
+ * remote_connect()
+ * Returns a socket connected to a remote host. Properly binds to a local
+ * port or source address if needed. Returns -1 on failure.
+ */
+int
+remote_connect(const char *host, const char *port, struct addrinfo hints,
+ char *ipaddr)
+{
+ struct addrinfo *res, *res0;
+ int s = -1, error, herr, on = 1, save_errno;
+
+ if ((error = getaddrinfo(host, port, &hints, &res0)))
+ errx(1, "getaddrinfo for host \"%s\" port %s: %s", host,
+ port, gai_strerror(error));
+
+ for (res = res0; res; res = res->ai_next) {
+ if ((s = socket(res->ai_family, res->ai_socktype |
+ SOCK_NONBLOCK, res->ai_protocol)) == -1)
+ continue;
+
+ /* Bind to a local port or source address if specified. */
+ if (sflag || pflag) {
+ struct addrinfo ahints, *ares;
+
+# if defined (SO_BINDANY)
+ /* try SO_BINDANY, but don't insist */
+ setsockopt(s, SOL_SOCKET, SO_BINDANY, &on, sizeof(on));
+# endif
+ memset(&ahints, 0, sizeof(struct addrinfo));
+ ahints.ai_family = res->ai_family;
+ if (uflag) {
+ ahints.ai_socktype = SOCK_DGRAM;
+ ahints.ai_protocol = IPPROTO_UDP;
+
+ }
+# if defined(IPPROTO_DCCP) && defined(SOCK_DCCP)
+ else if (dccpflag) {
+ hints.ai_socktype = SOCK_DCCP;
+ hints.ai_protocol = IPPROTO_DCCP;
+ }
+# endif
+ else {
+ ahints.ai_socktype = SOCK_STREAM;
+ ahints.ai_protocol = IPPROTO_TCP;
+ }
+ ahints.ai_flags = AI_PASSIVE;
+ if ((error = getaddrinfo(sflag, pflag, &ahints, &ares)))
+ errx(1, "getaddrinfo: %s", gai_strerror(error));
+
+ if (bind(s, (struct sockaddr *)ares->ai_addr,
+ ares->ai_addrlen) == -1)
+ err(1, "bind failed");
+ freeaddrinfo(ares);
+ }
+
+ set_common_sockopts(s, res->ai_addr);
+
+ if (ipaddr != NULL) {
+ herr = getnameinfo(res->ai_addr, res->ai_addrlen,
+ ipaddr, NI_MAXHOST, NULL, 0, NI_NUMERICHOST);
+ switch (herr) {
+ case 0:
+ break;
+ case EAI_SYSTEM:
+ err(1, "getnameinfo");
+ default:
+ errx(1, "getnameinfo: %s", gai_strerror(herr));
+ }
+ }
+
+ if ((error = connect_with_timeout(s, res->ai_addr, res->ai_addrlen,
+ timeout)) == CONNECTION_SUCCESS)
+ break;
+
+ char *proto = proto_name(uflag, dccpflag);
+
+ if (vflag) {
+ /* only print IP if there is something to report */
+ if (nflag || ipaddr == NULL ||
+ (strncmp(host, ipaddr, NI_MAXHOST) == 0))
+ warn("connect to %s port %s (%s) %s", host,
+ port, proto,
+ error == CONNECTION_TIMEOUT ? "timed out" : "failed");
+ else
+ warn("connect to %s (%s) port %s (%s) %s",
+ host, ipaddr, port, proto,
+ error == CONNECTION_TIMEOUT ? "timed out" : "failed");
+ }
+
+ save_errno = errno;
+ close(s);
+ errno = save_errno;
+ s = -1;
+ }
+
+ freeaddrinfo(res0);
+
+ return s;
+}
+
+int
+timeout_connect(int s, const struct sockaddr *name, socklen_t namelen)
+{
+ struct pollfd pfd;
+ socklen_t optlen;
+ int optval;
+ int ret;
+
+ if ((ret = connect(s, name, namelen)) != 0 && errno == EINPROGRESS) {
+ pfd.fd = s;
+ pfd.events = POLLOUT;
+ if ((ret = poll(&pfd, 1, timeout)) == 1) {
+ optlen = sizeof(optval);
+ if ((ret = getsockopt(s, SOL_SOCKET, SO_ERROR,
+ &optval, &optlen)) == 0) {
+ errno = optval;
+ ret = optval == 0 ? 0 : -1;
+ }
+ } else if (ret == 0) {
+ errno = ETIMEDOUT;
+ ret = -1;
+ } else
+ err(1, "poll failed");
+ }
+
+ return ret;
+}
+
+static int connect_with_timeout(int fd, const struct sockaddr *sa,
+ socklen_t salen, int ctimeout)
+{
+ int err;
+ struct timeval tv, *tvp = NULL;
+ fd_set connect_fdset;
+ socklen_t len;
+ int orig_flags;
+
+ orig_flags = fcntl(fd, F_GETFL, 0);
+ if (fcntl(fd, F_SETFL, orig_flags | O_NONBLOCK) < 0 ) {
+ warn("can't set O_NONBLOCK - timeout not available");
+ if (connect(fd, sa, salen) == 0)
+ return CONNECTION_SUCCESS;
+ else
+ return CONNECTION_FAILED;
+ }
+
+ /* set connect timeout */
+ if (ctimeout > 0) {
+ tv.tv_sec = (time_t)ctimeout/1000;
+ tv.tv_usec = 0;
+ tvp = &tv;
+ }
+
+ /* attempt the connection */
+ err = connect(fd, sa, salen);
+ if (err != 0 && errno == EINPROGRESS) {
+ /* connection is proceeding
+ * it is complete (or failed) when select returns */
+
+ /* initialize connect_fdset */
+ FD_ZERO(&connect_fdset);
+ FD_SET(fd, &connect_fdset);
+
+ /* call select */
+ do {
+ err = select(fd + 1, NULL, &connect_fdset,
+ NULL, tvp);
+ } while (err < 0 && errno == EINTR);
+
+ /* select error */
+ if (err < 0)
+ errx(1,"select error: %s", strerror(errno));
+ /* we have reached a timeout */
+ if (err == 0)
+ return CONNECTION_TIMEOUT;
+ /* select returned successfully, but we must test socket
+ * error for result */
+ len = sizeof(err);
+ if (getsockopt(fd, SOL_SOCKET, SO_ERROR, &err, &len) < 0)
+ errx(1, "getsockopt error: %s", strerror(errno));
+ /* setup errno according to the result returned by
+ * getsockopt */
+ if (err != 0)
+ errno = err;
+ }
+
+ /* return aborted if an error occured, and valid otherwise */
+ fcntl(fd, F_SETFL, orig_flags);
+ return (err != 0)? CONNECTION_FAILED : CONNECTION_SUCCESS;
+}
+
+/*
+ * local_listen()
+ * Returns a socket listening on a local port, binds to specified source
+ * address. Returns -1 on failure.
+ */
+int
+local_listen(const char *host, const char *port, struct addrinfo hints)
+{
+ struct addrinfo *res, *res0;
+ int s = -1, ret, x = 1, save_errno;
+ int error;
+
+ /* Allow nodename to be null. */
+ hints.ai_flags |= AI_PASSIVE;
+
+ /*
+ * In the case of binding to a wildcard address
+ * default to binding to an ipv4 address.
+ */
+ if (host == NULL && hints.ai_family == AF_UNSPEC)
+ hints.ai_family = AF_INET;
+
+ if ((error = getaddrinfo(host, port, &hints, &res0)))
+ errx(1, "getaddrinfo: %s", gai_strerror(error));
+
+ for (res = res0; res; res = res->ai_next) {
+ if ((s = socket(res->ai_family, res->ai_socktype,
+ res->ai_protocol)) == -1)
+ continue;
+
+ ret = setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &x, sizeof(x));
+ if (ret == -1)
+ err(1, NULL);
+
+# if defined(SO_REUSEPORT)
+ ret = setsockopt(s, SOL_SOCKET, SO_REUSEPORT, &x, sizeof(x));
+ if (ret == -1)
+ err(1, NULL);
+# endif
+
+ set_common_sockopts(s, res->ai_addr);
+
+ if (bind(s, (struct sockaddr *)res->ai_addr,
+ res->ai_addrlen) == 0)
+ break;
+
+ save_errno = errno;
+ close(s);
+ errno = save_errno;
+ s = -1;
+ }
+
+ if (!uflag && s != -1) {
+ if (listen(s, 1) == -1)
+ err(1, "listen");
+ }
+ if (vflag && s != -1) {
+ struct sockaddr_storage ss;
+ socklen_t len;
+
+ len = sizeof(ss);
+ if (getsockname(s, (struct sockaddr *)&ss, &len) == -1)
+ err(1, "getsockname");
+ report_sock(uflag ? "Bound" : "Listening",
+ (struct sockaddr *)&ss, len, NULL);
+ }
+
+ freeaddrinfo(res0);
+
+ return s;
+}
+
+/*
+ * readwrite()
+ * Loop that polls on the network file descriptor and stdin.
+ */
+void
+# if defined(TLS)
+readwrite(int net_fd, struct tls *tls_ctx)
+# else
+readwrite(int net_fd)
+# endif
+{
+ struct pollfd pfd[4];
+ int stdin_fd = STDIN_FILENO;
+ int stdout_fd = STDOUT_FILENO;
+ unsigned char netinbuf[BUFSIZE];
+ size_t netinbufpos = 0;
+ unsigned char stdinbuf[BUFSIZE];
+ size_t stdinbufpos = 0;
+ int n, num_fds;
+ ssize_t ret;
+
+ /* don't read from stdin if requested */
+ if (dflag)
+ stdin_fd = -1;
+
+ /* stdin */
+ pfd[POLL_STDIN].fd = stdin_fd;
+ pfd[POLL_STDIN].events = POLLIN;
+
+ /* network out */
+ pfd[POLL_NETOUT].fd = net_fd;
+ pfd[POLL_NETOUT].events = 0;
+
+ /* network in */
+ pfd[POLL_NETIN].fd = net_fd;
+ pfd[POLL_NETIN].events = POLLIN;
+
+ /* stdout */
+ pfd[POLL_STDOUT].fd = stdout_fd;
+ pfd[POLL_STDOUT].events = 0;
+
+ while (1) {
+ /* both inputs are gone, buffers are empty, we are done */
+ if (pfd[POLL_STDIN].fd == -1 && pfd[POLL_NETIN].fd == -1 &&
+ stdinbufpos == 0 && netinbufpos == 0) {
+ if (qflag <= 0)
+ return;
+ goto delay_exit;
+ }
+ /* both outputs are gone, we can't continue */
+ if (pfd[POLL_NETOUT].fd == -1 && pfd[POLL_STDOUT].fd == -1) {
+ if (qflag <= 0)
+ return;
+ goto delay_exit;
+ }
+ /* listen and net in gone, queues empty, done */
+ if (lflag && pfd[POLL_NETIN].fd == -1 &&
+ stdinbufpos == 0 && netinbufpos == 0) {
+ if (qflag <= 0)
+ return;
+delay_exit:
+ close(net_fd);
+ signal(SIGALRM, quit);
+ alarm(qflag);
+ }
+
+ /* poll */
+ num_fds = poll(pfd, 4, timeout);
+
+ /* treat poll errors */
+ if (num_fds == -1)
+ err(1, "polling error");
+
+ /* timeout happened */
+ if (num_fds == 0)
+ return;
+
+ /* treat socket error conditions */
+ for (n = 0; n < 4; n++) {
+ if (pfd[n].revents & (POLLERR|POLLNVAL)) {
+ pfd[n].fd = -1;
+ }
+ }
+ /* reading is possible after HUP */
+ if (pfd[POLL_STDIN].events & POLLIN &&
+ pfd[POLL_STDIN].revents & POLLHUP &&
+ !(pfd[POLL_STDIN].revents & POLLIN))
+ pfd[POLL_STDIN].fd = -1;
+
+ if (pfd[POLL_NETIN].events & POLLIN &&
+ pfd[POLL_NETIN].revents & POLLHUP &&
+ !(pfd[POLL_NETIN].revents & POLLIN))
+ pfd[POLL_NETIN].fd = -1;
+
+ if (pfd[POLL_NETOUT].revents & POLLHUP) {
+ if (Nflag)
+ shutdown(pfd[POLL_NETOUT].fd, SHUT_WR);
+ pfd[POLL_NETOUT].fd = -1;
+ }
+ /* if HUP, stop watching stdout */
+ if (pfd[POLL_STDOUT].revents & POLLHUP)
+ pfd[POLL_STDOUT].fd = -1;
+ /* if no net out, stop watching stdin */
+ if (pfd[POLL_NETOUT].fd == -1)
+ pfd[POLL_STDIN].fd = -1;
+ /* if no stdout, stop watching net in */
+ if (pfd[POLL_STDOUT].fd == -1) {
+ if (pfd[POLL_NETIN].fd != -1)
+ shutdown(pfd[POLL_NETIN].fd, SHUT_RD);
+ pfd[POLL_NETIN].fd = -1;
+ }
+
+ /* try to read from stdin */
+ if (pfd[POLL_STDIN].revents & POLLIN && stdinbufpos < BUFSIZE) {
+ ret = fillbuf(pfd[POLL_STDIN].fd, stdinbuf,
+# if defined(TLS)
+ &stdinbufpos, NULL);
+ if (ret == TLS_WANT_POLLIN)
+ pfd[POLL_STDIN].events = POLLIN;
+ else if (ret == TLS_WANT_POLLOUT)
+ pfd[POLL_STDIN].events = POLLOUT;
+ else
+# else
+ &stdinbufpos);
+# endif
+ if (ret == 0 || ret == -1)
+ pfd[POLL_STDIN].fd = -1;
+ /* read something - poll net out */
+ if (stdinbufpos > 0)
+ pfd[POLL_NETOUT].events = POLLOUT;
+ /* filled buffer - remove self from polling */
+ if (stdinbufpos == BUFSIZE)
+ pfd[POLL_STDIN].events = 0;
+ }
+ /* try to write to network */
+ if (pfd[POLL_NETOUT].revents & POLLOUT && stdinbufpos > 0) {
+ ret = drainbuf(pfd[POLL_NETOUT].fd, stdinbuf,
+# if defined(TLS)
+ &stdinbufpos, tls_ctx);
+ if (ret == TLS_WANT_POLLIN)
+ pfd[POLL_NETOUT].events = POLLIN;
+ else if (ret == TLS_WANT_POLLOUT)
+ pfd[POLL_NETOUT].events = POLLOUT;
+ else
+# else
+ &stdinbufpos, (iflag || Cflag) ? 1 : 0);
+# endif
+ if (ret == -1)
+ pfd[POLL_NETOUT].fd = -1;
+ /* buffer empty - remove self from polling */
+ if (stdinbufpos == 0)
+ pfd[POLL_NETOUT].events = 0;
+ /* buffer no longer full - poll stdin again */
+ if (stdinbufpos < BUFSIZE)
+ pfd[POLL_STDIN].events = POLLIN;
+ }
+ /* try to read from network */
+ if (pfd[POLL_NETIN].revents & POLLIN && netinbufpos < BUFSIZE) {
+ ret = fillbuf(pfd[POLL_NETIN].fd, netinbuf,
+# if defined(TLS)
+ &netinbufpos, tls_ctx);
+ if (ret == TLS_WANT_POLLIN)
+ pfd[POLL_NETIN].events = POLLIN;
+ else if (ret == TLS_WANT_POLLOUT)
+ pfd[POLL_NETIN].events = POLLOUT;
+ else
+# else
+ &netinbufpos);
+# endif
+ if (ret == -1)
+ pfd[POLL_NETIN].fd = -1;
+ /* eof on net in - remove from pfd */
+ if (ret == 0) {
+ shutdown(pfd[POLL_NETIN].fd, SHUT_RD);
+ pfd[POLL_NETIN].fd = -1;
+ }
+ if (recvlimit > 0 && ++recvcount >= recvlimit) {
+ if (pfd[POLL_NETIN].fd != -1)
+ shutdown(pfd[POLL_NETIN].fd, SHUT_RD);
+ pfd[POLL_NETIN].fd = -1;
+ pfd[POLL_STDIN].fd = -1;
+ }
+ /* read something - poll stdout */
+ if (netinbufpos > 0)
+ pfd[POLL_STDOUT].events = POLLOUT;
+ /* filled buffer - remove self from polling */
+ if (netinbufpos == BUFSIZE)
+ pfd[POLL_NETIN].events = 0;
+ /* handle telnet */
+ if (tflag)
+ atelnet(pfd[POLL_NETIN].fd, netinbuf,
+ netinbufpos);
+ }
+ /* try to write to stdout */
+ if (pfd[POLL_STDOUT].revents & POLLOUT && netinbufpos > 0) {
+ ret = drainbuf(pfd[POLL_STDOUT].fd, netinbuf,
+# if defined(TLS)
+ &netinbufpos, NULL);
+ if (ret == TLS_WANT_POLLIN)
+ pfd[POLL_STDOUT].events = POLLIN;
+ else if (ret == TLS_WANT_POLLOUT)
+ pfd[POLL_STDOUT].events = POLLOUT;
+ else
+# else
+ &netinbufpos, 0);
+# endif
+ if (ret == -1)
+ pfd[POLL_STDOUT].fd = -1;
+ /* buffer empty - remove self from polling */
+ if (netinbufpos == 0)
+ pfd[POLL_STDOUT].events = 0;
+ /* buffer no longer full - poll net in again */
+ if (netinbufpos < BUFSIZE)
+ pfd[POLL_NETIN].events = POLLIN;
+ }
+
+ /* stdin gone and queue empty? */
+ if (pfd[POLL_STDIN].fd == -1 && stdinbufpos == 0) {
+ if (pfd[POLL_NETOUT].fd != -1 && Nflag)
+ shutdown(pfd[POLL_NETOUT].fd, SHUT_WR);
+ pfd[POLL_NETOUT].fd = -1;
+ /* #817050: handle UDP sockets and kflag */
+ if ((lflag || uflag) && pfd[POLL_NETIN].fd != -1 &&
+ qflag >= 0 && netinbufpos == 0) {
+ shutdown(pfd[POLL_NETIN].fd, SHUT_RD);
+ pfd[POLL_NETIN].fd = -1;
+ kflag = 0;
+ }
+ }
+ /* net in gone and queue empty? */
+ if (pfd[POLL_NETIN].fd == -1 && netinbufpos == 0) {
+ pfd[POLL_STDOUT].fd = -1;
+ }
+ }
+}
+
+ssize_t
+drainbuf(int fd, unsigned char *buf, size_t *bufpos, int oneline)
+{
+ ssize_t n, r;
+ ssize_t adjust;
+ unsigned char *lf = NULL;
+
+ if (oneline)
+ lf = memchr(buf, '\n', *bufpos);
+ if (lf == NULL) {
+ n = *bufpos;
+ oneline = 0;
+ }
+ else if (Cflag && (lf == buf || buf[lf - buf - 1] != '\r')) {
+ n = lf - buf;
+ oneline = 2;
+ }
+ else
+ n = lf - buf + 1;
+ if (n > 0)
+ n = write(fd, buf, n);
+
+ /* don't treat EAGAIN, EINTR as error */
+ if (n == -1 && (errno == EAGAIN || errno == EINTR))
+ n = -2;
+ if (oneline == 2 && n >= 0)
+ n++;
+ if (n <= 0)
+ return n;
+
+ if (oneline == 2 && (r = atomicio(vwrite, fd, "\r\n", 2)) != 2)
+ err(1, "write failed (%zu/2)", r);
+ if (oneline > 0 && iflag)
+ sleep(iflag);
+
+ /* adjust buffer */
+ adjust = *bufpos - n;
+ if (adjust > 0)
+ memmove(buf, buf + n, adjust);
+ *bufpos -= n;
+ return n;
+}
+
+ssize_t
+# if defined(TLS)
+fillbuf(int fd, unsigned char *buf, size_t *bufpos, struct tls *tls)
+# else
+fillbuf(int fd, unsigned char *buf, size_t *bufpos)
+# endif
+{
+ size_t num = BUFSIZE - *bufpos;
+ ssize_t n;
+
+# if defined(TLS)
+ if (tls) {
+ n = tls_read(tls, buf + *bufpos, num);
+ if (n == -1)
+ errx(1, "tls read failed (%s)", tls_error(tls));
+ } else {
+# endif
+ n = read(fd, buf + *bufpos, num);
+ /* don't treat EAGAIN, EINTR as error */
+ if (n == -1 && (errno == EAGAIN || errno == EINTR))
+# if defined(TLS)
+ n = TLS_WANT_POLLIN;
+ }
+# else
+ n = -2;
+# endif
+ if (n <= 0)
+ return n;
+ *bufpos += n;
+ return n;
+}
+
+/*
+ * fdpass()
+ * Pass the connected file descriptor to stdout and exit.
+ */
+void
+fdpass(int nfd)
+{
+ struct msghdr mh;
+ union {
+ struct cmsghdr hdr;
+ char buf[CMSG_SPACE(sizeof(int))];
+ } cmsgbuf;
+ struct cmsghdr *cmsg;
+ struct iovec iov;
+ char c = '\0';
+ ssize_t r;
+ struct pollfd pfd;
+
+ /* Avoid obvious stupidity */
+ if (isatty(STDOUT_FILENO))
+ errx(1, "Cannot pass file descriptor to tty");
+
+ memset(&mh, 0, sizeof(mh));
+ memset(&cmsgbuf, 0, sizeof(cmsgbuf));
+ memset(&iov, 0, sizeof(iov));
+
+ mh.msg_control = (caddr_t)&cmsgbuf.buf;
+ mh.msg_controllen = sizeof(cmsgbuf.buf);
+ cmsg = CMSG_FIRSTHDR(&mh);
+ cmsg->cmsg_len = CMSG_LEN(sizeof(int));
+ cmsg->cmsg_level = SOL_SOCKET;
+ cmsg->cmsg_type = SCM_RIGHTS;
+ *(int *)CMSG_DATA(cmsg) = nfd;
+
+ iov.iov_base = &c;
+ iov.iov_len = 1;
+ mh.msg_iov = &iov;
+ mh.msg_iovlen = 1;
+
+ memset(&pfd, 0, sizeof(pfd));
+ pfd.fd = STDOUT_FILENO;
+ pfd.events = POLLOUT;
+ for (;;) {
+ r = sendmsg(STDOUT_FILENO, &mh, 0);
+ if (r == -1) {
+ if (errno == EAGAIN || errno == EINTR) {
+ if (poll(&pfd, 1, -1) == -1)
+ err(1, "poll");
+ continue;
+ }
+ err(1, "sendmsg");
+ } else if (r != 1)
+ errx(1, "sendmsg: unexpected return value %zd", r);
+ else
+ break;
+ }
+ exit(0);
+}
+
+/* Deal with RFC 854 WILL/WONT DO/DONT negotiation. */
+void
+atelnet(int nfd, unsigned char *buf, unsigned int size)
+{
+ unsigned char *p, *end;
+ unsigned char obuf[4];
+
+ if (size < 3)
+ return;
+ end = buf + size - 2;
+
+ for (p = buf; p < end; p++) {
+ if (*p != IAC)
+ continue;
+
+ obuf[0] = IAC;
+ p++;
+ if ((*p == WILL) || (*p == WONT))
+ obuf[1] = DONT;
+ else if ((*p == DO) || (*p == DONT))
+ obuf[1] = WONT;
+ else
+ continue;
+
+ p++;
+ obuf[2] = *p;
+ if (atomicio(vwrite, nfd, obuf, 3) != 3)
+ warn("Write Error!");
+ }
+}
+
+
+int
+strtoport(char *portstr, int udp)
+{
+ struct servent *entry;
+ const char *errstr;
+ char *proto;
+ int port = -1;
+
+ proto = udp ? "udp" : "tcp";
+
+ port = strtonum(portstr, 1, PORT_MAX, &errstr);
+ if (errstr == NULL)
+ return port;
+ if (errno != EINVAL)
+ errx(1, "port number %s: %s", errstr, portstr);
+ if ((entry = getservbyname(portstr, proto)) == NULL)
+ errx(1, "service \"%s\" unknown", portstr);
+ return ntohs(entry->s_port);
+}
+
+/*
+ * build_ports()
+ * Build an array of ports in portlist[], listing each port
+ * that we should try to connect to.
+ */
+void
+build_ports(char **p)
+{
+ struct servent *sv;
+ char *n;
+ int hi, lo, cp;
+ int x = 0;
+ int i;
+
+ char *proto = proto_name(uflag, dccpflag);
+ for (i = 0; p[i] != NULL; i++) {
+ sv = getservbyname(p[i], proto);
+ if (sv) {
+ if (asprintf(&portlist[x], "%d", ntohs(sv->s_port)) < 0)
+ err(1, "asprintf");
+ x++;
+ } else if (isdigit((unsigned char)*p[i]) && (n = strchr(p[i], '-')) != NULL) {
+ *n = '\0';
+ n++;
+
+ /* Make sure the ports are in order: lowest->highest. */
+ hi = strtoport(n, uflag);
+ lo = strtoport(p[i], uflag);
+ if (lo > hi) {
+ cp = hi;
+ hi = lo;
+ lo = cp;
+ }
+
+ /* Load ports sequentially. */
+ for (cp = lo; cp <= hi; cp++) {
+ if (asprintf(&portlist[x], "%d", cp) == -1)
+ err(1, "asprintf");
+ x++;
+ }
+ } else {
+ hi = strtoport(p[i], uflag);
+ if (asprintf(&portlist[x], "%d", hi) < 0)
+ err(1, "asprintf");
+ x++;
+ }
+ }
+
+ /*
+ * Initialize portlist with a random permutation using
+ * Fisher–Yates shuffle.
+ */
+ if (rflag) {
+ for (i = x-1; i > 0; i--) {
+ cp = arc4random_uniform(i+1);
+ if (cp != i) {
+ n = portlist[i];
+ portlist[i] = portlist[cp];
+ portlist[cp] = n;
+ }
+ }
+ }
+}
+
+/*
+ * udptest()
+ * Do a few writes to see if the UDP port is there.
+ * Fails once PF state table is full.
+ */
+int
+udptest(int s)
+{
+ int i, t;
+
+ if ((write(s, "X", 1) != 1) ||
+ ((write(s, "X", 1) != 1) && (errno == ECONNREFUSED)))
+ return -1;
+
+ /* Give the remote host some time to reply. */
+ for (i = 0, t = (timeout == -1) ? UDP_SCAN_TIMEOUT : (timeout / 1000);
+ i < t; i++) {
+ sleep(1);
+ if ((write(s, "X", 1) != 1) && (errno == ECONNREFUSED))
+ return -1;
+ }
+ return 1;
+}
+
+void
+set_common_sockopts(int s, const struct sockaddr* sa)
+{
+ int x = 1;
+ int af = sa->sa_family;
+
+# if defined(SO_BROADCAST)
+ if (bflag) {
+ /* allow datagram sockets to send packets to a broadcast address
+ * (this option has no effect on stream-oriented sockets) */
+ if (setsockopt(s, SOL_SOCKET, SO_BROADCAST,
+ &x, sizeof(x)) == -1)
+ err(1, NULL);
+ }
+# endif
+# if defined(TCP_MD5SIG_EXT) && defined(TCP_MD5SIG_MAXKEYLEN)
+ if (Sflag) {
+ struct tcp_md5sig sig;
+ memset(&sig, 0, sizeof(sig));
+ memcpy(&sig.tcpm_addr, sa, sizeof(struct sockaddr_storage));
+ sig.tcpm_keylen = TCP_MD5SIG_MAXKEYLEN < strlen(Sflag_password)
+ ? TCP_MD5SIG_MAXKEYLEN
+ : strlen(Sflag_password);
+ memcpy(sig.tcpm_key, Sflag_password, sig.tcpm_keylen);
+ sig.tcpm_flags = TCP_MD5SIG_FLAG_PREFIX;
+ if (setsockopt(s, IPPROTO_TCP, TCP_MD5SIG_EXT,
+ &sig, sizeof(sig)) == -1)
+ err(1, NULL);
+ }
+# endif
+ if (Dflag) {
+ if (setsockopt(s, SOL_SOCKET, SO_DEBUG,
+ &x, sizeof(x)) == -1)
+ err(1, NULL);
+ }
+ if (Tflag != -1) {
+ if (af == AF_INET && setsockopt(s, IPPROTO_IP,
+ IP_TOS, &Tflag, sizeof(Tflag)) == -1)
+ err(1, "set IP ToS");
+
+#if defined(IPV6_TCLASS)
+ else if (af == AF_INET6 && setsockopt(s, IPPROTO_IPV6,
+ IPV6_TCLASS, &Tflag, sizeof(Tflag)) == -1)
+ err(1, "set IPv6 traffic class");
+#else
+ else if (af == AF_INET6)
+ errx(1, "can't set IPv6 traffic class (unavailable)");
+#endif
+ }
+ if (Iflag) {
+ if (setsockopt(s, SOL_SOCKET, SO_RCVBUF,
+ &Iflag, sizeof(Iflag)) == -1)
+ err(1, "set TCP receive buffer size");
+ }
+ if (Oflag) {
+ if (setsockopt(s, SOL_SOCKET, SO_SNDBUF,
+ &Oflag, sizeof(Oflag)) == -1)
+ err(1, "set TCP send buffer size");
+ }
+
+ if (ttl != -1) {
+ if (af == AF_INET && setsockopt(s, IPPROTO_IP,
+ IP_TTL, &ttl, sizeof(ttl)))
+ err(1, "set IP TTL");
+
+#if defined(IPV6_UNICAST_HOPS)
+ else if (af == AF_INET6 && setsockopt(s, IPPROTO_IPV6,
+ IPV6_UNICAST_HOPS, &ttl, sizeof(ttl)))
+ err(1, "set IPv6 unicast hops");
+#else
+ else if (af == AF_INET6)
+ errx(1, "can't set IPv6 unicast hops (unavailable)");
+#endif
+ }
+
+ if (minttl != -1) {
+#if defined(IP_MINTTL)
+ if (af == AF_INET && setsockopt(s, IPPROTO_IP,
+ IP_MINTTL, &minttl, sizeof(minttl)))
+ err(1, "set IP min TTL");
+#else
+ if (af == AF_INET)
+ errx(1, "can't set IP min TTL (unavailable)");
+#endif
+
+#if defined(IPV6_MINHOPCOUNT)
+ else if (af == AF_INET6 && setsockopt(s, IPPROTO_IPV6,
+ IPV6_MINHOPCOUNT, &minttl, sizeof(minttl)))
+ err(1, "set IPv6 min hop count");
+#else
+ else if (af == AF_INET6)
+ errx(1, "can't set IPv6 min hop count (unavailable)");
+#endif
+ }
+}
+
+int
+process_tos_opt(char *s, int *val)
+{
+ /* DiffServ Codepoints and other TOS mappings */
+ const struct toskeywords {
+ const char *keyword;
+ int val;
+ } *t, toskeywords[] = {
+ { "af11", IPTOS_DSCP_AF11 },
+ { "af12", IPTOS_DSCP_AF12 },
+ { "af13", IPTOS_DSCP_AF13 },
+ { "af21", IPTOS_DSCP_AF21 },
+ { "af22", IPTOS_DSCP_AF22 },
+ { "af23", IPTOS_DSCP_AF23 },
+ { "af31", IPTOS_DSCP_AF31 },
+ { "af32", IPTOS_DSCP_AF32 },
+ { "af33", IPTOS_DSCP_AF33 },
+ { "af41", IPTOS_DSCP_AF41 },
+ { "af42", IPTOS_DSCP_AF42 },
+ { "af43", IPTOS_DSCP_AF43 },
+ { "critical", IPTOS_PREC_CRITIC_ECP },
+ { "cs0", IPTOS_DSCP_CS0 },
+ { "cs1", IPTOS_DSCP_CS1 },
+ { "cs2", IPTOS_DSCP_CS2 },
+ { "cs3", IPTOS_DSCP_CS3 },
+ { "cs4", IPTOS_DSCP_CS4 },
+ { "cs5", IPTOS_DSCP_CS5 },
+ { "cs6", IPTOS_DSCP_CS6 },
+ { "cs7", IPTOS_DSCP_CS7 },
+ { "ef", IPTOS_DSCP_EF },
+ { "inetcontrol", IPTOS_PREC_INTERNETCONTROL },
+ { "lowcost", IPTOS_LOWCOST },
+ { "lowdelay", IPTOS_LOWDELAY },
+ { "netcontrol", IPTOS_PREC_NETCONTROL },
+ { "reliability", IPTOS_RELIABILITY },
+ { "throughput", IPTOS_THROUGHPUT },
+ { NULL, -1 },
+ };
+
+ for (t = toskeywords; t->keyword != NULL; t++) {
+ if (strcmp(s, t->keyword) == 0) {
+ *val = t->val;
+ return 1;
+ }
+ }
+
+ return 0;
+}
+
+# if defined(TLS)
+int
+process_tls_opt(char *s, int *flags)
+{
+ size_t len;
+ char *v;
+
+ const struct tlskeywords {
+ const char *keyword;
+ int flag;
+ char **value;
+ } *t, tlskeywords[] = {
+ { "ciphers", -1, &tls_ciphers },
+ { "clientcert", TLS_CCERT, NULL },
+ { "muststaple", TLS_MUSTSTAPLE, NULL },
+ { "noverify", TLS_NOVERIFY, NULL },
+ { "noname", TLS_NONAME, NULL },
+ { "protocols", -1, &tls_protocols },
+ { NULL, -1, NULL },
+ };
+
+ len = strlen(s);
+ if ((v = strchr(s, '=')) != NULL) {
+ len = v - s;
+ v++;
+ }
+
+ for (t = tlskeywords; t->keyword != NULL; t++) {
+ if (strlen(t->keyword) == len &&
+ strncmp(s, t->keyword, len) == 0) {
+ if (t->value != NULL) {
+ if (v == NULL)
+ errx(1, "invalid tls value `%s'", s);
+ *t->value = v;
+ } else {
+ *flags |= t->flag;
+ }
+ return 1;
+ }
+ }
+ return 0;
+}
+
+void
+save_peer_cert(struct tls *tls_ctx, FILE *fp)
+{
+ const char *pem;
+ size_t plen;
+
+ if ((pem = tls_peer_cert_chain_pem(tls_ctx, &plen)) == NULL)
+ errx(1, "Can't get peer certificate");
+ if (fprintf(fp, "%.*s", (int)plen, pem) < 0)
+ err(1, "unable to save peer cert");
+ if (fflush(fp) != 0)
+ err(1, "unable to flush peer cert");
+}
+
+void
+report_tls(struct tls * tls_ctx, char * host)
+{
+ time_t t;
+ const char *ocsp_url;
+
+ fprintf(stderr, "TLS handshake negotiated %s/%s with host %s\n",
+ tls_conn_version(tls_ctx), tls_conn_cipher(tls_ctx), host);
+ fprintf(stderr, "Peer name: %s\n",
+ tls_expectname ? tls_expectname : host);
+ if (tls_peer_cert_subject(tls_ctx))
+ fprintf(stderr, "Subject: %s\n",
+ tls_peer_cert_subject(tls_ctx));
+ if (tls_peer_cert_issuer(tls_ctx))
+ fprintf(stderr, "Issuer: %s\n",
+ tls_peer_cert_issuer(tls_ctx));
+ if ((t = tls_peer_cert_notbefore(tls_ctx)) != -1)
+ fprintf(stderr, "Valid From: %s", ctime(&t));
+ if ((t = tls_peer_cert_notafter(tls_ctx)) != -1)
+ fprintf(stderr, "Valid Until: %s", ctime(&t));
+ if (tls_peer_cert_hash(tls_ctx))
+ fprintf(stderr, "Cert Hash: %s\n",
+ tls_peer_cert_hash(tls_ctx));
+ ocsp_url = tls_peer_ocsp_url(tls_ctx);
+ if (ocsp_url != NULL)
+ fprintf(stderr, "OCSP URL: %s\n", ocsp_url);
+ switch (tls_peer_ocsp_response_status(tls_ctx)) {
+ case TLS_OCSP_RESPONSE_SUCCESSFUL:
+ fprintf(stderr, "OCSP Stapling: %s\n",
+ tls_peer_ocsp_result(tls_ctx) == NULL ? "" :
+ tls_peer_ocsp_result(tls_ctx));
+ fprintf(stderr,
+ " response_status=%d cert_status=%d crl_reason=%d\n",
+ tls_peer_ocsp_response_status(tls_ctx),
+ tls_peer_ocsp_cert_status(tls_ctx),
+ tls_peer_ocsp_crl_reason(tls_ctx));
+ t = tls_peer_ocsp_this_update(tls_ctx);
+ fprintf(stderr, " this update: %s",
+ t != -1 ? ctime(&t) : "\n");
+ t = tls_peer_ocsp_next_update(tls_ctx);
+ fprintf(stderr, " next update: %s",
+ t != -1 ? ctime(&t) : "\n");
+ t = tls_peer_ocsp_revocation_time(tls_ctx);
+ fprintf(stderr, " revocation: %s",
+ t != -1 ? ctime(&t) : "\n");
+ break;
+ case -1:
+ break;
+ default:
+ fprintf(stderr, "OCSP Stapling: failure - response_status %d (%s)\n",
+ tls_peer_ocsp_response_status(tls_ctx),
+ tls_peer_ocsp_result(tls_ctx) == NULL ? "" :
+ tls_peer_ocsp_result(tls_ctx));
+ break;
+
+ }
+}
+# endif
+
+void
+report_sock(const char *msg, const struct sockaddr *sa, socklen_t salen,
+ char *path)
+{
+ char host[NI_MAXHOST], port[NI_MAXSERV];
+ int herr;
+ int flags = NI_NUMERICSERV;
+
+ if (path != NULL) {
+ fprintf(stderr, "%s on %s\n", msg, path);
+ return;
+ }
+
+ if (nflag)
+ flags |= NI_NUMERICHOST;
+
+ herr = getnameinfo(sa, salen, host, sizeof(host), port, sizeof(port),
+ flags);
+ switch (herr) {
+ case 0:
+ break;
+ case EAI_SYSTEM:
+ warn("getnameinfo");
+ return;
+ default:
+ warnx("getnameinfo: %s", gai_strerror(herr));
+ return;
+ }
+
+ fprintf(stderr, "%s on %s %s\n", msg, host, port);
+}
+
+void
+help(void)
+{
+# if defined(DEBIAN_VERSION)
+ fprintf(stderr, "OpenBSD netcat (Debian patchlevel " DEBIAN_VERSION ")\n");
+# endif
+ usage(0);
+ fprintf(stderr, "\tCommand Summary:\n\
+ \t-4 Use IPv4\n\
+ \t-6 Use IPv6\n\
+ \t-b Allow broadcast\n\
+ \t-C Send CRLF as line-ending\n\
+ \t-D Enable the debug socket option\n\
+ \t-d Detach from stdin\n\
+ \t-F Pass socket fd\n\
+ \t-h This help text\n\
+ \t-I length TCP receive buffer length\n\
+ \t-i interval Delay interval for lines sent, ports scanned\n\
+ \t-k Keep inbound sockets open for multiple connects\n\
+ \t-l Listen mode, for inbound connects\n\
+ \t-M ttl Outgoing TTL / Hop Limit\n\
+ \t-m minttl Minimum incoming TTL / Hop Limit\n\
+ \t-N Shutdown the network socket after EOF on stdin\n\
+ \t-n Suppress name/port resolutions\n\
+ \t-O length TCP send buffer length\n\
+ \t-P proxyuser\tUsername for proxy authentication\n\
+ \t-p port\t Specify local port for remote connects\n\
+ \t-q secs\t quit after EOF on stdin and delay of secs\n\
+ \t-r Randomize remote ports\n\
+ \t-S Enable the TCP MD5 signature option\n\
+ \t-s sourceaddr Local source address\n\
+ \t-T keyword TOS value\n\
+ \t-t Answer TELNET negotiation\n\
+ \t-U Use UNIX domain socket\n\
+ \t-u UDP mode\n\
+ \t-V rtable Specify alternate routing table\n\
+ \t-v Verbose\n\
+ \t-W recvlimit Terminate after receiving a number of packets\n\
+ \t-w timeout Timeout for connects and final net reads\n\
+ \t-X proto Proxy protocol: \"4\", \"5\" (SOCKS) or \"connect\"\n\
+ \t-x addr[:port]\tSpecify proxy address and port\n\
+ \t-Z DCCP mode\n\
+ \t-z Zero-I/O mode [used for scanning]\n\
+ Port numbers can be individual or ranges: lo-hi [inclusive]\n");
+ exit(0);
+}
+
+void
+usage(int ret)
+{
+ fprintf(stderr,
+ "usage: nc [-46CDdFhklNnrStUuvZz] [-I length] [-i interval] [-M ttl]\n"
+ "\t [-m minttl] [-O length] [-P proxy_username] [-p source_port]\n"
+ "\t [-q seconds] [-s sourceaddr] [-T keyword] [-V rtable] [-W recvlimit]\n"
+ "\t [-w timeout] [-X proxy_protocol] [-x proxy_address[:port]]\n"
+ "\t [destination] [port]\n");
+ if (ret)
+ exit(1);
+}
+
+/*
+ * quit()
+ * handler for a "-q" timeout (exit 0 instead of 1)
+ */
+static void quit()
+{
+ exit(0);
+}
diff --git a/package/netcat-openbsd/src/socks.c b/package/netcat-openbsd/src/socks.c
new file mode 100644
index 000000000..58fd5765b
--- /dev/null
+++ b/package/netcat-openbsd/src/socks.c
@@ -0,0 +1,400 @@
+/* $OpenBSD: socks.c,v 1.30 2019/11/04 17:33:28 millert Exp $ */
+
+/*
+ * Copyright (c) 1999 Niklas Hallqvist. All rights reserved.
+ * Copyright (c) 2004, 2005 Damien Miller. 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 ``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.
+ */
+
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
+#include <err.h>
+#include <errno.h>
+#include <netdb.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <resolv.h>
+#include <bsd/readpassphrase.h>
+#include "atomicio.h"
+
+#define SOCKS_PORT "1080"
+#define HTTP_PROXY_PORT "3128"
+#define HTTP_MAXHDRS 64
+#define SOCKS_V5 5
+#define SOCKS_V4 4
+#define SOCKS_NOAUTH 0
+#define SOCKS_NOMETHOD 0xff
+#define SOCKS_CONNECT 1
+#define SOCKS_IPV4 1
+#define SOCKS_DOMAIN 3
+#define SOCKS_IPV6 4
+
+int remote_connect(const char *, const char *, struct addrinfo, char *);
+int socks_connect(const char *, const char *, struct addrinfo,
+ const char *, const char *, struct addrinfo, int,
+ const char *);
+
+static int
+decode_addrport(const char *h, const char *p, struct sockaddr *addr,
+ socklen_t addrlen, int v4only, int numeric)
+{
+ int r;
+ struct addrinfo hints, *res;
+
+ memset(&hints, 0, sizeof(hints));
+ hints.ai_family = v4only ? PF_INET : PF_UNSPEC;
+ hints.ai_flags = numeric ? AI_NUMERICHOST : 0;
+ hints.ai_socktype = SOCK_STREAM;
+ r = getaddrinfo(h, p, &hints, &res);
+ /* Don't fatal when attempting to convert a numeric address */
+ if (r != 0) {
+ if (!numeric) {
+ errx(1, "getaddrinfo(\"%.64s\", \"%.64s\"): %s", h, p,
+ gai_strerror(r));
+ }
+ return (-1);
+ }
+ if (addrlen < res->ai_addrlen) {
+ freeaddrinfo(res);
+ errx(1, "internal error: addrlen < res->ai_addrlen");
+ }
+ memcpy(addr, res->ai_addr, res->ai_addrlen);
+ freeaddrinfo(res);
+ return (0);
+}
+
+static int
+proxy_read_line(int fd, char *buf, size_t bufsz)
+{
+ size_t off;
+
+ for(off = 0;;) {
+ if (off >= bufsz)
+ errx(1, "proxy read too long");
+ if (atomicio(read, fd, buf + off, 1) != 1)
+ err(1, "proxy read");
+ /* Skip CR */
+ if (buf[off] == '\r')
+ continue;
+ if (buf[off] == '\n') {
+ buf[off] = '\0';
+ break;
+ }
+ off++;
+ }
+ return (off);
+}
+
+static void
+getproxypass(const char *proxyuser, const char *proxyhost,
+ char *pw, size_t pwlen)
+{
+ char prompt[512];
+
+ snprintf(prompt, sizeof(prompt), "Proxy password for %s@%s: ",
+ proxyuser, proxyhost);
+ if (readpassphrase(prompt, pw, pwlen, RPP_REQUIRE_TTY) == NULL)
+ errx(1, "Unable to read proxy passphrase");
+}
+
+/*
+ * Error strings adapted from the generally accepted SOCKSv4 spec:
+ *
+ * http://ftp.icm.edu.pl/packages/socks/socks4/SOCKS4.protocol
+ */
+static const char *
+socks4_strerror(int e)
+{
+ switch (e) {
+ case 90:
+ return "Succeeded";
+ case 91:
+ return "Request rejected or failed";
+ case 92:
+ return "SOCKS server cannot connect to identd on the client";
+ case 93:
+ return "Client program and identd report different user-ids";
+ default:
+ return "Unknown error";
+ }
+}
+
+/*
+ * Error strings taken almost directly from RFC 1928.
+ */
+static const char *
+socks5_strerror(int e)
+{
+ switch (e) {
+ case 0:
+ return "Succeeded";
+ case 1:
+ return "General SOCKS server failure";
+ case 2:
+ return "Connection not allowed by ruleset";
+ case 3:
+ return "Network unreachable";
+ case 4:
+ return "Host unreachable";
+ case 5:
+ return "Connection refused";
+ case 6:
+ return "TTL expired";
+ case 7:
+ return "Command not supported";
+ case 8:
+ return "Address type not supported";
+ default:
+ return "Unknown error";
+ }
+}
+
+int
+socks_connect(const char *host, const char *port,
+ struct addrinfo hints __attribute__ ((__unused__)),
+ const char *proxyhost, const char *proxyport, struct addrinfo proxyhints,
+ int socksv, const char *proxyuser)
+{
+ int proxyfd, r, authretry = 0;
+ size_t hlen, wlen;
+ unsigned char buf[1024];
+ size_t cnt;
+ struct sockaddr_storage addr;
+ struct sockaddr_in *in4 = (struct sockaddr_in *)&addr;
+ struct sockaddr_in6 *in6 = (struct sockaddr_in6 *)&addr;
+ in_port_t serverport;
+
+ if (proxyport == NULL)
+ proxyport = (socksv == -1) ? HTTP_PROXY_PORT : SOCKS_PORT;
+
+ /* Abuse API to lookup port */
+ if (decode_addrport("0.0.0.0", port, (struct sockaddr *)&addr,
+ sizeof(addr), 1, 1) == -1)
+ errx(1, "unknown port \"%.64s\"", port);
+ serverport = in4->sin_port;
+
+ again:
+ if (authretry++ > 3)
+ errx(1, "Too many authentication failures");
+
+ proxyfd = remote_connect(proxyhost, proxyport, proxyhints, NULL);
+
+ if (proxyfd < 0)
+ return (-1);
+
+ if (socksv == 5) {
+ if (decode_addrport(host, port, (struct sockaddr *)&addr,
+ sizeof(addr), 0, 1) == -1)
+ addr.ss_family = 0; /* used in switch below */
+
+ /* Version 5, one method: no authentication */
+ buf[0] = SOCKS_V5;
+ buf[1] = 1;
+ buf[2] = SOCKS_NOAUTH;
+ cnt = atomicio(vwrite, proxyfd, buf, 3);
+ if (cnt != 3)
+ err(1, "write failed (%zu/3)", (size_t)cnt);
+
+ cnt = atomicio(read, proxyfd, buf, 2);
+ if (cnt != 2)
+ err(1, "read failed (%zu/3)", (size_t)cnt);
+
+ if (buf[1] == SOCKS_NOMETHOD)
+ errx(1, "authentication method negotiation failed");
+
+ switch (addr.ss_family) {
+ case 0:
+ /* Version 5, connect: domain name */
+
+ /* Max domain name length is 255 bytes */
+ hlen = strlen(host);
+ if (hlen > 255)
+ errx(1, "host name too long for SOCKS5");
+ buf[0] = SOCKS_V5;
+ buf[1] = SOCKS_CONNECT;
+ buf[2] = 0;
+ buf[3] = SOCKS_DOMAIN;
+ buf[4] = hlen;
+ memcpy(buf + 5, host, hlen);
+ memcpy(buf + 5 + hlen, &serverport, sizeof serverport);
+ wlen = 7 + hlen;
+ break;
+ case AF_INET:
+ /* Version 5, connect: IPv4 address */
+ buf[0] = SOCKS_V5;
+ buf[1] = SOCKS_CONNECT;
+ buf[2] = 0;
+ buf[3] = SOCKS_IPV4;
+ memcpy(buf + 4, &in4->sin_addr, sizeof in4->sin_addr);
+ memcpy(buf + 8, &in4->sin_port, sizeof in4->sin_port);
+ wlen = 10;
+ break;
+ case AF_INET6:
+ /* Version 5, connect: IPv6 address */
+ buf[0] = SOCKS_V5;
+ buf[1] = SOCKS_CONNECT;
+ buf[2] = 0;
+ buf[3] = SOCKS_IPV6;
+ memcpy(buf + 4, &in6->sin6_addr, sizeof in6->sin6_addr);
+ memcpy(buf + 20, &in6->sin6_port,
+ sizeof in6->sin6_port);
+ wlen = 22;
+ break;
+ default:
+ errx(1, "internal error: silly AF");
+ }
+
+ cnt = atomicio(vwrite, proxyfd, buf, wlen);
+ if (cnt != wlen)
+ err(1, "write failed (%zu/%zu)", (size_t)cnt, (size_t)wlen);
+
+ cnt = atomicio(read, proxyfd, buf, 4);
+ if (cnt != 4)
+ err(1, "read failed (%zu/4)", (size_t)cnt);
+ if (buf[1] != 0) {
+ errx(1, "connection failed, SOCKSv5 error: %s",
+ socks5_strerror(buf[1]));
+ }
+ switch (buf[3]) {
+ case SOCKS_IPV4:
+ cnt = atomicio(read, proxyfd, buf + 4, 6);
+ if (cnt != 6)
+ err(1, "read failed (%zu/6)", (size_t)cnt);
+ break;
+ case SOCKS_IPV6:
+ cnt = atomicio(read, proxyfd, buf + 4, 18);
+ if (cnt != 18)
+ err(1, "read failed (%zu/18)", (size_t)cnt);
+ break;
+ default:
+ errx(1, "connection failed, unsupported address type");
+ }
+ } else if (socksv == 4) {
+ /* This will exit on lookup failure */
+ decode_addrport(host, port, (struct sockaddr *)&addr,
+ sizeof(addr), 1, 0);
+
+ /* Version 4 */
+ buf[0] = SOCKS_V4;
+ buf[1] = SOCKS_CONNECT; /* connect */
+ memcpy(buf + 2, &in4->sin_port, sizeof in4->sin_port);
+ memcpy(buf + 4, &in4->sin_addr, sizeof in4->sin_addr);
+ buf[8] = 0; /* empty username */
+ wlen = 9;
+
+ cnt = atomicio(vwrite, proxyfd, buf, wlen);
+ if (cnt != wlen)
+ err(1, "write failed (%zu/%zu)", (size_t)cnt, (size_t)wlen);
+
+ cnt = atomicio(read, proxyfd, buf, 8);
+ if (cnt != 8)
+ err(1, "read failed (%zu/8)", (size_t)cnt);
+ if (buf[1] != 90) {
+ errx(1, "connection failed, SOCKSv4 error: %s",
+ socks4_strerror(buf[1]));
+ }
+ } else if (socksv == -1) {
+ /* HTTP proxy CONNECT */
+
+ /* Disallow bad chars in hostname */
+ if (strcspn(host, "\r\n\t []:") != strlen(host))
+ errx(1, "Invalid hostname");
+
+ /* Try to be sane about numeric IPv6 addresses */
+ if (strchr(host, ':') != NULL) {
+ r = snprintf((char*)buf, sizeof(buf),
+ "CONNECT [%s]:%d HTTP/1.0\r\n",
+ host, ntohs(serverport));
+ } else {
+ r = snprintf((char*)buf, sizeof(buf),
+ "CONNECT %s:%d HTTP/1.0\r\n",
+ host, ntohs(serverport));
+ }
+ if (r < 0 || (size_t)r >= sizeof(buf))
+ errx(1, "hostname too long");
+ r = strlen((char*)buf);
+
+ cnt = atomicio(vwrite, proxyfd, buf, r);
+ if (cnt != r)
+ err(1, "write failed (%zu/%d)", (size_t)cnt, (int)r);
+
+ if (authretry > 1) {
+ char proxypass[256];
+ char resp[1024];
+
+ getproxypass(proxyuser, proxyhost,
+ proxypass, sizeof proxypass);
+ r = snprintf((char*)buf, sizeof(buf), "%s:%s",
+ proxyuser, proxypass);
+ explicit_bzero(proxypass, sizeof proxypass);
+ if (r == -1 || (size_t)r >= sizeof(buf) ||
+ b64_ntop(buf, strlen((char*)buf), resp,
+ sizeof(resp)) == -1)
+ errx(1, "Proxy username/password too long");
+ r = snprintf((char*)buf, sizeof(buf), "Proxy-Authorization: "
+ "Basic %s\r\n", resp);
+ if (r < 0 || (size_t)r >= sizeof(buf))
+ errx(1, "Proxy auth response too long");
+ r = strlen((char*)buf);
+ if ((cnt = atomicio(vwrite, proxyfd, buf, r)) != r)
+ err(1, "write failed (%zu/%d)", (size_t)cnt, r);
+ explicit_bzero(proxypass, sizeof proxypass);
+ explicit_bzero(buf, sizeof buf);
+ }
+
+ /* Terminate headers */
+ if ((cnt = atomicio(vwrite, proxyfd, "\r\n", 2)) != 2)
+ err(1, "write failed (%zu/2)", cnt);
+
+ /* Read status reply */
+ proxy_read_line(proxyfd, (char*)buf, sizeof(buf));
+ if (proxyuser != NULL &&
+ (strncmp((char*)buf, "HTTP/1.0 407 ", 12) == 0 ||
+ strncmp((char*)buf, "HTTP/1.1 407 ", 12) == 0)) {
+ if (authretry > 1) {
+ fprintf(stderr, "Proxy authentication "
+ "failed\n");
+ }
+ close(proxyfd);
+ goto again;
+ } else if (strncmp((char*)buf, "HTTP/1.0 200 ", 12) != 0 &&
+ strncmp((char*)buf, "HTTP/1.1 200 ", 12) != 0)
+ errx(1, "Proxy error: \"%s\"", buf);
+
+ /* Headers continue until we hit an empty line */
+ for (r = 0; r < HTTP_MAXHDRS; r++) {
+ proxy_read_line(proxyfd, (char*)buf, sizeof(buf));
+ if (*buf == '\0')
+ break;
+ }
+ if (*buf != '\0')
+ errx(1, "Too many proxy headers received");
+ } else
+ errx(1, "Unknown proxy protocol %d", socksv);
+
+ return (proxyfd);
+}
diff --git a/package/netperf/Makefile b/package/netperf/Makefile
index 713cd4b9a..59781944b 100644
--- a/package/netperf/Makefile
+++ b/package/netperf/Makefile
@@ -18,6 +18,7 @@ include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,NETPERF,netperf,${PKG_VERSION}${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+TARGET_CFLAGS+= -fcommon
# uClibc setpgrp does not take arguments
CONFIGURE_ENV+= ac_cv_func_setpgrp_void=yes
diff --git a/package/nfs-utils/Makefile b/package/nfs-utils/Makefile
index fb0982fc7..d2bdba4ba 100644
--- a/package/nfs-utils/Makefile
+++ b/package/nfs-utils/Makefile
@@ -4,13 +4,14 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= nfs-utils
-PKG_VERSION:= 2.3.1
+PKG_VERSION:= 2.6.4
PKG_RELEASE:= 1
-PKG_HASH:= ca92f1ab86b2af4dcd62d7716d46a6cdec268e83fe8d564cd8ff1464cc495989
+PKG_HASH:= c0ae376ac056011ed0954deba2362d7d8193c653b500b68a543aec512cd2ecfa
PKG_DESCR:= network filesystem utilities
PKG_SECTION:= net/fs
-PKG_DEPENDS:= keyutils libtirpc rpcbind
-PKG_BUILDDEP:= keyutils libtirpc
+PKG_DEPENDS:= keyutils libtirpc rpcbind libmount libuuid libevent sqlite
+PKG_DEPENDS+= libncurses libblkid
+PKG_BUILDDEP:= keyutils libtirpc util-linux libevent sqlite ncurses
PKG_KDEPENDS:= nfs-fs
PKG_NEEDS:= threads
PKG_URL:= http://sourceforge.net/projects/nfs
@@ -58,8 +59,7 @@ CONFIGURE_ARGS+= --without-tcp-wrappers \
--with-rpcgen=internal \
--disable-caps \
--enable-tirpc \
- --with-tirpcinclude=${STAGING_TARGET_DIR}/usr/include/tirpc \
- --disable-uuid
+ --with-tirpcinclude=${STAGING_TARGET_DIR}/usr/include/tirpc
nfs-utils-client-install:
${INSTALL_DIR} ${IDIR_NFS_UTILS_CLIENT}/sbin
diff --git a/package/nfs-utils/files/nfsd.exports b/package/nfs-utils/files/nfsd.exports
index 432ebe177..1a9d3ef90 100644
--- a/package/nfs-utils/files/nfsd.exports
+++ b/package/nfs-utils/files/nfsd.exports
@@ -1,6 +1,6 @@
# on embedded devices with MTD you can _only_ export usb disks or sticks
# for nfsv3
-#/media *(ro,no_root_squash,insecure,no_subtree_check,crossmnt)
+#/media *(ro,fsid=0,no_root_squash,insecure,no_subtree_check,crossmnt)
# for nfsv4, do mount --bind /srv/music /nfs4/music and
# set nfs_server_version 4 in /etc/rc.conf
#/nfs4 hostname(rw,sync,fsid=0,crossmnt,no_subtree_check)
diff --git a/package/nfs-utils/patches/patch-support_export_hostname_c b/package/nfs-utils/patches/patch-support_export_hostname_c
deleted file mode 100644
index 731d18fd9..000000000
--- a/package/nfs-utils/patches/patch-support_export_hostname_c
+++ /dev/null
@@ -1,20 +0,0 @@
---- nfs-utils-1.3.4.orig/support/export/hostname.c 2016-08-03 20:25:15.000000000 +0200
-+++ nfs-utils-1.3.4/support/export/hostname.c 2016-10-08 17:55:01.000000000 +0200
-@@ -384,6 +384,7 @@ host_numeric_addrinfo(const struct socka
-
- ai = host_pton(buf);
-
-+#if !definded(__UCLIBC__) && defined(__GLIBC__)
- /*
- * getaddrinfo(AI_NUMERICHOST) never fills in ai_canonname
- */
-@@ -394,7 +395,9 @@ host_numeric_addrinfo(const struct socka
- ai = NULL;
- }
- }
-+#endif
-
- return ai;
- }
-+
- #endif /* !HAVE_GETNAMEINFO */
diff --git a/package/nfs-utils/patches/patch-support_include_conffile_h b/package/nfs-utils/patches/patch-support_include_conffile_h
deleted file mode 100644
index f49b79b38..000000000
--- a/package/nfs-utils/patches/patch-support_include_conffile_h
+++ /dev/null
@@ -1,11 +0,0 @@
---- nfs-utils-2.1.1.orig/support/include/conffile.h 2017-01-12 16:21:39.000000000 +0100
-+++ nfs-utils-2.1.1/support/include/conffile.h 2017-08-12 18:53:54.262608096 +0200
-@@ -33,7 +33,7 @@
- #ifndef _CONFFILE_H_
- #define _CONFFILE_H_
-
--#include <sys/queue.h>
-+#include "queue.h"
- #include <ctype.h>
- #include <stdint.h>
- #include <stdbool.h>
diff --git a/package/nfs-utils/patches/patch-support_reexport_fsidd_c b/package/nfs-utils/patches/patch-support_reexport_fsidd_c
new file mode 100644
index 000000000..562ed4caa
--- /dev/null
+++ b/package/nfs-utils/patches/patch-support_reexport_fsidd_c
@@ -0,0 +1,10 @@
+--- nfs-utils-2.6.4.orig/support/reexport/fsidd.c 2023-11-17 18:32:39.000000000 +0100
++++ nfs-utils-2.6.4/support/reexport/fsidd.c 2024-01-04 13:47:58.231661971 +0100
+@@ -6,6 +6,7 @@
+ #ifdef HAVE_DLFCN_H
+ #include <dlfcn.h>
+ #endif
++#include <unistd.h>
+ #include <event2/event.h>
+
+ #include "conffile.h"
diff --git a/package/nfs-utils/patches/patch-support_reexport_reexport_c b/package/nfs-utils/patches/patch-support_reexport_reexport_c
new file mode 100644
index 000000000..9a491bdaf
--- /dev/null
+++ b/package/nfs-utils/patches/patch-support_reexport_reexport_c
@@ -0,0 +1,10 @@
+--- nfs-utils-2.6.4.orig/support/reexport/reexport.c 2023-11-17 18:32:39.000000000 +0100
++++ nfs-utils-2.6.4/support/reexport/reexport.c 2024-01-04 13:47:43.771377090 +0100
+@@ -5,6 +5,7 @@
+ #ifdef HAVE_DLFCN_H
+ #include <dlfcn.h>
+ #endif
++#include <unistd.h>
+ #include <sys/types.h>
+ #include <sys/vfs.h>
+ #include <errno.h>
diff --git a/package/nfs-utils/patches/patch-tools_Makefile_am b/package/nfs-utils/patches/patch-tools_Makefile_am
deleted file mode 100644
index dda2eeba5..000000000
--- a/package/nfs-utils/patches/patch-tools_Makefile_am
+++ /dev/null
@@ -1,10 +0,0 @@
---- nfs-utils-1.3.0.orig/tools/Makefile.am 2014-03-25 16:12:07.000000000 +0100
-+++ nfs-utils-1.3.0/tools/Makefile.am 2014-05-13 21:09:39.000000000 +0200
-@@ -6,6 +6,6 @@ if CONFIG_RPCGEN
- OPTDIRS += rpcgen
- endif
-
--SUBDIRS = locktest rpcdebug nlmtest mountstats nfs-iostat $(OPTDIRS)
-+SUBDIRS = $(OPTDIRS)
-
- MAINTAINERCLEANFILES = Makefile.in
diff --git a/package/nfs-utils/patches/patch-tools_rpcgen_Makefile_am b/package/nfs-utils/patches/patch-tools_rpcgen_Makefile_am
index 5da9c311e..83e03f263 100644
--- a/package/nfs-utils/patches/patch-tools_rpcgen_Makefile_am
+++ b/package/nfs-utils/patches/patch-tools_rpcgen_Makefile_am
@@ -1,25 +1,13 @@
---- nfs-utils-1.3.0.orig/tools/rpcgen/Makefile.am 2014-03-25 16:12:07.000000000 +0100
-+++ nfs-utils-1.3.0/tools/rpcgen/Makefile.am 2014-05-20 11:40:39.333034278 +0200
-@@ -1,7 +1,9 @@
- ## Process this file with automake to produce Makefile.in
+--- nfs-utils-2.6.4.orig/tools/rpcgen/Makefile.am 2023-11-17 18:32:39.000000000 +0100
++++ nfs-utils-2.6.4/tools/rpcgen/Makefile.am 2024-01-04 13:27:43.388279004 +0100
+@@ -1,5 +1,10 @@
+ CLEANFILES = *~
- CC=$(CC_FOR_BUILD)
--LIBTOOL = @LIBTOOL@ --tag=CC
++CC=$(CC_FOR_BUILD)
+CFLAGS=$(CFLAGS_FOR_BUILD)
+CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
+LDFLAGS=$(LDFLAGS_FOR_BUILD)
++
+ bin_PROGRAMS = rpcgen
+ man_MANS = rpcgen.1
- noinst_PROGRAMS = rpcgen
- rpcgen_SOURCES = rpc_clntout.c rpc_cout.c rpc_hout.c rpc_main.c \
-@@ -9,11 +11,6 @@ rpcgen_SOURCES = rpc_clntout.c rpc_cout.
- rpc_util.c rpc_sample.c rpc_output.h rpc_parse.h \
- rpc_scan.h rpc_util.h
-
--rpcgen_CFLAGS=$(CFLAGS_FOR_BUILD)
--rpcgen_CPPLAGS=$(CPPFLAGS_FOR_BUILD)
--rpcgen_LDFLAGS=$(LDFLAGS_FOR_BUILD)
--rpcgen_LDADD=$(LIBTIRPC)
--
- MAINTAINERCLEANFILES = Makefile.in
-
- EXTRA_DIST = rpcgen.new.1
diff --git a/package/nfs-utils/patches/patch-tools_rpcgen_rpc_cout_c b/package/nfs-utils/patches/patch-tools_rpcgen_rpc_cout_c
deleted file mode 100644
index a94015405..000000000
--- a/package/nfs-utils/patches/patch-tools_rpcgen_rpc_cout_c
+++ /dev/null
@@ -1,10 +0,0 @@
---- nfs-utils-1.2.3.orig/tools/rpcgen/rpc_cout.c 2010-09-28 14:24:16.000000000 +0200
-+++ nfs-utils-1.2.3/tools/rpcgen/rpc_cout.c 2010-12-24 15:51:41.000000000 +0100
-@@ -36,7 +36,6 @@ static char sccsid[] = "@(#)rpc_cout.c 1
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
--#include <malloc.h>
- #include <ctype.h>
- #include "rpc_parse.h"
- #include "rpc_util.h"
diff --git a/package/nfs-utils/patches/patch-tools_rpcgen_rpc_main_c b/package/nfs-utils/patches/patch-tools_rpcgen_rpc_main_c
deleted file mode 100644
index 1d7937005..000000000
--- a/package/nfs-utils/patches/patch-tools_rpcgen_rpc_main_c
+++ /dev/null
@@ -1,38 +0,0 @@
---- nfs-utils-1.3.4.orig/tools/rpcgen/rpc_main.c 2016-08-03 20:25:15.000000000 +0200
-+++ nfs-utils-1.3.4/tools/rpcgen/rpc_main.c 2016-10-08 09:58:39.000000000 +0200
-@@ -156,11 +156,7 @@ int timerflag; /* TRUE if !indefinite &
- int newstyle; /* newstyle of passing arguments (by value) */
- int Cflag = 0 ; /* ANSI C syntax */
- static int allfiles; /* generate all files */
--#ifdef linux
- int tirpcflag = 0; /* no tirpc by default */
--#else
--int tirpcflag = 1; /* generating code for tirpc, by default */
--#endif
-
- int
- main(int argc, char **argv)
-@@ -544,13 +540,8 @@ s_output(int argc, char **argv, char *in
- timerflag = 1;
- }
-
--#ifndef linux
-- if( !tirpcflag && inetdflag )
-- f_print(fout, "#include <sys/ttycom.h>/* TIOCNOTTY */\n");
--#else
- if( !tirpcflag )
- f_print(fout, "#include <sys/ioctl.h>/* TIOCNOTTY */\n");
--#endif
- if( Cflag && (inetdflag || pmflag ) ) {
- f_print(fout, "#ifdef __cplusplus\n");
- f_print(fout, "#include <sysent.h> /* getdtablesize, open */\n");
-@@ -563,9 +554,6 @@ s_output(int argc, char **argv, char *in
- f_print(fout, "#include <sys/types.h>\n");
-
- f_print(fout, "#include <memory.h>\n");
--#ifndef linux
-- f_print(fout, "#include <stropts.h>\n");
--#endif
- if (inetdflag || !tirpcflag ) {
- f_print(fout, "#include <sys/socket.h>\n");
- f_print(fout, "#include <netinet/in.h>\n");
diff --git a/package/nfs-utils/patches/patch-utils_mountd_v4root_c b/package/nfs-utils/patches/patch-utils_mountd_v4root_c
deleted file mode 100644
index bba60a48d..000000000
--- a/package/nfs-utils/patches/patch-utils_mountd_v4root_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- nfs-utils-3e2ab78a2cfbc2d11c31ced8d3f538d5aae757f1.orig/utils/mountd/v4root.c 2016-10-01 21:41:15.000000000 +0200
-+++ nfs-utils-3e2ab78a2cfbc2d11c31ced8d3f538d5aae757f1/utils/mountd/v4root.c 2016-10-02 08:52:21.000000000 +0200
-@@ -13,7 +13,7 @@
-
- #include <sys/types.h>
- #include <sys/stat.h>
--#include <sys/queue.h>
-+#include "queue.h"
- #include <stdio.h>
- #include <stdlib.h>
- #include <ctype.h>
diff --git a/package/nfs-utils/patches/patch-utils_statd_rmtcall_c b/package/nfs-utils/patches/patch-utils_statd_rmtcall_c
deleted file mode 100644
index 102794697..000000000
--- a/package/nfs-utils/patches/patch-utils_statd_rmtcall_c
+++ /dev/null
@@ -1,13 +0,0 @@
---- nfs-utils-1.3.4.orig/utils/statd/rmtcall.c 2016-08-03 20:25:15.000000000 +0200
-+++ nfs-utils-1.3.4/utils/statd/rmtcall.c 2016-10-08 17:55:10.000000000 +0200
-@@ -93,8 +93,10 @@ statd_get_socket(void)
- __func__);
- break;
- }
-+#if 0
- se = getservbyport(sin.sin_port, "udp");
- if (se == NULL)
-+#endif
- break;
-
- if (retries == MAX_BRP_RETRIES) {
diff --git a/package/nginx/Makefile b/package/nginx/Makefile
index fc43d851d..6a13c1277 100644
--- a/package/nginx/Makefile
+++ b/package/nginx/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= nginx
-PKG_VERSION:= 1.12.0
+PKG_VERSION:= 1.25.3
PKG_RELEASE:= 1
-PKG_HASH:= b4222e26fdb620a8d3c3a3a8b955e08b713672e1bc5198d1e4f462308a795b30
+PKG_HASH:= 64c5b975ca287939e828303fa857d22f142b251f17808dfe41733512d9cded86
PKG_DESCR:= powerful http reverse proxy and webserver
PKG_SECTION:= net/http
PKG_BUILDDEP:= pcre zlib
@@ -47,7 +47,8 @@ CONFIGURE_ARGS:= --prefix=/srv/www \
--http-proxy-temp-path=/var/lib/nginx/proxy \
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
--http-scgi-temp-path=/var/lib/nginx/uwsgi \
- --http-uwsgi-temp-path=/var/lib/nginx/uwsgi
+ --http-uwsgi-temp-path=/var/lib/nginx/uwsgi \
+ --without-http_upstream_zone_module
ifeq ($(ADK_PACKAGE_NGINX_WITH_LIBRESSL),y)
CONFIGURE_ARGS+= --with-http_ssl_module
diff --git a/package/nginx/files/nginx.conf b/package/nginx/files/nginx.conf
index ea11ef025..bc80bef6a 100644
--- a/package/nginx/files/nginx.conf
+++ b/package/nginx/files/nginx.conf
@@ -1,4 +1,5 @@
-worker_processes 1;
+user nginx;
+worker_processes 4;
events {
worker_connections 1024;
@@ -16,7 +17,7 @@ http {
root /srv/www/htdocs;
location ~ \.php$ {
- fastcgi_pass unix:/var/run/php5.sock;
+ fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
diff --git a/package/nginx/files/nginx.postinst b/package/nginx/files/nginx.postinst
index 557ccd181..322e99e06 100644
--- a/package/nginx/files/nginx.postinst
+++ b/package/nginx/files/nginx.postinst
@@ -1,3 +1,6 @@
#!/bin/sh
. $IPKG_INSTROOT/etc/functions.sh
+gid=$(get_next_gid)
+add_user nginx $(get_next_uid) $gid /srv/www
+add_group nginx $gid
add_rcconf nginx NO
diff --git a/package/nginx/patches/patch-auto_cc_conf b/package/nginx/patches/patch-auto_cc_conf
deleted file mode 100644
index 99550ab48..000000000
--- a/package/nginx/patches/patch-auto_cc_conf
+++ /dev/null
@@ -1,28 +0,0 @@
---- nginx-1.9.12.orig/auto/cc/conf 2016-02-24 15:53:23.000000000 +0100
-+++ nginx-1.9.12/auto/cc/conf 2016-03-04 19:56:52.000000000 +0100
-@@ -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
-+ ngx_feature_run_force_result="$ngx_force_gcc_have_atomic"
- ngx_feature_incs=
- ngx_feature_path=
- ngx_feature_libs=
-@@ -200,7 +201,7 @@ if [ "$NGX_PLATFORM" != win32 ]; then
- else
- ngx_feature="C99 variadic macros"
- ngx_feature_name="NGX_HAVE_C99_VARIADIC_MACROS"
-- ngx_feature_run=yes
-+ ngx_feature_run=no
- ngx_feature_incs="#include <stdio.h>
- #define var(dummy, ...) sprintf(__VA_ARGS__)"
- ngx_feature_path=
-@@ -214,7 +215,7 @@ if [ "$NGX_PLATFORM" != win32 ]; then
-
- ngx_feature="gcc variadic macros"
- ngx_feature_name="NGX_HAVE_GCC_VARIADIC_MACROS"
-- ngx_feature_run=yes
-+ ngx_feature_run=no
- ngx_feature_incs="#include <stdio.h>
- #define var(dummy, args...) sprintf(args)"
- ngx_feature_path=
diff --git a/package/nginx/patches/patch-auto_os_darwin b/package/nginx/patches/patch-auto_os_darwin
index 456c4a7d3..eb10369e6 100644
--- a/package/nginx/patches/patch-auto_os_darwin
+++ b/package/nginx/patches/patch-auto_os_darwin
@@ -1,6 +1,6 @@
---- nginx-1.9.12.orig/auto/os/darwin 2016-02-24 15:53:23.000000000 +0100
-+++ nginx-1.9.12/auto/os/darwin 2016-03-04 19:56:52.000000000 +0100
-@@ -30,6 +30,7 @@ NGX_KQUEUE_CHECKED=YES
+--- nginx-1.21.3.orig/auto/os/darwin 2021-09-07 17:21:03.000000000 +0200
++++ nginx-1.21.3/auto/os/darwin 2021-10-29 14:50:09.085546624 +0200
+@@ -33,6 +33,7 @@ NGX_KQUEUE_CHECKED=YES
ngx_feature="kqueue's EVFILT_TIMER"
ngx_feature_name="NGX_HAVE_TIMER_EVENT"
ngx_feature_run=yes
@@ -8,7 +8,7 @@
ngx_feature_incs="#include <sys/event.h>
#include <sys/time.h>"
ngx_feature_path=
-@@ -60,6 +61,7 @@ ngx_feature_test="int kq;
+@@ -63,6 +64,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
@@ -16,7 +16,7 @@
ngx_feature_incs="#include <sys/event.h>
#include <sys/time.h>"
ngx_feature_path=
-@@ -90,6 +92,7 @@ CC_AUX_FLAGS="$CC_AUX_FLAGS"
+@@ -92,6 +94,7 @@ ngx_feature_test="int kq;
ngx_feature="sendfile()"
ngx_feature_name="NGX_HAVE_SENDFILE"
ngx_feature_run=yes
diff --git a/package/nginx/patches/patch-auto_os_linux b/package/nginx/patches/patch-auto_os_linux
index 0281b2def..0e33cb195 100644
--- a/package/nginx/patches/patch-auto_os_linux
+++ b/package/nginx/patches/patch-auto_os_linux
@@ -1,5 +1,5 @@
---- nginx-1.11.10.orig/auto/os/linux 2017-02-14 16:36:04.000000000 +0100
-+++ nginx-1.11.10/auto/os/linux 2017-03-18 08:19:23.069283778 +0100
+--- nginx-1.21.3.orig/auto/os/linux 2021-09-07 17:21:03.000000000 +0200
++++ nginx-1.21.3/auto/os/linux 2021-10-29 14:50:09.089546624 +0200
@@ -36,7 +36,7 @@ fi
ngx_feature="epoll"
@@ -9,7 +9,7 @@
ngx_feature_incs="#include <sys/epoll.h>"
ngx_feature_path=
ngx_feature_libs=
-@@ -110,7 +110,7 @@ ngx_feature_test="int fd; struct stat sb
+@@ -135,7 +135,7 @@ ngx_feature_test="int fd; struct stat sb
CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURCE"
ngx_feature="sendfile()"
ngx_feature_name="NGX_HAVE_SENDFILE"
@@ -18,7 +18,7 @@
ngx_feature_incs="#include <sys/sendfile.h>
#include <errno.h>"
ngx_feature_path=
-@@ -131,7 +131,7 @@ fi
+@@ -156,7 +156,7 @@ fi
CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64"
ngx_feature="sendfile64()"
ngx_feature_name="NGX_HAVE_SENDFILE64"
@@ -27,7 +27,7 @@
ngx_feature_incs="#include <sys/sendfile.h>
#include <errno.h>"
ngx_feature_path=
-@@ -149,7 +149,7 @@ ngx_include="sys/prctl.h"; . auto/includ
+@@ -174,7 +174,7 @@ ngx_include="sys/prctl.h"; . auto/includ
ngx_feature="prctl(PR_SET_DUMPABLE)"
ngx_feature_name="NGX_HAVE_PR_SET_DUMPABLE"
@@ -36,8 +36,8 @@
ngx_feature_incs="#include <sys/prctl.h>"
ngx_feature_path=
ngx_feature_libs=
-@@ -170,20 +170,6 @@ ngx_feature_test="cpu_set_t mask;
- sched_setaffinity(0, sizeof(cpu_set_t), &mask)"
+@@ -215,20 +215,6 @@ ngx_feature_test="struct __user_cap_data
+ (void) SYS_capset"
. auto/feature
-
diff --git a/package/nginx/patches/patch-auto_unix b/package/nginx/patches/patch-auto_unix
index ceaf9eb2a..796bd5cc6 100644
--- a/package/nginx/patches/patch-auto_unix
+++ b/package/nginx/patches/patch-auto_unix
@@ -1,56 +1,6 @@
---- nginx-1.11.10.orig/auto/unix 2017-02-14 16:36:04.000000000 +0100
-+++ nginx-1.11.10/auto/unix 2017-03-18 08:19:23.073283934 +0100
-@@ -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
-+ ngx_feature_run_force_result="$ngx_force_have_timer_event"
- ngx_feature_incs="#include <sys/event.h>
- #include <sys/time.h>"
- ngx_feature_path=
-@@ -702,6 +703,7 @@ ngx_feature_test="char buf[1]; struct io
- ngx_feature="sys_nerr"
- ngx_feature_name="NGX_SYS_NERR"
- ngx_feature_run=value
-+ngx_feature_run_force_result="$ngx_force_sys_nerr"
- ngx_feature_incs='#include <errno.h>
- #include <stdio.h>'
- ngx_feature_path=
-@@ -716,6 +718,7 @@ if [ $ngx_found = no ]; then
- ngx_feature="_sys_nerr"
- ngx_feature_name="NGX_SYS_NERR"
- ngx_feature_run=value
-+ ngx_feature_run_force_result="$ngx_force_sys_nerr"
- ngx_feature_incs='#include <errno.h>
- #include <stdio.h>'
- ngx_feature_path=
-@@ -731,6 +734,7 @@ if [ $ngx_found = no ]; then
- ngx_feature='maximum errno'
- ngx_feature_name=NGX_SYS_NERR
- ngx_feature_run=value
-+ ngx_feature_run_force_result="$ngx_force_sys_nerr"
- ngx_feature_incs='#include <errno.h>
- #include <string.h>
- #include <stdio.h>'
-@@ -788,7 +792,7 @@ ngx_feature_test="void *p; p = memalign(
-
- ngx_feature="mmap(MAP_ANON|MAP_SHARED)"
- ngx_feature_name="NGX_HAVE_MAP_ANON"
--ngx_feature_run=yes
-+ngx_feature_run=no
- ngx_feature_incs="#include <sys/mman.h>"
- ngx_feature_path=
- ngx_feature_libs=
-@@ -801,7 +805,7 @@ ngx_feature_test="void *p;
-
- ngx_feature='mmap("/dev/zero", MAP_SHARED)'
- ngx_feature_name="NGX_HAVE_MAP_DEVZERO"
--ngx_feature_run=yes
-+ngx_feature_run=no
- ngx_feature_incs="#include <sys/mman.h>
- #include <sys/stat.h>
- #include <fcntl.h>"
-@@ -816,7 +820,7 @@ ngx_feature_test='void *p; int fd;
+--- nginx-1.21.3.orig/auto/unix 2021-09-07 17:21:03.000000000 +0200
++++ nginx-1.21.3/auto/unix 2021-10-29 14:54:32.249555992 +0200
+@@ -833,7 +833,7 @@ ngx_feature_test='void *p; int fd;
ngx_feature="System V shared memory"
ngx_feature_name="NGX_HAVE_SYSVSHM"
@@ -59,7 +9,7 @@
ngx_feature_incs="#include <sys/ipc.h>
#include <sys/shm.h>"
ngx_feature_path=
-@@ -830,7 +834,7 @@ ngx_feature_test="int id;
+@@ -847,7 +847,7 @@ ngx_feature_test="int id;
ngx_feature="POSIX semaphores"
ngx_feature_name="NGX_HAVE_POSIX_SEM"
diff --git a/package/nginx/patches/patch-src_os_unix_ngx_errno_c b/package/nginx/patches/patch-src_os_unix_ngx_errno_c
index 70020937a..fc9142273 100644
--- a/package/nginx/patches/patch-src_os_unix_ngx_errno_c
+++ b/package/nginx/patches/patch-src_os_unix_ngx_errno_c
@@ -1,5 +1,5 @@
---- nginx-1.2.2.orig/src/os/unix/ngx_errno.c 2012-07-02 18:51:02.000000000 +0200
-+++ nginx-1.2.2/src/os/unix/ngx_errno.c 2012-07-16 09:32:48.000000000 +0200
+--- nginx-1.21.3.orig/src/os/unix/ngx_errno.c 2021-09-07 17:21:03.000000000 +0200
++++ nginx-1.21.3/src/os/unix/ngx_errno.c 2021-10-29 14:50:09.101546624 +0200
@@ -8,6 +8,9 @@
#include <ngx_config.h>
#include <ngx_core.h>
@@ -8,5 +8,5 @@
+#define NGX_SYS_NERR 128
+#endif
- /*
- * The strerror() messages are copied because:
+ static ngx_str_t ngx_unknown_error = ngx_string("Unknown error");
+
diff --git a/package/ninja/patches/patch-configure_py b/package/ninja/patches/patch-configure_py
new file mode 100644
index 000000000..cb743c891
--- /dev/null
+++ b/package/ninja/patches/patch-configure_py
@@ -0,0 +1,8 @@
+--- ninja-1.8.2.orig/configure.py 2017-09-11 03:20:10.000000000 +0200
++++ ninja-1.8.2/configure.py 2021-09-21 11:39:51.729841404 +0200
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ #
+ # Copyright 2001 Google Inc. All Rights Reserved.
+ #
diff --git a/package/nmap/Makefile b/package/nmap/Makefile
index eb6f34892..d8164a379 100644
--- a/package/nmap/Makefile
+++ b/package/nmap/Makefile
@@ -4,13 +4,13 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= nmap
-PKG_VERSION:= 7.40
+PKG_VERSION:= 7.92
PKG_RELEASE:= 1
-PKG_HASH:= 9e14665fffd054554d129d62c13ad95a7b5c7a046daa2290501909e65f4d3188
+PKG_HASH:= a5479f2f8a6b0b2516767d2f7189c386c1dc858d997167d7ec5cfc798c7571a1
PKG_DESCR:= utility for network exploration or security auditing
PKG_SECTION:= net/security
-PKG_DEPENDS:= libdnet libpcap libpcre
-PKG_BUILDDEP:= libdnet libpcap pcre
+PKG_DEPENDS:= libdnet libpcap libpcre zlib
+PKG_BUILDDEP:= libdnet libpcap pcre zlib
PKG_NEEDS:= c++
PKG_URL:= http://nmap.org/
PKG_SITES:= http://download.insecure.org/nmap/dist/
@@ -26,16 +26,18 @@ TARGET_LDFLAGS+= -lpthread
CONFIGURE_ENV+= ac_cv_dnet_bsd_bpf=no
CONFIGURE_ARGS+= --without-openssl \
--without-zenmap \
+ --without-nping \
--without-ndiff \
--without-liblua \
--with-libpcap="${STAGING_TARGET_DIR}/usr" \
--with-libpcre="${STAGING_TARGET_DIR}/usr" \
+ --with-zlib="${STAGING_TARGET_DIR}/usr" \
--enable-static
nmap-install:
${INSTALL_DIR} ${IDIR_NMAP}/usr/share/nmap
${INSTALL_DIR} ${IDIR_NMAP}/usr/bin
- for file in mac-prefixes os-db protocols rpc service-probes services; do \
+ for file in payloads mac-prefixes os-db protocols rpc service-probes services; do \
${CP} ${WRKINST}/usr/share/nmap/nmap-$$file ${IDIR_NMAP}/usr/share/nmap; \
done
${INSTALL_BIN} ${WRKINST}/usr/bin/nmap ${IDIR_NMAP}/usr/bin/
diff --git a/package/nodejs/Makefile b/package/nodejs/Makefile
index db6b8a1d3..02627aa6a 100644
--- a/package/nodejs/Makefile
+++ b/package/nodejs/Makefile
@@ -4,19 +4,17 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= nodejs
-PKG_VERSION:= 12.16.2
+PKG_VERSION:= 20.11.1
PKG_RELEASE:= 1
-PKG_HASH:= 48b21340eff95bfc6e7297e4a027f5db74d6d64257c476972a1b2f2fdccc9582
+PKG_HASH:= 4af1ba6ea848cc05908b8a62b02fb27684dd52b2a7988ee82b0cfa72deb90b94
PKG_DESCR:= asynchronous event driven framework
PKG_SECTION:= net/http
PKG_DEPENDS:= zlib
-PKG_BUILDDEP:= python2-host nodejs-host zlib
+PKG_BUILDDEP:= python3-host nodejs-host zlib
PKG_NEEDS:= threads c++
PKG_URL:= https://nodejs.org/
PKG_SITES:= https://nodejs.org/dist/v$(PKG_VERSION)/
-PKG_SYSTEM_DEPENDS:= !mikrotik-rb532
-
DISTFILES:= node-v$(PKG_VERSION).tar.gz
WRKDIST= $(WRKDIR)/node-v$(PKG_VERSION)
@@ -26,17 +24,16 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call HOST_template,NODEJS,nodejs,$(PKG_VERSION)-$(PKG_RELEASE)))
$(eval $(call PKG_template,NODEJS,nodejs,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+HOST_CFLAGS:=
+HOST_CXXFLAGS:=
HOST_STYLE:= manual
CONFIG_STYLE:= manual
host-configure:
(cd $(WRKSRC); \
- PYTHON=$(STAGING_HOST_DIR)/usr/bin/python2 \
- $(STAGING_HOST_DIR)/usr/bin/python2 ./configure \
+ PYTHON=$(STAGING_HOST_DIR)/usr/bin/python3 \
+ $(STAGING_HOST_DIR)/usr/bin/python3 ./configure \
--prefix=/usr \
- --without-snapshot \
- --without-dtrace \
- --without-etw \
--without-intl \
--shared-zlib \
)
@@ -48,17 +45,16 @@ host-build:
nodejs-hostinstall:
cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
${HOST_FAKE_FLAGS} DESTDIR='${STAGING_HOST_DIR}' ${HOST_INSTALL_TARGET} $(MAKE_TRACE)
-# $(INSTALL_BIN) ${WRKBUILD}/out/Release/mkpeephole ${STAGING_HOST_DIR}/usr/bin
+ $(INSTALL_BIN) ${WRKBUILD}/out/Release/node_js2c ${STAGING_HOST_DIR}/usr/bin
+ $(INSTALL_BIN) ${WRKBUILD}/out/Release/bytecode_builtins_list_generator ${STAGING_HOST_DIR}/usr/bin
+ $(INSTALL_BIN) ${WRKBUILD}/out/Release/torque ${STAGING_HOST_DIR}/usr/bin
do-configure:
(cd $(WRKSRC); \
- PYTHON=$(STAGING_HOST_DIR)/usr/bin/python2 \
- $(STAGING_HOST_DIR)/usr/bin/python2 ./configure \
+ PYTHON=$(STAGING_HOST_DIR)/usr/bin/python3 \
+ $(STAGING_HOST_DIR)/usr/bin/python3 ./configure \
--prefix=/usr \
--cross-compiling \
- --without-snapshot \
- --without-dtrace \
- --without-etw \
--without-intl \
--shared-zlib \
)
diff --git a/package/nodejs/patches/patch-deps_v8_src_base_debug_stack_trace_posix_cc b/package/nodejs/patches/patch-deps_v8_src_base_debug_stack_trace_posix_cc
deleted file mode 100644
index 433613981..000000000
--- a/package/nodejs/patches/patch-deps_v8_src_base_debug_stack_trace_posix_cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- node-v8.0.0.orig/deps/v8/src/base/debug/stack_trace_posix.cc 2017-05-30 19:31:35.000000000 +0200
-+++ node-v8.0.0/deps/v8/src/base/debug/stack_trace_posix.cc 2017-06-01 13:30:13.141625623 +0200
-@@ -25,7 +25,7 @@
- #include <string>
- #include <vector>
-
--#if V8_LIBC_GLIBC || V8_LIBC_BSD || V8_LIBC_UCLIBC || V8_OS_SOLARIS
-+#if V8_LIBC_GLIBC || V8_LIBC_BSD || V8_OS_SOLARIS
- #define HAVE_EXECINFO_H 1
- #endif
-
diff --git a/package/nodejs/patches/patch-deps_v8_src_log-utils_h b/package/nodejs/patches/patch-deps_v8_src_log-utils_h
deleted file mode 100644
index 4447e6403..000000000
--- a/package/nodejs/patches/patch-deps_v8_src_log-utils_h
+++ /dev/null
@@ -1,11 +0,0 @@
---- node-v8.0.0.orig/deps/v8/src/log-utils.h 2017-05-30 19:31:39.000000000 +0200
-+++ node-v8.0.0/deps/v8/src/log-utils.h 2017-06-01 13:28:54.580576740 +0200
-@@ -9,6 +9,8 @@
-
- #include <cstdarg>
-
-+#include <cstdarg>
-+
- #include "src/allocation.h"
- #include "src/base/compiler-specific.h"
- #include "src/base/platform/mutex.h"
diff --git a/package/nut/Makefile b/package/nut/Makefile
index e44867f7f..c77daf708 100644
--- a/package/nut/Makefile
+++ b/package/nut/Makefile
@@ -4,13 +4,13 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= nut
-PKG_VERSION:= 2.7.3
+PKG_VERSION:= 2.8.1
PKG_RELEASE:= 1
-PKG_HASH:= ff44d95d06a51559a0a018eef7f8d17911c1002b6352a7d7580ff75acb12126b
+PKG_HASH:= 7da48ee23b1f0d8d72560bb0af84f5c5ae4dbe35452b84cb49840132e47f099c
PKG_DESCR:= network ups tools
PKG_SECTION:= net/misc
PKG_URL:= http://www.networkupstools.org/
-PKG_SITES:= http://www.networkupstools.org/source/2.7/
+PKG_SITES:= http://www.networkupstools.org/source/2.8/
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
diff --git a/package/olsrd/Makefile b/package/olsrd/Makefile
index fb79c412f..c940d7ac3 100644
--- a/package/olsrd/Makefile
+++ b/package/olsrd/Makefile
@@ -4,16 +4,17 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= olsrd
-PKG_VERSION:= 0.9.0.3
+PKG_VERSION:= 0.9.8
PKG_RELEASE:= 1
-PKG_HASH:= 59d37570c58ec25636a71d5a7cf4460448be693f01d768ae369a7f66e58077fb
+PKG_HASH:= ee9e524224e5d5304dcf61f1dc5485c569da09d382934ff85b233be3e24821a3
PKG_DESCR:= optimized link state routing protocol daemon
PKG_SECTION:= net/wifi
-PKG_URL:= http://www.olsr.org/
-PKG_SITES:= http://www.olsr.org/releases/0.9/
+PKG_BUILDDEP:= gpsd
+PKG_DEPENDS:= gpsd
+PKG_SITES:= https://github.com/OLSR/olsrd/archive/refs/tags/
PKG_NOPARALLEL:= 1
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
+DISTFILES:= v${PKG_VERSION}.tar.gz
PKG_SUBPKGS:= OLSRD OLSRD_MOD_DYN_GW OLSRD_MOD_HTTPINFO
PKG_SUBPKGS+= OLSRD_MOD_NAMESERVICE OLSRD_MOD_TAS
@@ -53,7 +54,7 @@ CONFIG_STYLE:= manual
TARGET_CFLAGS+= -fPIC -D_GNU_SOURCE
ALL_TARGET+= libs
INSTALL_TARGET+= install_libs
-MAKE_ENV+= OS="linux" DEBUG=0 STRIP="true" OFLAGS="${TARGET_CFLAGS}" prefix="/usr"
+MAKE_ENV+= OS="linux" DEBUG=0 STRIP="true" VERBOSE=1 OFLAGS="${TARGET_CFLAGS}" prefix="/usr"
post-install: ${INSTALL_MODS_y} ${INSTALL_MODS_m}
${INSTALL_DIR} ${IDIR_OLSRD}/usr/sbin ${IDIR_OLSRD}/etc/olsrd
diff --git a/package/olsrd/patches/patch-lib_pud_Makefile b/package/olsrd/patches/patch-lib_pud_Makefile
new file mode 100644
index 000000000..1367cac08
--- /dev/null
+++ b/package/olsrd/patches/patch-lib_pud_Makefile
@@ -0,0 +1,11 @@
+--- olsrd-0.9.8.orig/lib/pud/Makefile 2019-08-11 10:09:47.000000000 +0200
++++ olsrd-0.9.8/lib/pud/Makefile 2024-02-29 11:26:30.299243074 +0100
+@@ -108,7 +108,7 @@ endif
+
+ default_target: nmealib library $(PLUGIN_FULLNAME)
+
+-$(PLUGIN_FULLNAME): $(OBJS) version-script.txt
++$(PLUGIN_FULLNAME): $(OBJS) version-script.txt nmealib
+ ifeq ($(PUD_NMEALIB_STATICALLY_LINKED),)
+ ifeq ($(VERBOSE),0)
+ @echo "[LD] $@ (nmealib dynamically linked)"
diff --git a/package/olsrd/patches/patch-lib_pud_src_gpsdclient_c b/package/olsrd/patches/patch-lib_pud_src_gpsdclient_c
new file mode 100644
index 000000000..fc71997fc
--- /dev/null
+++ b/package/olsrd/patches/patch-lib_pud_src_gpsdclient_c
@@ -0,0 +1,98 @@
+--- olsrd-0.9.8.orig/lib/pud/src/gpsdclient.c 2019-08-11 10:09:47.000000000 +0200
++++ olsrd-0.9.8/lib/pud/src/gpsdclient.c 2024-02-29 11:26:48.195242832 +0100
+@@ -79,6 +79,23 @@ static void gpsdError(const char *s) {
+ syslog(LOG_ERR, "gpsd error: %s", s);
+ }
+
++#if GPSD_API_MAJOR_VERSION >= 9
++static double time_as_double(struct timespec *ts) {
++ return (ts->tv_sec + ts->tv_nsec * 1e-9);
++}
++
++static bool is_online(struct gps_data_t *gpsdata) {
++ return !!gpsdata->online.tv_sec;
++}
++#else
++
++#define time_as_double(x) *(x)
++
++static bool is_online(struct gps_data_t *gpsdata) {
++ return !!gpsdata->online;
++}
++#endif
++
+ /* standard parsing of a GPS data source spec */
+ void gpsdParseSourceSpec(char *arg, GpsDaemon *gpsDaemon) {
+ if (!arg //
+@@ -298,8 +315,8 @@ void nmeaInfoFromGpsd(struct gps_data_t
+ 8, //
+ dev->parity, //
+ dev->stopbits, //
+- dev->cycle, //
+- dev->mincycle);
++ time_as_double(&dev->cycle), //
++ time_as_double(&dev->mincycle));
+
+ connectionTracking->devSeen[i] = true;
+ connectionTracking->dev[i] = *dev;
+@@ -353,11 +370,6 @@ void nmeaInfoFromGpsd(struct gps_data_t
+ );
+
+ gpsdata->set &= ~STATUS_SET; /* always valid */
+- if (gpsdata->status == STATUS_NO_FIX) {
+- nmeaInfoClear(info);
+- nmeaTimeSet(&info->utc, &info->present, NULL);
+- return;
+- }
+
+ if (!gpsdata->set) {
+ return;
+@@ -367,11 +379,18 @@ void nmeaInfoFromGpsd(struct gps_data_t
+ nmeaInfoSetPresent(&info->present, NMEALIB_PRESENT_SMASK);
+
+ /* date & time */
++#if GPSD_API_MAJOR_VERSION >= 9
++ if (gpsdata->fix.time.tv_sec > 0) {
++ struct tm *time = gmtime(&gpsdata->fix.time.tv_sec);
++ unsigned int hsec = (unsigned int) (gpsdata->fix.time.tv_nsec / 10000000);
++#else
+ if (!isNaN(gpsdata->fix.time)) {
+ double seconds;
+ double fraction = modf(fabs(gpsdata->fix.time), &seconds);
+ long sec = lrint(seconds);
+ struct tm *time = gmtime(&sec);
++ unsigned int hsec = (unsigned int) lrint(fraction * 100);
++#endif
+ if (time) {
+ info->utc.year = (unsigned int) time->tm_year + 1900;
+ info->utc.mon = (unsigned int) time->tm_mon + 1;
+@@ -379,7 +398,7 @@ void nmeaInfoFromGpsd(struct gps_data_t
+ info->utc.hour = (unsigned int) time->tm_hour;
+ info->utc.min = (unsigned int) time->tm_min;
+ info->utc.sec = (unsigned int) time->tm_sec;
+- info->utc.hsec = (unsigned int) lrint(fraction * 100);
++ info->utc.hsec = hsec;
+
+ nmeaInfoSetPresent(&info->present, NMEALIB_PRESENT_UTCDATE | NMEALIB_PRESENT_UTCTIME);
+ }
+@@ -387,7 +406,7 @@ void nmeaInfoFromGpsd(struct gps_data_t
+ gpsdata->set &= ~TIME_SET;
+
+ /* sig & fix */
+- if (!gpsdata->online) {
++ if (!is_online(gpsdata)) {
+ gpsdata->fix.mode = MODE_NO_FIX;
+ }
+
+@@ -454,7 +473,11 @@ void nmeaInfoFromGpsd(struct gps_data_t
+ if ((gpsdata->fix.mode >= MODE_3D) //
+ && !isNaN(gpsdata->fix.altitude)) {
+ info->elevation = gpsdata->fix.altitude;
++#if GPSD_API_MAJOR_VERSION >= 9
++ info->height = gpsdata->fix.geoid_sep;
++#else
+ info->height = gpsdata->separation;
++#endif
+ nmeaInfoSetPresent(&info->present, NMEALIB_PRESENT_ELV | NMEALIB_PRESENT_HEIGHT);
+ }
+ gpsdata->set &= ~ALTITUDE_SET;
diff --git a/package/olsrd/patches/patch-lib_pud_src_gpsdclient_h b/package/olsrd/patches/patch-lib_pud_src_gpsdclient_h
new file mode 100644
index 000000000..635f97740
--- /dev/null
+++ b/package/olsrd/patches/patch-lib_pud_src_gpsdclient_h
@@ -0,0 +1,16 @@
+--- olsrd-0.9.8.orig/lib/pud/src/gpsdclient.h 2019-08-11 10:09:47.000000000 +0200
++++ olsrd-0.9.8/lib/pud/src/gpsdclient.h 2024-02-29 11:24:18.019244869 +0100
+@@ -60,13 +60,6 @@ struct GpsdConnectionState {
+ struct devconfig_t dev[MAXUSERDEVS];
+ };
+
+-/* describe a data source */
+-struct fixsource_t {
+- char spec[PATH_MAX]; /* working space, will be modified */
+- char *server; /* pointer into spec field */
+- char *port; /* pointer into spec field */
+- char *device; /* pointer into spec field */
+-};
+
+ /**
+ * The gpsd daemon spec
diff --git a/package/olsrd/patches/patch-src_cfgparser_local_mk b/package/olsrd/patches/patch-src_cfgparser_local_mk
new file mode 100644
index 000000000..4ef666d99
--- /dev/null
+++ b/package/olsrd/patches/patch-src_cfgparser_local_mk
@@ -0,0 +1,17 @@
+--- olsrd-0.9.8.orig/src/cfgparser/local.mk 2019-08-11 10:09:47.000000000 +0200
++++ olsrd-0.9.8/src/cfgparser/local.mk 2024-02-29 09:47:24.131323729 +0100
+@@ -74,12 +74,8 @@ $(C)oparse.c: $(C)oparse.y $(C)olsrd_con
+ ifeq ($(VERBOSE),0)
+ @echo "[BISON] $@"
+ endif
+- $(MAKECMDPREFIX)$(BISON) -d -o "$@-tmp" "$<"
+- $(MAKECMDPREFIX)sed -e 's/register //' \
+- -e '/^#line/s/$(call quote,$@-tmp)/$(call quote,$@)/' \
+- < "$@-tmp" >"$@"
+- $(MAKECMDPREFIX)mv "$(subst .c,.h,$@-tmp)" "$(subst .c,.h,$@)"
+- $(MAKECMDPREFIX)$(RM) "$@-tmp" "$(subst .c,.h,$@-tmp)"
++ $(MAKECMDPREFIX)$(BISON) -d -o "$@" "$<"
++ $(MAKECMDPREFIX)sed -e 's/register //' "$@" > "$@.o" && mv "$@.o" "$@"
+
+ $(C)oparse.o: CFLAGS := $(filter-out -Wunreachable-code,$(CFLAGS))
+
diff --git a/package/open-iscsi/Makefile b/package/open-iscsi/Makefile
index 5afb377bc..f33b52f1f 100644
--- a/package/open-iscsi/Makefile
+++ b/package/open-iscsi/Makefile
@@ -4,30 +4,34 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= open-iscsi
-PKG_VERSION:= 2.0
-PKG_EXTRAVER:= 871
+PKG_VERSION:= 2.1.9
PKG_RELEASE:= 1
-PKG_HASH:= bcea8746ae82f2ada7bc05d2aa59bcda1ca0d5197f05f2e16744aae59f0a7dcb
+PKG_HASH:= 60e2a1e3058a8af7f702e86a5a0511b05b8754d29d3d2df4e0e301399b5cf70a
PKG_DESCR:= iscsi utilities
+PKG_DEPENDS:= libkmod libressl
+PKG_BUILDDEP:= cmake-host kmod libressl
PKG_SECTION:= sys/fs
-PKG_URL:= http://www.open-iscsi.org/
-PKG_SITES:= http://www.open-iscsi.org/bits/
+PKG_SITES:= https://github.com/open-iscsi/open-iscsi/archive/refs/tags/
-DISTFILES:= $(PKG_NAME)-$(PKG_VERSION)-$(PKG_EXTRAVER).tar.gz
-WRKDIST= ${WRKDIR}/${PKG_NAME}-${PKG_VERSION}-${PKG_EXTRAVER}
+DISTFILES:= $(PKG_VERSION).tar.gz
+#WRKDIST= ${WRKDIR}/${PKG_NAME}-${PKG_VERSION}-${PKG_EXTRAVER}
include $(ADK_TOPDIR)/mk/package.mk
-ALL_TARGET:= user
-INSTALL_TARGET:= install_user
-
$(eval $(call PKG_template,OPEN_ISCSI,open-iscsi,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-CONFIG_STYLE:= manual
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
+
+MESON_FLAGS+= -Dno_systemd=true \
+ -Disns=disabled
open-iscsi-install:
- $(INSTALL_DIR) $(IDIR_OPEN_ISCSI)/sbin $(IDIR_OPEN_ISCSI)/etc/iscsi
- $(INSTALL_BIN) $(WRKINST)/sbin/* $(IDIR_OPEN_ISCSI)/sbin
+ $(INSTALL_DIR) $(IDIR_OPEN_ISCSI)/usr/sbin $(IDIR_OPEN_ISCSI)/etc/iscsi
+ $(INSTALL_BIN) $(WRKINST)/usr/sbin/* $(IDIR_OPEN_ISCSI)/usr/sbin
$(CP) $(WRKINST)/etc/iscsi/* $(IDIR_OPEN_ISCSI)/etc/iscsi
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/open-iscsi/patches/patch-usr_Makefile b/package/open-iscsi/patches/patch-usr_Makefile
deleted file mode 100644
index af7106fd8..000000000
--- a/package/open-iscsi/patches/patch-usr_Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
---- open-iscsi-2.0-871.orig/usr/Makefile 2009-07-11 05:55:58.000000000 +0200
-+++ open-iscsi-2.0-871/usr/Makefile 2010-11-22 23:23:09.000000000 +0100
-@@ -1,6 +1,6 @@
- # This Makefile will work only with GNU make.
-
--OSNAME=$(shell uname -s)
-+OSNAME=Linux
-
- # allow users to override these
- # eg to compile for a kernel that you aren't currently running
-@@ -55,7 +55,7 @@ iscsiadm: $(COMMON_SRCS) $(FW_BOOT_SRCS)
-
- iscsistart: $(IPC_OBJ) $(ISCSI_LIB_SRCS) $(INITIATOR_SRCS) $(FW_BOOT_SRCS) \
- iscsistart.o statics.o
-- $(CC) $(CFLAGS) -static $^ -o $@
-+ $(CC) $(CFLAGS) $^ -o $@
- clean:
- rm -f *.o $(PROGRAMS) .depend $(LIBSYS)
-
diff --git a/package/open-iscsi/patches/patch-usr_idbm_c b/package/open-iscsi/patches/patch-usr_idbm_c
deleted file mode 100644
index 38838c9a1..000000000
--- a/package/open-iscsi/patches/patch-usr_idbm_c
+++ /dev/null
@@ -1,10 +0,0 @@
---- open-iscsi-2.0-871.orig/usr/idbm.c 2009-07-11 05:55:58.000000000 +0200
-+++ open-iscsi-2.0-871/usr/idbm.c 2014-01-03 12:44:20.000000000 +0100
-@@ -29,6 +29,7 @@
- #include <limits.h>
- #include <sys/stat.h>
- #include <sys/file.h>
-+#include <fcntl.h>
-
- #include "idbm.h"
- #include "idbm_fields.h"
diff --git a/package/open-iscsi/patches/patch-usr_iscsi_sysfs_c b/package/open-iscsi/patches/patch-usr_iscsi_sysfs_c
deleted file mode 100644
index 42f5d0330..000000000
--- a/package/open-iscsi/patches/patch-usr_iscsi_sysfs_c
+++ /dev/null
@@ -1,10 +0,0 @@
---- open-iscsi-2.0-871.orig/usr/iscsi_sysfs.c 2009-07-11 05:55:58.000000000 +0200
-+++ open-iscsi-2.0-871/usr/iscsi_sysfs.c 2010-11-22 23:16:35.000000000 +0100
-@@ -22,6 +22,7 @@
- #include <string.h>
- #include <errno.h>
- #include <dirent.h>
-+#include <sys/stat.h>
-
- #include "log.h"
- #include "initiator.h"
diff --git a/package/open-iscsi/patches/patch-usr_log_h b/package/open-iscsi/patches/patch-usr_log_h
deleted file mode 100644
index f4a5f9431..000000000
--- a/package/open-iscsi/patches/patch-usr_log_h
+++ /dev/null
@@ -1,17 +0,0 @@
---- open-iscsi-2.0-871.orig/usr/log.h 2009-07-11 05:55:58.000000000 +0200
-+++ open-iscsi-2.0-871/usr/log.h 2010-11-22 22:45:22.000000000 +0100
-@@ -28,14 +28,12 @@
-
- #include "iscsid.h"
-
--#if defined(Linux)
- union semun {
- int val;
- struct semid_ds *buf;
- unsigned short int *array;
- struct seminfo *__buf;
- };
--#endif
- #include <sys/sem.h>
-
- #define DEFAULT_AREA_SIZE 16384
diff --git a/package/open-iscsi/patches/patch-usr_mgmt_ipc_c b/package/open-iscsi/patches/patch-usr_mgmt_ipc_c
deleted file mode 100644
index d1d936e0f..000000000
--- a/package/open-iscsi/patches/patch-usr_mgmt_ipc_c
+++ /dev/null
@@ -1,35 +0,0 @@
---- open-iscsi-2.0-871.orig/usr/mgmt_ipc.c 2009-07-11 05:55:58.000000000 +0200
-+++ open-iscsi-2.0-871/usr/mgmt_ipc.c 2014-01-03 12:35:32.000000000 +0100
-@@ -341,31 +341,7 @@ mgmt_ipc_notify_del_portal(queue_task_t
- static int
- mgmt_peeruser(int sock, char *user)
- {
--#if defined(SO_PEERCRED)
-- /* Linux style: use getsockopt(SO_PEERCRED) */
-- struct ucred peercred;
-- socklen_t so_len = sizeof(peercred);
-- struct passwd *pass;
--
-- errno = 0;
-- if (getsockopt(sock, SOL_SOCKET, SO_PEERCRED, &peercred,
-- &so_len) != 0 || so_len != sizeof(peercred)) {
-- /* We didn't get a valid credentials struct. */
-- log_error("peeruser_unux: error receiving credentials: %m");
-- return 0;
-- }
--
-- pass = getpwuid(peercred.uid);
-- if (pass == NULL) {
-- log_error("peeruser_unix: unknown local user with uid %d",
-- (int) peercred.uid);
-- return 0;
-- }
--
-- strlcpy(user, pass->pw_name, PEERUSER_MAX);
-- return 1;
--
--#elif defined(SCM_CREDS)
-+#if defined(SCM_CREDS)
- struct msghdr msg;
- typedef struct cmsgcred Cred;
- #define cruid cmcred_uid
diff --git a/package/openldap/Makefile b/package/openldap/Makefile
index 34c6a6642..2471893d1 100644
--- a/package/openldap/Makefile
+++ b/package/openldap/Makefile
@@ -4,16 +4,16 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= openldap
-PKG_VERSION:= 2.4.45
+PKG_VERSION:= 2.6.0
PKG_RELEASE:= 1
-PKG_HASH:= cdd6cffdebcd95161a73305ec13fc7a78e9707b46ca9f84fb897cd5626df3824
+PKG_HASH:= b71c580eac573e9aba15d95f33dd4dd08f2ed4f0d7fc09e08ad4be7ed1e41a4f
PKG_DESCR:= ldap client libraries
PKG_SECTION:= libs/misc
PKG_DEPENDS:= libsasl2 libdb libuuid libncurses libressl
PKG_BUILDDEP:= cyrus-sasl db util-linux libressl
PKG_NEEDS:= threads c++
PKG_URL:= http://www.openldap.org/
-PKG_SITES:= ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/
+PKG_SITES:= https://openldap.org/software/download/OpenLDAP/openldap-release/
PKG_LIBNAME:= libopenldap
PKG_OPTS:= dev
diff --git a/package/openldap/patches/patch-libraries_libldap_tls_o_c b/package/openldap/patches/patch-libraries_libldap_tls_o_c
deleted file mode 100644
index f620c03f6..000000000
--- a/package/openldap/patches/patch-libraries_libldap_tls_o_c
+++ /dev/null
@@ -1,67 +0,0 @@
-Patch from Macports:
-https://trac.macports.org/ticket/54275
---- openldap-2.4.45.orig/libraries/libldap/tls_o.c 2017-06-01 22:01:07.000000000 +0200
-+++ openldap-2.4.45/libraries/libldap/tls_o.c 2017-10-08 19:45:58.513865858 +0200
-@@ -47,7 +47,7 @@
- #include <ssl.h>
- #endif
-
--#if OPENSSL_VERSION_NUMBER >= 0x10100000
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000 && !defined(LIBRESSL_VERSION_NUMBER)
- #define ASN1_STRING_data(x) ASN1_STRING_get0_data(x)
- #endif
-
-@@ -157,7 +157,7 @@ tlso_init( void )
- (void) tlso_seed_PRNG( lo->ldo_tls_randfile );
- #endif
-
--#if OPENSSL_VERSION_NUMBER < 0x10100000
-+#if (OPENSSL_VERSION_NUMBER < 0x10100000) || defined(LIBRESSL_VERSION_NUMBER)
- SSL_load_error_strings();
- SSL_library_init();
- OpenSSL_add_all_digests();
-@@ -205,7 +205,7 @@ static void
- tlso_ctx_ref( tls_ctx *ctx )
- {
- tlso_ctx *c = (tlso_ctx *)ctx;
--#if OPENSSL_VERSION_NUMBER < 0x10100000
-+#if (OPENSSL_VERSION_NUMBER < 0x10100000) || defined(LIBRESSL_VERSION_NUMBER)
- #define SSL_CTX_up_ref(ctx) CRYPTO_add( &(ctx->references), 1, CRYPTO_LOCK_SSL_CTX )
- #endif
- SSL_CTX_up_ref( c );
-@@ -464,7 +464,7 @@ tlso_session_my_dn( tls_session *sess, s
- if (!x) return LDAP_INVALID_CREDENTIALS;
-
- xn = X509_get_subject_name(x);
--#if OPENSSL_VERSION_NUMBER < 0x10100000
-+#if (OPENSSL_VERSION_NUMBER < 0x10100000) || defined(LIBRESSL_VERSION_NUMBER)
- der_dn->bv_len = i2d_X509_NAME( xn, NULL );
- der_dn->bv_val = xn->bytes->data;
- #else
-@@ -500,7 +500,7 @@ tlso_session_peer_dn( tls_session *sess,
- return LDAP_INVALID_CREDENTIALS;
-
- xn = X509_get_subject_name(x);
--#if OPENSSL_VERSION_NUMBER < 0x10100000
-+#if (OPENSSL_VERSION_NUMBER < 0x10100000) || defined(LIBRESSL_VERSION_NUMBER)
- der_dn->bv_len = i2d_X509_NAME( xn, NULL );
- der_dn->bv_val = xn->bytes->data;
- #else
-@@ -721,7 +721,7 @@ struct tls_data {
- Sockbuf_IO_Desc *sbiod;
- };
-
--#if OPENSSL_VERSION_NUMBER < 0x10100000
-+#if (OPENSSL_VERSION_NUMBER < 0x10100000) || defined(LIBRESSL_VERSION_NUMBER)
- #define BIO_set_init(b, x) b->init = x
- #define BIO_set_data(b, x) b->ptr = x
- #define BIO_clear_flags(b, x) b->flags &= ~(x)
-@@ -822,7 +822,7 @@ tlso_bio_puts( BIO *b, const char *str )
- return tlso_bio_write( b, str, strlen( str ) );
- }
-
--#if OPENSSL_VERSION_NUMBER >= 0x10100000
-+#if (OPENSSL_VERSION_NUMBER >= 0x10100000) && !defined(LIBRESSL_VERSION_NUMBER)
- struct bio_method_st {
- int type;
- const char *name;
diff --git a/package/openobex/Makefile b/package/openobex/Makefile
index 18fe0c5c3..b8208e861 100644
--- a/package/openobex/Makefile
+++ b/package/openobex/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= openobex
-PKG_VERSION:= 1.7.1
+PKG_VERSION:= 1.7.2
PKG_RELEASE:= 1
-PKG_HASH:= 3b264665d90901ea4ff720332ffb9b6d1d8f67187463d3a3279caddc7205ea57
+PKG_HASH:= 158860aaea52f0fce0c8e4b64550daaae06df2689e05834697b7e8c7d73dd4fc
PKG_DESCR:= implementation of the obex protocol
PKG_SECTION:= sys/misc
PKG_BUILDDEP:= eudev bluez
diff --git a/package/openocd/Makefile b/package/openocd/Makefile
index 0ccb68705..689df4011 100644
--- a/package/openocd/Makefile
+++ b/package/openocd/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= openocd
-PKG_VERSION:= 0.10.0
+PKG_VERSION:= 0.11.0
PKG_RELEASE:= 1
-PKG_HASH:= 7312e7d680752ac088b8b8f2b5ba3ff0d30e0a78139531847be4b75c101316ae
+PKG_HASH:= 43a3ce734aff1d3706ad87793a9f3a5371cb0e357f0ffd0a151656b06b3d1e7d
PKG_DESCR:= jtag flash and debugging utility
PKG_SECTION:= dev/tools
HOST_BUILDDEP:= libusb-host
diff --git a/package/opensc/Makefile b/package/opensc/Makefile
index 863074bee..9f4b1b0f3 100644
--- a/package/opensc/Makefile
+++ b/package/opensc/Makefile
@@ -4,15 +4,15 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= opensc
-PKG_VERSION:= 0.15.0
+PKG_VERSION:= 0.24.0
PKG_RELEASE:= 1
-PKG_HASH:= 7c8600a37d11f82410699ee5c60bfebc46f6714d0d87b4125dd99215c87d4db8
+PKG_HASH:= 24d03c69287291da32a30c4c38a304ad827f56cb85d83619e1f5403ab6480ef8
PKG_DESCR:= utilities to access smart cards
PKG_SECTION:= app/crypto
PKG_BUILDDEP:= openct pcsc-lite readline libressl
PKG_DEPENDS:= libopensc libopenct pcsc-lite libreadline libressl
PKG_URL:= https://github.com/OpenSC/OpenSC/wiki
-PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=opensc/}
+PKG_SITES:= https://github.com/OpenSC/OpenSC/releases/download/$(PKG_VERSION)/
PKG_LIBNAME:= libopensc
PKG_OPTS:= dev
@@ -29,10 +29,11 @@ include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,OPENSC,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,LIBOPENSC,libopensc,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_LIBOPENSC},${PKGSD_LIBOPENSC},${PKGSC_LIBOPENSC},${PKG_OPTS}))
-AUTOTOOL_STYLE:= autoreconf
CONFIGURE_ARGS+= --disable-man \
--disable-iconv \
--disable-pcsc \
+ --disable-silent-rules \
+ --disable-strict \
--enable-openct
opensc-install:
diff --git a/package/opensips/Makefile b/package/opensips/Makefile
index 1165d4421..57495a60f 100644
--- a/package/opensips/Makefile
+++ b/package/opensips/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= opensips
-PKG_VERSION:= 2.2.3
+PKG_VERSION:= 3.4.4
PKG_RELEASE:= 1
-PKG_HASH:= ccf540f7aae4335a8319b83f6cb87b562e665991fe1c2adc4e8eb4d4f3042dd7
+PKG_HASH:= eab3608a464884fc40f33cc639a5b124dc838799bd4a9701b7a8af49fb937fc7
PKG_DESCR:= high-performance, configurable, free sip server
PKG_SECTION:= net/voip
PKG_DEPENDS:= libressl
@@ -21,8 +21,8 @@ PKG_SUBPKGS+= OPENSIPS_MOD_AUTH_DB OPENSIPS_MOD_AVPOPS OPENSIPS_MOD_DISPATCHER
PKG_SUBPKGS+= OPENSIPS_MOD_DIVERSION OPENSIPS_MOD_FLATSTORE OPENSIPS_MOD_GFLAGS
PKG_SUBPKGS+= OPENSIPS_MOD_GROUP OPENSIPS_MOD_MEDIAPROXY OPENSIPS_MOD_MSILO
PKG_SUBPKGS+= OPENSIPS_MOD_NATHELPER OPENSIPS_MOD_OPTIONS
-PKG_SUBPKGS+= OPENSIPS_MOD_PERMISSIONS OPENSIPS_MOD_PIKE OPENSIPS_MOD_SMS
-PKG_SUBPKGS+= OPENSIPS_MOD_UAC OPENSIPS_MOD_UAC_REDIRECT OPENSIPS_MOD_URI
+PKG_SUBPKGS+= OPENSIPS_MOD_PERMISSIONS OPENSIPS_MOD_PIKE
+PKG_SUBPKGS+= OPENSIPS_MOD_UAC OPENSIPS_MOD_UAC_REDIRECT
PKGSD_OPENSIPS_MOD_ACCOUNTING:= accounting support
PKGSN_OPENSIPS_MOD_ACCOUNTING:= opensips
@@ -54,14 +54,10 @@ PKGSD_OPENSIPS_MOD_PERMISSIONS:= permissions support
PKGSN_OPENSIPS_MOD_PERMISSIONS:= opensips
PKGSD_OPENSIPS_MOD_PIKE:= pike support
PKGSN_OPENSIPS_MOD_PIKE:= opensips
-PKGSD_OPENSIPS_MOD_SMS:= sms support
-PKGSN_OPENSIPS_MOD_SMS:= opensips
PKGSD_OPENSIPS_MOD_UAC:= uac support
PKGSN_OPENSIPS_MOD_UAC:= opensips
PKGSD_OPENSIPS_MOD_UAC_REDIRECT:= uac redirect support
PKGSN_OPENSIPS_MOD_UAC_REDIRECT:= opensips
-PKGSD_OPENSIPS_MOD_URI:= uri support
-PKGSN_OPENSIPS_MOD_URI:= opensips
include $(ADK_TOPDIR)/mk/package.mk
@@ -92,10 +88,8 @@ $(eval $(call PKG_template,OPENSIPS_MOD_NATHELPER,opensips-mod-nathelper,$(PKG_V
$(eval $(call PKG_template,OPENSIPS_MOD_OPTIONS,opensips-mod-options,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,OPENSIPS_MOD_PERMISSIONS,opensips-mod-permissions,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,OPENSIPS_MOD_PIKE,opensips-mod-pike,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-$(eval $(call PKG_template,OPENSIPS_MOD_SMS,opensips-mod-sms,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,OPENSIPS_MOD_UAC,opensips-mod-uac,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,OPENSIPS_MOD_UAC_REDIRECT,opensips-mod-uac-redirect,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-$(eval $(call PKG_template,OPENSIPS_MOD_URI,opensips-mod-uri,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_mod_template,OPENSIPS_MOD_ACCOUNTING,acc))
$(eval $(call PKG_mod_template,OPENSIPS_MOD_AUTH,auth))
@@ -112,11 +106,9 @@ $(eval $(call PKG_mod_template,OPENSIPS_MOD_NATHELPER,nathelper))
$(eval $(call PKG_mod_template,OPENSIPS_MOD_OPTIONS,options))
$(eval $(call PKG_mod_template,OPENSIPS_MOD_PERMISSIONS,permissions))
$(eval $(call PKG_mod_template,OPENSIPS_MOD_PIKE,pike))
-$(eval $(call PKG_mod_template,OPENSIPS_MOD_SMS,sms))
$(eval $(call PKG_mod_template,OPENSIPS_MOD_SPEEDIAL,speeddial))
$(eval $(call PKG_mod_template,OPENSIPS_MOD_UAC,uac))
$(eval $(call PKG_mod_template,OPENSIPS_MOD_UAC_REDIRECT,uac_redirect))
-$(eval $(call PKG_mod_template,OPENSIPS_MOD_URI,uri))
# Select here the modules for the main package
OPENSIPS_MODULES:= sl tm rr maxfwd usrloc registrar db_text textops exec mi_fifo signaling
@@ -131,7 +123,6 @@ INSTALL_STYLE:= manual
do-build:
PATH='$(HOST_PATH)' $(MAKE) -C $(WRKBUILD) \
prefix=/ \
- extra_defs="-DUSE_PTHREAD_MUTEX" \
TLS=1 \
FREERADIUS=0 \
NICER=0 \
diff --git a/package/openssh/Makefile b/package/openssh/Makefile
index d46ad251a..7db2873a6 100644
--- a/package/openssh/Makefile
+++ b/package/openssh/Makefile
@@ -4,13 +4,14 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= openssh
-PKG_VERSION:= 8.3p1
+PKG_VERSION:= 9.7p1
PKG_RELEASE:= 1
-PKG_HASH:= f2befbe0472fe7eb75d23340eb17531cb6b3aac24075e2066b41f814e12387b2
+PKG_HASH:= 490426f766d82a2763fcacd8d83ea3d70798750c7bd2aff2e57dc5660f773ffd
PKG_DESCR:= secure shell implementation
PKG_SECTION:= net/security
-PKG_BUILDDEP:= zlib libressl
-PKG_DEPENDS:= zlib libressl
+PKG_BUILDDEP:= zlib
+PKG_BUILDDEP_GLIBC:= libxcrypt
+PKG_DEPENDS:= zlib
PKG_NEEDS:= threads
PKG_URL:= http://www.openssh.com/
PKG_SITES:= http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/
@@ -36,6 +37,15 @@ PKGFD_WITH_KRB5:= enable kerberos 5 support
PKGFS_WITH_KRB5:= libkrb5 libcom-err
PKGFB_WITH_KRB5:= krb5
+PKG_CHOICES_OPENSSH:= WITH_LIBRESSL WITH_OPENSSL
+PKGCD_WITH_LIBRESSL:= with libressl
+PKGCS_WITH_LIBRESSL:= libressl
+PKGCB_WITH_LIBRESSL:= libressl
+PKGCD_WITH_OPENSSL:= with openssl
+PKGCS_WITH_OPENSSL:= libopenssl
+PKGCB_WITH_OPENSSL:= openssl
+
+
include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,OPENSSH,openssh,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
@@ -62,12 +72,14 @@ CONFIGURE_ARGS+= --without-pie
endif
CONFIGURE_ENV+= LD='${TARGET_CC}' \
+ LDFLAGS='$(TARGET_LDFLAGS) -latomic' \
ac_cv_func_setlogin=no \
ac_cv_have_decl_PR_SET_NO_NEW_PRIVS=no \
ac_cv_lib_nsl_yp_match=no
CONFIGURE_ARGS+= --disable-strip \
--disable-etc-default-login \
--disable-lastlog \
+ --without-hardening \
--with-sandbox=no \
--disable-utmp \
--disable-utmpx \
diff --git a/package/openssl-pkcs11/Makefile b/package/openssl-pkcs11/Makefile
deleted file mode 100644
index b7948e5a1..000000000
--- a/package/openssl-pkcs11/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include ${ADK_TOPDIR}/rules.mk
-
-PKG_NAME:= openssl-pkcs11
-PKG_VERSION:= 0.1.8
-PKG_RELEASE:= 1
-PKG_HASH:= de7d7e41e7c42deef40c53e10ccc3f88d2c036d6656ecee7e82e8be07b06a2e5
-PKG_DESCR:= pkcs11 engine for openssl
-PKG_SECTION:= app/crypto
-PKG_BUILDDEP:= libp11
-PKG_URL:= http://www.opensc-project.org/engine_pkcs11
-PKG_SITES:= http://www.opensc-project.org/files/engine_pkcs11/
-
-DISTFILES:= engine_pkcs11-${PKG_VERSION}.tar.gz
-WRKDIST= ${WRKDIR}/engine_pkcs11-${PKG_VERSION}
-
-include ${ADK_TOPDIR}/mk/package.mk
-
-$(eval $(call PKG_template,OPENSSL_PKCS11,openssl-pkcs11,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-
-CONFIGURE_ARGS+= --with-openssl="${STAGING_TARGET_DIR}/usr"
-
-openssl-pkcs11-install:
- ${INSTALL_DIR} ${IDIR_OPENSSL_PKCS11}/usr/lib/engines
- ${INSTALL_DATA} ${WRKINST}/usr/lib/engines/engine_pkcs11.so \
- ${IDIR_OPENSSL_PKCS11}/usr/lib/engines
-
-include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/openssl-pkcs11/patches/patch-ltmain_sh b/package/openssl-pkcs11/patches/patch-ltmain_sh
deleted file mode 100644
index 317a0b26c..000000000
--- a/package/openssl-pkcs11/patches/patch-ltmain_sh
+++ /dev/null
@@ -1,11 +0,0 @@
---- engine_pkcs11-0.1.8.orig/ltmain.sh 2010-01-07 11:21:35.000000000 +0100
-+++ engine_pkcs11-0.1.8/ltmain.sh 2011-01-16 13:57:19.000000000 +0100
-@@ -4765,7 +4765,7 @@ func_mode_link ()
- # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
- # @file GCC response files
- -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-- -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
-+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-fstack-protector*|-flto)
- func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
- func_append compile_command " $arg"
diff --git a/package/openssl/Makefile b/package/openssl/Makefile
new file mode 100644
index 000000000..406a88681
--- /dev/null
+++ b/package/openssl/Makefile
@@ -0,0 +1,117 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= openssl
+PKG_VERSION:= 3.0.13
+PKG_RELEASE:= 1
+PKG_HASH:= 88525753f79d3bec27d2fa7c66aa0b92b3aa9498dafd93d7cfa4b3780cdae313
+PKG_DESCR:= ssl/tls library
+PKG_SECTION:= libs/crypto
+PKG_URL:= https://www.openssl.org
+PKG_DEPENDS:= zlib
+PKG_BUILDDEP:= zlib
+PKG_SITES:= https://www.openssl.org/source/
+PKG_LIBNAME:= libopenssl
+PKG_OPTS:= dev
+
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
+
+PKG_SUBPKGS:= LIBOPENSSL OPENSSL_UTIL
+PKGSD_OPENSSL_UTIL:= openssl command line tool
+PKGSC_OPENSSL_UTIL:= app/crypto
+PKGSS_OPENSSL_UTIL:= libopenssl
+
+
+include $(ADK_TOPDIR)/mk/host.mk
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call HOST_template,OPENSSL,openssl,${PKG_VERSION}-${PKG_RELEASE}))
+$(eval $(call PKG_template,LIBOPENSSL,libopenssl,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},$(PKG_OPTS)))
+$(eval $(call PKG_template,OPENSSL_UTIL,openssl-util,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_OPENSSL_UTIL},${PKGSD_OPENSSL_UTIL},${PKGSC_OPENSSL_UTIL}))
+
+ifeq ($(ADK_TARGET_USE_STATIC_LIBS),y)
+OPENSSL_OPTIONS:= no-shared zlib no-dso
+else
+OPENSSL_OPTIONS:= shared zlib-dynamic
+endif
+
+OPENSSL_OPTIONS+= threads no-err no-tests no-fuzz-libfuzzer no-fuzz-afl
+OPENSSL_OPTIONS+= no-rc5 no-rc2 no-rc4 no-md2 no-idea
+
+HOST_STYLE:= manual
+CONFIG_STYLE:= manual
+
+INSTALL_TARGET:= install_sw
+FAKE_FLAGS+= INSTALL_PREFIX=${WRKINST}
+
+ifeq ($(ADK_TARGET_ARCH_MICROBLAZE),y)
+TARGET_CFLAGS:= $(subst g3,g,$(TARGET_CFLAGS))
+endif
+ifeq ($(ADK_TARGET_ARCH_XTENSA),y)
+TARGET_CFLAGS:= $(subst g3,g,$(TARGET_CFLAGS))
+endif
+ifeq ($(ADK_TARGET_ARCH_PPC),y)
+TARGET_CFLAGS:= $(subst g3,g,$(TARGET_CFLAGS))
+endif
+
+CONFIG:= linux-generic32
+ifeq ($(ADK_TARGET_ARCH_X86_64),y)
+CONFIG:= linux-x86_64
+endif
+ifeq ($(ADK_TARGET_ARCH_AARCH64),y)
+CONFIG:= linux-aarch64
+endif
+
+ifneq (,$(filter CYGWIN%,${OS_FOR_BUILD}))
+HOSTCONFIG:= Cygwin-x86_64
+endif
+ifeq ($(OS_FOR_BUILD),Darwin)
+HOSTCONFIG:= darwin64-x86_64-cc
+endif
+
+host-configure:
+ifeq ($(HOSTCONFIG),)
+ (cd $(WRKBUILD); ./config --prefix='$(STAGING_HOST_DIR)/usr' -fPIC -ldl)
+else
+ (cd $(WRKBUILD); ./Configure $(HOSTCONFIG) --prefix='$(STAGING_HOST_DIR)/usr')
+endif
+
+host-build:
+ (cd $(WRKBUILD); make)
+
+openssl-hostinstall:
+ (cd $(WRKBUILD); make install)
+
+do-configure:
+ (cd $(WRKBUILD); \
+ PATH='$(TARGET_PATH)' \
+ CROSS_COMPILE='' \
+ CFLAGS="$(TARGET_CFLAGS)" \
+ LDFLAGS="$(TARGET_LDFLAGS) -latomic" \
+ ./Configure $(CONFIG) \
+ --prefix=/usr \
+ --openssldir=/etc/ssl \
+ -I$(STAGING_TARGET_DIR)/usr/include \
+ -L$(STAGING_TARGET_DIR)/usr/lib \
+ -DOPENSSL_SMALL_FOOTPRINT \
+ -DOPENSSL_NO_ASYNC \
+ $(OPENSSL_OPTIONS) \
+ );
+ #$(SED) "s:-O[0-9]:$(TARGET_CFLAGS) -fPIC:" $(WRKBUILD)/Makefile
+
+libopenssl-install:
+ ${INSTALL_DIR} ${IDIR_LIBOPENSSL}/usr/lib
+ ${CP} ${WRKINST}/usr/lib*/lib*.so* ${IDIR_LIBOPENSSL}/usr/lib
+ chmod 644 ${IDIR_LIBOPENSSL}/usr/lib/lib*.so*
+
+openssl-util-install:
+ ${INSTALL_DIR} ${IDIR_OPENSSL_UTIL}/usr/bin
+ ${CP} ${WRKINST}/usr/bin/openssl ${IDIR_OPENSSL_UTIL}/usr/bin
+ ${INSTALL_DIR} ${IDIR_OPENSSL_UTIL}/etc/ssl/{,certs,private}
+ ${CP} ${WRKSRC}/apps/openssl.cnf ${IDIR_OPENSSL_UTIL}/etc/ssl/
+ chmod 0700 ${IDIR_OPENSSL_UTIL}/etc/ssl/private
+
+include $(ADK_TOPDIR)/mk/host-bottom.mk
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/openssl/patches/patch-Configurations_unix-Makefile_tmpl b/package/openssl/patches/patch-Configurations_unix-Makefile_tmpl
new file mode 100644
index 000000000..eb64f9a73
--- /dev/null
+++ b/package/openssl/patches/patch-Configurations_unix-Makefile_tmpl
@@ -0,0 +1,20 @@
+--- openssl-3.0.10.orig/Configurations/unix-Makefile.tmpl 2023-08-01 15:47:24.000000000 +0200
++++ openssl-3.0.10/Configurations/unix-Makefile.tmpl 2023-08-12 19:44:43.932070216 +0200
+@@ -523,7 +523,7 @@ build_all_generated: $(GENERATED_MANDATO
+ @echo " then make will fail..."
+ @ : {- output_on() if $disabled{makedepend}; "" -}
+
+-all: build_sw build_docs
++all: build_sw
+
+ test: tests
+ {- dependmagic('tests'); -}: build_programs_nodep build_modules_nodep link-utils run_tests
+@@ -546,7 +546,7 @@ list-tests:
+ @echo "Tests are not supported with your chosen Configure options"
+ @ : {- output_on() if !$disabled{tests}; "" -}
+
+-install: install_sw install_ssldirs install_docs {- $disabled{fips} ? "" : "install_fips" -}
++install: install_sw install_ssldirs {- $disabled{fips} ? "" : "install_fips" -}
+
+ uninstall: uninstall_docs uninstall_sw {- $disabled{fips} ? "" : "uninstall_fips" -}
+
diff --git a/package/openswan/Makefile b/package/openswan/Makefile
index 5a48daf15..41ec00201 100644
--- a/package/openswan/Makefile
+++ b/package/openswan/Makefile
@@ -4,22 +4,20 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= openswan
-PKG_VERSION:= 2.6.51.5
+PKG_VERSION:= 3.0.0
PKG_RELEASE:= 1
-PKG_HASH:= 4124f4ce970089f301c34b9c48f54b021cf6b2b8813877942337f8022104f70d
+PKG_HASH:= 69fe7a71e54aaf0ea93b874db4963057c1ff4904b3617b36f2c9be2010c23331
PKG_DESCR:= ipsec software
PKG_SECTION:= net/security
PKG_DEPENDS:= libgmp
PKG_BUILDDEP:= gmp
PKG_NEEDS:= threads
PKG_URL:= http://www.openswan.org/
-PKG_SITES:= http://www.openswan.org/download/
+PKG_SITES:= https://github.com/xelerance/Openswan/archive/refs/tags/
PKG_NOPARALLEL:= 1
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
-
-# GLOB_BRACE usage
-PKG_LIBC_DEPENDS:= uclibc-ng glibc
+DISTFILES:= v${PKG_VERSION}.tar.gz
+WRKDIST= $(WRKDIR)/Openswan-$(PKG_VERSION)
include ${ADK_TOPDIR}/mk/package.mk
@@ -32,7 +30,9 @@ XAKE_FLAGS+= KERNELSRC="${LINUX_DIR}" \
MODPROBE="insmod" \
OSDEP="linux" \
WERROR="" \
- BUILDENV="linux"
+ BUILDENV="linux" \
+ ARCH=$(ADK_TARGET_KARCH) \
+ V=1
ALL_TARGET:= programs
openswan-install:
diff --git a/package/openswan/patches/patch-Makefile_inc b/package/openswan/patches/patch-Makefile_inc
index 2b3529ed1..ca00c7598 100644
--- a/package/openswan/patches/patch-Makefile_inc
+++ b/package/openswan/patches/patch-Makefile_inc
@@ -1,15 +1,20 @@
---- openswan-2.6.51.5.orig/Makefile.inc 2019-06-14 21:35:45.000000000 +0200
-+++ openswan-2.6.51.5/Makefile.inc 2019-10-07 20:44:06.511702433 +0200
-@@ -194,10 +194,10 @@ BISONOSFLAGS=
- #Example for a cross compile:
- #USERCOMPILE?=-g ${PORTDEFINE} -I/usr/local/arm_tools/arm-elf/inc -L/usr/local/arm_tools/lib/gcc-lib
- GCC_LINT ?= -DGCC_LINT
--USERCOMPILE?=-g -O3 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 ${WERROR} $(GCC_LINT) ${USERCOMPILEEXTRA}
-+USERCOMPILE?=-g -fPIC -Wformat -Wformat-security -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 ${WERROR} $(GCC_LINT) ${USERCOMPILEEXTRA}
+--- Openswan-3.0.0.orig/Makefile.inc 2021-01-22 19:25:50.000000000 +0100
++++ Openswan-3.0.0/Makefile.inc 2022-03-21 19:40:09.287360911 +0100
+@@ -188,7 +188,7 @@ BISONOSFLAGS=
+ # USER* should be empty for end users/vendors to use
+
+ OPTIMIZE?=-g -O3
+-GCCOPTIONS=${OPTIMIZE} -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 ${WERROR} $(GCC_LINT) ${USERCOMPILEEXTRA}
++GCCOPTIONS=${OPTIMIZE} -fPIE -Wformat -Wformat-security -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 ${WERROR} $(GCC_LINT) ${USERCOMPILEEXTRA}
+ # extra compile flags, for userland and kernel stuff, e.g. -g for debug info
+ # you can add to this in the defaults file using +=
+ # -DGCC_LINT uses gcc-specific declarations to improve compile-time diagnostics.
+@@ -199,7 +199,7 @@ GCC_LINT ?= -DGCC_LINT
+ USERCOMPILE?=${GCCOPTIONS}
# on fedora/rhel
#USERCOMPILE?=-g -O2 -g -pipe -Wall -Wp,-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIE -pie -DSUPPORT_BROKEN_ANDROID_ICS
-KLIPSCOMPILE=-O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -DCONFIG_KLIPS_ALG -DDISABLE_UDP_CHECKSUM
-+KLIPSCOMPILE=-O2 -Wformat -Wformat-security -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -DCONFIG_KLIPS_ALG -DDISABLE_UDP_CHECKSUM
++KLIPSCOMPILE=-O2 -fPIE -Wformat -Wformat-security -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -DCONFIG_KLIPS_ALG -DDISABLE_UDP_CHECKSUM
# Additional debugging for developers (warning: can crash openswan!)
#USERCOMPILE?=-g -DLEAK_DETECTIVE ${LIBEFENCE}
# You can also run this before starting openswan on glibc systems:
diff --git a/package/openswan/patches/patch-include_arpa_nameser_h b/package/openswan/patches/patch-include_arpa_nameser_h
deleted file mode 100644
index a59cd15b2..000000000
--- a/package/openswan/patches/patch-include_arpa_nameser_h
+++ /dev/null
@@ -1,128 +0,0 @@
---- openswan-2.6.38.orig/include/arpa/nameser.h 2012-03-23 22:33:43.000000000 +0100
-+++ openswan-2.6.38/include/arpa/nameser.h 2014-03-26 19:50:18.000000000 +0100
-@@ -55,7 +55,6 @@
-
- #include <sys/param.h>
- #include <sys/types.h>
--#include <sys/cdefs.h>
-
- /*
- * Revision information. This is the release date in YYYYMMDD format.
-@@ -505,62 +504,66 @@ typedef enum __ns_cert_types {
- #define ns_makecanon __ns_makecanon
- #define ns_samename __ns_samename
-
--__BEGIN_DECLS
--int ns_msg_getflag __P((ns_msg, int));
--u_int ns_get16 __P((const u_char *));
--u_long ns_get32 __P((const u_char *));
--void ns_put16 __P((u_int, u_char *));
--void ns_put32 __P((u_long, u_char *));
--int ns_initparse __P((const u_char *, int, ns_msg *));
--int ns_skiprr __P((const u_char *, const u_char *, ns_sect, int));
--int ns_parserr __P((ns_msg *, ns_sect, int, ns_rr *));
--int ns_sprintrr __P((const ns_msg *, const ns_rr *,
-- const char *, const char *, char *, size_t));
--int ns_sprintrrf __P((const u_char *, size_t, const char *,
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-+int ns_msg_getflag (ns_msg, int);
-+u_int ns_get16 (const u_char *);
-+u_long ns_get32 (const u_char *);
-+void ns_put16 (u_int, u_char *);
-+void ns_put32 (u_long, u_char *);
-+int ns_initparse (const u_char *, int, ns_msg *);
-+int ns_skiprr (const u_char *, const u_char *, ns_sect, int);
-+int ns_parserr (ns_msg *, ns_sect, int, ns_rr *);
-+int ns_sprintrr (const ns_msg *, const ns_rr *,
-+ const char *, const char *, char *, size_t);
-+int ns_sprintrrf (const u_char *, size_t, const char *,
- ns_class, ns_type, u_long, const u_char *,
- size_t, const char *, const char *,
-- char *, size_t));
--int ns_format_ttl __P((u_long, char *, size_t));
--int ns_parse_ttl __P((const char *, u_long *));
--u_int32_t ns_datetosecs __P((const char *cp, int *errp));
--int ns_name_ntol __P((const u_char *, u_char *, size_t));
--int ns_name_ntop __P((const u_char *, char *, size_t));
--int ns_name_pton __P((const char *, u_char *, size_t));
--int ns_name_unpack __P((const u_char *, const u_char *,
-- const u_char *, u_char *, size_t));
--int ns_name_pack __P((const u_char *, u_char *, int,
-- const u_char **, const u_char **));
--int ns_name_uncompress __P((const u_char *, const u_char *,
-- const u_char *, char *, size_t));
--int ns_name_compress __P((const char *, u_char *, size_t,
-- const u_char **, const u_char **));
--int ns_name_skip __P((const u_char **, const u_char *));
--void ns_name_rollback __P((const u_char *, const u_char **,
-- const u_char **));
--int ns_sign __P((u_char *, int *, int, int, void *,
-- const u_char *, int, u_char *, int *, time_t));
--int ns_sign2 __P((u_char *, int *, int, int, void *,
-+ char *, size_t);
-+int ns_format_ttl (u_long, char *, size_t);
-+int ns_parse_ttl (const char *, u_long *);
-+u_int32_t ns_datetosecs (const char *cp, int *errp);
-+int ns_name_ntol (const u_char *, u_char *, size_t);
-+int ns_name_ntop (const u_char *, char *, size_t);
-+int ns_name_pton (const char *, u_char *, size_t);
-+int ns_name_unpack (const u_char *, const u_char *,
-+ const u_char *, u_char *, size_t);
-+int ns_name_pack (const u_char *, u_char *, int,
-+ const u_char **, const u_char **);
-+int ns_name_uncompress (const u_char *, const u_char *,
-+ const u_char *, char *, size_t);
-+int ns_name_compress (const char *, u_char *, size_t,
-+ const u_char **, const u_char **);
-+int ns_name_skip (const u_char **, const u_char *);
-+void ns_name_rollback (const u_char *, const u_char **,
-+ const u_char **);
-+int ns_sign (u_char *, int *, int, int, void *,
-+ const u_char *, int, u_char *, int *, time_t);
-+int ns_sign2 (u_char *, int *, int, int, void *,
- const u_char *, int, u_char *, int *, time_t,
-- u_char **, u_char **));
--int ns_sign_tcp __P((u_char *, int *, int, int,
-- ns_tcp_tsig_state *, int));
--int ns_sign_tcp2 __P((u_char *, int *, int, int,
-+ u_char **, u_char **);
-+int ns_sign_tcp (u_char *, int *, int, int,
-+ ns_tcp_tsig_state *, int);
-+int ns_sign_tcp2 (u_char *, int *, int, int,
- ns_tcp_tsig_state *, int,
-- u_char **, u_char **));
--int ns_sign_tcp_init __P((void *, const u_char *, int,
-- ns_tcp_tsig_state *));
--u_char *ns_find_tsig __P((u_char *, u_char *));
--int ns_verify __P((u_char *, int *, void *,
-+ u_char **, u_char **);
-+int ns_sign_tcp_init (void *, const u_char *, int,
-+ ns_tcp_tsig_state *);
-+u_char *ns_find_tsig (u_char *, u_char *);
-+int ns_verify (u_char *, int *, void *,
- const u_char *, int, u_char *, int *,
-- time_t *, int));
--int ns_verify_tcp __P((u_char *, int *, ns_tcp_tsig_state *, int));
--int ns_verify_tcp_init __P((void *, const u_char *, int,
-- ns_tcp_tsig_state *));
--int ns_samedomain __P((const char *, const char *));
--int ns_subdomain __P((const char *, const char *));
--int ns_makecanon __P((const char *, char *, size_t));
--int ns_samename __P((const char *, const char *));
--__END_DECLS
-+ time_t *, int);
-+int ns_verify_tcp (u_char *, int *, ns_tcp_tsig_state *, int);
-+int ns_verify_tcp_init (void *, const u_char *, int,
-+ ns_tcp_tsig_state *);
-+int ns_samedomain (const char *, const char *);
-+int ns_subdomain (const char *, const char *);
-+int ns_makecanon (const char *, char *, size_t);
-+int ns_samename (const char *, const char *);
-+#ifdef __cplusplus
-+}
-+#endif
-
- #ifdef BIND_4_COMPAT
- #include <arpa/nameser_compat.h>
diff --git a/package/openswan/patches/patch-lib_libalgoparse_kernel_alg_c b/package/openswan/patches/patch-lib_libalgoparse_kernel_alg_c
new file mode 100644
index 000000000..dbb01fb0d
--- /dev/null
+++ b/package/openswan/patches/patch-lib_libalgoparse_kernel_alg_c
@@ -0,0 +1,11 @@
+--- Openswan-3.0.0.orig/lib/libalgoparse/kernel_alg.c 2021-01-22 19:25:50.000000000 +0100
++++ Openswan-3.0.0/lib/libalgoparse/kernel_alg.c 2022-03-22 16:18:54.795141065 +0100
+@@ -27,7 +27,7 @@
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <unistd.h>
+-#include <sys/queue.h>
++#include "queue.h"
+
+ #include <openswan.h>
+
diff --git a/package/openswan/patches/patch-lib_libalgoparse_klips_interface_c b/package/openswan/patches/patch-lib_libalgoparse_klips_interface_c
new file mode 100644
index 000000000..9f901deef
--- /dev/null
+++ b/package/openswan/patches/patch-lib_libalgoparse_klips_interface_c
@@ -0,0 +1,11 @@
+--- Openswan-3.0.0.orig/lib/libalgoparse/klips_interface.c 2021-01-22 19:25:50.000000000 +0100
++++ Openswan-3.0.0/lib/libalgoparse/klips_interface.c 2022-03-22 16:19:33.414205801 +0100
+@@ -22,7 +22,7 @@
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <unistd.h>
+-#include <sys/queue.h>
++#include "queue.h"
+
+ #include <openswan.h>
+
diff --git a/package/openswan/patches/patch-lib_libipsecconf_keywords_c b/package/openswan/patches/patch-lib_libipsecconf_keywords_c
new file mode 100644
index 000000000..671e9564b
--- /dev/null
+++ b/package/openswan/patches/patch-lib_libipsecconf_keywords_c
@@ -0,0 +1,11 @@
+--- Openswan-3.0.0.orig/lib/libipsecconf/keywords.c 2021-01-22 19:25:50.000000000 +0100
++++ Openswan-3.0.0/lib/libipsecconf/keywords.c 2022-03-22 16:20:38.212636657 +0100
+@@ -20,7 +20,7 @@
+ *
+ */
+
+-#include <sys/queue.h>
++#include "queue.h"
+ #include <string.h>
+ #include <assert.h>
+ #include <stdlib.h>
diff --git a/package/openswan/patches/patch-lib_libipsecconf_oeconns_c b/package/openswan/patches/patch-lib_libipsecconf_oeconns_c
new file mode 100644
index 000000000..f7e9ca9c9
--- /dev/null
+++ b/package/openswan/patches/patch-lib_libipsecconf_oeconns_c
@@ -0,0 +1,11 @@
+--- Openswan-3.0.0.orig/lib/libipsecconf/oeconns.c 2021-01-22 19:25:50.000000000 +0100
++++ Openswan-3.0.0/lib/libipsecconf/oeconns.c 2022-03-22 16:21:06.271957222 +0100
+@@ -16,7 +16,7 @@
+ #include <string.h>
+ #include <limits.h>
+ #include <assert.h>
+-#include <sys/queue.h>
++#include "queue.h"
+
+ #include "ipsecconf/parser.h"
+ #include "ipsecconf/confread.h"
diff --git a/package/openswan/patches/patch-lib_libopenswan_kernel_alg_c b/package/openswan/patches/patch-lib_libopenswan_kernel_alg_c
deleted file mode 100644
index 36cf64ee4..000000000
--- a/package/openswan/patches/patch-lib_libopenswan_kernel_alg_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- openswan-2.6.38.orig/lib/libopenswan/kernel_alg.c 2012-03-23 22:33:43.000000000 +0100
-+++ openswan-2.6.38/lib/libopenswan/kernel_alg.c 2014-03-26 20:04:18.000000000 +0100
-@@ -27,7 +27,7 @@
- #include <netinet/in.h>
- #include <arpa/inet.h>
- #include <unistd.h>
--#include <sys/queue.h>
-+#include "queue.h"
-
- #include <openswan.h>
-
diff --git a/package/openswan/patches/patch-lib_liboswlog_oswlog_c b/package/openswan/patches/patch-lib_liboswlog_oswlog_c
new file mode 100644
index 000000000..4fb7e2ef7
--- /dev/null
+++ b/package/openswan/patches/patch-lib_liboswlog_oswlog_c
@@ -0,0 +1,11 @@
+--- Openswan-3.0.0.orig/lib/liboswlog/oswlog.c 2021-01-22 19:25:50.000000000 +0100
++++ Openswan-3.0.0/lib/liboswlog/oswlog.c 2022-03-22 16:21:39.003164693 +0100
+@@ -25,7 +25,7 @@
+ #include <string.h>
+ #include <unistd.h>
+ #include <signal.h> /* used only if MSG_NOSIGNAL not defined */
+-#include <sys/queue.h>
++#include "queue.h"
+ #include <libgen.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
diff --git a/package/openvpn/Makefile b/package/openvpn/Makefile
index 0d2cb25a5..8001a51ca 100644
--- a/package/openvpn/Makefile
+++ b/package/openvpn/Makefile
@@ -4,17 +4,19 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= openvpn
-PKG_VERSION:= 2.4.7
+PKG_VERSION:= 2.6.10
PKG_RELEASE:= 1
-PKG_HASH:= a42f53570f669eaf10af68e98d65b531015ff9e12be7a62d9269ea684652f648
+PKG_HASH:= 1993bbb7b9edb430626eaa24573f881fd3df642f427fcb824b1aed1fca1bcc9b
PKG_DESCR:= vpn solution using ssl/tls
-PKG_DEPENDS:= libressl
-PKG_BUILDDEP:= libressl
+PKG_DEPENDS:= libressl libcap-ng
+PKG_BUILDDEP:= libressl libcap-ng
PKG_KDEPENDS:= tun
PKG_SECTION:= net/security
PKG_URL:= http://openvpn.net/
PKG_SITES:= http://swupdate.openvpn.org/community/releases/
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
+
PKG_FLAVOURS_OPENVPN:= WITH_LZO WITH_LZ4 WITH_MANAGEMENT WITH_SMALL
PKGFD_WITH_LZO:= enable lzo compression support
PKGFS_WITH_LZO:= liblzo
diff --git a/package/openvpn/patches/patch-src_openvpn_ssl_openssl_c b/package/openvpn/patches/patch-src_openvpn_ssl_openssl_c
deleted file mode 100644
index efcbc2600..000000000
--- a/package/openvpn/patches/patch-src_openvpn_ssl_openssl_c
+++ /dev/null
@@ -1,29 +0,0 @@
---- openvpn-2.4.7.orig/src/openvpn/ssl_openssl.c 2019-02-20 13:28:23.000000000 +0100
-+++ openvpn-2.4.7/src/openvpn/ssl_openssl.c 2019-10-07 21:44:52.473323073 +0200
-@@ -459,7 +459,7 @@ tls_ctx_restrict_ciphers_tls13(struct tl
- return;
- }
-
--#if (OPENSSL_VERSION_NUMBER < 0x1010100fL)
-+#if (OPENSSL_VERSION_NUMBER < 0x1010100fL) || defined(LIBRESSL_VERSION_NUMBER)
- crypto_msg(M_WARN, "Not compiled with OpenSSL 1.1.1 or higher. "
- "Ignoring TLS 1.3 only tls-ciphersuites '%s' setting.",
- ciphers);
-@@ -1846,7 +1846,7 @@ show_available_tls_ciphers_list(const ch
- crypto_msg(M_FATAL, "Cannot create SSL_CTX object");
- }
-
--#if (OPENSSL_VERSION_NUMBER >= 0x1010100fL)
-+#if (OPENSSL_VERSION_NUMBER >= 0x1010100fL && !defined(LIBRESSL_VERSION_NUMBER))
- if (tls13)
- {
- SSL_CTX_set_min_proto_version(tls_ctx.ctx, TLS1_3_VERSION);
-@@ -1867,7 +1867,7 @@ show_available_tls_ciphers_list(const ch
- crypto_msg(M_FATAL, "Cannot create SSL object");
- }
-
--#if (OPENSSL_VERSION_NUMBER < 0x1010000fL)
-+#if (OPENSSL_VERSION_NUMBER < 0x1010000fL) || defined(LIBRESSL_VERSION_NUMBER)
- STACK_OF(SSL_CIPHER) *sk = SSL_get_ciphers(ssl);
- #else
- STACK_OF(SSL_CIPHER) *sk = SSL_get1_supported_ciphers(ssl);
diff --git a/package/opkg/Makefile b/package/opkg/Makefile
index da1647322..17f2bf2e2 100644
--- a/package/opkg/Makefile
+++ b/package/opkg/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= opkg
-PKG_VERSION:= 0.4.2
+PKG_VERSION:= 0.6.2
PKG_RELEASE:= 1
-PKG_HASH:= 86887852c43457edfff9d8b6d9520f3f1cdd55f25eb600a6eb31e1c4e151e106
+PKG_HASH:= ac73a90a2549cd04948e563d915912c78e1b8ba0f43af75c5a53fcca474adbd5
PKG_DESCR:= embedded package manager
PKG_DEPENDS:= libcurl libarchive gpgme libressl xz
PKG_BUILDDEP:= curl libarchive gpgme xz libressl
@@ -24,7 +24,6 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call HOST_template,OPKG,opkg,$(PKG_VERSION)-${PKG_RELEASE}))
$(eval $(call PKG_template,OPKG,opkg,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-AUTOTOOL_STYLE:= autoreconf
HOST_CONFIGURE_ARGS+= --disable-openssl \
--disable-gpg \
--disable-xz \
diff --git a/package/opus/Makefile b/package/opus/Makefile
index cae0fca62..0785c74d8 100644
--- a/package/opus/Makefile
+++ b/package/opus/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= opus
-PKG_VERSION:= 1.1.5
+PKG_VERSION:= 1.3.1
PKG_RELEASE:= 1
-PKG_HASH:= eb84981ca0f40a3e5d5e58d2e8582cb2fee05a022825a6dfe14d14b04eb563e4
+PKG_HASH:= 65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d
PKG_DESCR:= open, royalty-free, highly versatile audio codec
PKG_SECTION:= libs/audio
PKG_URL:= http://opus-codec.org/
diff --git a/package/owfs/Makefile b/package/owfs/Makefile
index 71df2bbf6..227fe8b04 100644
--- a/package/owfs/Makefile
+++ b/package/owfs/Makefile
@@ -4,14 +4,14 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= owfs
-PKG_VERSION:= 3.1p0
+PKG_VERSION:= 3.2p4
PKG_RELEASE:= 1
-PKG_HASH:= 62fca1b3e908cd4515c9eb499bf2b05020bbbea4a5b73611ddc6f205adec7a54
+PKG_HASH:= af0a5035f3f3df876ca15aea13486bfed6b3ef5409dee016db0be67755c35fcc
PKG_DESCR:= software to access 1-wire devices
PKG_SECTION:= sys/hw
PKG_BUILDDEP:= fuse
PKG_URL:= http://owfs.org/
-PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=owfs/}
+PKG_SITES:= https://github.com/owfs/owfs/releases/download/v$(PKG_VERSION)/
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
diff --git a/package/p5-anyevent/Makefile b/package/p5-anyevent/Makefile
index 8c1577dc5..a8bcb8179 100644
--- a/package/p5-anyevent/Makefile
+++ b/package/p5-anyevent/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= p5-anyevent
-PKG_VERSION:= 7.11
+PKG_VERSION:= 7.17
PKG_RELEASE:= 1
-PKG_HASH:= 8bf1b59860d04daeec4f6f56e3b86b581dfabacbc3ba0442e493e267b4b9f522
+PKG_HASH:= 50beea689c098fe4aaeb83806c40b9fe7f946d5769acf99f849f099091a4b985
PKG_DESCR:= anyevent
PKG_SECTION:= dev/perl
PKG_DEPENDS:= perl
diff --git a/package/p5-html-parser/Makefile b/package/p5-html-parser/Makefile
index 188c2fb98..7f5f09d10 100644
--- a/package/p5-html-parser/Makefile
+++ b/package/p5-html-parser/Makefile
@@ -4,14 +4,14 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= p5-html-parser
-PKG_VERSION:= 3.71
+PKG_VERSION:= 3.76
PKG_RELEASE:= 1
-PKG_HASH:= be918b3749d3ff93627f72ee4b825683332ecb4c81c67a3a8d72b0435ffbd802
+PKG_HASH:= 64d9e2eb2b420f1492da01ec0e6976363245b4be9290f03f10b7d2cb63fa2f61
PKG_DESCR:= html parser class
PKG_SECTION:= dev/perl
PKG_DEPENDS:= perl
PKG_BUILDDEP:= perl-host perl
-PKG_SITES:= http://cpan.metacpan.org/authors/id/G/GA/GAAS/
+PKG_SITES:= https://cpan.metacpan.org/authors/id/O/OA/OALDERS/
DISTFILES:= HTML-Parser-${PKG_VERSION}.tar.gz
WRKDIST= ${WRKDIR}/HTML-Parser-${PKG_VERSION}
diff --git a/package/p5-parse-yapp/Makefile b/package/p5-parse-yapp/Makefile
new file mode 100644
index 000000000..46b71fc7b
--- /dev/null
+++ b/package/p5-parse-yapp/Makefile
@@ -0,0 +1,42 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+# always use tab spaces as separator, no spaces
+PKG_NAME:= p5-parse-yapp
+PKG_VERSION:= 1.21
+PKG_RELEASE:= 1
+PKG_HASH:= 3810e998308fba2e0f4f26043035032b027ce51ce5c8a52a8b8e340ca65f13e5
+PKG_DESCR:= Parse Yapp
+PKG_SECTION:= dev/perl
+PKG_DEPENDS:= perl
+PKG_BUILDDEP:= perl-host perl
+HOST_BUILDDEP:= perl-host
+PKG_SITES:= https://cpan.metacpan.org/authors/id/W/WB/WBRASWELL/
+
+DISTFILES:= Parse-Yapp-${PKG_VERSION}.tar.gz
+WRKDIST= ${WRKDIR}/Parse-Yapp-${PKG_VERSION}
+
+include $(ADK_TOPDIR)/mk/host.mk
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call HOST_template,P5_PARSE_YAPP,p5-parse-yapp,$(PKG_VERSION)-$(PKG_RELEASE)))
+$(eval $(call PKG_template,P5_PARSE_YAPP,p5-parse-yapp,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+include $(ADK_TOPDIR)/mk/perl.mk
+
+HOST_STYLE:= perl
+CONFIG_STYLE:= perl
+XAKE_FLAGS+= $(PERL_ENV)
+
+hostpost-install:
+ (cd $(WRKBUILD) && PATH='$(HOST_PATH)' $(HOST_PERL_ENV) make install)
+
+p5-parse-yapp-install:
+ $(INSTALL_DIR) $(IDIR_P5_PARSE_YAPP)$(PERL_SITEDIR)
+ $(CP) $(WRKINST)$(PERL_SITEDIR)/* \
+ $(IDIR_P5_PARSE_YAPP)$(PERL_SITEDIR)
+
+include ${ADK_TOPDIR}/mk/host-bottom.mk
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/p5-sub-name/Makefile b/package/p5-sub-name/Makefile
index fbb246439..f7a55e3ba 100644
--- a/package/p5-sub-name/Makefile
+++ b/package/p5-sub-name/Makefile
@@ -4,14 +4,14 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= p5-sub-name
-PKG_VERSION:= 0.05
+PKG_VERSION:= 0.27
PKG_RELEASE:= 1
-PKG_HASH:= c9d1b805ea1f8e35fdde319468d6378dc1f1123cd8f2b22788238ba842713af1
+PKG_HASH:= ecf36fba1c47ca93e1daa394968ed39c4186867459d9cd173c421e2b972043e8
PKG_DESCR:= rename a sub
PKG_SECTION:= dev/perl
PKG_DEPENDS:= perl
PKG_BUILDDEP:= perl-host perl
-PKG_SITES:= http://cpan.metacpan.org/authors/id/F/FL/FLORA/
+PKG_SITES:= https://cpan.metacpan.org/authors/id/E/ET/ETHER/
DISTFILES:= Sub-Name-${PKG_VERSION}.tar.gz
WRKDIST= ${WRKDIR}/Sub-Name-${PKG_VERSION}
diff --git a/package/p5-xml-parser-expat/Makefile b/package/p5-xml-parser-expat/Makefile
index 16d92ff47..b7fb8244a 100644
--- a/package/p5-xml-parser-expat/Makefile
+++ b/package/p5-xml-parser-expat/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= p5-xml-parser-expat
-PKG_VERSION:= 2.44
+PKG_VERSION:= 2.47
PKG_RELEASE:= 1
-PKG_HASH:= 1ae9d07ee9c35326b3d9aad56eae71a6730a73a116b9fe9e8a4758b7cc033216
+PKG_HASH:= ad4aae643ec784f489b956abe952432871a622d4e2b5c619e8855accbfc4d1d8
PKG_DESCR:= lowlevel access to expat xml parser
PKG_SECTION:= dev/perl
PKG_DEPENDS:= perl libexpat
diff --git a/package/p5-xml-parser/Makefile b/package/p5-xml-parser/Makefile
index 90f0fed30..9783ae0b2 100644
--- a/package/p5-xml-parser/Makefile
+++ b/package/p5-xml-parser/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= p5-xml-parser
-PKG_VERSION:= 2.41
+PKG_VERSION:= 2.47
PKG_RELEASE:= 1
-PKG_HASH:= b48197cd2265a26c5f016489f11a7b450d8833cb8b3d6a46ee15975740894de9
+PKG_HASH:= ad4aae643ec784f489b956abe952432871a622d4e2b5c619e8855accbfc4d1d8
PKG_DESCR:= xml parser
PKG_SECTION:= dev/perl
PKG_DEPENDS:= perl libexpat
diff --git a/package/p5-yaml-xs/Makefile b/package/p5-yaml-xs/Makefile
index 326eb892a..282faaa83 100644
--- a/package/p5-yaml-xs/Makefile
+++ b/package/p5-yaml-xs/Makefile
@@ -4,14 +4,14 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= p5-yaml-xs
-PKG_VERSION:= 0.41
+PKG_VERSION:= 0.89
PKG_RELEASE:= 1
-PKG_HASH:= 9a654427a3a63de434c6d03b18bba144cc7ba0f0e61a7100c6d08d77a90145ce
+PKG_HASH:= 155ab83675345c50add03311acf9dd915955707f909a2abd8b17d7792859b2ec
PKG_DESCR:= yaml serialization using xs and libyaml
PKG_SECTION:= dev/perl
PKG_DEPENDS:= perl
PKG_BUILDDEP:= perl-host perl
-PKG_SITES:= http://cpan.metacpan.org/authors/id/I/IN/INGY/
+PKG_SITES:= https://cpan.metacpan.org/authors/id/T/TI/TINITA/
DISTFILES:= YAML-LibYAML-${PKG_VERSION}.tar.gz
WRKDIST= ${WRKDIR}/YAML-LibYAML-${PKG_VERSION}
diff --git a/package/p8-platform/Makefile b/package/p8-platform/Makefile
new file mode 100644
index 000000000..af0bd5a87
--- /dev/null
+++ b/package/p8-platform/Makefile
@@ -0,0 +1,29 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= p8-platform
+PKG_VERSION:= 2.1.0.1
+PKG_RELEASE:= 1
+PKG_HASH:= 064f8d2c358895c7e0bea9ae956f8d46f3f057772cb97f2743a11d478a0f68a0
+PKG_DESCR:= platform library used by libcec
+PKG_SECTION:= libs/misc
+PKG_URL:= https://github.com/Pulse-Eight/platform
+PKG_SITES:= https://github.com/Pulse-Eight/platform/archive/refs/tags/
+PKG_LIBNAME:= libplatform
+PKG_OPTS:= dev
+
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
+WRKDIST= $(WRKDIR)/platform-$(PKG_NAME)-$(PKG_VERSION)
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,P8_PLATFORM,p8-platform,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+CONFIG_STYLE:= cmake
+
+p8-platform-install:
+ :
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/pango/Makefile b/package/pango/Makefile
index 352edeb4d..44fac2f88 100644
--- a/package/pango/Makefile
+++ b/package/pango/Makefile
@@ -4,14 +4,14 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= pango
-PKG_VERSION:= 1.40.3
-PKG_EXTRAVER:= 1.40
+PKG_VERSION:= 1.50.4
+PKG_EXTRAVER:= 1.50
PKG_RELEASE:= 1
-PKG_HASH:= abba8b5ce728520c3a0f1535eab19eac3c14aeef7faa5aded90017ceac2711d3
+PKG_HASH:= f4ad63e87dc2b145300542a4fb004d07a9f91b34152fae0ddbe50ecdd851c162
PKG_DESCR:= library for laying out and rendering of text
PKG_SECTION:= libs/fonts
-PKG_BUILDDEP:= libXft glib cairo harfbuzz fontconfig
-HOST_BUILDDEP:= cairo-host harfbuzz-host
+PKG_BUILDDEP:= libXft glib cairo harfbuzz fontconfig fribidi
+HOST_BUILDDEP:= cairo-host harfbuzz-host glib-host meson-host
PKG_NEEDS:= c++
PKG_URL:= http://www.pango.org/
PKG_SITES:= $(MASTER_SITE_GNOME:=pango/$(PKG_EXTRAVER)/)
@@ -23,10 +23,12 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call HOST_template,PANGO,pango,$(PKG_VERSION)-$(PKG_RELEASE)))
$(eval $(call PKG_template,PANGO,pango,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
-HOST_LDFLAGS+= -lffi
-HOST_STYLE:= auto
-AUTOTOOLS_STYLE:= autoreconf
-CONFIGURE_ARGS+= --disable-man
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+HOST_STYLE:= meson
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
pango-install:
$(INSTALL_DIR) $(IDIR_PANGO)/etc/pango $(IDIR_PANGO)/usr/lib
diff --git a/package/parted/Makefile b/package/parted/Makefile
index b78783971..d439d93de 100644
--- a/package/parted/Makefile
+++ b/package/parted/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= parted
-PKG_VERSION:= 3.3
-PKG_RELEASE:= 5
-PKG_HASH:= 57e2b4bd87018625c515421d4524f6e3b55175b472302056391c5f7eccb83d44
+PKG_VERSION:= 3.6
+PKG_RELEASE:= 1
+PKG_HASH:= 3b43dbe33cca0f9a18601ebab56b7852b128ec1a3df3a9b30ccde5e73359e612
PKG_DESCR:= partition table editor
PKG_SECTION:= sys/fs
PKG_DEPENDS:= libblkid libuuid libncurses
diff --git a/package/pciutils/Makefile b/package/pciutils/Makefile
index 3720f55f8..58a44a037 100644
--- a/package/pciutils/Makefile
+++ b/package/pciutils/Makefile
@@ -5,7 +5,7 @@ include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= pciutils
PKG_VERSION:= 3.5.1
-PKG_RELEASE:= 2
+PKG_RELEASE:= 3
PKG_HASH:= 2bf3a4605a562fb6b8b7673bff85a474a5cf383ed7e4bd8886b4f0939013d42f
PKG_DESCR:= pci utilities
PKG_SECTION:= sys/hw
@@ -13,7 +13,6 @@ PKG_DEPENDS:= zlib
PKG_BUILDDEP:= zlib
PKG_URL:= http://www.kernel.org/pub/software/utils/pciutils/
PKG_SITES:= http://www.kernel.org/pub/software/utils/pciutils/
-PKG_BB:= 1
include $(ADK_TOPDIR)/mk/package.mk
diff --git a/package/pcre/Makefile b/package/pcre/Makefile
index 435d5dcb2..c9814fbae 100644
--- a/package/pcre/Makefile
+++ b/package/pcre/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= pcre
-PKG_VERSION:= 8.41
+PKG_VERSION:= 8.45
PKG_RELEASE:= 1
-PKG_HASH:= 244838e1f1d14f7e2fa7681b857b3a8566b74215f28133f14a8f5e59241b682c
+PKG_HASH:= 4e6ce03e0336e8b4a3d6c2b70b1c5e18590a5673a98186da90d4f33c23defc09
PKG_DESCR:= perl compatible regular expression library
PKG_SECTION:= libs/misc
PKG_URL:= http://www.pcre.org/
diff --git a/package/pcre2/Makefile b/package/pcre2/Makefile
new file mode 100644
index 000000000..3bd0d9935
--- /dev/null
+++ b/package/pcre2/Makefile
@@ -0,0 +1,40 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= pcre2
+PKG_VERSION:= 10.42
+PKG_RELEASE:= 1
+PKG_HASH:= a8e52a9bd1bca8f51c5c24823adc2a99acb12288e289a6507090c1a4a4815010
+PKG_DESCR:= perl compatible regular expression library
+PKG_SECTION:= libs/misc
+PKG_BUILDDEP:= cmake-host
+HOST_BUILDDEP:= cmake-host
+PKG_SITES:= https://github.com/PCRE2Project/pcre2/archive/refs/tags/
+PKG_OPTS:= dev
+
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
+WRKDIST= ${WRKDIR}/$(PKG_NAME)-$(PKG_NAME)-$(PKG_VERSION)
+
+include $(ADK_TOPDIR)/mk/host.mk
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call HOST_template,PCRE2,pcre2,${PKG_VERSION}-${PKG_RELEASE}))
+$(eval $(call PKG_template,PCRE2,pcre2,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+HOST_STYLE:= cmake
+CONFIG_STYLE:= cmake
+CMAKE_FLAGS+= -DBUILD_SHARED_LIBS=ON
+
+pcre2-hostinstall:
+ cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -j${ADK_MAKE_JOBS} -f ${MAKE_FILE} \
+ ${HOST_FAKE_FLAGS} ${HOST_INSTALL_TARGET}
+
+pcre2-install:
+ $(INSTALL_DIR) $(IDIR_PCRE2)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libpcre2*.so* \
+ $(IDIR_PCRE2)/usr/lib
+
+include ${ADK_TOPDIR}/mk/host-bottom.mk
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/pdnsd/Makefile b/package/pdnsd/Makefile
deleted file mode 100644
index 0cc15e88f..000000000
--- a/package/pdnsd/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(ADK_TOPDIR)/rules.mk
-
-PKG_NAME:= pdnsd
-PKG_VERSION:= 1.2.9a
-PKG_RELEASE:= 1
-PKG_HASH:= bb5835d0caa8c4b31679d6fd6a1a090b71bdf70950db3b1d0cea9cf9cb7e2a7b
-PKG_DESCR:= proxy dns server
-PKG_SECTION:= net/dns
-PKG_NEEDS:= threads
-PKG_URL:= http://members.home.nl/p.a.rombouts/pdnsd/index.html
-PKG_SITES:= http://members.home.nl/p.a.rombouts/pdnsd/releases/
-
-PKG_FLAVOURS_PDNSD:= WITH_IPV6
-PKGFD_WITH_IPV6:= enable IPv6 support
-
-PKG_HOST_DEPENDS:= !netbsd
-
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}-par.tar.gz
-
-include $(ADK_TOPDIR)/mk/package.mk
-
-$(eval $(call PKG_template,PDNSD,pdnsd,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-
-CONFIGURE_ARGS+= --with-target=Linux
-
-ifneq (${ADK_PACKAGE_PDNSD_WITH_IPV6},)
-CONFIGURE_ARGS+= --enable-ipv6
-else
-CONFIGURE_ARGS+= --disable-ipv6
-endif
-
-pdnsd-install:
- $(INSTALL_DIR) $(IDIR_PDNSD)/etc
- ${INSTALL_DATA} ./files/pdnsd.conf ${IDIR_PDNSD}/etc/
- $(INSTALL_DIR) $(IDIR_PDNSD)/usr/sbin
- $(INSTALL_BIN) $(WRKINST)/usr/sbin/pdnsd{,-ctl} $(IDIR_PDNSD)/usr/sbin/
-
-include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/pdnsd/files/pdnsd.conf b/package/pdnsd/files/pdnsd.conf
deleted file mode 100644
index 73690524a..000000000
--- a/package/pdnsd/files/pdnsd.conf
+++ /dev/null
@@ -1,36 +0,0 @@
-global {
- perm_cache = 1024;
- cache_dir = "/var/cache/pdnsd"; # do not change this!
- run_as = "nobody";
- strict_setuid = on;
- server_ip = 127.0.0.1; # Use eth0 here if you want to allow other
- # machines on your network to query pdnsd.
- status_ctl = on;
-# paranoid=on; # This option reduces the chance of cache poisoning
- # but may make pdnsd less efficient, unfortunately.
- query_method=udp_tcp;
- min_ttl=15m; # Retain cached entries at least 15 minutes.
- max_ttl=1w; # One week.
- timeout=10; # Global timeout option (10 seconds).
- proc_limit = 20;
-}
-
-# serve local host definitions
-source {
- owner = "localhost";
- serve_aliases = off; # skip everything after the first host for an IP
- file = "/etc/hosts";
-}
-
-# for dns servers via dhcp
-#server {
-# label = "dhcp";
-# file = "/var/resolv.conf";
-# exclude = ".lan";
-# policy = fqdn_only;
-# timeout = 4;
-# uptest = if;
-# interface = "eth0";
-# interval = 60;
-#}
-
diff --git a/package/pdnsd/files/pdnsd.conffiles b/package/pdnsd/files/pdnsd.conffiles
deleted file mode 100644
index c2ae46acb..000000000
--- a/package/pdnsd/files/pdnsd.conffiles
+++ /dev/null
@@ -1 +0,0 @@
-/etc/pdnsd.conf
diff --git a/package/pdnsd/files/pdnsd.init b/package/pdnsd/files/pdnsd.init
deleted file mode 100644
index 5d6111e69..000000000
--- a/package/pdnsd/files/pdnsd.init
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-#PKG pdnsd
-#INIT 60
-. /etc/rc.conf
-
-case $1 in
-autostop) ;;
-autostart)
- test x"${pdnsd:-NO}" = x"NO" && exit 0
- test x"$pdnsd" = x"DAEMON" && test -x /bin/mksh && exec mksh -T- $0 start
- exec sh $0 start
- ;;
-start)
- [ -f /etc/pdnsd.conf ] || exit
- mkdir -p /var/cache/pdnsd
- touch /var/cache/pdnsd/pdnsd.cache
- # this allows for strict_setuid
- chown -R nobody:nogroup /var/cache/pdnsd
- /usr/sbin/pdnsd -d
- ;;
-stop)
- kill $(pgrep -f /usr/sbin/pdnsd)
- ;;
-restart)
- sh $0 stop
- sleep 1
- sh $0 start
- ;;
-*)
- echo "Usage: $0 {start | stop | restart}"
- exit 1
- ;;
-esac
-exit $?
diff --git a/package/pdnsd/files/pdnsd.postinst b/package/pdnsd/files/pdnsd.postinst
deleted file mode 100644
index 98ba25099..000000000
--- a/package/pdnsd/files/pdnsd.postinst
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-. $IPKG_INSTROOT/etc/functions.sh
-add_rcconf pdnsd NO
diff --git a/package/perf/Makefile b/package/perf/Makefile
index 2e7188c14..61680c399 100644
--- a/package/perf/Makefile
+++ b/package/perf/Makefile
@@ -28,12 +28,10 @@ BUILD_STYLE:= manual
INSTALL_STYLE:= manual
do-build:
- $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" \
- $(KERNEL_MAKE_OPTS) WERROR=0 -C "$(LINUX_DIR)/tools/perf" all
+ ${KERNEL_MAKE} WERROR=0 -C "$(LINUX_DIR)/tools/perf" all
do-install:
- $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" \
- $(KERNEL_MAKE_OPTS) WERROR=0 -C "$(LINUX_DIR)/tools/perf" \
+ ${KERNEL_MAKE} WERROR=0 -C "$(LINUX_DIR)/tools/perf" \
prefix="$(WRKINST)" install
perf-install:
diff --git a/package/perl/Makefile b/package/perl/Makefile
index 63b56c2c5..788d08745 100644
--- a/package/perl/Makefile
+++ b/package/perl/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= perl
-PKG_VERSION:= 5.24.1
+PKG_VERSION:= 5.38.2
PKG_RELEASE:= 1
-PKG_HASH:= 03a77bac4505c270f1890ece75afc7d4b555090b41aa41ea478747e23b2afb3f
+PKG_HASH:= d91115e90b896520e83d4de6b52f8254ef2b70a8d545ffab33200ea9f1cf29e8
PKG_DESCR:= perl interpreter
PKG_SECTION:= dev/lang
PKG_NEEDS:= threads
@@ -14,7 +14,7 @@ PKG_URL:= http://www.perl.org/
PKG_SITES:= http://www.cpan.org/src/
PKG_NOPARALLEL:= 1
-PC_VERSION:= 1.1.5
+PC_VERSION:= 1.5.2
PC_SITE:= https://github.com/arsv/perl-cross/releases/download/$(PC_VERSION)
include ${ADK_TOPDIR}/mk/host.mk
@@ -55,6 +55,7 @@ pre-configure:
cd $(DL_DIR); wget $(PC_SITE)/perl-cross-$(PC_VERSION).tar.gz; \
fi)
(cd $(WRKSRC); tar --strip-components=1 -xf $(DL_DIR)/perl-cross-$(PC_VERSION).tar.gz)
+ $(CP) $(SCRIPT_DIR)/config.* $(WRKSRC)/cnf
perl-install:
${INSTALL_DIR} ${IDIR_PERL}/usr/bin
diff --git a/package/php/Makefile b/package/php/Makefile
index ad956ab9f..7b9a1e81b 100644
--- a/package/php/Makefile
+++ b/package/php/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= php
-PKG_VERSION:= 7.0.27
+PKG_VERSION:= 8.3.2
PKG_RELEASE:= 1
-PKG_HASH:= 4b2bc823e806dbf7b62fe0b92b0d14b0c6e03f88c3fc5d96278416c54ce11f6c
+PKG_HASH:= 4ffa3e44afc9c590e28dc0d2d31fc61f0139f8b335f11880a121b9f9b9f0634e
PKG_DESCR:= php language interpreter
PKG_SECTION:= dev/lang
PKG_NEEDS:= threads
@@ -23,7 +23,7 @@ PKGSN_PHP_CLI:= php
PKG_FLAVOURS_PHP:= MOD_BZ2 MOD_CURL MOD_FTP MOD_GD MOD_GMP MOD_MARIADB
PKG_FLAVOURS_PHP+= MOD_SSL MOD_SESSION MOD_SNMP MOD_SQLITE
-PKG_FLAVOURS_PHP+= MOD_SOCKETS MOD_XML MOD_SIMPLEXML MOD_ZLIB MOD_JSON
+PKG_FLAVOURS_PHP+= MOD_SOCKETS MOD_XML MOD_SIMPLEXML MOD_ZLIB
PKG_FLAVOURS_PHP+= MOD_LDAP MOD_PCNTL
PKGFD_MOD_BZ2:= bzip2 support
@@ -34,17 +34,14 @@ PKGFB_MOD_CURL:= curl
PKGFS_MOD_CURL:= libcurl
PKGFD_MOD_FTP:= ftp support
PKGFD_MOD_GD:= gd support
-PKGFB_MOD_GD:= libgd libpng libjpeg-turbo libXpm
-PKGFS_MOD_GD:= libgd libpng libjpeg-turbo libxpm
PKGFD_MOD_GMP:= gmp support
PKGFB_MOD_GMP:= gmp
PKGFS_MOD_GMP:= libgmp
-PKGFD_MOD_JSON:= json support
PKGFD_MOD_LDAP:= ldap support
PKGFB_MOD_LDAP:= openldap
PKGFS_MOD_LDAP:= libopenldap
PKGFD_MOD_MARIADB:= mariadb support
-PKGFS_MOD_MARIADB:= libmariadb
+PKGFS_MOD_MARIADB:= libmariadbclient
PKGFB_MOD_MARIADB:= mariadb
PKGFD_MOD_SSL:= ssl support
PKGFB_MOD_SSL:= libressl
@@ -92,7 +89,6 @@ PKG_CONFIGURE_OPTS:= \
--enable-cgi \
--enable-fpm \
--enable-opcache=no \
- --disable-hash \
--disable-mbstring \
--disable-mbregex \
--disable-phar \
@@ -109,7 +105,6 @@ PKG_CONFIGURE_OPTS:= \
--without-gettext \
--without-pgsql \
--without-iconv \
- --with-pcre-regex=no \
--with-kerberos=no
ifneq ($(ADK_PACKAGE_PHP_MOD_BZ2),)
@@ -128,26 +123,15 @@ else
PKG_CONFIGURE_OPTS+= --disable-ftp
endif
ifneq ($(ADK_PACKAGE_PHP_MOD_GD),)
-PKG_CONFIGURE_OPTS+= --with-gd=shared,"$(STAGING_TARGET_DIR)/usr" \
- --with-png-dir="$(STAGING_TARGET_DIR)/usr" \
- --with-jpeg-dir="$(STAGING_TARGET_DIR)/usr" \
- --without-freetype-dir \
- --without-t1lib \
- --enable-gd-native-ttf \
- --disable-gd-jis-conv
+PKG_CONFIGURE_OPTS+= --enable-gd=shared
else
-PKG_CONFIGURE_OPTS+= --without-gd
+PKG_CONFIGURE_OPTS+= --disable-gd
endif
ifneq ($(ADK_PACKAGE_PHP_MOD_GMP),)
PKG_CONFIGURE_OPTS+= --with-gmp=shared,"$(STAGING_TARGET_DIR)/usr"
else
PKG_CONFIGURE_OPTS+= --without-gmp
endif
-ifneq ($(ADK_PACKAGE_PHP_MOD_JSON),)
-PKG_CONFIGURE_OPTS+= --enable-json=shared,"$(STAGING_TARGET_DIR)/usr"
-else
-PKG_CONFIGURE_OPTS+= --disable-json
-endif
ifneq ($(ADK_PACKAGE_PHP_MOD_LDAP),)
PKG_CONFIGURE_OPTS+= --with-ldap=shared,"$(STAGING_TARGET_DIR)/usr" \
--with-ldap-sasl="$(STAGING_TARGET_DIR)/usr"
@@ -156,6 +140,7 @@ PKG_CONFIGURE_OPTS+= --without-ldap
endif
ifneq ($(ADK_PACKAGE_PHP_MOD_MARIADB),)
PKG_CONFIGURE_OPTS+= --with-pdo-mysql=shared,"$(STAGING_TARGET_DIR)/usr"
+TARGET_CFLAGS+= -I$(STAGING_TARGET_DIR)/usr/include/mysql
else
PKG_CONFIGURE_OPTS+= --without-pdo-mysql
endif
@@ -200,9 +185,9 @@ else
PKG_CONFIGURE_OPTS+= --disable-xml
endif
ifneq ($(ADK_PACKAGE_PHP_MOD_SIMPLEXML),)
-PKG_CONFIGURE_OPTS+= --enable-simplexml=shared --enable-libxml --with-libxml-dir="$(STAGING_TARGET_DIR)/usr"
+PKG_CONFIGURE_OPTS+= --enable-simplexml=shared
else
-PKG_CONFIGURE_OPTS+= --disable-simplexml --disable-libxml
+PKG_CONFIGURE_OPTS+= --disable-simplexml
endif
ifneq ($(ADK_PACKAGE_PHP_MOD_ZLIB),)
PKG_CONFIGURE_OPTS+= --with-zlib=shared,"$(STAGING_TARGET_DIR)/usr"
@@ -215,7 +200,6 @@ $(eval $(call PKG_template,PHP_MOD_CURL,php-mod-curl,$(PKG_VERSION)-${PKG_RELEAS
$(eval $(call PKG_template,PHP_MOD_FTP,php-mod-ftp,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,PHP_MOD_GD,php-mod-gd,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,PHP_MOD_GMP,php-mod-gmp,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-$(eval $(call PKG_template,PHP_MOD_JSON,php-mod-json,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,PHP_MOD_LDAP,php-mod-ldap,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,PHP_MOD_MARIADB,php-mod-mariadb,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,PHP_MOD_OPENSSL,php-mod-openssl,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
@@ -232,7 +216,6 @@ $(eval $(call PKG_mod_template,PHP_MOD_CURL,curl))
$(eval $(call PKG_mod_template,PHP_MOD_FTP,ftp))
$(eval $(call PKG_mod_template,PHP_MOD_GD,gd))
$(eval $(call PKG_mod_template,PHP_MOD_GMP,gmp))
-$(eval $(call PKG_mod_template,PHP_MOD_JSON,json))
$(eval $(call PKG_mod_template,PHP_MOD_LDAP,ldap))
$(eval $(call PKG_mod_template,PHP_MOD_MARIADB,pdo_mysql))
$(eval $(call PKG_mod_template,PHP_MOD_OPENSSL,openssl))
diff --git a/package/php/files/php.init b/package/php/files/php.init
index 5168bdd3e..a113500b6 100644
--- a/package/php/files/php.init
+++ b/package/php/files/php.init
@@ -16,14 +16,14 @@ start)
if [ -x /usr/bin/php-cgi ];then
/usr/bin/php-cgi -b /var/run/php5.sock &
else
- /usr/bin/php-fpm -D
+ /usr/bin/php -D
fi
;;
stop)
if [ -x /usr/bin/php-cgi ];then
pkill php-cgi
else
- pkill php-fpm
+ pkill php
fi
;;
restart)
diff --git a/package/picocom/Makefile b/package/picocom/Makefile
index 6e06e23b7..e1a3e146a 100644
--- a/package/picocom/Makefile
+++ b/package/picocom/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= picocom
-PKG_VERSION:= 2.1
+PKG_VERSION:= 3.1
PKG_RELEASE:= 1
-PKG_HASH:= 6b152fc5f816eaef6b86336a4cec7cf1496b7c712061e5aea5a36f143a0b09ed
+PKG_HASH:= e6761ca932ffc6d09bd6b11ff018bdaf70b287ce518b3282d29e0270e88420bb
PKG_DESCR:= minimal dumb-terminal emulation program
PKG_SECTION:= sys/serial
PKG_URL:= https://github.com/npat-efault/picocom/
diff --git a/package/picocom/patches/patch-Makefile b/package/picocom/patches/patch-Makefile
deleted file mode 100644
index 5d6911113..000000000
--- a/package/picocom/patches/patch-Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
---- picocom-2.1.orig/Makefile 2015-10-15 23:25:02.000000000 +0200
-+++ picocom-2.1/Makefile 2016-09-23 15:45:44.240688077 +0200
-@@ -1,12 +1,12 @@
-
- VERSION = 2.1
-
--#CC = gcc
-+CC ?= gcc
- CPPFLAGS = -DVERSION_STR=\"$(VERSION)\"
--CFLAGS = -Wall -g
-+CFLAGS ?= -Wall -g
-
- LD = $(CC)
--LDFLAGS = -g
-+LDFLAGS ?= -g
- LDLIBS =
-
- all: picocom
diff --git a/package/picocom/patches/patch-linenoise-1_0_Makefile b/package/picocom/patches/patch-linenoise-1_0_Makefile
deleted file mode 100644
index d7c7a6526..000000000
--- a/package/picocom/patches/patch-linenoise-1_0_Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
---- picocom-2.1.orig/linenoise-1.0/Makefile 2015-10-15 23:25:02.000000000 +0200
-+++ picocom-2.1/linenoise-1.0/Makefile 2016-09-23 15:44:57.086909523 +0200
-@@ -1,7 +1,7 @@
- linenoise_example: linenoise.h linenoise.c
-
- linenoise_example: linenoise.c example.c
-- $(CC) -Wall -W -Os -g -o linenoise_example linenoise.c example.c
-+ $(CC) $(CFLAGS) -o linenoise_example linenoise.c example.c
-
- clean:
- rm -f linenoise_example
diff --git a/package/pinentry/Makefile b/package/pinentry/Makefile
new file mode 100644
index 000000000..93fd39c59
--- /dev/null
+++ b/package/pinentry/Makefile
@@ -0,0 +1,26 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= pinentry
+PKG_VERSION:= 1.2.0
+PKG_RELEASE:= 1
+PKG_HASH:= 10072045a3e043d0581f91cd5676fcac7ffee957a16636adedaa4f583a616470
+PKG_DESCR:= pinentry application
+PKG_SECTION:= app/crypto
+PKG_URL:= https://www.gnupg.org
+PKG_SITES:= https://www.gnupg.org/ftp/gcrypt/pinentry/
+
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.bz2
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,PINENTRY,pinentry,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+pinentry-install:
+ $(INSTALL_DIR) $(IDIR_PINENTRY)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/pinentry \
+ $(IDIR_PINENTRY)/usr/bin
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/pkgconf/Makefile b/package/pkgconf/Makefile
index bded34468..77dbba517 100644
--- a/package/pkgconf/Makefile
+++ b/package/pkgconf/Makefile
@@ -4,16 +4,14 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= pkgconf
-PKG_VERSION:= 0.9.6
-PKG_RELEASE:= 1
-PKG_HASH:= 8f5f48e52ddef0c3cbffe93f32d5148041e0030b8798b49b0b5fe72f4968d7ec
+PKG_VERSION:= 1.1.0
+PKG_RELEASE:= 2
+PKG_HASH:= 5f1ef65d73a880fa5e7012102a17f7b32010e5e46139aed85851a541ba828a63
PKG_DESCR:= smart pkg-config replacement
PKG_SECTION:= dev/tools
HOST_BUILDDEP:= sed-host
-PKG_URL:= https://github.com/pkgconf/pkgconf
-PKG_SITES:= http://rabbit.dereferenced.org/~nenolod/distfiles/
-
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
+PKG_URL:= http://pkgconf.org/
+PKG_SITES:= https://distfiles.dereferenced.org/pkgconf/
include $(ADK_TOPDIR)/mk/host.mk
include $(ADK_TOPDIR)/mk/package.mk
@@ -31,6 +29,9 @@ endif
(cd $(STAGING_HOST_DIR)/usr/bin && ln -sf pkg-config $(GNU_TARGET_NAME)-pkg-config)
pkgconf-install:
+ $(INSTALL_DIR) $(IDIR_PKGCONF)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libpkgconf*so* \
+ $(IDIR_PKGCONF)/usr/lib
$(INSTALL_DIR) $(IDIR_PKGCONF)/usr/bin
$(INSTALL_BIN) $(WRKINST)/usr/bin/pkgconf \
$(IDIR_PKGCONF)/usr/bin
diff --git a/package/platform/Makefile b/package/platform/Makefile
deleted file mode 100644
index c23c3e21a..000000000
--- a/package/platform/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(ADK_TOPDIR)/rules.mk
-
-PKG_NAME:= platform
-PKG_VERSION:= aafa6e9f3b86f2258f5f75809849743b1779072b
-PKG_RELEASE:= 1
-PKG_GIT:= hash
-PKG_DESCR:= platform library used by libcec
-PKG_SECTION:= libs/misc
-PKG_URL:= https://github.com/Pulse-Eight/platform
-PKG_SITES:= https://github.com/Pulse-Eight/platform.git
-PKG_LIBNAME:= libplatform
-PKG_OPTS:= dev
-
-include $(ADK_TOPDIR)/mk/package.mk
-
-$(eval $(call PKG_template,LIBPLATFORM,libplatform,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
-
-CONFIG_STYLE:= cmake
-
-libplatform-install:
- :
-
-include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/pmacct/Makefile b/package/pmacct/Makefile
index bfba469b8..1368c276c 100644
--- a/package/pmacct/Makefile
+++ b/package/pmacct/Makefile
@@ -4,13 +4,13 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= pmacct
-PKG_VERSION:= 0.12.5
+PKG_VERSION:= 1.7.8
PKG_RELEASE:= 1
-PKG_HASH:= 5252d7df24e9baefcc5a36ed66e9cac5ae505c9d502c8cffb96e6808acbb2fe8
+PKG_HASH:= 4df50a3c6c7bdace3345bbf3bd4f6fa7a6722ec1fb45dfd266ad956b327da98a
PKG_DESCR:= ip accounting tools
PKG_SECTION:= net/acct
-PKG_DEPENDS:= libpcap
-PKG_BUILDDEP:= libpcap
+PKG_DEPENDS:= libpcap libcdada
+PKG_BUILDDEP:= libpcap libcdada
PKG_URL:= http://www.pmacct.net/
PKG_SITES:= http://www.pmacct.net/
@@ -26,7 +26,8 @@ $(eval $(call PKG_template,SFACCTD,sfacctd,$(PKG_VERSION)-${PKG_RELEASE},${PKG_D
$(eval $(call PKG_template,PMACCT_CLIENT,pmacct-client,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
CONFIGURE_ARGS+= --with-pcap-includes="$(STAGING_TARGET_DIR)/usr/include" \
- --with-pcap-libs="$(STAGING_TARGET_DIR)/usr/lib"
+ --with-pcap-libs="$(STAGING_TARGET_DIR)/usr/lib" \
+ --without-external-deps
sfacctd-install:
${INSTALL_DIR} $(IDIR_SFACCTD)/usr/sbin
diff --git a/package/pmacct/patches/patch-configure b/package/pmacct/patches/patch-configure
deleted file mode 100644
index 0c7310ba6..000000000
--- a/package/pmacct/patches/patch-configure
+++ /dev/null
@@ -1,41 +0,0 @@
---- pmacct-0.12.5.orig/configure 2010-12-28 17:26:21.000000000 +0100
-+++ pmacct-0.12.5/configure 2011-01-21 21:15:15.478658080 +0100
-@@ -1006,7 +1006,6 @@ fi
-
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
--CFLAGS=
- echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
- echo "configure:1012: checking whether ${CC-cc} accepts -g" >&5
- if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
-@@ -1022,22 +1021,6 @@ rm -f conftest*
-
- fi
-
--echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
--if test "$ac_test_CFLAGS" = set; then
-- CFLAGS="$ac_save_CFLAGS"
--elif test $ac_cv_prog_cc_g = yes; then
-- if test "$GCC" = yes; then
-- CFLAGS="-g -O2"
-- else
-- CFLAGS="-g"
-- fi
--else
-- if test "$GCC" = yes; then
-- CFLAGS="-O2"
-- else
-- CFLAGS=
-- fi
--fi
-
- host_os=`uname`
- host_cpu=`uname -m`
-@@ -1083,7 +1066,6 @@ fi
-
-
- if test "x$ac_cv_prog_gcc" = xyes ; then
-- CFLAGS="-O2"
- case "$host_os" in
- IRIX*)
- CFLAGS="-mabi=n32 -fno-builtins ${CFLAGS}"
diff --git a/package/popt/Makefile b/package/popt/Makefile
index 5ae57ffae..bd1746a90 100644
--- a/package/popt/Makefile
+++ b/package/popt/Makefile
@@ -4,17 +4,20 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= popt
-PKG_VERSION:= 1.16
-PKG_RELEASE:= 4
-PKG_HASH:= e728ed296fe9f069a0e005003c3d6b2dde3d9cad453422a10d6558616d304cc8
+PKG_VERSION:= 1.19
+PKG_RELEASE:= 1
+PKG_HASH:= 6eb40d650526cb9fe63eb4415bcecdf9cf306f7556e77eff689abc5a44670060
PKG_DESCR:= command line option parsing library
PKG_SECTION:= libs/misc
PKG_URL:= http://rpm5.org/
-PKG_SITES:= http://rpm5.org/files/popt/
+PKG_BUILDDEP:= gettext-host
+HOST_BUILDDEP:= gettext-host libtool-host
+PKG_SITES:= https://github.com/rpm-software-management/popt/archive/refs/tags/
PKG_LIBNAME:= libpopt
PKG_OPTS:= dev
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}-release.tar.gz
+WRKDIST= ${WRKDIR}/${PKG_NAME}-${PKG_NAME}-${PKG_VERSION}-release
include ${ADK_TOPDIR}/mk/host.mk
include ${ADK_TOPDIR}/mk/package.mk
@@ -22,6 +25,8 @@ include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call HOST_template,POPT,popt,${PKG_VERSION}-${PKG_RELEASE}))
$(eval $(call PKG_template,LIBPOPT,libpopt,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
+AUTOTOOL_STYLE:= autogen
+
libpopt-install:
${INSTALL_DIR} ${IDIR_LIBPOPT}/usr/lib
${CP} ${WRKINST}/usr/lib/libpopt.so* ${IDIR_LIBPOPT}/usr/lib
diff --git a/package/popt/patches/patch-Makefile_am b/package/popt/patches/patch-Makefile_am
new file mode 100644
index 000000000..0c25da403
--- /dev/null
+++ b/package/popt/patches/patch-Makefile_am
@@ -0,0 +1,11 @@
+--- popt-popt-1.19-release.orig/Makefile.am 2022-09-16 09:05:46.000000000 +0200
++++ popt-popt-1.19-release/Makefile.am 2022-09-21 02:11:30.830446841 +0200
+@@ -4,7 +4,7 @@ MCCABE = pmccabe
+
+ EXTRA_DIST = autogen.sh CREDITS $(man_MANS) ci/Dockerfile build-aux popt.pdf
+
+-SUBDIRS = src po tests
++SUBDIRS = src
+
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = popt.pc
diff --git a/package/popt/patches/patch-ltmain_sh b/package/popt/patches/patch-ltmain_sh
deleted file mode 100644
index 821e07bad..000000000
--- a/package/popt/patches/patch-ltmain_sh
+++ /dev/null
@@ -1,11 +0,0 @@
---- popt-1.16.orig/ltmain.sh 2010-05-04 22:55:45.000000000 +0200
-+++ popt-1.16/ltmain.sh 2011-02-05 23:13:17.000000000 +0100
-@@ -4765,7 +4765,7 @@ func_mode_link ()
- # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
- # @file GCC response files
- -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-- -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
-+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-fstack-protector*|-flto*)
- func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
- func_append compile_command " $arg"
diff --git a/package/ppp/patches/patch-pppd_plugins_rp-pppoe_plugin_c b/package/ppp/patches/patch-pppd_plugins_rp-pppoe_plugin_c
index 6a8cb0d8c..d6ec94c69 100644
--- a/package/ppp/patches/patch-pppd_plugins_rp-pppoe_plugin_c
+++ b/package/ppp/patches/patch-pppd_plugins_rp-pppoe_plugin_c
@@ -1,10 +1,11 @@
---- ppp-2.4.6.orig/pppd/plugins/rp-pppoe/plugin.c 2014-01-02 05:42:08.000000000 +0100
-+++ ppp-2.4.6/pppd/plugins/rp-pppoe/plugin.c 2014-06-05 20:42:29.000000000 +0200
-@@ -46,7 +46,6 @@ static char const RCSID[] =
- #include <unistd.h>
- #include <fcntl.h>
- #include <signal.h>
--#include <net/ethernet.h>
+--- ppp-2.4.7.orig/pppd/plugins/rp-pppoe/plugin.c 2014-08-09 14:31:39.000000000 +0200
++++ ppp-2.4.7/pppd/plugins/rp-pppoe/plugin.c 2021-11-04 04:11:17.756625845 +0100
+@@ -49,6 +49,8 @@ static char const RCSID[] =
+ #include <net/ethernet.h>
#include <net/if_arp.h>
#include <linux/ppp_defs.h>
++#define _LINUX_IN_H
++#define _LINUX_IN6_H
#include <linux/if_pppox.h>
+
+ #ifndef _ROOT_PATH
diff --git a/package/protobuf-c/Makefile b/package/protobuf-c/Makefile
new file mode 100644
index 000000000..f2a218e4f
--- /dev/null
+++ b/package/protobuf-c/Makefile
@@ -0,0 +1,33 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= protobuf-c
+PKG_VERSION:= 1.5.0
+PKG_RELEASE:= 1
+PKG_HASH:= d4cb022d55f49796959b07a9d83040822e39129bc0eb28f4e8301da17d758f62
+PKG_DESCR:= protocol buffers implementation in c
+PKG_SECTION:= libs/misc
+PKG_BUILDDEP:= protobuf-c-host
+PKG_SITES:= https://github.com/protobuf-c/protobuf-c/archive/refs/tags/
+PKG_OPTS:= dev
+
+DISTFILES:= v$(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/host.mk
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call HOST_template,PROTOBUF_C,protobuf-c,$(PKG_VERSION)-$(PKG_RELEASE)))
+$(eval $(call PKG_template,PROTOBUF_C,protobuf-c,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+AUTOTOOL_STYLE:= autogen
+CONFIGURE_ENV+= PROTOC="$(STAGING_HOST_DIR)/usr/bin/protoc"
+
+protobuf-c-install:
+ $(INSTALL_DIR) $(IDIR_PROTOBUF_C)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libprotobuf-c*.so* \
+ $(IDIR_PROTOBUF_C)/usr/lib
+
+include $(ADK_TOPDIR)/mk/host-bottom.mk
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/protobuf/Makefile b/package/protobuf/Makefile
index 780618167..10920ae2f 100644
--- a/package/protobuf/Makefile
+++ b/package/protobuf/Makefile
@@ -4,12 +4,14 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= protobuf
-PKG_VERSION:= 3.1.0
+PKG_VERSION:= 3.19.4
PKG_RELEASE:= 1
-PKG_HASH:= fb2a314f4be897491bb2446697be693d489af645cb0e165a85e7e64e07eb134d
+PKG_HASH:= 3bd7828aa5af4b13b99c191e8b1e884ebfa9ad371b0ce264605d347f135d2568
PKG_DESCR:= extensible mechanism for serializing structured data
PKG_SECTION:= libs/misc
PKG_URL:= https://developers.google.com/protocol-buffers/
+PKG_BUILDDEP:= protobuf-host
+PKG_NEEDS:= c++
PKG_SITES:= https://github.com/google/protobuf/archive/
PKG_OPTS:= dev
diff --git a/package/pulseaudio/Makefile b/package/pulseaudio/Makefile
index 68030d227..f0ff6e102 100644
--- a/package/pulseaudio/Makefile
+++ b/package/pulseaudio/Makefile
@@ -4,16 +4,17 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= pulseaudio
-PKG_VERSION:= 10.0
+PKG_VERSION:= 15.0
PKG_RELEASE:= 1
-PKG_HASH:= a3186824de9f0d2095ded5d0d0db0405dc73133983c2fbb37291547e37462f57
+PKG_HASH:= a40b887a3ba98cc26976eb11bdb6613988f145b19024d1b6555c6a03c9cba1a0
PKG_DESCR:= sound system
PKG_SECTION:= mm/audio
PKG_DEPENDS:= libltdl json-c libsndfile libspeex libncurses
PKG_DEPENDS+= libflac libvorbis libogg libuuid libsndfile
-PKG_DEPENDS+= alsa-lib
-PKG_BUILDDEP:= libtool json-c libsndfile speex
+PKG_DEPENDS+= alsa-lib libICE libSM libxtst glib
+PKG_BUILDDEP:= libtool json-c libsndfile speex check meson-host
PKG_BUILDDEP+= flac libvorbis libogg util-linux ncurses alsa-lib
+PKG_BUILDDEP+= libICE libSM libXtst glib
PKG_NEEDS:= threads
PKG_URL:= http://www.freedesktop.org/wiki/Software/PulseAudio/
PKG_SITES:= http://freedesktop.org/software/pulseaudio/releases/
@@ -23,40 +24,18 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,PULSEAUDIO,pulseaudio,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-TARGET_CPPFLAGS+= -D_GNU_SOURCE -D_POSIX_SOURCE
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
-# use libtool from host directory
-AUTOTOOL_STYLE:= autoreconf
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
-ifeq ($(ADK_TARGET_ARCH_ARM_WITH_NEON),y)
-CONFIGURE_ARGS+= --enable-neon-opt
-else
-CONFIGURE_ARGS+= --disable-neon-opt
-endif
+TARGET_CPPFLAGS+= -D_GNU_SOURCE -D_POSIX_SOURCE
-CONFIGURE_ARGS+= --disable-manpages \
- --disable-tests \
- --disable-x11 \
- --disable-avahi \
- --disable-lirc \
- --disable-openssl \
- --disable-orc \
- --disable-tcpwrap \
- --disable-oss-output \
- --disable-oss-wrapper \
- --disable-esound \
- --disable-jack \
- --disable-gconf \
- --disable-udev \
- --disable-rpath \
- --disable-dbus \
- --disable-hal-compat \
- --disable-samplerate \
- --without-caps \
- --with-database=simple \
- --enable-alsa \
- --with-speex \
- --with-access-group=audio
+MESON_FLAGS+= -Ddatabase=simple \
+ -Ddoxygen=false \
+ -Dgcov=false \
+ -Dtests=false
pulseaudio-install:
$(INSTALL_DIR) $(IDIR_PULSEAUDIO)/etc/pulse
diff --git a/package/pulseaudio/patches/patch-Makefile_am b/package/pulseaudio/patches/patch-Makefile_am
deleted file mode 100644
index 11132dad5..000000000
--- a/package/pulseaudio/patches/patch-Makefile_am
+++ /dev/null
@@ -1,11 +0,0 @@
---- pulseaudio-10.0.orig/Makefile.am 2017-01-18 04:45:11.000000000 +0100
-+++ pulseaudio-10.0/Makefile.am 2017-06-06 19:51:59.372820444 +0200
-@@ -42,7 +42,7 @@ EXTRA_DIST = \
- src/daemon/.gitignore \
- src/pulse/.gitignore
-
--SUBDIRS = src doxygen man po
-+SUBDIRS = src
-
- MAINTAINERCLEANFILES =
- noinst_DATA =
diff --git a/package/pulseaudio/patches/patch-configure_ac b/package/pulseaudio/patches/patch-configure_ac
deleted file mode 100644
index 2ba044a9b..000000000
--- a/package/pulseaudio/patches/patch-configure_ac
+++ /dev/null
@@ -1,55 +0,0 @@
---- pulseaudio-10.0.orig/configure.ac 2017-01-13 04:02:18.000000000 +0100
-+++ pulseaudio-10.0/configure.ac 2017-06-06 20:05:26.400612037 +0200
-@@ -97,24 +97,8 @@ AS_IF([test "x$M4" = "xno"], AC_MSG_ERRO
-
- PKG_PROG_PKG_CONFIG
-
--# gettext
--
--if test "x$enable_nls" != "xno"; then
--IT_PROG_INTLTOOL([0.35.0])
--
--AM_GNU_GETTEXT_VERSION([0.18.1])
--AM_GNU_GETTEXT([external])
--
--GETTEXT_PACKAGE=pulseaudio
--AC_SUBST([GETTEXT_PACKAGE])
--AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
--else
--# workaround till an intltool m4 bug is fixed upstream
--# (https://bugs.launchpad.net/intltool/+bug/904647)
- USE_NLS=no
- AC_SUBST(USE_NLS)
--fi
--
-
- #### Determine host OS ####
-
-@@ -1486,27 +1470,10 @@ AM_CONDITIONAL([FORCE_PREOPEN], [test "x
- AC_CONFIG_FILES([
- Makefile
- src/Makefile
--man/Makefile
- libpulse.pc
- libpulse-simple.pc
- libpulse-mainloop-glib.pc
--doxygen/Makefile
--doxygen/doxygen.conf
- src/pulse/version.h
--po/Makefile.in
--man/pulseaudio.1.xml
--man/esdcompat.1.xml
--man/pax11publish.1.xml
--man/pacat.1.xml
--man/pacmd.1.xml
--man/pactl.1.xml
--man/pasuspender.1.xml
--man/padsp.1.xml
--man/pulse-daemon.conf.5.xml
--man/pulse-client.conf.5.xml
--man/default.pa.5.xml
--man/pulse-cli-syntax.5.xml
--man/start-pulseaudio-x11.1.xml
- ])
-
- AC_CONFIG_FILES([src/esdcompat:src/daemon/esdcompat.in], [chmod +x src/esdcompat])
diff --git a/package/py-spidev/Makefile b/package/py-spidev/Makefile
index 00ee559c4..aa9a6ea84 100644
--- a/package/py-spidev/Makefile
+++ b/package/py-spidev/Makefile
@@ -9,8 +9,8 @@ PKG_RELEASE:= 1
PKG_GIT:= hash
PKG_DESCR:= module for interfacing with spi devices from user space via the spidev linux kernel driver
PKG_SECTION:= dev/python
-PKG_DEPENDS:= python2
-PKG_BUILDDEP:= python2
+PKG_DEPENDS:= python3
+PKG_BUILDDEP:= python3
PKG_URL:= https://github.com/doceme/py-spidev
PKG_SITES:= https://github.com/doceme/py-spidev.git
@@ -18,7 +18,7 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,PY_SPIDEV,py-spidev,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
-include $(ADK_TOPDIR)/mk/python.mk
+include $(ADK_TOPDIR)/mk/python3.mk
CONFIG_STYLE:= manual
BUILD_STYLE:= manual
diff --git a/package/pycurl/Makefile b/package/pycurl/Makefile
index ddcce6c05..ee3c67b61 100644
--- a/package/pycurl/Makefile
+++ b/package/pycurl/Makefile
@@ -4,15 +4,15 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= pycurl
-PKG_VERSION:= 7.19.0.2
+PKG_VERSION:= 7.45.2
PKG_RELEASE:= 1
-PKG_HASH:= 7a9e793b9181654d5eef3f6d22c244c57d2b51d38feb4c1b71d68efda99b0547
+PKG_HASH:= 5730590be0271364a5bddd9e245c9cc0fb710c4cbacbdd95264a3122d23224ca
PKG_DESCR:= python module for fetching of files
PKG_SECTION:= dev/python
-PKG_BUILDDEP:= python2 curl
-PKG_DEPENDS:= python2 libcurl
-PKG_URL:= http://pycurl.sourceforge.net/
-PKG_SITES:= http://pycurl.sourceforge.net/download/
+PKG_BUILDDEP:= python3 curl
+PKG_DEPENDS:= python3 libcurl
+PKG_URL:= http://pycurl.io/
+PKG_SITES:= https://files.pythonhosted.org/packages/a8/af/24d3acfa76b867dbd8f1166853c18eefc890fc5da03a48672b38ea77ddae/
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
@@ -28,7 +28,7 @@ TARGET_CFLAGS+= -fPIC
MAKE_ENV+= LDSHARED="$(TARGET_CC) -shared"
CURL_CONFIG:= $(STAGING_TARGET_DIR)/usr/bin/curl-config
-include $(ADK_TOPDIR)/mk/python.mk
+include $(ADK_TOPDIR)/mk/python3.mk
do-build:
(cd $(WRKBUILD); env PYTHONPATH=$(PYTHON_LIBDIR) $(PYTHON) ./setup.py --curl-config=$(CURL_CONFIG) build)
diff --git a/package/pycurl/patches/patch-setup_py b/package/pycurl/patches/patch-setup_py
deleted file mode 100644
index 26280ec36..000000000
--- a/package/pycurl/patches/patch-setup_py
+++ /dev/null
@@ -1,12 +0,0 @@
---- pycurl-7.19.0.orig/setup.py 2008-09-09 19:40:34.000000000 +0200
-+++ pycurl-7.19.0/setup.py 2011-10-14 17:59:41.000000000 +0200
-@@ -115,9 +115,6 @@ else:
- define_macros.append(('HAVE_CURL_SSL', 1))
- if not libraries:
- libraries.append("curl")
-- # Add extra compile flag for MacOS X
-- if sys.platform[:-1] == "darwin":
-- extra_link_args.append("-flat_namespace")
-
-
- ###############################################################################
diff --git a/package/pyrex/Makefile b/package/pyrex/Makefile
deleted file mode 100644
index ffb37b511..000000000
--- a/package/pyrex/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(ADK_TOPDIR)/rules.mk
-
-PKG_NAME:= Pyrex
-PKG_VERSION:= 0.9.9
-PKG_RELEASE:= 3
-PKG_HASH:= 5f87df06831d0b3412eb4bc9d3fc2ee7bfae1b913d7da8c23ab2bf5699fb6b50
-PKG_DESCR:= mixes python and c data types
-PKG_SECTION:= dev/python
-PKG_DEPENDS:= python2
-PKG_URL:= http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/
-PKG_SITES:= http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/
-
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
-
-include $(ADK_TOPDIR)/mk/package.mk
-
-$(eval $(call PKG_template,PYREX,pyrex,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-
-CONFIG_STYLE:= manual
-BUILD_STYLE:= manual
-INSTALL_STYLE:= manual
-
-include $(ADK_TOPDIR)/mk/python.mk
-
-do-build:
- cd $(WRKBUILD); env PYTHONPATH=$(PYTHON_LIBDIR) $(PYTHON) ./setup.py build
- cd $(WRKBUILD); env PYTHONPATH=$(PYTHON_LIBDIR) $(PYTHON) ./setup.py install --prefix="$(STAGING_HOST_DIR)/usr"
- cd $(WRKBUILD); env PYTHONPATH=$(PYTHON_LIBDIR) $(PYTHON) ./setup.py install --prefix="$(WRKINST)/usr"
-
-do-install:
- $(INSTALL_DIR) $(IDIR_PYREX)/usr/lib/python$(PYTHON_VERSION)
- $(CP) $(WRKINST)/usr/lib/python$(PYTHON_VERSION)/* \
- $(IDIR_PYREX)/usr/lib/python$(PYTHON_VERSION)
-
-include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/python-mako/Makefile b/package/python-mako/Makefile
new file mode 100644
index 000000000..bb069a434
--- /dev/null
+++ b/package/python-mako/Makefile
@@ -0,0 +1,33 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= python-mako
+PKG_VERSION:= 1.2.4
+PKG_RELEASE:= 1
+PKG_HASH:= d60a3903dc3bb01a18ad6a89cdbe2e4eadc69c0bc8ef1e3773ba53d44c3f7a34
+PKG_DESCR:= fast, expressive, extensible templating engine
+PKG_SECTION:= dev/tools
+PKG_BUILDDEP:= python3-host
+PKG_SITES:= https://files.pythonhosted.org/packages/05/5f/2ba6e026d33a0e6ddc1dddf9958677f76f5f80c236bd65309d280b166d3e/
+
+DISTFILES:= Mako-$(PKG_VERSION).tar.gz
+
+WRKDIST= $(WRKDIR)/Mako-$(PKG_VERSION)
+
+include ${ADK_TOPDIR}/mk/host.mk
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call HOST_template,PYTHON_MAKO,python-mako,${PKG_VERSION}-${PKG_RELEASE}))
+
+include $(ADK_TOPDIR)/mk/python3.mk
+
+HOST_STYLE:= manual
+
+python-mako-hostinstall:
+ (cd $(WRKBUILD); PATH='$(HOST_PATH)' python3 ./setup.py install \
+ --prefix=$(STAGING_HOST_DIR)/usr)
+
+include ${ADK_TOPDIR}/mk/host-bottom.mk
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/python-setuptools/Makefile b/package/python-setuptools/Makefile
new file mode 100644
index 000000000..4a05cb202
--- /dev/null
+++ b/package/python-setuptools/Makefile
@@ -0,0 +1,33 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= python-setuptools
+PKG_VERSION:= 69.0.3
+PKG_RELEASE:= 1
+PKG_HASH:= be1af57fc409f93647f2e8e4573a142ed38724b8cdd389706a867bb4efcf1e78
+PKG_DESCR:= python setuptools
+PKG_SECTION:= dev/tools
+PKG_BUILDDEP:= python3-host
+PKG_SITES:= https://files.pythonhosted.org/packages/fc/c9/b146ca195403e0182a374e0ea4dbc69136bad3cd55bc293df496d625d0f7/
+
+DISTFILES:= setuptools-$(PKG_VERSION).tar.gz
+
+WRKDIST= $(WRKDIR)/setuptools-$(PKG_VERSION)
+
+include ${ADK_TOPDIR}/mk/host.mk
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call HOST_template,PYTHON_SETUPTOOLS,python-setuptools,${PKG_VERSION}-${PKG_RELEASE}))
+
+include $(ADK_TOPDIR)/mk/python3.mk
+
+HOST_STYLE:= manual
+
+python-setuptools-hostinstall:
+ (cd $(WRKBUILD); PATH='$(HOST_PATH)' python3 ./setup.py install \
+ --prefix=$(STAGING_HOST_DIR)/usr)
+
+include ${ADK_TOPDIR}/mk/host-bottom.mk
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/python2/Makefile b/package/python2/Makefile
deleted file mode 100644
index 358866b0f..000000000
--- a/package/python2/Makefile
+++ /dev/null
@@ -1,150 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include ${ADK_TOPDIR}/rules.mk
-
-PKG_NAME:= python2
-PKG_VERSION:= 2.7.14
-PKG_RELEASE:= 1
-PKG_HASH:= 304c9b202ea6fbd0a4a8e0ad3733715fbd4749f2204a9173a58ec53c32ea73e8
-PKG_DESCR:= python2 script interpreter
-PKG_SECTION:= dev/lang
-PKG_DEPENDS:= libffi
-PKG_BUILDDEP:= libffi python2-host
-HOST_BUILDDEP:= libffi-host libressl-host
-PKG_NEEDS:= threads
-PKG_URL:= http://www.python.org/
-PKG_SITES:= http://www.python.org/ftp/python/${PKG_VERSION}/
-PKG_OPTS:= dev
-
-DISTFILES:= Python-${PKG_VERSION}.tgz
-WRKDIST= ${WRKDIR}/Python-${PKG_VERSION}
-
-PKG_FLAVOURS_PYTHON2:= MOD_ZLIB MOD_BZ2 MOD_EXPAT MOD_SQLITE MOD_GDBM
-PKG_FLAVOURS_PYTHON2+= MOD_NCURSES MOD_SSL MOD_READLINE
-
-PKGFD_MOD_ZLIB:= zlib support
-PKGFB_MOD_ZLIB:= zlib
-PKGFS_MOD_ZLIB:= zlib
-PKGFD_MOD_BZ2:= bzip2 support
-PKGFB_MOD_BZ2:= bzip2
-PKGFS_MOD_BZ2:= libbz2
-PKGFD_MOD_EXPAT:= xml support
-PKGFB_MOD_EXPAT:= expat
-PKGFS_MOD_EXPAT:= libexpat
-PKGFD_MOD_SQLITE:= sqlite support
-PKGFB_MOD_SQLITE:= sqlite
-PKGFS_MOD_SQLITE:= libsqlite
-PKGFD_MOD_GDBM:= gdbm support
-PKGFB_MOD_GDBM:= gdbm
-PKGFS_MOD_GDBM:= libgdbm
-PKGFD_MOD_NCURSES:= ncurses support
-PKGFB_MOD_NCURSES:= ncurses
-PKGFS_MOD_NCURSES:= libncurses
-PKGFD_MOD_READLINE:= readline support
-PKGFB_MOD_READLINE:= readline
-PKGFS_MOD_READLINE:= libreadline
-PKGFD_MOD_SSL:= ssl support
-PKGFB_MOD_SSL:= libressl
-PKGFS_MOD_SSL:= libressl
-
-include ${ADK_TOPDIR}/mk/host.mk
-include ${ADK_TOPDIR}/mk/package.mk
-
-$(eval $(call HOST_template,PYTHON2,python2,${PKG_VERSION}-${PKG_RELEASE}))
-$(eval $(call PKG_template,PYTHON2,python2,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-
-define PKG_mod_template
-
-INSTALL_MODS_$${ADK_PACKAGE_${1}}+= ${2}-install
-
-${2}-install:
- ${INSTALL_DIR} $$(IDIR_$(1))/usr/lib/python2.7/lib-dynload
- for m in ${2}; do \
- ${INSTALL_DATA} $(WRKINST)/usr/lib/python2.7/lib-dynload/$$$${m}*.so $$(IDIR_$(1))/usr/lib/python2.7/lib-dynload ;\
- done
-endef
-
-$(eval $(call PKG_template,PYTHON2_MOD_ZLIB,python2-mod-zlib,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_ZLIB},${PKGFD_MOD_ZLIB},${PKG_SECTION}))
-$(eval $(call PKG_template,PYTHON2_MOD_BZ2,python2-mod-bz2,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_BZ2},${PKGFD_MOD_BZ2},${PKG_SECTION}))
-$(eval $(call PKG_template,PYTHON2_MOD_EXPAT,python2-mod-expat,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_EXPAT},${PKGFD_MOD_EXPAT},${PKG_SECTION}))
-$(eval $(call PKG_template,PYTHON2_MOD_SQLITE,python2-mod-sqlite,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_SQLITE},${PKGFD_MOD_SQLITE},${PKG_SECTION}))
-$(eval $(call PKG_template,PYTHON2_MOD_GDBM,python2-mod-gdbm,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_GDBM},${PKGFD_MOD_GDBM},${PKG_SECTION}))
-$(eval $(call PKG_template,PYTHON2_MOD_NCURSES,python2-mod-ncurses,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_NCURSES},${PKGFD_MOD_NCURSES},${PKG_SECTION}))
-$(eval $(call PKG_template,PYTHON2_MOD_SSL,python2-mod-ssl,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_SSL},${PKGFD_MOD_SSL},${PKG_SECTION}))
-$(eval $(call PKG_template,PYTHON2_MOD_READLINE,python2-mod-readline,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_READLINE},${PKGFD_MOD_READLINE},${PKG_SECTION}))
-
-$(eval $(call PKG_mod_template,PYTHON2_MOD_ZLIB,zlib))
-$(eval $(call PKG_mod_template,PYTHON2_MOD_BZ2,bz2))
-$(eval $(call PKG_mod_template,PYTHON2_MOD_EXPAT,pyexpat))
-$(eval $(call PKG_mod_template,PYTHON2_MOD_SQLITE,_sqlite))
-$(eval $(call PKG_mod_template,PYTHON2_MOD_GDBM,gdbm))
-$(eval $(call PKG_mod_template,PYTHON2_MOD_NCURSES,_curses))
-$(eval $(call PKG_mod_template,PYTHON2_MOD_SSL,_ssl))
-$(eval $(call PKG_mod_template,PYTHON2_MOD_READLINE,readline))
-
-ifeq ($(ADK_TARGET_USE_STATIC_LIBS_ONLY),y)
-CONFIGURE_ARGS+= --disable-shared
-endif
-
-HOST_CFLAGS+= -fPIC
-
-AUTOTOOL_STYLE:= autoreconf
-CONFIGURE_ENV+= ac_cv_have_long_long_format=yes \
- ac_cv_file__dev_ptmx=yes \
- ac_cv_file__dev_ptc=no
-CONFIGURE_ARGS+= --with-threads \
- --disable-toolbox-glue \
- --disable-ipv6 \
- --with-system-ffi \
- --without-cxx-main
-
-HOST_CONFIGURE_ENV+= MACOSX_DEPLOYMENT_TARGET=10.9
-HOST_CONFIGURE_ARGS+= --with-threads \
- --with-system-ffi \
- --disable-ipv6 \
- --disable-toolbox-glue \
- --without-cxx-main
-
-hostpre-configure:
- $(CP) $(ADK_TOPDIR)/package/python2/files/patch-Lib_distutils_sysconfig_py $(WRKBUILD)
- $(SED) "s#@@STAGING_TARGET_DIR@@#$(STAGING_TARGET_DIR)#" $(WRKBUILD)/patch-Lib_distutils_sysconfig_py
- $(SED) "s#@@STAGING_HOST_DIR@@#$(STAGING_HOST_DIR)#" $(WRKBUILD)/patch-Lib_distutils_sysconfig_py
- (cd $(WRKBUILD) && ${PATCHP0} < patch-Lib_distutils_sysconfig_py)
- $(SED) "s#@EXENAME@#$(STAGING_HOST_DIR)/usr/bin/python#" \
- $(WRKBUILD)/Misc/python-config.in
-
-hostpost-install:
- $(CP) $(ADK_TOPDIR)/package/python2/files/python-config.patch $(WRKBUILD)/
- $(SED) "s#@@STAGING_TARGET_DIR@@#$(STAGING_TARGET_DIR)#" $(WRKBUILD)/python-config.patch
- $(SED) "s#@@STAGING_HOST_DIR@@#$(STAGING_HOST_DIR)#" $(WRKBUILD)/python-config.patch
- (cd $(STAGING_HOST_DIR)/usr/bin && \
- ${PATCHP0} < $(WRKBUILD)/python-config.patch)
-
-pre-configure:
- $(CP) $(ADK_TOPDIR)/package/python2/files/patch-Lib_distutils_sysconfig_py $(WRKBUILD)
- $(SED) "s#@@STAGING_TARGET_DIR@@#$(STAGING_TARGET_DIR)#" $(WRKBUILD)/patch-Lib_distutils_sysconfig_py
- $(SED) "s#@@STAGING_HOST_DIR@@#$(STAGING_HOST_DIR)#" $(WRKBUILD)/patch-Lib_distutils_sysconfig_py
- (cd $(WRKBUILD) && ${PATCHP0} <$(WRKBUILD)/patch-Lib_distutils_sysconfig_py)
- $(SED) "s#@EXENAME@#$(STAGING_HOST_DIR)/usr/bin/python#" \
- $(WRKBUILD)/Misc/python-config.in
-
-ifeq ($(ADK_TARGET_USE_STATIC_LIBS_ONLY),y)
-python2-install:
-else
-python2-install: ${INSTALL_MODS_y} ${INSTALL_MODS_m}
-endif
- ${INSTALL_DIR} ${IDIR_PYTHON2}/usr/bin ${IDIR_PYTHON2}/usr/lib
- ${INSTALL_DIR} ${IDIR_PYTHON2}/usr/include/python2.7
- ${INSTALL_BIN} ${WRKINST}/usr/bin/python ${IDIR_PYTHON2}/usr/bin
- ${INSTALL_DIR} ${IDIR_PYTHON2}/usr/lib/python2.7
- ${CP} ${WRKINST}/usr/lib/libpython*.* ${IDIR_PYTHON2}/usr/lib
- ${CP} ${WRKINST}/usr/lib/python2.7/* ${IDIR_PYTHON2}/usr/lib/python2.7
- ${CP} ${WRKINST}/usr/include/python2.7/pyconfig.h \
- ${IDIR_PYTHON2}/usr/include/python2.7
- @-for i in zlib bz2 _curses _ssl gdbm _sqlite pyexpat readline; do \
- rm ${IDIR_PYTHON2}/usr/lib/python2.7/lib-dynload/$${i}*so 2>/dev/null; \
- done
-
-include ${ADK_TOPDIR}/mk/host-bottom.mk
-include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/python2/files/patch-Lib_distutils_sysconfig_py b/package/python2/files/patch-Lib_distutils_sysconfig_py
deleted file mode 100644
index cbd51020d..000000000
--- a/package/python2/files/patch-Lib_distutils_sysconfig_py
+++ /dev/null
@@ -1,10 +0,0 @@
---- Lib.orig/distutils/sysconfig.py 2013-05-12 05:32:42.000000000 +0200
-+++ Lib/distutils/sysconfig.py 2013-11-03 18:03:53.000000000 +0100
-@@ -76,6 +76,7 @@ def get_python_inc(plat_specific=0, pref
- """
- if prefix is None:
- prefix = plat_specific and EXEC_PREFIX or PREFIX
-+ prefix = re.sub('@@STAGING_HOST_DIR@@', '@@STAGING_TARGET_DIR@@', prefix)
-
- if os.name == "posix":
- if python_build:
diff --git a/package/python2/files/python-config.patch b/package/python2/files/python-config.patch
deleted file mode 100644
index 0a6ff7145..000000000
--- a/package/python2/files/python-config.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- python2.7-config.orig 2013-12-11 12:40:37.244519764 +0100
-+++ python2.7-config 2013-12-11 12:41:43.279093075 +0100
-@@ -3,6 +3,7 @@
- import sys
- import os
- import getopt
-+import re
- from distutils import sysconfig
-
- valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags',
-@@ -37,8 +38,8 @@
- print sysconfig.EXEC_PREFIX
-
- elif opt in ('--includes', '--cflags'):
-- flags = ['-I' + sysconfig.get_python_inc(),
-- '-I' + sysconfig.get_python_inc(plat_specific=True)]
-+ flags = ['-I' + re.sub('@@STAGING_TARGET_DIR@@', '@@STAGING_HOST_DIR@@', sysconfig.get_python_inc()),
-+ '-I' + re.sub('@@STAGING_TARGET_DIR@@', '@@STAGING_HOST_DIR@@', sysconfig.get_python_inc(plat_specific=True))]
- if opt == '--cflags':
- flags.extend(getvar('CFLAGS').split())
- print ' '.join(flags)
diff --git a/package/python2/patches/0001-2.7-bpo-33127-Compatibility-patch-for-LibreSSL-2.7.0.patch b/package/python2/patches/0001-2.7-bpo-33127-Compatibility-patch-for-LibreSSL-2.7.0.patch
deleted file mode 100644
index e5759db40..000000000
--- a/package/python2/patches/0001-2.7-bpo-33127-Compatibility-patch-for-LibreSSL-2.7.0.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From edd541897b9c28ee0d0f0131746aa5f19665a104 Mon Sep 17 00:00:00 2001
-From: Christian Heimes <christian@python.org>
-Date: Sat, 24 Mar 2018 19:34:15 +0100
-Subject: [PATCH] [2.7] bpo-33127: Compatibility patch for LibreSSL 2.7.0
- (GH-6210) (GH-6215)
-
-LibreSSL 2.7 introduced OpenSSL 1.1.0 API. The ssl module now detects
-LibreSSL 2.7 and only provides API shims for OpenSSL < 1.1.0 and
-LibreSSL < 2.7.
-
-Documentation updates and fixes for failing tests will be provided in
-another patch set.
-
-Signed-off-by: Christian Heimes <christian@python.org>.
-(cherry picked from commit 4ca0739c9d97ac7cd45499e0d31be68dc659d0e1)
-
-Co-authored-by: Christian Heimes <christian@python.org>
----
- .../2018-03-24-15-08-24.bpo-33127.olJmHv.rst | 1 +
- Modules/_ssl.c | 24 ++++++++++++++--------
- Tools/ssl/multissltests.py | 3 ++-
- 3 files changed, 19 insertions(+), 9 deletions(-)
- create mode 100644 Misc/NEWS.d/next/Library/2018-03-24-15-08-24.bpo-33127.olJmHv.rst
-
-diff --git a/Modules/_ssl.c b/Modules/_ssl.c
-index da8b20f54f..d0ce913d3d 100644
---- a/Modules/_ssl.c
-+++ b/Modules/_ssl.c
-@@ -102,6 +102,12 @@ struct py_ssl_library_code {
-
- #if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER)
- # define OPENSSL_VERSION_1_1 1
-+# define PY_OPENSSL_1_1_API 1
-+#endif
-+
-+/* LibreSSL 2.7.0 provides necessary OpenSSL 1.1.0 APIs */
-+#if defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x2070000fL
-+# define PY_OPENSSL_1_1_API 1
- #endif
-
- /* Openssl comes with TLSv1.1 and TLSv1.2 between 1.0.0h and 1.0.1
-@@ -149,16 +155,18 @@ struct py_ssl_library_code {
- #define INVALID_SOCKET (-1)
- #endif
-
--#ifdef OPENSSL_VERSION_1_1
--/* OpenSSL 1.1.0+ */
--#ifndef OPENSSL_NO_SSL2
--#define OPENSSL_NO_SSL2
--#endif
--#else /* OpenSSL < 1.1.0 */
--#if defined(WITH_THREAD)
-+/* OpenSSL 1.0.2 and LibreSSL needs extra code for locking */
-+#if !defined(OPENSSL_VERSION_1_1) && defined(WITH_THREAD)
- #define HAVE_OPENSSL_CRYPTO_LOCK
- #endif
-
-+#if defined(OPENSSL_VERSION_1_1) && !defined(OPENSSL_NO_SSL2)
-+#define OPENSSL_NO_SSL2
-+#endif
-+
-+#ifndef PY_OPENSSL_1_1_API
-+/* OpenSSL 1.1 API shims for OpenSSL < 1.1.0 and LibreSSL < 2.7.0 */
-+
- #define TLS_method SSLv23_method
-
- static int X509_NAME_ENTRY_set(const X509_NAME_ENTRY *ne)
-@@ -201,7 +209,7 @@ static X509_VERIFY_PARAM *X509_STORE_get0_param(X509_STORE *store)
- {
- return store->param;
- }
--#endif /* OpenSSL < 1.1.0 or LibreSSL */
-+#endif /* OpenSSL < 1.1.0 or LibreSSL < 2.7.0 */
-
-
- enum py_ssl_error {
---
-2.16.1
-
diff --git a/package/python2/patches/patch-Makefile_pre_in b/package/python2/patches/patch-Makefile_pre_in
deleted file mode 100644
index bcb0e1f6b..000000000
--- a/package/python2/patches/patch-Makefile_pre_in
+++ /dev/null
@@ -1,40 +0,0 @@
---- Python-2.7.13.orig/Makefile.pre.in 2016-12-17 21:05:06.000000000 +0100
-+++ Python-2.7.13/Makefile.pre.in 2017-03-16 19:38:14.000000000 +0100
-@@ -545,7 +545,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.tx
- esac; \
- $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
- _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \
-- $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
-+ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py build
-
- # Build static library
- # avoid long command lines, same as LIBRARY_OBJS
-@@ -1120,28 +1120,6 @@ libinstall: build_all $(srcdir)/Lib/$(PL
- $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \
- $(DESTDIR)$(LIBDEST)/distutils/tests ; \
- fi
-- 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)
-- 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)
-- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-- $(PYTHON_FOR_BUILD) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
-- -d $(LIBDEST)/site-packages -f \
-- -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
-- -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
-- -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
-
- # Create the PLATDIR source directory, if one wasn't distributed..
- $(srcdir)/Lib/$(PLATDIR):
diff --git a/package/python2/patches/patch-configure_ac b/package/python2/patches/patch-configure_ac
deleted file mode 100644
index 1a09f6eed..000000000
--- a/package/python2/patches/patch-configure_ac
+++ /dev/null
@@ -1,22 +0,0 @@
---- Python-2.7.13.orig/configure.ac 2016-12-17 21:05:07.000000000 +0100
-+++ Python-2.7.13/configure.ac 2017-03-16 19:29:41.000000000 +0100
-@@ -22,7 +22,7 @@ rm -f pybuilddir.txt
- if test "$cross_compiling" = yes; then
- AC_MSG_CHECKING([for python interpreter for cross build])
- if test -z "$PYTHON_FOR_BUILD"; then
-- for interp in python$PACKAGE_VERSION python2 python; do
-+ for interp in python; do
- which $interp >/dev/null 2>&1 || continue
- if $interp -c 'import sys;sys.exit(not (sys.version_info@<:@:2@:>@ >= (2,7) and sys.version_info@<:@0@:>@ < 3))'; then
- break
-@@ -1079,9 +1079,7 @@ then
- if test "$Py_DEBUG" = 'true' ; then
- # Optimization messes up debuggers, so turn it off for
- # debug builds.
-- OPT="-g -O0 -Wall $STRICT_PROTO"
-- else
-- OPT="-g $WRAP -O3 -Wall $STRICT_PROTO"
-+ OPT="$STRICT_PROTO"
- fi
- ;;
- *)
diff --git a/package/python2/patches/patch-setup_py b/package/python2/patches/patch-setup_py
deleted file mode 100644
index bf8e90c9d..000000000
--- a/package/python2/patches/patch-setup_py
+++ /dev/null
@@ -1,115 +0,0 @@
---- Python-2.7.13.orig/setup.py 2016-12-17 21:05:07.000000000 +0100
-+++ Python-2.7.13/setup.py 2017-03-16 19:45:12.000000000 +0100
-@@ -74,7 +74,7 @@ def find_file(filename, std_dirs, paths)
- 'paths' is a list of additional locations to check; if the file is
- found in one of them, the resulting list will contain the directory.
- """
-- if host_platform == 'darwin':
-+ if host_platform == 'darwin' and not cross_compiling:
- # Honor the MacOSX SDK setting when one was specified.
- # An SDK is a directory with the same structure as a real
- # system, but with only header files and libraries.
-@@ -84,7 +84,7 @@ def find_file(filename, std_dirs, paths)
- for dir in std_dirs:
- f = os.path.join(dir, filename)
-
-- if host_platform == 'darwin' and is_macosx_sdk_path(dir):
-+ if host_platform == 'darwin' and is_macosx_sdk_path(dir) and not cross_compiling:
- f = os.path.join(sysroot, dir[1:], filename)
-
- if os.path.exists(f): return []
-@@ -93,7 +93,7 @@ def find_file(filename, std_dirs, paths)
- for dir in paths:
- f = os.path.join(dir, filename)
-
-- if host_platform == 'darwin' and is_macosx_sdk_path(dir):
-+ if host_platform == 'darwin' and is_macosx_sdk_path(dir) and not cross_compiling:
- f = os.path.join(sysroot, dir[1:], filename)
-
- if os.path.exists(f):
-@@ -107,7 +107,7 @@ def find_library_file(compiler, libname,
- if result is None:
- return None
-
-- if host_platform == 'darwin':
-+ if host_platform == 'darwin' and not cross_compiling:
- sysroot = macosx_sdk_root()
-
- # Check whether the found file is in one of the standard directories
-@@ -116,7 +116,7 @@ def find_library_file(compiler, libname,
- # Ensure path doesn't end with path separator
- p = p.rstrip(os.sep)
-
-- if host_platform == 'darwin' and is_macosx_sdk_path(p):
-+ if host_platform == 'darwin' and is_macosx_sdk_path(p) and not cross_compiling:
- # Note that, as of Xcode 7, Apple SDKs may contain textual stub
- # libraries with .tbd extensions rather than the normal .dylib
- # shared libraries installed in /. The Apple compiler tool
-@@ -145,7 +145,7 @@ def find_library_file(compiler, libname,
- # Ensure path doesn't end with path separator
- p = p.rstrip(os.sep)
-
-- if host_platform == 'darwin' and is_macosx_sdk_path(p):
-+ if host_platform == 'darwin' and is_macosx_sdk_path(p) and not cross_compiling:
- if os.path.join(sysroot, p[1:]) == dirname:
- return [ p ]
-
-@@ -178,6 +178,7 @@ class PyBuildExt(build_ext):
-
- def build_extensions(self):
-
-+ self.compiler.library_dirs = []
- # Detect which modules should be compiled
- missing = self.detect_modules()
-
-@@ -299,6 +300,7 @@ class PyBuildExt(build_ext):
-
- def build_extension(self, ext):
-
-+
- if ext.name == '_ctypes':
- if not self.configure_ctypes(ext):
- return
-@@ -460,7 +462,8 @@ class PyBuildExt(build_ext):
- add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
- if cross_compiling:
- self.add_gcc_paths()
-- self.add_multiarch_paths()
-+ if not cross_compiling:
-+ self.add_multiarch_paths()
-
- # Add paths specified in the environment variables LDFLAGS and
- # CPPFLAGS for header and library files.
-@@ -497,7 +500,8 @@ class PyBuildExt(build_ext):
- add_dir_to_list(dir_list, directory)
-
- if os.path.normpath(sys.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
-@@ -515,8 +519,13 @@ class PyBuildExt(build_ext):
- # lib_dirs and inc_dirs are used to search for files;
- # if a file is found in one of those directories, it can
- # be assumed that no additional -I,-L directives are needed.
-+ if cross_compiling:
-+ add_dir_to_list(self.compiler.library_dirs,
-+ sysconfig.get_config_var('srcdir'))
-+
- inc_dirs = self.compiler.include_dirs[:]
- lib_dirs = self.compiler.library_dirs[:]
-+
- if not cross_compiling:
- for d in (
- '/usr/include',
-@@ -550,7 +559,7 @@ class PyBuildExt(build_ext):
- if host_platform == 'hp-ux11':
- lib_dirs += ['/usr/lib/hpux64', '/usr/lib/hpux32']
-
-- if host_platform == 'darwin':
-+ if host_platform == 'darwin' and not cross_compiling:
- # This should work on any unixy platform ;-)
- # If the user has bothered specifying additional -I and -L flags
- # in OPT and LDFLAGS we might as well use them here.
diff --git a/package/python3-jinja2/Makefile b/package/python3-jinja2/Makefile
new file mode 100644
index 000000000..5cde4fc47
--- /dev/null
+++ b/package/python3-jinja2/Makefile
@@ -0,0 +1,34 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= python3-jinja2
+PKG_VERSION:= 3.0.2
+PKG_RELEASE:= 1
+PKG_HASH:= 827a0e32839ab1600d4eb1c4c33ec5a8edfbc5cb42dafa13b81f182f97784b45
+PKG_DESCR:= fast, expressive, extensible templating engine
+PKG_SECTION:= dev/tools
+PKG_BUILDDEP:= python3-host
+PKG_URL:= https://pypi.org/project/Jinja2/
+PKG_SITES:= https://files.pythonhosted.org/packages/f8/86/7c0eb6e8b05385d1ce682abc0f994abd1668e148fb52603fa86e15d4c110/
+
+DISTFILES:= Jinja2-$(PKG_VERSION).tar.gz
+
+WRKDIST= $(WRKDIR)/Jinja2-$(PKG_VERSION)
+
+include ${ADK_TOPDIR}/mk/host.mk
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call HOST_template,PYTHON3_JINJA2,python3-jinja2,${PKG_VERSION}-${PKG_RELEASE}))
+
+include $(ADK_TOPDIR)/mk/python.mk
+
+HOST_STYLE:= manual
+
+python3-jinja2-hostinstall:
+ (cd $(WRKBUILD); PATH='$(HOST_PATH)' python3 ./setup.py install \
+ --prefix=$(STAGING_HOST_DIR)/usr)
+
+include ${ADK_TOPDIR}/mk/host-bottom.mk
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/python3/Makefile b/package/python3/Makefile
index 04a7402b9..060ca4003 100644
--- a/package/python3/Makefile
+++ b/package/python3/Makefile
@@ -4,24 +4,20 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= python3
-PKG_VERSION:= 3.8.2
+PKG_VERSION:= 3.11.8
PKG_RELEASE:= 1
-PKG_HASH:= 2646e7dc233362f59714c6193017bb2d6f7b38d6ab4a0cb5fbac5c36c4d845df
-PKG_DESCR:= python3 scripting language
+PKG_HASH:= 9e06008c8901924395bc1da303eac567a729ae012baa182ab39269f650383bb3
+PKG_DESCR:= python scripting language
PKG_SECTION:= dev/lang
-PKG_DEPENDS:= libffi
-PKG_BUILDDEP:= python3-host libffi
-HOST_BUILDDEP:= libffi-host libressl-host
+PKG_DEPENDS:= libffi zlib libexpat
+PKG_BUILDDEP:= python3-host libffi zlib expat
+HOST_BUILDDEP:= libffi-host libressl-host zlib-host bzip2-host ncurses-host sqlite-host
PKG_NEEDS:= threads
PKG_URL:= http://www.python.org/
PKG_SITES:= http://legacy.python.org/ftp/python/${PKG_VERSION}/
-PKG_HOST_DEPENDS:= !netbsd !openbsd !cygwin
-
-PKG_FLAVOURS_PYTHON3:= MOD_ZLIB MOD_BZ2 MOD_EXPAT MOD_SQLITE MOD_GDBM
-PKG_FLAVOURS_PYTHON3+= MOD_NCURSES MOD_SSL
-# disabled
-#MOD_READLINE
+PKG_FLAVOURS_PYTHON3:= MOD_ZLIB MOD_BZ2 MOD_SQLITE MOD_GDBM
+PKG_FLAVOURS_PYTHON3+= MOD_NCURSES MOD_SSL MOD_READLINE
PKGFD_MOD_ZLIB:= zlib support
PKGFB_MOD_ZLIB:= zlib
@@ -29,9 +25,6 @@ PKGFS_MOD_ZLIB:= zlib
PKGFD_MOD_BZ2:= bzip2 support
PKGFB_MOD_BZ2:= bzip2
PKGFS_MOD_BZ2:= libbz2
-PKGFD_MOD_EXPAT:= xml support
-PKGFB_MOD_EXPAT:= expat
-PKGFS_MOD_EXPAT:= libexpat
PKGFD_MOD_SQLITE:= sqlite support
PKGFB_MOD_SQLITE:= sqlite
PKGFS_MOD_SQLITE:= libsqlite
@@ -59,9 +52,9 @@ define PKG_mod_template
INSTALL_MODS_$${ADK_PACKAGE_${1}}+= ${2}-install
${2}-install:
- ${INSTALL_DIR} $$(IDIR_$(1))/usr/lib/python3.8/lib-dynload
+ ${INSTALL_DIR} $$(IDIR_$(1))/usr/lib/python3.11/lib-dynload
for m in ${2}; do \
- ${INSTALL_DATA} $(WRKINST)/usr/lib/python3.8/lib-dynload/$$$${m}*.so $$(IDIR_$(1))/usr/lib/python3.8/lib-dynload ;\
+ ${INSTALL_DATA} $(WRKINST)/usr/lib/python3.11/lib-dynload/$$$${m}*.so $$(IDIR_$(1))/usr/lib/python3.11/lib-dynload ;\
done
endef
@@ -71,48 +64,48 @@ $(eval $(call PKG_template,PYTHON3,python3,${PKG_VERSION}-${PKG_RELEASE},${PKG_D
$(eval $(call PKG_template,PYTHON3_MOD_ZLIB,python3-mod-zlib,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_ZLIB},${PKGFD_MOD_ZLIB},${PKG_SECTION}))
$(eval $(call PKG_template,PYTHON3_MOD_BZ2,python3-mod-bz2,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_BZ2},${PKGFD_MOD_BZ2},${PKG_SECTION}))
-$(eval $(call PKG_template,PYTHON3_MOD_EXPAT,python3-mod-expat,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_EXPAT},${PKGFD_MOD_EXPAT},${PKG_SECTION}))
$(eval $(call PKG_template,PYTHON3_MOD_SQLITE,python3-mod-sqlite,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_SQLITE},${PKGFD_MOD_SQLITE},${PKG_SECTION}))
$(eval $(call PKG_template,PYTHON3_MOD_GDBM,python3-mod-gdbm,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_GDBM},${PKGFD_MOD_GDBM},${PKG_SECTION}))
$(eval $(call PKG_template,PYTHON3_MOD_NCURSES,python3-mod-ncurses,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_NCURSES},${PKGFD_MOD_NCURSES},${PKG_SECTION}))
$(eval $(call PKG_template,PYTHON3_MOD_SSL,python3-mod-ssl,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_SSL},${PKGFD_MOD_SSL},${PKG_SECTION}))
-#$(eval $(call PKG_template,PYTHON3_MOD_READLINE,python3-mod-readline,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_READLINE},${PKGFD_MOD_READLINE},${PKG_SECTION}))
+$(eval $(call PKG_template,PYTHON3_MOD_READLINE,python3-mod-readline,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_READLINE},${PKGFD_MOD_READLINE},${PKG_SECTION}))
$(eval $(call PKG_mod_template,PYTHON3_MOD_ZLIB,zlib))
$(eval $(call PKG_mod_template,PYTHON3_MOD_BZ2,_bz2))
-$(eval $(call PKG_mod_template,PYTHON3_MOD_EXPAT,pyexpat))
$(eval $(call PKG_mod_template,PYTHON3_MOD_SQLITE,_sqlite))
$(eval $(call PKG_mod_template,PYTHON3_MOD_GDBM,_gdbm))
$(eval $(call PKG_mod_template,PYTHON3_MOD_NCURSES,_curses))
$(eval $(call PKG_mod_template,PYTHON3_MOD_SSL,_ssl))
-#$(eval $(call PKG_mod_template,PYTHON3_MOD_READLINE,readline))
+$(eval $(call PKG_mod_template,PYTHON3_MOD_READLINE,readline))
MAKE_ENV+= HOSTPGEN=$(STAGING_HOST_DIR)/usr/bin/pgen3
FAKE_FLAGS+= ENSUREPIP=no
-CONFIGURE_ARGS:= --with-threads \
- --with-system-ffi \
- --with-system-expat \
+CONFIGURE_ARGS:= --with-system-expat \
--disable-ipv6 \
- --without-cxx-main
+ --with-build-python
CONFIGURE_ENV+= ac_cv_have_long_long_format=yes \
ac_cv_file__dev_ptmx=yes \
- ac_cv_file__dev_ptc=no
+ ac_cv_file__dev_ptc=no \
+ ac_cv_header_libintl_h=no
-HOST_CONFIGURE_ARGS+= --without-cxx-main \
- --with-threads
+ifeq ($(ADK_TARGET_BIG_ENDIAN),y)
+CONFIGURE_ENV+= ax_cv_c_float_words_bigendian=yes
+else
+CONFIGURE_ENV+= ax_cv_c_float_words_bigendian=no
+endif
python3-install: ${INSTALL_MODS_y} ${INSTALL_MODS_m}
${INSTALL_DIR} ${IDIR_PYTHON3}/usr/bin ${IDIR_PYTHON3}/usr/lib
- ${INSTALL_DIR} ${IDIR_PYTHON3}/usr/lib/python3.8
- ${INSTALL_DIR} ${IDIR_PYTHON3}/usr/include/python3.8
+ ${INSTALL_DIR} ${IDIR_PYTHON3}/usr/lib/python3.11
+ ${INSTALL_DIR} ${IDIR_PYTHON3}/usr/include/python3.11
${INSTALL_BIN} ${WRKINST}/usr/bin/python3 ${IDIR_PYTHON3}/usr/bin
${CP} ${WRKINST}/usr/lib/libpython*.so* ${IDIR_PYTHON3}/usr/lib
- ${CP} ${WRKINST}/usr/lib/python3.8/* ${IDIR_PYTHON3}/usr/lib/python3.8
- ${CP} ${WRKINST}/usr/include/python3.8/pyconfig.h \
- ${IDIR_PYTHON3}/usr/include/python3.8
+ ${CP} ${WRKINST}/usr/lib/python3.11/* ${IDIR_PYTHON3}/usr/lib/python3.11
+ ${CP} ${WRKINST}/usr/include/python3.11/pyconfig.h \
+ ${IDIR_PYTHON3}/usr/include/python3.11
@-for i in zlib _bz2 _curses _ssl _gdbm _sqlite pyexpat readline; do \
- rm ${IDIR_PYTHON3}/usr/lib/python3.8/lib-dynload/$${i}*so; \
+ rm ${IDIR_PYTHON3}/usr/lib/python3.11/lib-dynload/$${i}*so; \
done
include ${ADK_TOPDIR}/mk/host-bottom.mk
diff --git a/package/python3/patches/patch-setup_py b/package/python3/patches/patch-setup_py
deleted file mode 100644
index 90acd7eea..000000000
--- a/package/python3/patches/patch-setup_py
+++ /dev/null
@@ -1,11 +0,0 @@
---- Python-3.8.2.orig/setup.py 2020-02-24 22:36:25.000000000 +0100
-+++ Python-3.8.2/setup.py 2020-04-15 22:28:11.208150620 +0200
-@@ -654,7 +654,7 @@ class PyBuildExt(build_ext):
- # only change this for cross builds for 3.3, issues on Mageia
- if CROSS_COMPILING:
- self.add_cross_compiling_paths()
-- self.add_multiarch_paths()
-+# self.add_multiarch_paths()
- self.add_ldflags_cppflags()
-
- def init_inc_lib_dirs(self):
diff --git a/package/qingy/Makefile b/package/qingy/Makefile
index 26e508d80..1a59fdb4f 100644
--- a/package/qingy/Makefile
+++ b/package/qingy/Makefile
@@ -21,6 +21,7 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,QINGY,qingy,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+TARGET_CFLAGS+= -fcommon
TARGET_LDFLAGS+= -ltinfo
CONFIGURE_ARGS+= --disable-screen-savers \
--disable-optimizations \
diff --git a/package/quagga/Makefile b/package/quagga/Makefile
index 95cf6e288..e5628ff13 100644
--- a/package/quagga/Makefile
+++ b/package/quagga/Makefile
@@ -4,16 +4,16 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= quagga
-PKG_VERSION:= 1.2.0
+PKG_VERSION:= 1.2.4
PKG_RELEASE:= 1
-PKG_HASH:= 1043644d37975d9f920b76c593368cbe36ca43e27eb57cff316ee80ccb31dce3
+PKG_HASH:= e364c082c3309910e1eb7b068bf39ee298e2f2f3f31a6431a5c115193bd653d3
PKG_DESCR:= routing software package
PKG_SECTION:= net/route
PKG_BUILDDEP:= readline ncurses c-ares
PKG_DEPENDS:= c-ares
PKG_NEEDS:= threads
PKG_URL:= http://www.quagga.net/
-PKG_SITES:= http://download.savannah.gnu.org/releases/quagga/
+PKG_SITES:= https://github.com/Quagga/quagga/releases/download/$(PKG_NAME)-$(PKG_VERSION)/
DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
@@ -44,6 +44,7 @@ $(eval $(call PKG_template,QUAGGA_RIPNGD,quagga-ripngd,$(PKG_VERSION)-$(PKG_RELE
$(eval $(call PKG_template,QUAGGA_RIPD,quagga-ripd,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKGSD_QUAGGA_RIPD),$(PKG_SECTION)))
$(eval $(call PKG_template,QUAGGA_VTYSH,quagga-vtysh,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKGSD_QUAGGA_VTYSH),$(PKG_SECTION)))
+TARGET_CFLAGS+= -fcommon
CONFIGURE_ENV+= quagga_cv_ipforward_method="proc"
CONFIGURE_ARGS+= --localstatedir=/var/run/quagga \
--sysconfdir=/etc/quagga \
diff --git a/package/radvd/Makefile b/package/radvd/Makefile
index 3b9f6c92d..e134ed1d4 100644
--- a/package/radvd/Makefile
+++ b/package/radvd/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= radvd
-PKG_VERSION:= 2.12
+PKG_VERSION:= 2.18
PKG_RELEASE:= 1
-PKG_HASH:= b070e77238e789e298a82cba2b1bfb0b0180b4ebc1adfc4e75058adfdbff747b
+PKG_HASH:= e1bffefe6537e4b205d33afda35fec6014e5f860cc364850068a6ed9c6a65cdc
PKG_DESCR:= routing advertisement daemon for ipv6
PKG_SECTION:= net/ipv6
PKG_DEPENDS:= libdaemon
diff --git a/package/rdesktop/Makefile b/package/rdesktop/Makefile
index 98ccc84ca..2cd7636bc 100644
--- a/package/rdesktop/Makefile
+++ b/package/rdesktop/Makefile
@@ -4,25 +4,25 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= rdesktop
-PKG_VERSION:= 1.8.1
+PKG_VERSION:= 1.9.0
PKG_RELEASE:= 1
-PKG_HASH:= 76cc834b89c34d8332f3cb3889483b2ae4d4e8118eeb45a8967c77dd18228246
+PKG_HASH:= d547c2e6f3e4c818a7e69a0f39adb39fac303633e0c25aa804bb588507ffc230
PKG_DESCR:= client for windows terminal services
PKG_SECTION:= x11/apps
-PKG_DEPENDS:= libsamplerate alsa-lib libao libressl
-PKG_BUILDDEP:= libsamplerate alsa-lib libao libressl
+PKG_DEPENDS:= libsamplerate alsa-lib libao libgnutls
+PKG_BUILDDEP:= libsamplerate alsa-lib libao gnutls
PKG_URL:= http://www.rdesktop.org/
-PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=rdesktop/}
+PKG_SITES:= https://github.com/rdesktop/rdesktop/archive/refs/tags/
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
+DISTFILES:= v${PKG_VERSION}.tar.gz
include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,RDESKTOP,rdesktop,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
TARGET_CFLAGS+= -D_GNU_SOURCE -D_POSIX_SOURCE
-CONFIGURE_ARGS+= --with-openssl="${STAGING_TARGET_DIR}/usr" \
- --disable-smartcard \
+AUTOTOOL_STYLE:= bootstrap
+CONFIGURE_ARGS+= --disable-smartcard \
--disable-credssp
rdesktop-install:
diff --git a/package/readline/Makefile b/package/readline/Makefile
index 48ef40803..8ac34cceb 100644
--- a/package/readline/Makefile
+++ b/package/readline/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= readline
-PKG_VERSION:= 6.1
-PKG_RELEASE:= 2
-PKG_HASH:= f0caf608c06ccd6d56b3bee1843458d509c53f9b53dffffe07cc11d8f03fa969
+PKG_VERSION:= 8.1
+PKG_RELEASE:= 1
+PKG_HASH:= f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02
PKG_DESCR:= command line editing library
PKG_SECTION:= libs/misc
PKG_DEPENDS:= libncurses
@@ -24,6 +24,7 @@ $(eval $(call HOST_template,READLINE,readline,${PKG_VERSION}-${PKG_RELEASE}))
$(eval $(call PKG_template,LIBREADLINE,libreadline,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
CONFIGURE_ARGS+= --with-curses
+TARGET_LDFLAGS+= -ltinfo
libreadline-install:
${INSTALL_DIR} ${IDIR_LIBREADLINE}/usr/lib
diff --git a/package/rpcbind/Makefile b/package/rpcbind/Makefile
index ec4604c58..b0c175a04 100644
--- a/package/rpcbind/Makefile
+++ b/package/rpcbind/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= rpcbind
-PKG_VERSION:= 0.2.4
-PKG_RELEASE:= 2
-PKG_HASH:= 074a9a530dc7c11e0d905aa59bcb0847c009313f02e98d3d798aa9568f414c66
+PKG_VERSION:= 1.2.6
+PKG_RELEASE:= 1
+PKG_HASH:= 5613746489cae5ae23a443bb85c05a11741a5f12c8f55d2bb5e83b9defeee8de
PKG_DESCR:= converts rpc program numbers into universal addresses
PKG_SECTION:= net/misc
PKG_DEPENDS:= libtirpc
@@ -27,8 +27,9 @@ CONFIGURE_ARGS+= --disable-libwrap \
rpcbind-install:
$(INSTALL_DIR) $(IDIR_RPCBIND)/usr/bin
- $(INSTALL_BIN) $(WRKINST)/usr/bin/rpcbind \
- $(IDIR_RPCBIND)/usr/bin
+ $(INSTALL_DIR) $(IDIR_RPCBIND)/usr/sbin
+ $(INSTALL_BIN) $(WRKINST)/usr/sbin/rpcbind \
+ $(IDIR_RPCBIND)/usr/sbin
$(INSTALL_BIN) $(WRKINST)/usr/bin/rpcinfo \
$(IDIR_RPCBIND)/usr/bin
diff --git a/package/rpcbind/files/rpcbind.init b/package/rpcbind/files/rpcbind.init
index 42c527c90..efc957fd3 100644
--- a/package/rpcbind/files/rpcbind.init
+++ b/package/rpcbind/files/rpcbind.init
@@ -11,10 +11,10 @@ autostart)
exec sh $0 start
;;
start)
- /usr/bin/rpcbind
+ /usr/sbin/rpcbind
;;
stop)
- kill $(pgrep -f /usr/bin/rpcbind)
+ kill $(pgrep -f /usr/sbin/rpcbind)
;;
restart)
sh $0 stop
diff --git a/package/rpcbind/patches/patch-src_security_c b/package/rpcbind/patches/patch-src_security_c
deleted file mode 100644
index c183919c9..000000000
--- a/package/rpcbind/patches/patch-src_security_c
+++ /dev/null
@@ -1,50 +0,0 @@
---- rpcbind-0.2.4.orig/src/security.c 2016-11-28 21:47:28.000000000 +0100
-+++ rpcbind-0.2.4/src/security.c 2016-12-31 16:11:48.723119783 +0100
-@@ -22,14 +22,6 @@
- /*
- * XXX for special case checks in check_callit.
- */
--#ifdef HAVE_RPCSVC_MOUNT_H
--#include <rpcsvc/mount.h>
--#include <rpcsvc/rquota.h>
--#include <rpcsvc/nfs_prot.h>
--#include <rpcsvc/yp.h>
--#include <rpcsvc/ypclnt.h>
--#include <rpcsvc/yppasswd.h>
--#else
- # define MOUNTPROC_MNT 1
- # define MOUNTPROC_UMNT 3
- # define NFS_PROGRAM 100003
-@@ -44,7 +36,6 @@
- # define YPPROC_FIRST 4
- # define YPPROC_NEXT 5
- # define YPPROC_ALL 8
--#endif
-
- #include "rpcbind.h"
-
-@@ -327,24 +318,9 @@ check_callit(SVCXPRT *xprt, struct r_rmt
- args->rmt_proc != MOUNTPROC_UMNT)
- break;
- goto deny;
-- case YPBINDPROG:
-- if (args->rmt_proc != YPBINDPROC_SETDOM)
-- break;
-- /* FALLTHROUGH */
-- case YPPASSWDPROG:
- case NFS_PROGRAM:
- case RQUOTAPROG:
- goto deny;
-- case YPPROG:
-- switch (args->rmt_proc) {
-- case YPPROC_ALL:
-- case YPPROC_MATCH:
-- case YPPROC_FIRST:
-- case YPPROC_NEXT:
-- goto deny;
-- default:
-- break;
-- }
- default:
- break;
- }
diff --git a/package/rrdtool/Makefile b/package/rrdtool/Makefile
index 7bf566a0d..bc46647f4 100644
--- a/package/rrdtool/Makefile
+++ b/package/rrdtool/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= rrdtool
-PKG_VERSION:= 1.6.0
+PKG_VERSION:= 1.8.0
PKG_RELEASE:= 1
-PKG_HASH:= cd948e89cd2d8825fab4a6fb0323f810948d934af7d92c9ee8b5e9e1350e52d7
+PKG_HASH:= bd37614137d7a8dc523359648eb2a81631a34fd91a82ed5581916a52c08433f4
PKG_DESCR:= round robin database management library
PKG_SECTION:= libs/misc
PKG_DEPENDS:= libart libfreetype libpng zlib
@@ -14,7 +14,7 @@ PKG_DEPENDS+= glib cairo pango
PKG_BUILDDEP:= libxml2 cgilib freetype libart libpng
PKG_BUILDDEP+= glib cairo pango
PKG_URL:= http://oss.oetiker.ch/
-PKG_SITES:= http://oss.oetiker.ch/rrdtool/pub/
+PKG_SITES:= https://github.com/oetiker/rrdtool-1.x/releases/download/v$(PKG_VERSION)/
PKG_LIBNAME:= librrd
PKG_OPTS:= dev
@@ -41,7 +41,9 @@ CONFIGURE_ARGS+= --enable-rrdcgi \
--disable-ruby \
--disable-tcl \
--disable-python \
- --disable-libwrap
+ --disable-libwrap \
+ --disable-docs \
+ --disable-examples
TARGET_CPPFLAGS+= -I${STAGING_TARGET_DIR}/usr/include/freetype2
TARGET_LDFLAGS+= -lglib-2.0 -lm
diff --git a/package/rsync/Makefile b/package/rsync/Makefile
index 0c0ddc8a3..9971074f3 100644
--- a/package/rsync/Makefile
+++ b/package/rsync/Makefile
@@ -4,13 +4,14 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= rsync
-PKG_VERSION:= 3.1.3
+PKG_VERSION:= 3.2.7
PKG_RELEASE:= 1
-PKG_HASH:= 55cc554efec5fdaad70de921cd5a5eeb6c29a95524c715f3bbf849235b0800c0
+PKG_HASH:= 4e7d9d3f6ed10878c58c5fb724a67dacf4b6aac7340b13e488fb2dc41346f2bb
PKG_DESCR:= utility that provides fast incremental file transfer
PKG_SECTION:= net/misc
-PKG_DEPENDS:= libpopt
-PKG_BUILDDEP:= popt
+PKG_DEPENDS:= libpopt libressl
+PKG_BUILDDEP:= popt libressl
+HOST_BUILDDEP:= libressl-host
PKG_URL:= http://rsync.samba.org/
PKG_SITES:= http://rsync.samba.org/ftp/rsync/
@@ -22,6 +23,14 @@ include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call HOST_template,RSYNC,rsync,$(PKG_VERSION)-$(PKG_RELEASE)))
$(eval $(call PKG_template,RSYNC,rsync,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+HOST_CONFIGURE_ARGS:= --disable-xxhash \
+ --disable-zstd \
+ --disable-lz4
+CONFIGURE_ARGS:= --disable-xxhash \
+ --disable-zstd \
+ --disable-simd \
+ --disable-lz4
+
rsync-install:
${INSTALL_DIR} ${IDIR_RSYNC}/usr/bin
${INSTALL_BIN} ${WRKINST}/usr/bin/rsync ${IDIR_RSYNC}/usr/bin
diff --git a/package/rsyslog/Makefile b/package/rsyslog/Makefile
index cbd9905b6..c4aa83b2a 100644
--- a/package/rsyslog/Makefile
+++ b/package/rsyslog/Makefile
@@ -4,16 +4,18 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= rsyslog
-PKG_VERSION:= 8.21.0
+PKG_VERSION:= 8.2010.0
PKG_RELEASE:= 1
-PKG_HASH:= bdb1fde87b75107b58d1cd5d00408822fb15b9f3efb8d9dbb93a1dee128339ab
+PKG_HASH:= 19b232f765c4ba7a35b91ef1f5f9af775f6ff78ef56bb7737a2ce79ccbb32b98
PKG_DESCR:= syslog daemon
PKG_SECTION:= sys/misc
-PKG_DEPENDS:= libestr liblogging libfastjson libuuid zlib libncurses
-PKG_BUILDDEP:= libestr liblogging libfastjson util-linux zlib ncurses
+PKG_DEPENDS:= libestr liblogging libfastjson libuuid zlib libncurses libgcrypt
+PKG_DEPENDS+= libcurl
+PKG_BUILDDEP:= libestr liblogging libfastjson util-linux zlib ncurses libgcrypt
+PKG_BUILDDEP+= curl
PKG_NEEDS:= threads
PKG_URL:= http://www.rsyslog.com/
-PKG_SITES:= http://www.rsyslog.com/files/download/rsyslog/
+PKG_SITES:= https://www.rsyslog.com/files/download/rsyslog/
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
diff --git a/package/rtorrent/Makefile b/package/rtorrent/Makefile
index 8777baf87..56034a7f9 100644
--- a/package/rtorrent/Makefile
+++ b/package/rtorrent/Makefile
@@ -15,6 +15,8 @@ PKG_NEEDS:= c++
PKG_URL:= https://rakshasa.github.io/rtorrent/
PKG_SITES:= http://rtorrent.net/downloads/
+PKG_CFLINE_RTORRENT:= depends on ADK_BROKEN
+
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
include ${ADK_TOPDIR}/mk/package.mk
diff --git a/package/ruby/Makefile b/package/ruby/Makefile
index ab1d92fad..f0a55595b 100644
--- a/package/ruby/Makefile
+++ b/package/ruby/Makefile
@@ -4,18 +4,17 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= ruby
-PKG_VERSION:= 2.4.1
+PKG_VERSION:= 3.3.0
PKG_RELEASE:= 1
-PKG_HASH:= a330e10d5cb5e53b3a0078326c5731888bb55e32c4abfeb27d9e7f8e5d000250
+PKG_HASH:= 676b65a36e637e90f982b57b059189b3276b9045034dcd186a7e9078847b975b
PKG_DESCR:= scripting language
PKG_SECTION:= dev/lang
+PKG_DEPENDS:= libressl zlib
PKG_BUILDDEP:= ruby-host libressl zlib
+HOST_BUILDDEP:= libressl-host
PKG_NEEDS:= threads
PKG_URL:= http://www.ruby-lang.org/
-PKG_SITES:= http://ftp.ruby-lang.org/pub/ruby/2.4/
-#PKG_NOPARALLEL:= 1
-
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
+PKG_SITES:= http://ftp.ruby-lang.org/pub/ruby/3.3/
include ${ADK_TOPDIR}/mk/host.mk
include ${ADK_TOPDIR}/mk/package.mk
@@ -26,6 +25,9 @@ $(eval $(call PKG_template,RUBY,ruby,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS
# uClibc setpgrp does not take arguments
CONFIGURE_ENV+= ac_cv_func_setpgrp_void=yes \
stack_protector=no \
+ ac_cv_func_finite=yes \
+ ac_cv_func_isinf=yes \
+ ac_cv_func_isnan=yes \
rb_cv_binary_elf=yes
CONFIGURE_ARGS+= --disable-install-doc \
--with-out-ext=fiddle \
@@ -37,8 +39,9 @@ ALL_TARGET:= main
INSTALL_TARGET:= install-nodoc
HOST_CONFIGURE_ARGS+= --disable-install-doc \
+ --disable-yjit \
--disable-shared \
- --with-out-ext=curses,openssl,readline \
+ --with-out-ext=curses,readline,openssl \
--disable-rubygems
HOST_ALL_TARGET:= main
HOST_INSTALL_TARGET:= install-nodoc
diff --git a/package/ruby/patches/patch-configure b/package/ruby/patches/patch-configure
deleted file mode 100644
index 6a6360320..000000000
--- a/package/ruby/patches/patch-configure
+++ /dev/null
@@ -1,16 +0,0 @@
---- ruby-2.4.0.orig/configure 2016-12-23 17:06:46.000000000 +0100
-+++ ruby-2.4.0/configure 2017-01-30 03:08:52.351107663 +0100
-@@ -9412,6 +9412,13 @@ esac
- ac_cv_func_isinf=yes
- ac_cv_func_isnan=yes
- ;; #(
-+ linux*) :
-+ LIBS="-lm $LIBS"
-+ # finite(), isinf() and isnan() are macros on Linux.
-+ ac_cv_func_finite=yes
-+ ac_cv_func_isinf=yes
-+ ac_cv_func_isnan=yes
-+ ;; #(
- aix*) :
- LIBS="-lm $LIBS"
- ac_cv_func_round=no
diff --git a/package/rxvt-unicode/Makefile b/package/rxvt-unicode/Makefile
index 04e3c0c25..8b977427d 100644
--- a/package/rxvt-unicode/Makefile
+++ b/package/rxvt-unicode/Makefile
@@ -4,13 +4,15 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= rxvt-unicode
-PKG_VERSION:= 9.21
+PKG_VERSION:= 9.30
PKG_RELEASE:= 1
-PKG_HASH:= 75270ed72bc5895a64a1d7392bf45a622204192371c3965bd3dd978dc088956b
+PKG_HASH:= fe1c93d12f385876457a989fc3ae05c0915d2692efc59289d0f70fabe5b44d2d
PKG_DESCR:= terminal emulator with unicode support
PKG_SECTION:= x11/apps
-PKG_DEPENDS:= libx11 fontconfig libxft libxml2 gdk-pixbuf
-PKG_BUILDDEP:= libX11 fontconfig libXft libxml2 gdk-pixbuf
+PKG_DEPENDS:= libx11 fontconfig libxft libxml2 gdk-pixbuf libptytty
+PKG_DEPENDS+= libffi libmount
+PKG_BUILDDEP:= libX11 fontconfig libXft libxml2 gdk-pixbuf libptytty
+PKG_BUILDDEP+= libffi util-linux
PKG_NEEDS:= c++
PKG_URL:= http://software.schmorp.de/pkg/rxvt-unicode.html
PKG_SITES:= http://dist.schmorp.de/rxvt-unicode/
@@ -22,9 +24,7 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,RXVT_UNICODE,rxvt-unicode,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
TARGET_LDFLAGS+= -lpthread
-CONFIGURE_ARGS+= --disable-perl \
- --disable-utmp \
- --disable-afterimage
+CONFIGURE_ARGS+= --disable-perl
rxvt-unicode-install:
$(INSTALL_DIR) $(IDIR_RXVT_UNICODE)/usr/bin
diff --git a/package/s6-linux-utils/Makefile b/package/s6-linux-utils/Makefile
deleted file mode 100644
index 1e8410187..000000000
--- a/package/s6-linux-utils/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(ADK_TOPDIR)/rules.mk
-
-PKG_NAME:= s6-linux-utils
-PKG_VERSION:= 2.1.0.0
-PKG_RELEASE:= 1
-PKG_HASH:= 3523ba84ba524198711b2de3edaaf620381a4e95d78ec6d13dcb7aba42397ead
-PKG_DESCR:= set of minimalistic Linux-specific system utilities
-PKG_SECTION:= sys/misc
-PKG_DEPENDS:= skalibs
-PKG_BUILDDEP:= skalibs
-PKG_URL:= http://skarnet.org/software/s6-linux-utils/
-PKG_SITES:= http://skarnet.org/software/s6-linux-utils/
-
-DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
-
-include $(ADK_TOPDIR)/mk/package.mk
-
-$(eval $(call PKG_template,S6_LINUX_UTILS,s6-linux-utils,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
-
-TARGET_LDFLAGS+= -lrt
-CONFIGURE_ARGS+= --with-sysdeps=$(STAGING_TARGET_DIR)/usr/lib/skalibs/sysdeps \
- --with-include=$(STAGING_TARGET_DIR)/usr/include \
- --with-dynlib=$(STAGING_TARGET_DIR)/usr/lib \
- --disable-allstatic
-
-s6-linux-utils-install:
- $(INSTALL_DIR) $(IDIR_S6_LINUX_UTILS)/usr/bin
- $(CP) $(WRKINST)/usr/bin/* \
- $(IDIR_S6_LINUX_UTILS)/usr/bin
-
-include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/s6-portable-utils/Makefile b/package/s6-portable-utils/Makefile
deleted file mode 100644
index 224e4fa59..000000000
--- a/package/s6-portable-utils/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(ADK_TOPDIR)/rules.mk
-
-PKG_NAME:= s6-portable-utils
-PKG_VERSION:= 2.0.6.0
-PKG_RELEASE:= 1
-PKG_HASH:= 233b7d13766a23661cc7ed5c052f29b9c558c1d516a538a281a17da22a909d4b
-PKG_DESCR:= set of tiny general Unix utilities
-PKG_SECTION:= sys/misc
-PKG_DEPENDS:= skalibs
-PKG_BUILDDEP:= skalibs
-PKG_URL:= http://skarnet.org/software/s6-portable-utils/
-PKG_SITES:= http://skarnet.org/software/s6-portable-utils/
-
-DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
-
-include $(ADK_TOPDIR)/mk/package.mk
-
-$(eval $(call PKG_template,S6_PORTABLE_UTILS,s6-portable-utils,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
-
-CONFIGURE_ARGS+= --with-sysdeps=$(STAGING_TARGET_DIR)/usr/lib/skalibs/sysdeps \
- --with-include=$(STAGING_TARGET_DIR)/usr/include \
- --with-dynlib=$(STAGING_TARGET_DIR)/usr/lib \
- --disable-allstatic
-
-s6-portable-utils-install:
- $(INSTALL_DIR) $(IDIR_S6_PORTABLE_UTILS)/usr/bin
- $(CP) $(WRKINST)/usr/bin/* \
- $(IDIR_S6_PORTABLE_UTILS)/usr/bin
-
-include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/s6/Makefile b/package/s6/Makefile
deleted file mode 100644
index 209a60f45..000000000
--- a/package/s6/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(ADK_TOPDIR)/rules.mk
-
-PKG_NAME:= s6
-PKG_VERSION:= 2.3.0.0
-PKG_RELEASE:= 1
-PKG_HASH:= 49c9a0476d93c6279c776ca5ae9c49b3fd39c356eda674828aebf78f8488e8e6
-PKG_DESCR:= small suite of programs for UNIX, designed to allow process supervision
-PKG_SECTION:= base/init
-PKG_DEPENDS:= skalibs execline
-PKG_BUILDDEP:= skalibs execline
-PKG_URL:= http://www.skarnet.org/software/s6/
-PKG_SITES:= http://www.skarnet.org/software/s6/
-
-DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
-
-include $(ADK_TOPDIR)/mk/package.mk
-
-$(eval $(call PKG_template,S6,s6,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
-
-CONFIGURE_ARGS+= --with-sysdeps=$(STAGING_TARGET_DIR)/usr/lib/skalibs/sysdeps \
- --with-include=$(STAGING_TARGET_DIR)/usr/include \
- --with-dynlib=$(STAGING_TARGET_DIR)/usr/lib \
- --disable-allstatic
-
-s6-install:
- $(INSTALL_DIR) $(IDIR_S6)/usr/bin
- $(INSTALL_DIR) $(IDIR_S6)/usr/sbin
- $(INSTALL_DIR) $(IDIR_S6)/usr/libexec
- $(CP) $(WRKINST)/usr/bin/* \
- $(IDIR_S6)/usr/bin
- $(CP) $(WRKINST)/usr/sbin/* \
- $(IDIR_S6)/usr/sbin
- $(CP) $(WRKINST)/usr/libexec/* \
- $(IDIR_S6)/usr/libexec
-
-include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/samba/Makefile b/package/samba/Makefile
index 82d4a5f87..e47d34af3 100644
--- a/package/samba/Makefile
+++ b/package/samba/Makefile
@@ -4,15 +4,14 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= samba
-PKG_VERSION:= 4.6.9
+PKG_VERSION:= 4.19.4
PKG_RELEASE:= 1
-PKG_HASH:= c31db4aad82f0b9588ef6c4b4dab5dce3fa1787bd298e62d953c2628bb1af21a
+PKG_HASH:= 4026d93b866db198c8ca1685b0f5d52793f65c6e63cb364163af661fdff0968c
PKG_DESCR:= file and print server
PKG_SECTION:= net/fs
PKG_DEPENDS:= libuuid libpopt libgnutls libtirpc
-PKG_DEPENDS+= libtalloc
-PKG_BUILDDEP:= util-linux popt python2 gnutls talloc
-PKG_BUILDDEP+= heimdal-host python2-host libtirpc
+PKG_DEPENDS+= libtalloc libkrb5
+PKG_BUILDDEP:= util-linux talloc p5-parse-yapp-host gnutls krb5
PKG_NEEDS:= threads intl
PKG_URL:= http://www.samba.org/
PKG_SITES:= http://samba.org/samba/ftp/stable/
@@ -29,10 +28,12 @@ CONFIGURE_ARGS+= --enable-fhs \
--prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
- --with-privatedir=/etc/samba \
+ --with-privatedir=/var/lib/samba \
--cross-compile \
--cross-answers=$(WRKSRC)/cache.txt \
--hostcc=gcc \
+ --with-system-mitkrb5 \
+ --without-libunwind \
--without-pie \
--without-gettext \
--without-relro \
@@ -44,20 +45,32 @@ CONFIGURE_ARGS+= --enable-fhs \
--without-ads \
--without-ldap \
--without-acl-support \
+ --without-ad-dc \
+ --without-json \
+ --without-libarchive \
+ --without-iconv \
--disable-glusterfs \
--disable-iprint \
--disable-cups \
--disable-avahi \
--disable-rpath \
+ --disable-python \
--bundled-libraries='com_err,!asn1_compile,!compile_et' \
+ --with-shared-modules=!vfs_snapper \
--disable-rpath-install
CONFIGURE_ENV+= PYTHON_CONFIG="$(STAGING_TARGET_DIR)/usr/bin/python-config" \
python_LDFLAGS="" \
- python_LIBDIR=""
+ python_LIBDIR="" \
+ PERL="$(STAGING_HOST_DIR)/usr/bin/perl-host"
pre-configure:
$(CP) ./files/cache.txt $(WRKSRC)
echo 'Checking uname machine type: "$(ADK_TARGET_ARCH)"' >>$(WRKSRC)/cache.txt
+ifneq ($(ADK_LINUX_64),)
+ echo 'Checking for a 64-bit host to support lmdb: OK' >>$(WRKSRC)/cache.txt
+else
+ echo 'Checking for a 64-bit host to support lmdb: NO' >>$(WRKSRC)/cache.txt
+endif
samba-install:
$(INSTALL_DIR) $(IDIR_SAMBA)/etc/samba
diff --git a/package/samba/files/cache.txt b/package/samba/files/cache.txt
index 3ba8a75ea..9ab9fcd5b 100644
--- a/package/samba/files/cache.txt
+++ b/package/samba/files/cache.txt
@@ -37,3 +37,12 @@ Checking value of NSIG: "65"
Checking value of _NSIG: "65"
Checking value of SIGRTMAX: "64"
Checking value of SIGRTMIN: "34"
+Checking errno of iconv for illegal multibyte sequence: "0"
+checking for clnt_create(): OK
+Checking for a 64-bit host to support lmdb: NO
+Checking value of GNUTLS_CIPHER_AES_128_CFB8: 29
+Checking value of GNUTLS_MAC_AES_CMAC_128: 203
+Checking whether fcntl supports flags to send direct I/O availability signals: OK
+Checking for gnutls fips mode support: NO
+Checking for readlink breakage: NO
+Checking whether the WRFILE -keytab is supported: NO
diff --git a/package/samba/files/samba.init b/package/samba/files/samba.init
index 21b983530..8b9e7e375 100644
--- a/package/samba/files/samba.init
+++ b/package/samba/files/samba.init
@@ -11,12 +11,13 @@ autostart)
exec sh $0 start
;;
start)
- [ -d /var/lib/samba ] || mkdir -p /var/lib/samba
+ [ -d /var/lib/samba/msg.sock ] || mkdir -p /var/lib/samba/msg.sock
[ -d /var/run/samba ] || mkdir -p /var/run/samba
[ -d /var/log/samba ] || mkdir -p /var/log/samba
[ -d /var/cache/samba ] || mkdir -p /var/cache/samba
[ -d /var/lock/samba ] || mkdir -p /var/lock/samba
- /usr/sbin/nmbd -D
+ chmod 700 /var/lib/samba/msg.sock
+ /usr/sbin/nmbd -D
/usr/sbin/smbd -D
;;
stop)
diff --git a/package/samba/patches/patch-nsswitch_wins_c b/package/samba/patches/patch-nsswitch_wins_c
deleted file mode 100644
index 92aa624f5..000000000
--- a/package/samba/patches/patch-nsswitch_wins_c
+++ /dev/null
@@ -1,17 +0,0 @@
---- samba-4.6.6.orig/nsswitch/wins.c 2017-01-09 09:12:30.000000000 +0100
-+++ samba-4.6.6/nsswitch/wins.c 2017-08-02 22:28:16.616627669 +0200
-@@ -39,6 +39,14 @@ static pthread_mutex_t wins_nss_mutex =
- #define INADDRSZ 4
- #endif
-
-+#ifndef NETDB_INTERNAL
-+#define NETDB_INTERNAL -1
-+#endif
-+
-+#ifndef NETDB_SUCCESS
-+#define NETDB_SUCCESS 0
-+#endif
-+
- NSS_STATUS _nss_wins_gethostbyname_r(const char *hostname,
- struct hostent *he,
- char *buffer,
diff --git a/package/samba/patches/patch-source3_lib_util_c b/package/samba/patches/patch-source3_lib_util_c
deleted file mode 100644
index 5755bb837..000000000
--- a/package/samba/patches/patch-source3_lib_util_c
+++ /dev/null
@@ -1,18 +0,0 @@
---- samba-4.6.6.orig/source3/lib/util.c 2017-02-09 08:45:27.000000000 +0100
-+++ samba-4.6.6/source3/lib/util.c 2017-08-02 21:54:59.695281066 +0200
-@@ -565,6 +565,7 @@ char *get_mydnsdomname(TALLOC_CTX *ctx)
- }
- }
-
-+#if 0
- #if (defined(HAVE_NETGROUP) && defined(WITH_AUTOMOUNT))
- /******************************************************************
- Remove any mount options such as -rsize=2048,wsize=2048 etc.
-@@ -687,6 +688,7 @@ char *automount_lookup(TALLOC_CTX *ctx,
- }
- #endif /* WITH_NISPLUS_HOME */
- #endif
-+#endif
-
- bool process_exists(const struct server_id pid)
- {
diff --git a/package/sane-backends/Makefile b/package/sane-backends/Makefile
index fea9bd975..77d28add4 100644
--- a/package/sane-backends/Makefile
+++ b/package/sane-backends/Makefile
@@ -4,15 +4,15 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= sane-backends
-PKG_VERSION:= 1.0.22
-PKG_RELEASE:= 3
-PKG_HASH:= 9f84a16800497f0b79a278531bb1a0f438de6ce8cf509fefc65a252e29f90c54
+PKG_VERSION:= 1.2.1
+PKG_RELEASE:= 1
+PKG_HASH:= f832395efcb90bb5ea8acd367a820c393dda7e0dd578b16f48928b8f5bdd0524
PKG_DESCR:= scanner access now easy
PKG_SECTION:= sys/misc
PKG_BUILDDEP:= libusb libusb-compat
PKG_NEEDS:= threads
PKG_URL:= http://www.sane-project.org/
-PKG_SITES:= ftp://ftp2.sane-project.org/pub/sane/${PKG_NAME}-${PKG_VERSION}/
+PKG_SITES:= https://gitlab.com/sane-project/backends/uploads/110fc43336d0fb5e514f1fdc7360dd87/
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
@@ -226,7 +226,9 @@ $(eval $(call PKG_mod_template,SANE_BACKEND_UMAX_PP,umax_pp))
$(eval $(call PKG_mod_template,SANE_BACKEND_UMAX,umax))
TARGET_CFLAGS+= -D_GNU_SOURCE
-CONFIGURE_ENV+= ac_cv_func_ioperm=no have_libv4l1=no
+CONFIGURE_ENV+= ac_cv_func_ioperm=no \
+ have_libv4l1=no \
+ ac_cv_func_mmap_fixed_mapped=yes
CONFIGURE_ARGS+= --disable-translations \
--without-gphoto2 \
--enable-libusb
diff --git a/package/sane-backends/patches/patch-Makefile_in b/package/sane-backends/patches/patch-Makefile_in
deleted file mode 100644
index b1796c56f..000000000
--- a/package/sane-backends/patches/patch-Makefile_in
+++ /dev/null
@@ -1,12 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- sane-backends-1.0.22.orig/Makefile.in 2011-01-30 19:50:56.000000000 +0100
-+++ sane-backends-1.0.22/Makefile.in 2011-10-01 19:26:02.309066938 +0200
-@@ -293,7 +293,7 @@ target_alias = @target_alias@
- top_build_prefix = @top_build_prefix@
- top_builddir = @top_builddir@
- top_srcdir = @top_srcdir@
--SUBDIRS = include lib sanei backend frontend tools doc po
-+SUBDIRS = include lib sanei backend frontend
- DIST_SUBDIRS = include lib sanei backend frontend tools doc po japi testsuite
- dist_doc_DATA = AUTHORS ChangeLog COPYING LICENSE NEWS PROBLEMS PROJECTS \
- README README.aix README.beos README.darwin README.djpeg README.freebsd \
diff --git a/package/sane-backends/patches/patch-backend_canon630u-common_c b/package/sane-backends/patches/patch-backend_canon630u-common_c
deleted file mode 100644
index d9acb4bf1..000000000
--- a/package/sane-backends/patches/patch-backend_canon630u-common_c
+++ /dev/null
@@ -1,12 +0,0 @@
---- sane-backends-1.0.22.orig/backend/canon630u-common.c 2010-12-02 00:49:58.000000000 +0100
-+++ sane-backends-1.0.22/backend/canon630u-common.c 2014-03-18 08:33:31.000000000 +0100
-@@ -58,9 +58,7 @@
- #include <unistd.h> /* usleep */
- #include <time.h>
- #include <math.h> /* exp() */
--#ifdef HAVE_OS2_H
- #include <sys/types.h> /* mode_t */
--#endif
- #include <sys/stat.h>
- #include "lm9830.h"
-
diff --git a/package/sane-backends/patches/patch-backend_epson2-commands_c b/package/sane-backends/patches/patch-backend_epson2-commands_c
deleted file mode 100644
index 3b2c46841..000000000
--- a/package/sane-backends/patches/patch-backend_epson2-commands_c
+++ /dev/null
@@ -1,10 +0,0 @@
---- sane-backends-1.0.22.orig/backend/epson2-commands.c 2010-12-02 00:49:58.000000000 +0100
-+++ sane-backends-1.0.22/backend/epson2-commands.c 2014-03-18 08:34:27.000000000 +0100
-@@ -19,6 +19,7 @@
-
- #include "sane/config.h"
-
-+#include <sys/types.h>
- #include <byteorder.h>
- #include <math.h>
-
diff --git a/package/sane-backends/patches/patch-backend_genesys_c b/package/sane-backends/patches/patch-backend_genesys_c
deleted file mode 100644
index fc0398856..000000000
--- a/package/sane-backends/patches/patch-backend_genesys_c
+++ /dev/null
@@ -1,10 +0,0 @@
---- sane-backends-1.0.22.orig/backend/genesys.c 2011-02-14 00:10:18.000000000 +0100
-+++ sane-backends-1.0.22/backend/genesys.c 2014-03-18 08:36:00.000000000 +0100
-@@ -65,6 +65,7 @@
- #include <errno.h>
- #include <string.h>
- #include <stdlib.h>
-+#include <sys/types.h>
- #include <unistd.h>
- #include <math.h>
-
diff --git a/package/sane-backends/patches/patch-backend_genesys_h b/package/sane-backends/patches/patch-backend_genesys_h
deleted file mode 100644
index efc830be1..000000000
--- a/package/sane-backends/patches/patch-backend_genesys_h
+++ /dev/null
@@ -1,10 +0,0 @@
---- sane-backends-1.0.22.orig/backend/genesys.h 2011-01-16 02:01:28.000000000 +0100
-+++ sane-backends-1.0.22/backend/genesys.h 2014-03-18 08:36:42.000000000 +0100
-@@ -52,6 +52,7 @@
- */
- #undef UNIT_TESTING
-
-+#include <sys/types.h>
- #include "genesys_low.h"
-
- #define FREE_IFNOT_NULL(x) if(x!=NULL) { free(x); x=NULL;}
diff --git a/package/sane-backends/patches/patch-backend_genesys_low_c b/package/sane-backends/patches/patch-backend_genesys_low_c
deleted file mode 100644
index 430ab3791..000000000
--- a/package/sane-backends/patches/patch-backend_genesys_low_c
+++ /dev/null
@@ -1,10 +0,0 @@
---- sane-backends-1.0.22.orig/backend/genesys_low.c 2011-02-14 00:10:18.000000000 +0100
-+++ sane-backends-1.0.22/backend/genesys_low.c 2014-03-18 08:37:27.000000000 +0100
-@@ -46,6 +46,7 @@
- #include <errno.h>
- #include <string.h>
- #include <stdlib.h>
-+#include <sys/types.h>
- #include <unistd.h>
- #include <math.h>
-
diff --git a/package/sane-backends/patches/patch-backend_hp3900_rts8822_c b/package/sane-backends/patches/patch-backend_hp3900_rts8822_c
deleted file mode 100644
index 59b9b5a9b..000000000
--- a/package/sane-backends/patches/patch-backend_hp3900_rts8822_c
+++ /dev/null
@@ -1,10 +0,0 @@
---- sane-backends-1.0.22.orig/backend/hp3900_rts8822.c 2010-12-02 00:49:58.000000000 +0100
-+++ sane-backends-1.0.22/backend/hp3900_rts8822.c 2014-03-18 08:38:21.000000000 +0100
-@@ -64,6 +64,7 @@
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h> /* bzero() */
-+#include <sys/types.h>
- #include <time.h> /* clock() */
- #include <math.h> /* truncf() */
- #include <ctype.h> /* tolower() */
diff --git a/package/sane-backends/patches/patch-backend_hp5400_sanei_c b/package/sane-backends/patches/patch-backend_hp5400_sanei_c
deleted file mode 100644
index 7f340d607..000000000
--- a/package/sane-backends/patches/patch-backend_hp5400_sanei_c
+++ /dev/null
@@ -1,10 +0,0 @@
---- sane-backends-1.0.22.orig/backend/hp5400_sanei.c 2010-12-02 00:49:58.000000000 +0100
-+++ sane-backends-1.0.22/backend/hp5400_sanei.c 2014-03-18 08:39:35.000000000 +0100
-@@ -56,6 +56,7 @@
- #include "hp5400_xfer.h"
- #include "hp5400_debug.h"
- #include <stdio.h>
-+#include <sys/types.h>
- #include "../include/sane/sanei_usb.h"
-
- #define CMD_INITBULK1 0x0087 /* send 0x14 */
diff --git a/package/sane-backends/patches/patch-backend_hp5590_low_c b/package/sane-backends/patches/patch-backend_hp5590_low_c
deleted file mode 100644
index 7812886dc..000000000
--- a/package/sane-backends/patches/patch-backend_hp5590_low_c
+++ /dev/null
@@ -1,10 +0,0 @@
---- sane-backends-1.0.22.orig/backend/hp5590_low.c 2010-12-02 00:49:58.000000000 +0100
-+++ sane-backends-1.0.22/backend/hp5590_low.c 2014-03-18 08:38:55.000000000 +0100
-@@ -46,6 +46,7 @@
-
- #include <stdio.h>
- #include <string.h>
-+#include <sys/types.h>
- #include <errno.h>
- #ifdef HAVE_NETINET_IN_H
- # include <netinet/in.h>
diff --git a/package/sane-backends/patches/patch-backend_kvs20xx_opt_c b/package/sane-backends/patches/patch-backend_kvs20xx_opt_c
deleted file mode 100644
index 253699d14..000000000
--- a/package/sane-backends/patches/patch-backend_kvs20xx_opt_c
+++ /dev/null
@@ -1,10 +0,0 @@
---- sane-backends-1.0.22.orig/backend/kvs20xx_opt.c 2010-12-02 00:49:58.000000000 +0100
-+++ sane-backends-1.0.22/backend/kvs20xx_opt.c 2014-03-18 08:41:24.000000000 +0100
-@@ -8,6 +8,7 @@
-
- #include "../include/sane/config.h"
-
-+#include <sys/types.h>
- #include <string.h>
-
- #define DEBUG_DECLARE_ONLY
diff --git a/package/sane-backends/patches/patch-backend_microtek_c b/package/sane-backends/patches/patch-backend_microtek_c
deleted file mode 100644
index dde369f2d..000000000
--- a/package/sane-backends/patches/patch-backend_microtek_c
+++ /dev/null
@@ -1,11 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- sane-backends-1.0.22.orig/backend/microtek.c 2010-12-02 00:49:58.000000000 +0100
-+++ sane-backends-1.0.22/backend/microtek.c 2011-10-01 19:26:01.659066938 +0200
-@@ -59,6 +59,7 @@
-
- #include "../include/sane/config.h"
-
-+#include <stdarg.h>
- #include <stdlib.h>
- #include <string.h>
- #include <unistd.h>
diff --git a/package/sane-backends/patches/patch-backend_pixma_bjnp_c b/package/sane-backends/patches/patch-backend_pixma_bjnp_c
deleted file mode 100644
index 5d347c00e..000000000
--- a/package/sane-backends/patches/patch-backend_pixma_bjnp_c
+++ /dev/null
@@ -1,22 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- sane-backends-1.0.22.orig/backend/pixma_bjnp.c 2010-12-02 00:49:58.000000000 +0100
-+++ sane-backends-1.0.22/backend/pixma_bjnp.c 2011-10-01 19:26:01.699066938 +0200
-@@ -59,9 +59,6 @@
- #ifdef HAVE_SYS_TYPES_H
- #include <sys/types.h>
- #endif
--#ifdef HAVE_SYS_TIME_H
--#include <sys/timeb.h>
--#endif
-
- /*
- * networking stuff
-@@ -196,7 +193,7 @@ truncate_hostname (char *hostname, char
- {
- /* this is a hostname, not an ip-address, so remove domain part of the name */
-
-- if ((dot = index (short_hostname, '.')) != NULL)
-+ if ((dot = strchr(short_hostname, '.')) != NULL)
- *dot = '\0';
- }
- return short_hostname;
diff --git a/package/sane-backends/patches/patch-backend_pixma_common_h b/package/sane-backends/patches/patch-backend_pixma_common_h
deleted file mode 100644
index 822cc888e..000000000
--- a/package/sane-backends/patches/patch-backend_pixma_common_h
+++ /dev/null
@@ -1,13 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- sane-backends-1.0.20.orig/backend/pixma_common.h 2009-02-05 15:36:36.000000000 +0100
-+++ sane-backends-1.0.20/backend/pixma_common.h 2009-05-11 21:00:58.000000000 +0200
-@@ -220,8 +220,8 @@ void pixma_hexdump (int level, const voi
- void pixma_dump (int level, const char *type, const void *data, int len,
- int size, int max);
- # define DEBUG_DECLARE_ONLY
--# include "../include/sane/sanei_debug.h"
- #endif /* NDEBUG */
- /** @} end of group debug */
-+# include "../include/sane/sanei_debug.h"
-
- #endif
diff --git a/package/sane-backends/patches/patch-backend_pixma_imageclass_c b/package/sane-backends/patches/patch-backend_pixma_imageclass_c
deleted file mode 100644
index cb265aedb..000000000
--- a/package/sane-backends/patches/patch-backend_pixma_imageclass_c
+++ /dev/null
@@ -1,12 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- sane-backends-1.0.22.orig/backend/pixma_imageclass.c 2010-12-02 00:49:58.000000000 +0100
-+++ sane-backends-1.0.22/backend/pixma_imageclass.c 2011-10-01 19:26:01.779066938 +0200
-@@ -161,8 +161,6 @@ query_status (pixma_t * s)
- if (error >= 0)
- {
- memcpy (mf->current_status, data, 12);
-- DBG (3, "Current status: paper=%u cal=%u lamp=%u\n",
-- data[1], data[8], data[7]);
- PDBG (pixma_dbg (3, "Current status: paper=%u cal=%u lamp=%u\n",
- data[1], data[8], data[7]));
- }
diff --git a/package/sane-backends/patches/patch-backend_rts88xx_lib_c b/package/sane-backends/patches/patch-backend_rts88xx_lib_c
deleted file mode 100644
index 060f0a10e..000000000
--- a/package/sane-backends/patches/patch-backend_rts88xx_lib_c
+++ /dev/null
@@ -1,10 +0,0 @@
---- sane-backends-1.0.22.orig/backend/rts88xx_lib.c 2010-12-02 00:49:58.000000000 +0100
-+++ sane-backends-1.0.22/backend/rts88xx_lib.c 2014-03-18 08:42:41.000000000 +0100
-@@ -54,6 +54,7 @@
-
- #include <stdio.h>
- #include <sys/time.h>
-+#include <sys/types.h>
-
- #include "../include/_stdint.h"
-
diff --git a/package/sane-backends/patches/patch-backend_sm3600-scanutil_c b/package/sane-backends/patches/patch-backend_sm3600-scanutil_c
deleted file mode 100644
index 436102a18..000000000
--- a/package/sane-backends/patches/patch-backend_sm3600-scanutil_c
+++ /dev/null
@@ -1,11 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- sane-backends-1.0.22.orig/backend/sm3600-scanutil.c 2010-12-02 00:49:58.000000000 +0100
-+++ sane-backends-1.0.22/backend/sm3600-scanutil.c 2011-10-01 19:26:01.819066938 +0200
-@@ -47,6 +47,7 @@ $Id$
-
- ====================================================================== */
-
-+#include <stdarg.h>
- #include <unistd.h>
- #include "sm3600-scantool.h"
-
diff --git a/package/sane-backends/patches/patch-backend_umax1220u-common_c b/package/sane-backends/patches/patch-backend_umax1220u-common_c
deleted file mode 100644
index 8889f7795..000000000
--- a/package/sane-backends/patches/patch-backend_umax1220u-common_c
+++ /dev/null
@@ -1,12 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- sane-backends-1.0.20.orig/backend/umax1220u-common.c 2006-04-17 14:46:41.000000000 +0200
-+++ sane-backends-1.0.20/backend/umax1220u-common.c 2009-05-11 21:17:47.000000000 +0200
-@@ -556,7 +556,7 @@ cwritev (UMAX_Handle * scan, UMAX_Cmd cm
- /* Read the opcode back */
-
- CHK (cread (scan, cmd, len, buf, NULL));
-- if (bcmp (buf, data, len))
-+ if (memcmp (buf, data, len))
- {
- DBG (1, "cwritev: verification failed\n");
- return SANE_STATUS_IO_ERROR;
diff --git a/package/sane-backends/patches/patch-backend_xerox_mfp_c b/package/sane-backends/patches/patch-backend_xerox_mfp_c
deleted file mode 100644
index d58262197..000000000
--- a/package/sane-backends/patches/patch-backend_xerox_mfp_c
+++ /dev/null
@@ -1,10 +0,0 @@
---- sane-backends-1.0.22.orig/backend/xerox_mfp.c 2010-12-02 00:49:58.000000000 +0100
-+++ sane-backends-1.0.22/backend/xerox_mfp.c 2014-03-18 08:44:56.000000000 +0100
-@@ -22,6 +22,7 @@
- #include <math.h>
- #include <unistd.h>
- #include <sys/time.h>
-+#include <sys/types.h>
- #include "../include/sane/sane.h"
- #include "../include/sane/sanei.h"
- #include "../include/sane/saneopts.h"
diff --git a/package/sane-backends/patches/patch-configure b/package/sane-backends/patches/patch-configure
deleted file mode 100644
index d8d5aca8d..000000000
--- a/package/sane-backends/patches/patch-configure
+++ /dev/null
@@ -1,90 +0,0 @@
---- sane-backends-1.0.22.orig/configure 2011-02-14 02:27:52.000000000 +0100
-+++ sane-backends-1.0.22/configure 2011-10-01 19:32:51.919066675 +0200
-@@ -7529,77 +7529,7 @@ done
-
-
-
--
--
--
--pkg_failed=no
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBV4L" >&5
--$as_echo_n "checking for LIBV4L... " >&6; }
--
--if test -n "$LIBV4L_CFLAGS"; then
-- pkg_cv_LIBV4L_CFLAGS="$LIBV4L_CFLAGS"
-- elif test -n "$PKG_CONFIG"; then
-- if test -n "$PKG_CONFIG" && \
-- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libv4l1\""; } >&5
-- ($PKG_CONFIG --exists --print-errors "libv4l1") 2>&5
-- ac_status=$?
-- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-- test $ac_status = 0; }; then
-- pkg_cv_LIBV4L_CFLAGS=`$PKG_CONFIG --cflags "libv4l1" 2>/dev/null`
--else
-- pkg_failed=yes
--fi
-- else
-- pkg_failed=untried
--fi
--if test -n "$LIBV4L_LIBS"; then
-- pkg_cv_LIBV4L_LIBS="$LIBV4L_LIBS"
-- elif test -n "$PKG_CONFIG"; then
-- if test -n "$PKG_CONFIG" && \
-- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libv4l1\""; } >&5
-- ($PKG_CONFIG --exists --print-errors "libv4l1") 2>&5
-- ac_status=$?
-- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-- test $ac_status = 0; }; then
-- pkg_cv_LIBV4L_LIBS=`$PKG_CONFIG --libs "libv4l1" 2>/dev/null`
--else
-- pkg_failed=yes
--fi
-- else
-- pkg_failed=untried
--fi
--
--
--
--if test $pkg_failed = yes; then
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-- _pkg_short_errors_supported=yes
--else
-- _pkg_short_errors_supported=no
--fi
-- if test $_pkg_short_errors_supported = yes; then
-- LIBV4L_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libv4l1" 2>&1`
-- else
-- LIBV4L_PKG_ERRORS=`$PKG_CONFIG --print-errors "libv4l1" 2>&1`
-- fi
-- # Put the nasty error message in config.log where it belongs
-- echo "$LIBV4L_PKG_ERRORS" >&5
--
-- have_libv4l1=no
--elif test $pkg_failed = untried; then
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
-- have_libv4l1=no
--else
-- LIBV4L_CFLAGS=$pkg_cv_LIBV4L_CFLAGS
-- LIBV4L_LIBS=$pkg_cv_LIBV4L_LIBS
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
--$as_echo "yes" >&6; }
-- have_libv4l1=yes
--fi
-+have_libv4l1=no
-
-
-
-@@ -16874,7 +16804,7 @@ ALL_BACKENDS="abaton agfafocus apple art
- leo lexmark ma1509 magicolor \
- matsushita microtek microtek2 mustek mustek_pp \
- mustek_usb mustek_usb2 nec net niash pie pint \
-- pixma plustek plustek_pp qcam ricoh rts8891 s9036 \
-+ pixma plustek plustek_pp ricoh rts8891 s9036 \
- sceptre sharp sm3600 sm3840 snapscan sp15c st400 \
- stv680 tamarack teco1 teco2 teco3 test u12 umax
- umax_pp umax1220u v4l xerox_mfp p5"
diff --git a/package/sane-backends/patches/patch-configure_in b/package/sane-backends/patches/patch-configure_in
deleted file mode 100644
index fbc410c70..000000000
--- a/package/sane-backends/patches/patch-configure_in
+++ /dev/null
@@ -1,11 +0,0 @@
---- sane-backends-1.0.22.orig/configure.in 2011-02-14 00:27:15.000000000 +0100
-+++ sane-backends-1.0.22/configure.in 2011-10-01 19:26:02.249066938 +0200
-@@ -559,7 +559,7 @@ ALL_BACKENDS="abaton agfafocus apple art
- leo lexmark ma1509 magicolor \
- matsushita microtek microtek2 mustek mustek_pp \
- mustek_usb mustek_usb2 nec net niash pie pint \
-- pixma plustek plustek_pp qcam ricoh rts8891 s9036 \
-+ pixma plustek plustek_pp ricoh rts8891 s9036 \
- sceptre sharp sm3600 sm3840 snapscan sp15c st400 \
- stv680 tamarack teco1 teco2 teco3 test u12 umax
- umax_pp umax1220u v4l xerox_mfp p5"
diff --git a/package/sane-backends/patches/patch-include_sane_sanei_tcp_h b/package/sane-backends/patches/patch-include_sane_sanei_tcp_h
deleted file mode 100644
index 4ba390003..000000000
--- a/package/sane-backends/patches/patch-include_sane_sanei_tcp_h
+++ /dev/null
@@ -1,10 +0,0 @@
---- sane-backends-1.0.22.orig/include/sane/sanei_tcp.h 2010-12-02 00:49:58.000000000 +0100
-+++ sane-backends-1.0.22/include/sane/sanei_tcp.h 2014-03-18 08:31:07.000000000 +0100
-@@ -20,6 +20,7 @@
-
- #include <sane/sane.h>
-
-+#include <sys/types.h>
- #include <netinet/in.h>
- #include <netdb.h>
-
diff --git a/package/sane-backends/patches/patch-include_sane_sanei_udp_h b/package/sane-backends/patches/patch-include_sane_sanei_udp_h
deleted file mode 100644
index 3d70edada..000000000
--- a/package/sane-backends/patches/patch-include_sane_sanei_udp_h
+++ /dev/null
@@ -1,10 +0,0 @@
---- sane-backends-1.0.22.orig/include/sane/sanei_udp.h 2010-12-02 00:49:58.000000000 +0100
-+++ sane-backends-1.0.22/include/sane/sanei_udp.h 2014-03-18 08:31:40.000000000 +0100
-@@ -20,6 +20,7 @@
-
- #include <sane/sane.h>
-
-+#include <sys/types.h>
- #include <netinet/in.h>
- #include <netdb.h>
-
diff --git a/package/scons/Makefile b/package/scons/Makefile
index 7acc52c1a..b33c67318 100644
--- a/package/scons/Makefile
+++ b/package/scons/Makefile
@@ -4,19 +4,21 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= scons
-PKG_VERSION:= 2.3.0
-PKG_RELEASE:= 2
-PKG_HASH:= 9442069999cf4b2caa94a5886ab4c2c71de1718ed5e9176c18e2b6dbca463b4b
+PKG_VERSION:= 3.1.2
+PKG_RELEASE:= 1
+PKG_HASH:= 7801f3f62f654528e272df780be10c0e9337e897650b62ddcee9f39fde13f8fb
PKG_DESCR:= software construction tool
PKG_SECTION:= dev/tools
-HOST_BUILDDEP:= python2-host
+HOST_BUILDDEP:= python3-host
PKG_URL:= http://www.scons.org
PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=scons/}
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
+DISTFILES:= $(PKG_NAME)-${PKG_VERSION}.tar.gz
PKG_CFLINE_SCONS:= depends on ADK_HOST_ONLY
+#WRKDIST= ${WRKDIR}/SCons-${PKG_VERSION}
+
include $(ADK_TOPDIR)/mk/host.mk
include $(ADK_TOPDIR)/mk/package.mk
@@ -26,7 +28,7 @@ HOST_STYLE:= manual
scons-hostinstall:
(cd $(WRKBUILD); PATH='$(HOST_PATH)' python setup.py install \
- --prefix=$(STAGING_HOST_DIR)/usr)
+ --prefix=$(STAGING_HOST_DIR)/usr --install-lib=$(STAGING_HOST_DIR)/usr/lib/scons-$(PKG_VERSION))
include ${ADK_TOPDIR}/mk/host-bottom.mk
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/screen/Makefile b/package/screen/Makefile
index 209d211b6..1756f3166 100644
--- a/package/screen/Makefile
+++ b/package/screen/Makefile
@@ -4,13 +4,14 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= screen
-PKG_VERSION:= 4.7.0
+PKG_VERSION:= 4.9.0
PKG_RELEASE:= 1
-PKG_HASH:= da775328fa783bd2a787d722014dbd99c6093effc11f337827604c2efc5d20c1
+PKG_HASH:= f9335281bb4d1538ed078df78a20c2f39d3af9a4e91c57d084271e0289c730f4
PKG_DESCR:= window manager for the terminal session
PKG_SECTION:= sys/utils
PKG_DEPENDS:= libncurses libelf
PKG_BUILDDEP:= ncurses libelf
+PKG_NEEDS:= mmu
PKG_URL:= http://www.gnu.org/software/screen/
PKG_SITES:= ${MASTER_SITE_GNU:=screen/}
@@ -20,6 +21,7 @@ include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,SCREEN,screen,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+AUTOTOOL_STYLE:= autoreconf
TARGET_LDFLAGS+= -ltinfo
CONFIGURE_ENV+= $(foreach flag,rename fchmod fchown strerror lstat _exit utimes vsnprintf getcwd setlocale strftime,ac_cv_func_${flag}=yes)
CONFIGURE_ARGS+= --with-sys-screenrc=/etc/screenrc
diff --git a/package/sdl/Makefile b/package/sdl/Makefile
deleted file mode 100644
index 351a65f01..000000000
--- a/package/sdl/Makefile
+++ /dev/null
@@ -1,65 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(ADK_TOPDIR)/rules.mk
-
-PKG_NAME:= sdl
-PKG_VERSION:= 1.2.15
-PKG_RELEASE:= 1
-PKG_HASH:= d6d316a793e5e348155f0dd93b979798933fb98aa1edebcc108829d6474aad00
-PKG_DESCR:= simple directmedia layer
-PKG_SECTION:= libs/misc
-PKG_DEPENDS:= libusb alsa-lib libx11 libxext
-PKG_BUILDDEP:= sdl-host libusb alsa-lib libX11 libXext
-PKG_NEEDS:= threads
-PKG_URL:= http://www.libsdl.org/
-PKG_SITES:= http://www.libsdl.org/release/
-PKG_LIBNAME:= libsdl
-PKG_OPTS:= dev
-
-PKG_FLAVOURS_LIBSDL:= WITH_TSLIB
-PKGFD_WITH_TSLIB:= enable touchscreen support
-PKGFS_WITH_TSLIB:= tslib
-PKGFB_WITH_TSLIB:= tslib
-
-DISTFILES:= SDL-${PKG_VERSION}.tar.gz
-WRKDIST= ${WRKDIR}/SDL-${PKG_VERSION}
-
-include $(ADK_TOPDIR)/mk/host.mk
-include $(ADK_TOPDIR)/mk/package.mk
-
-$(eval $(call HOST_template,LIBSDL,libsdl,$(PKG_VERSION)-${PKG_RELEASE}))
-$(eval $(call PKG_template,LIBSDL,libsdl,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-
-HOST_STYLE:= auto
-HOST_CONFIGURE_ARGS+= --without-x \
- --enable-shared \
- --disable-cdrom \
- --disable-joystick \
- --disable-audio \
- --disable-video \
- --disable-assembly \
- --disable-input-tslib \
- --disable-video-directfb \
- --disable-video-cocoa \
- --disable-video-opengl
-
-ifeq ($(ADK_PACKAGE_SDL_WITH_TSLIB),y)
-CONFIGURE_ARGS+= --enable-input-tslib
-endif
-CONFIGURE_ARGS+= --disable-esd \
- --disable-oss \
- --enable-alsa \
- --enable-video-fbcon \
- --disable-video-directfb \
- --disable-video-opengl \
- --disable-video-ps2gs \
- --disable-video-ps3 \
- --with-x
-
-libsdl-install:
- $(INSTALL_DIR) $(IDIR_LIBSDL)/usr/lib
- $(CP) ${WRKINST}/usr/lib/libSDL*.so* $(IDIR_LIBSDL)/usr/lib
-
-include ${ADK_TOPDIR}/mk/host-bottom.mk
-include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/sdl2-mixer/Makefile b/package/sdl2-mixer/Makefile
new file mode 100644
index 000000000..f77239a75
--- /dev/null
+++ b/package/sdl2-mixer/Makefile
@@ -0,0 +1,29 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= sdl2-mixer
+PKG_VERSION:= 2.6.3
+PKG_RELEASE:= 1
+PKG_HASH:= 7a6ba86a478648ce617e3a5e9277181bc67f7ce9876605eea6affd4a0d6eea8f
+PKG_DESCR:= simple directmedia layer mixer 2
+PKG_SECTION:= libs/misc
+PKG_URL:= http://www.libsdl.org/
+PKG_SITES:= http://www.libsdl.org/projects/SDL_mixer/release/
+PKG_LIBNAME:= libsdl2-mixer
+PKG_OPTS:= dev
+
+DISTFILES:= SDL2_mixer-$(PKG_VERSION).tar.gz
+WRKDIST= ${WRKDIR}/SDL2_mixer-$(PKG_VERSION)
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBSDL2_MIXER,libsdl2-mixer,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+libsdl2-mixer-install:
+ $(INSTALL_DIR) $(IDIR_LIBSDL2_MIXER)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libSDL2*.so* \
+ $(IDIR_LIBSDL2_MIXER)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/sdl2-net/Makefile b/package/sdl2-net/Makefile
new file mode 100644
index 000000000..94691a884
--- /dev/null
+++ b/package/sdl2-net/Makefile
@@ -0,0 +1,29 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= sdl2-net
+PKG_VERSION:= 2.2.0
+PKG_RELEASE:= 1
+PKG_HASH:= 4e4a891988316271974ff4e9585ed1ef729a123d22c08bd473129179dc857feb
+PKG_DESCR:= simple directmedia layer net 2
+PKG_SECTION:= libs/misc
+PKG_URL:= http://www.libsdl.org/
+PKG_SITES:= http://www.libsdl.org/projects/SDL_net/release/
+PKG_LIBNAME:= libsdl2-net
+PKG_OPTS:= dev
+
+DISTFILES:= SDL2_net-$(PKG_VERSION).tar.gz
+WRKDIST= ${WRKDIR}/SDL2_net-$(PKG_VERSION)
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBSDL2_NET,libsdl2-net,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+libsdl2-net-install:
+ $(INSTALL_DIR) $(IDIR_LIBSDL2_NET)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libSDL2*.so* \
+ $(IDIR_LIBSDL2_NET)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/sdl2/Makefile b/package/sdl2/Makefile
new file mode 100644
index 000000000..3e3b3e091
--- /dev/null
+++ b/package/sdl2/Makefile
@@ -0,0 +1,33 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= sdl2
+PKG_VERSION:= 2.28.5
+PKG_RELEASE:= 1
+PKG_HASH:= 9f0556e4a24ef5b267010038ad9e9948b62f236d5bcc4b22179f95ef62d84023
+PKG_DESCR:= simple directmedia layer 2
+PKG_SECTION:= libs/misc
+PKG_URL:= http://www.libsdl.org/
+PKG_SITES:= https://github.com/libsdl-org/SDL/archive/refs/tags/
+PKG_BUILDDEP:= mesa libdrm alsa-lib DirectFB
+PKG_DEPENDS:= mesa libdrm alsa-lib directfb
+PKG_LIBNAME:= libsdl2
+PKG_OPTS:= dev
+
+DISTFILES:= release-$(PKG_VERSION).tar.gz
+WRKDIST= ${WRKDIR}/SDL-release-$(PKG_VERSION)
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBSDL2,libsdl2,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+CONFIGURE_ARGS+= --enable-video-directfb
+
+libsdl2-install:
+ $(INSTALL_DIR) $(IDIR_LIBSDL2)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libSDL2*.so* \
+ $(IDIR_LIBSDL2)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/section.lst b/package/section.lst
index 724fbdf32..a1fead9bb 100644
--- a/package/section.lst
+++ b/package/section.lst
@@ -19,6 +19,7 @@ app/chat Chat
app/crypto Cryptography
app/debug Debugging and Analyzing
app/editor Editor and Pager
+app/games Games
app/p2p P2P
net/acct IP Accounting
net/dns DNS and DHCP
diff --git a/package/serdisplib/Makefile b/package/serdisplib/Makefile
index 804eb68f8..9a3a9cde2 100644
--- a/package/serdisplib/Makefile
+++ b/package/serdisplib/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= serdisplib
-PKG_VERSION:= 1.97.8
+PKG_VERSION:= 2.02
PKG_RELEASE:= 1
-PKG_HASH:= b64738f2fd6a28f6d659945282a4a95eeaaabb0a5867f8a87b8cceb01ce1d029
+PKG_HASH:= 447b74007dc157b0378044245649850b26432b9185b6540ff681fcb0765c4d8b
PKG_DESCR:= display drivers (serial, parallel, usb)
PKG_SECTION:= sys/serial
PKG_DEPENDS:= libusb-compat
@@ -22,7 +22,6 @@ $(eval $(call PKG_template,SERDISPLIB,serdisplib,${PKG_VERSION}-${PKG_RELEASE},$
INSTALL_STYLE:= manual
-CONFIGURE_ENV+= PACKAGE_VERSION_MAJOR=1 PACKAGE_VERSION_MINOR=97
CONFIGURE_ARGS+= --enable-libusb
TARGET_CFLAGS+= ${TARGET_CPPFLAGS}
diff --git a/package/serdisplib/patches/patch-Makefile_in b/package/serdisplib/patches/patch-Makefile_in
deleted file mode 100644
index a140feb5e..000000000
--- a/package/serdisplib/patches/patch-Makefile_in
+++ /dev/null
@@ -1,12 +0,0 @@
-$Id$
---- serdisplib-1.97.8.orig/Makefile.in 2008-07-30 23:05:37.000000000 +0200
-+++ serdisplib-1.97.8/Makefile.in 2009-05-30 18:04:39.430445031 +0200
-@@ -20,7 +20,7 @@ CC = @CC@
- MAKE=@MAKE@
-
-
--subdirs = src tools
-+subdirs = src
-
-
- all:
diff --git a/package/serdisplib/patches/patch-configure b/package/serdisplib/patches/patch-configure
deleted file mode 100644
index b4ea718bd..000000000
--- a/package/serdisplib/patches/patch-configure
+++ /dev/null
@@ -1,22 +0,0 @@
-$Id$
---- serdisplib-1.97.8.orig/configure 2008-07-19 00:40:38.000000000 +0200
-+++ serdisplib-1.97.8/configure 2009-05-30 18:04:39.526453915 +0200
-@@ -2661,18 +2661,6 @@ echo "${ECHO_T}no" >&6
- fi
-
-
--# split version information
--PACKAGE_VERSION_TEMP=${PACKAGE_VERSION/\./\ }
--PACKAGE_VERSION_MAJOR=${PACKAGE_VERSION_TEMP/\ *}
--PACKAGE_VERSION_MINTEMP=${PACKAGE_VERSION_TEMP/*\ }
--if test "${PACKAGE_VERSION_TEMP/*\.*/\.}" = "\."; then
-- PACKAGE_VERSION_MINOR=${PACKAGE_VERSION_MINTEMP/\.*}
-- PACKAGE_VERSION_SUBMINOR=${PACKAGE_VERSION_MINTEMP/*\.}
--else
-- PACKAGE_VERSION_MINOR=$PACKAGE_VERSION_MINTEMP
-- PACKAGE_VERSION_SUBMINOR=""
--fi
--
-
-
-
diff --git a/package/serdisplib/patches/patch-include_serdisplib_serdisp_control_h b/package/serdisplib/patches/patch-include_serdisplib_serdisp_control_h
deleted file mode 100644
index d8c819a34..000000000
--- a/package/serdisplib/patches/patch-include_serdisplib_serdisp_control_h
+++ /dev/null
@@ -1,12 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- serdisplib-1.97.8.orig/include/serdisplib/serdisp_control.h 2008-07-31 00:55:12.000000000 +0200
-+++ serdisplib-1.97.8/include/serdisplib/serdisp_control.h 2009-05-31 16:24:16.000000000 +0200
-@@ -42,7 +42,7 @@
-
- #define SERDISP_VERSION_MAJOR 1 /**< \brief major version of serdisplib \hideinitializer */
- #define SERDISP_VERSION_MINOR 97 /**< \brief minor version of serdisplib \hideinitializer */
--#define SERDISP_VERSION_EXTRA 8 /**< \brief extra version postfix (ignored) \hideinitializer */
-+#define SERDISP_VERSION_EXTRA /**< \brief extra version postfix (ignored) \hideinitializer */
-
- /** \hideinitializer
- * \brief calculates a serdisplib version code
diff --git a/package/serdisplib/patches/patch-src_Makefile_in b/package/serdisplib/patches/patch-src_Makefile_in
deleted file mode 100644
index ad9c6a9c7..000000000
--- a/package/serdisplib/patches/patch-src_Makefile_in
+++ /dev/null
@@ -1,12 +0,0 @@
-$Id$
---- serdisplib-1.97.8.orig/src/Makefile.in 2008-07-30 23:05:37.000000000 +0200
-+++ serdisplib-1.97.8/src/Makefile.in 2009-05-30 18:04:39.534451861 +0200
-@@ -126,7 +126,7 @@ endif
-
- .SUFFIXES : .c .o
-
--all: libraries programs
-+all: libraries
-
- libraries: library.static library.shared
-
diff --git a/package/serdisplib/patches/patch-src_serdisp_connect_c b/package/serdisplib/patches/patch-src_serdisp_connect_c
deleted file mode 100644
index fae45be6f..000000000
--- a/package/serdisplib/patches/patch-src_serdisp_connect_c
+++ /dev/null
@@ -1,21 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- serdisplib-1.97.8.orig/src/serdisp_connect.c 2008-07-20 09:50:41.000000000 +0200
-+++ serdisplib-1.97.8/src/serdisp_connect.c 2009-05-31 16:27:03.000000000 +0200
-@@ -304,7 +304,7 @@ serdisp_CONN_t* SDCONN_open(const char s
- sdcd->sdcdev = (sdcdev == 0 || strlen((char*)sdcdev) > 0) ? (char*)sdcdev : SERDISP_DEFAULTDEVICE;
-
- /* split into protocol and device name */
-- idx = index(sdcd->sdcdev, ':');
-+ idx = strchr(sdcd->sdcdev, ':');
- if (!idx) {
- devname = sdcd->sdcdev;
- /* look if a default connection type can be found for given device */
-@@ -1405,7 +1405,7 @@ serdisp_CONN_t* SDCONN_import_PP(int dir
- int SDCONN_getsignalindex(const char str[], short conntype, short hardwaretype) {
- int i;
- int n = strlen(str);
-- char* idxpos = index(str, ',');
-+ char* idxpos = strchr(str, ',');
-
- if (idxpos)
- n = serdisp_ptrstrlen(idxpos, str);
diff --git a/package/serdisplib/patches/patch-src_serdisp_connect_usb_c b/package/serdisplib/patches/patch-src_serdisp_connect_usb_c
deleted file mode 100644
index c400ce875..000000000
--- a/package/serdisplib/patches/patch-src_serdisp_connect_usb_c
+++ /dev/null
@@ -1,39 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- serdisplib-1.97.8.orig/src/serdisp_connect_usb.c 2008-07-30 23:44:23.000000000 +0200
-+++ serdisplib-1.97.8/src/serdisp_connect_usb.c 2009-05-31 16:28:11.000000000 +0200
-@@ -220,7 +220,7 @@ serdisp_CONN_t* SDCONNusb_open(const cha
- #endif
-
- devname = (char*)sdcdev;
-- idx = index(devname, ':');
-+ idx = strchr(devname, ':');
-
- if (serdisp_ptrdistance(idx, devname) >= 18) {
- sd_error(SERDISP_ENXIO, "%s(): invalid protocol (too long)", __func__);
-@@ -230,7 +230,7 @@ serdisp_CONN_t* SDCONNusb_open(const cha
- sdtools_strncpy(protocol, devname, serdisp_ptrdistance(idx, devname));
- devname = (idx+1);
-
-- idx = index(devname, ':');
-+ idx = strchr(devname, ':');
-
- if (idx) {
- if (serdisp_ptrdistance(idx, devname) >= 8) {
-@@ -242,7 +242,7 @@ serdisp_CONN_t* SDCONNusb_open(const cha
- occurrence = (int)strtol(buffer, 0, 10);
- }
-
-- idx = index(devname, '/');
-+ idx = strchr(devname, '/');
- if (idx && serdisp_ptrdistance(idx, devname) < 7) {
- sdtools_strncpy(buffer, devname, serdisp_ptrdistance(idx, devname));
- vendorID = (int)strtol(buffer, &endptr, 16);
-@@ -254,7 +254,7 @@ serdisp_CONN_t* SDCONNusb_open(const cha
-
-
- if (vendorID != -1) {
-- idx = index(devname, '/');
-+ idx = strchr(devname, '/');
- if (!idx) idx = devname + strlen(devname);
- if (serdisp_ptrdistance(idx, devname) < 7) {
- sdtools_strncpy(buffer, devname, serdisp_ptrdistance(idx, devname));
diff --git a/package/serdisplib/patches/patch-src_serdisp_control_c b/package/serdisplib/patches/patch-src_serdisp_control_c
deleted file mode 100644
index f881ab3fe..000000000
--- a/package/serdisplib/patches/patch-src_serdisp_control_c
+++ /dev/null
@@ -1,48 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- serdisplib-1.97.8.orig/src/serdisp_control.c 2008-07-30 01:04:44.000000000 +0200
-+++ serdisplib-1.97.8/src/serdisp_control.c 2009-05-30 18:07:14.100111588 +0200
-@@ -450,7 +450,7 @@ serdisp_t* serdisp_init(serdisp_CONN_t*
- }
-
- if (found) {
-- char* idxpos = index(patternptr, '=');
-+ char* idxpos = strchr(patternptr, '=');
- int keylen = patternlen;
-
- /* '=' found and position not outside patternlen? */
-@@ -568,7 +568,7 @@ serdisp_t* serdisp_init(serdisp_CONN_t*
- * \since 1.98
- */
- long serdisp_getversioncode(void) {
-- return (long) SERDISP_VERSION_CODE;
-+ return (long)SERDISP_VERSION_CODE;
- }
-
-
-@@ -1831,7 +1831,7 @@ int serdisp_setupwirings(serdisp_t* dd,
- while( (patternptr = sdtools_nextpattern(patternptr, ',', &patternlen, &patternborder)) ) {
- char* valueptr = 0;
- int valuelen = 0;
-- char* idxpos = index(patternptr, ':');
-+ char* idxpos = strchr(patternptr, ':');
- int keylen = patternlen;
-
- int tabidxkey = 0, tabidxvalue;
-@@ -2003,7 +2003,7 @@ int serdisp_setupoptions(serdisp_t* dd,
- while( (optionptr = sdtools_nextpattern(optionptr, ';', &optionlen, &optionborder)) ) {
- char* valueptr = 0;
- int valuelen = 0;
-- char* idxpos = index(optionptr, '=');
-+ char* idxpos = strchr(optionptr, '=');
- int keylen = optionlen;
-
- int stdoptidx; /* index of an option found in standard options */
-@@ -2072,7 +2072,7 @@ int serdisp_setupoptions(serdisp_t* dd,
- int definefound = 0;
-
- while( !definefound && (defineptr = sdtools_nextpattern(defineptr, ',', &definelen, &defineborder)) ) {
-- char* defineidxpos = index(defineptr, '=');
-+ char* defineidxpos = strchr(defineptr, '=');
- int definekeylen = definelen;
- char* definevalueptr = 0;
- int definevaluelen = 0;
diff --git a/package/serdisplib/patches/patch-src_serdisp_tools_c b/package/serdisplib/patches/patch-src_serdisp_tools_c
deleted file mode 100644
index 6b972fafc..000000000
--- a/package/serdisplib/patches/patch-src_serdisp_tools_c
+++ /dev/null
@@ -1,30 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- serdisplib-1.97.8.orig/src/serdisp_tools.c 2008-07-17 01:44:52.000000000 +0200
-+++ serdisplib-1.97.8/src/serdisp_tools.c 2009-05-31 16:26:39.000000000 +0200
-@@ -688,7 +688,7 @@ int sdtools_isinelemlist(const char* ele
-
- if (strlen(lefttrimmedelemlist) == 0) return -1;
-
-- indexpos = index(lefttrimmedelemlist, ',');
-+ indexpos = strchr(lefttrimmedelemlist, ',');
-
- /* this should never occur but to be sure: catch it and return 0 in such a case (invalid elemlist!) */
- if (indexpos == lefttrimmedelemlist)
-@@ -762,7 +762,7 @@ char* sdtools_nextpattern(const char* st
- char* idxpos;
-
- if (*len >= 0) { /* *len < 0: return first parameter, else: not first parameter */
-- idxpos = index(strstart, delim);
-+ idxpos = strchr(strstart, delim);
- if ( !idxpos || (((long)idxpos) >= (((long)strstart) + *border)) ) {
- /* no more delim or found delim out of view => no more param */
- *len = -1; *border = 0;
-@@ -783,7 +783,7 @@ char* sdtools_nextpattern(const char* st
- *border -= n;
- *len -= n;
-
-- idxpos = index(strstart, delim);
-+ idxpos = strchr(strstart, delim);
-
- if ( idxpos && ((long)idxpos < ((long)strstart + (*border))) ) {
- *len = serdisp_ptrstrlen(idxpos, strstart);
diff --git a/package/shadow/Makefile b/package/shadow/Makefile
new file mode 100644
index 000000000..bdcf45944
--- /dev/null
+++ b/package/shadow/Makefile
@@ -0,0 +1,32 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= shadow
+PKG_VERSION:= 4.14.3
+PKG_RELEASE:= 1
+PKG_HASH:= 6969279236fe3152768573a38c9f83cb9ca109851a5a990aec1fc672ac2cfcd2
+PKG_DESCR:= utilities to deal with user accounts
+PKG_BUILDDEP_GLIBC:= libxcrypt
+PKG_SECTION:= sys/utils
+PKG_SITES:= https://github.com/shadow-maint/shadow/releases/download/$(PKG_VERSION)/
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,SHADOW,shadow,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+CONFIGURE_ARGS+= --without-libbsd
+
+shadow-install:
+ $(INSTALL_DIR) $(IDIR_SHADOW)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/* \
+ $(IDIR_SHADOW)/usr/bin
+ $(INSTALL_DIR) $(IDIR_SHADOW)/usr/sbin
+ $(INSTALL_BIN) $(WRKINST)/usr/sbin/* \
+ $(IDIR_SHADOW)/usr/sbin
+ $(INSTALL_DIR) $(IDIR_SHADOW)/lib
+ $(CP) $(WRKINST)/lib/*.so* \
+ $(IDIR_SHADOW)/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/shairport-sync/Makefile b/package/shairport-sync/Makefile
index c85f46ca1..75c6801f8 100644
--- a/package/shairport-sync/Makefile
+++ b/package/shairport-sync/Makefile
@@ -4,7 +4,7 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= shairport-sync
-PKG_VERSION:= 3.3.6
+PKG_VERSION:= 3.3.8
PKG_RELEASE:= 1
PKG_GIT:= tag
PKG_DESCR:= airplay daemon
diff --git a/package/simpleinit/files/rc b/package/simpleinit/files/rc
index e5d4f67d6..08d67601a 100755
--- a/package/simpleinit/files/rc
+++ b/package/simpleinit/files/rc
@@ -1,9 +1,8 @@
#!/bin/sh
echo Starting OpenADK
-hostname openadk
mount -t proc proc /proc
mount -t sysfs sys /sys
-mkdir -m 755 /dev/pts
+mkdir /dev/pts
mount -t devpts devpts /dev/pts
mount -t tmpfs tmpfs /tmp
chmod 1777 /tmp
diff --git a/package/siproxd/Makefile b/package/siproxd/Makefile
index d57ea8888..5442790d2 100644
--- a/package/siproxd/Makefile
+++ b/package/siproxd/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= siproxd
-PKG_VERSION:= 0.8.1
+PKG_VERSION:= 0.8.3
PKG_RELEASE:= 1
-PKG_HASH:= df2df04faf5bdb4980cbdfd5516a47898fc47ca1ebc2c628aa48305b20a09dad
+PKG_HASH:= 9a6d7a6bb6fff162775b1e1fb7018de9c69642cbf8626185dc6ffceeeba07736
PKG_DESCR:= session initiation protocol proxy
PKG_SECTION:= net/voip
PKG_DEPENDS:= libosip2
diff --git a/package/sipsak/Makefile b/package/sipsak/Makefile
index 1903793ed..e55f9bc2b 100644
--- a/package/sipsak/Makefile
+++ b/package/sipsak/Makefile
@@ -4,15 +4,14 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= sipsak
-PKG_VERSION:= 0.9.6
-PKG_RELEASE:= 2
-PKG_HASH:= 5064c56d482a080b6a4aea71821b78c21b59d44f6d1aa14c27429441917911a9
+PKG_VERSION:= 0.9.8.1
+PKG_RELEASE:= 1
+PKG_HASH:= c6faa022cd8c002165875d4aac83b7a2b59194f0491802924117fc6ac980c778
PKG_DESCR:= sip stress and diagnostics utility
PKG_SECTION:= net/voip
-PKG_URL:= http://sourceforge.net/projects/sipsak.berlios/
-PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=sipsak.berlios/}
+PKG_SITES:= https://github.com/nils-ohlmeier/sipsak/releases/download/$(PKG_VERSION)/
-DISTFILES:= $(PKG_NAME)-$(PKG_VERSION)-1.tar.gz
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_CHOICES_SIPSAK:= WITH_LIBRESSL WITHOUT_SSL
PKGCD_WITH_LIBRESSL:= use libressl for crypto
@@ -24,6 +23,7 @@ include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,SIPSAK,sipsak,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+AUTOTOOL_STYLE:= autoreconf
CONFIGURE_ENV+= ac_cv_func_malloc_0_nonnull=yes
CONFIGURE_ARGS+= --disable-gnutls
diff --git a/package/sipsak/patches/patch-configure b/package/sipsak/patches/patch-configure
deleted file mode 100644
index 128845ab3..000000000
--- a/package/sipsak/patches/patch-configure
+++ /dev/null
@@ -1,9009 +0,0 @@
---- sipsak-0.9.6.orig/configure 2006-01-28 22:11:34.000000000 +0100
-+++ sipsak-0.9.6/configure 2016-09-23 18:46:18.305339828 +0200
-@@ -1,27 +1,56 @@
- #! /bin/sh
- # Guess values for system-dependent variables and create Makefiles.
--# Generated by GNU Autoconf 2.59 for sipsak 0.9.6.
-+# Generated by GNU Autoconf 2.61 for sipsak 0.9.6.
- #
- # Report bugs to <nils@sipsak.org>.
- #
--# Copyright (C) 2003 Free Software Foundation, Inc.
-+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-+# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
- # This configure script is free software; the Free Software Foundation
- # gives unlimited permission to copy, distribute and modify it.
- ## --------------------- ##
- ## M4sh Initialization. ##
- ## --------------------- ##
-
--# Be Bourne compatible
-+# Be more Bourne compatible
-+DUALCASE=1; export DUALCASE # for MKS sh
- if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
--elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
-- set -o posix
-+ setopt NO_GLOB_SUBST
-+else
-+ case `(set -o) 2>/dev/null` in
-+ *posix*) set -o posix ;;
-+esac
-+
-+fi
-+
-+
-+
-+
-+# PATH needs CR
-+# Avoid depending upon Character Ranges.
-+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-+as_cr_digits='0123456789'
-+as_cr_alnum=$as_cr_Letters$as_cr_digits
-+
-+# The user is always right.
-+if test "${PATH_SEPARATOR+set}" != set; then
-+ echo "#! /bin/sh" >conf$$.sh
-+ echo "exit 0" >>conf$$.sh
-+ chmod +x conf$$.sh
-+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-+ PATH_SEPARATOR=';'
-+ else
-+ PATH_SEPARATOR=:
-+ fi
-+ rm -f conf$$.sh
- fi
--DUALCASE=1; export DUALCASE # for MKS sh
-
- # Support unset when possible.
- if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-@@ -31,8 +60,43 @@ else
- fi
-
-
-+# IFS
-+# We need space, tab and new line, in precisely that order. Quoting is
-+# there to prevent editors from complaining about space-tab.
-+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-+# splitting by setting IFS to empty value.)
-+as_nl='
-+'
-+IFS=" "" $as_nl"
-+
-+# Find who we are. Look in the path if we contain no directory separator.
-+case $0 in
-+ *[\\/]* ) as_myself=$0 ;;
-+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-+done
-+IFS=$as_save_IFS
-+
-+ ;;
-+esac
-+# We did not find ourselves, most probably we were run as `sh COMMAND'
-+# in which case we are not to be found in the path.
-+if test "x$as_myself" = x; then
-+ as_myself=$0
-+fi
-+if test ! -f "$as_myself"; then
-+ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-+ { (exit 1); exit 1; }
-+fi
-+
- # Work around bugs in pre-3.0 UWIN ksh.
--$as_unset ENV MAIL MAILPATH
-+for as_var in ENV MAIL MAILPATH
-+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-+done
- PS1='$ '
- PS2='> '
- PS4='+ '
-@@ -46,18 +110,19 @@ do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
-- $as_unset $as_var
-+ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- fi
- done
-
- # Required to use basename.
--if expr a : '\(a\)' >/dev/null 2>&1; then
-+if expr a : '\(a\)' >/dev/null 2>&1 &&
-+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
- else
- as_expr=false
- fi
-
--if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
-+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
- else
- as_basename=false
-@@ -65,157 +130,388 @@ fi
-
-
- # Name of the executable.
--as_me=`$as_basename "$0" ||
-+as_me=`$as_basename -- "$0" ||
- $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
-- X"$0" : 'X\(/\)$' \| \
-- . : '\(.\)' 2>/dev/null ||
-+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
- echo X/"$0" |
-- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
-- /^X\/\(\/\/\)$/{ s//\1/; q; }
-- /^X\/\(\/\).*/{ s//\1/; q; }
-- s/.*/./; q'`
-+ sed '/^.*\/\([^/][^/]*\)\/*$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\/\(\/\/\)$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\/\(\/\).*/{
-+ s//\1/
-+ q
-+ }
-+ s/.*/./; q'`
-
-+# CDPATH.
-+$as_unset CDPATH
-
--# PATH needs CR, and LINENO needs CR and PATH.
--# Avoid depending upon Character Ranges.
--as_cr_letters='abcdefghijklmnopqrstuvwxyz'
--as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
--as_cr_Letters=$as_cr_letters$as_cr_LETTERS
--as_cr_digits='0123456789'
--as_cr_alnum=$as_cr_Letters$as_cr_digits
-
--# The user is always right.
--if test "${PATH_SEPARATOR+set}" != set; then
-- echo "#! /bin/sh" >conf$$.sh
-- echo "exit 0" >>conf$$.sh
-- chmod +x conf$$.sh
-- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-- PATH_SEPARATOR=';'
-- else
-- PATH_SEPARATOR=:
-- fi
-- rm -f conf$$.sh
-+if test "x$CONFIG_SHELL" = x; then
-+ if (eval ":") 2>/dev/null; then
-+ as_have_required=yes
-+else
-+ as_have_required=no
- fi
-
-+ if test $as_have_required = yes && (eval ":
-+(as_func_return () {
-+ (exit \$1)
-+}
-+as_func_success () {
-+ as_func_return 0
-+}
-+as_func_failure () {
-+ as_func_return 1
-+}
-+as_func_ret_success () {
-+ return 0
-+}
-+as_func_ret_failure () {
-+ return 1
-+}
-+
-+exitcode=0
-+if as_func_success; then
-+ :
-+else
-+ exitcode=1
-+ echo as_func_success failed.
-+fi
-
-- as_lineno_1=$LINENO
-- as_lineno_2=$LINENO
-- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
-- test "x$as_lineno_1" != "x$as_lineno_2" &&
-- test "x$as_lineno_3" = "x$as_lineno_2" || {
-- # Find who we are. Look in the path if we contain no path at all
-- # relative or not.
-- case $0 in
-- *[\\/]* ) as_myself=$0 ;;
-- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
-- IFS=$as_save_IFS
-- test -z "$as_dir" && as_dir=.
-- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
--done
-+if as_func_failure; then
-+ exitcode=1
-+ echo as_func_failure succeeded.
-+fi
-
-- ;;
-- esac
-- # We did not find ourselves, most probably we were run as `sh COMMAND'
-- # in which case we are not to be found in the path.
-- if test "x$as_myself" = x; then
-- as_myself=$0
-- fi
-- if test ! -f "$as_myself"; then
-- { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
-- { (exit 1); exit 1; }; }
-- fi
-- case $CONFIG_SHELL in
-- '')
-+if as_func_ret_success; then
-+ :
-+else
-+ exitcode=1
-+ echo as_func_ret_success failed.
-+fi
-+
-+if as_func_ret_failure; then
-+ exitcode=1
-+ echo as_func_ret_failure succeeded.
-+fi
-+
-+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
-+ :
-+else
-+ exitcode=1
-+ echo positional parameters were not saved.
-+fi
-+
-+test \$exitcode = 0) || { (exit 1); exit 1; }
-+
-+(
-+ as_lineno_1=\$LINENO
-+ as_lineno_2=\$LINENO
-+ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
-+ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
-+") 2> /dev/null; then
-+ :
-+else
-+ as_candidate_shells=
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
- do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
-- for as_base in sh bash ksh sh5; do
-- case $as_dir in
-+ case $as_dir in
- /*)
-- if ("$as_dir/$as_base" -c '
-+ for as_base in sh bash ksh sh5; do
-+ as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
-+ done;;
-+ esac
-+done
-+IFS=$as_save_IFS
-+
-+
-+ for as_shell in $as_candidate_shells $SHELL; do
-+ # Try only shells that exist, to save several forks.
-+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-+ { ("$as_shell") 2> /dev/null <<\_ASEOF
-+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-+ emulate sh
-+ NULLCMD=:
-+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-+ # is contrary to our usage. Disable this feature.
-+ alias -g '${1+"$@"}'='"$@"'
-+ setopt NO_GLOB_SUBST
-+else
-+ case `(set -o) 2>/dev/null` in
-+ *posix*) set -o posix ;;
-+esac
-+
-+fi
-+
-+
-+:
-+_ASEOF
-+}; then
-+ CONFIG_SHELL=$as_shell
-+ as_have_required=yes
-+ if { "$as_shell" 2> /dev/null <<\_ASEOF
-+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-+ emulate sh
-+ NULLCMD=:
-+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-+ # is contrary to our usage. Disable this feature.
-+ alias -g '${1+"$@"}'='"$@"'
-+ setopt NO_GLOB_SUBST
-+else
-+ case `(set -o) 2>/dev/null` in
-+ *posix*) set -o posix ;;
-+esac
-+
-+fi
-+
-+
-+:
-+(as_func_return () {
-+ (exit $1)
-+}
-+as_func_success () {
-+ as_func_return 0
-+}
-+as_func_failure () {
-+ as_func_return 1
-+}
-+as_func_ret_success () {
-+ return 0
-+}
-+as_func_ret_failure () {
-+ return 1
-+}
-+
-+exitcode=0
-+if as_func_success; then
-+ :
-+else
-+ exitcode=1
-+ echo as_func_success failed.
-+fi
-+
-+if as_func_failure; then
-+ exitcode=1
-+ echo as_func_failure succeeded.
-+fi
-+
-+if as_func_ret_success; then
-+ :
-+else
-+ exitcode=1
-+ echo as_func_ret_success failed.
-+fi
-+
-+if as_func_ret_failure; then
-+ exitcode=1
-+ echo as_func_ret_failure succeeded.
-+fi
-+
-+if ( set x; as_func_ret_success y && test x = "$1" ); then
-+ :
-+else
-+ exitcode=1
-+ echo positional parameters were not saved.
-+fi
-+
-+test $exitcode = 0) || { (exit 1); exit 1; }
-+
-+(
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
-- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
-- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
-- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
-- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
-- CONFIG_SHELL=$as_dir/$as_base
-- export CONFIG_SHELL
-- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
-- fi;;
-- esac
-- done
--done
--;;
-- esac
-+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
-+
-+_ASEOF
-+}; then
-+ break
-+fi
-+
-+fi
-+
-+ done
-+
-+ if test "x$CONFIG_SHELL" != x; then
-+ for as_var in BASH_ENV ENV
-+ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-+ done
-+ export CONFIG_SHELL
-+ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
-+fi
-+
-+
-+ if test $as_have_required = no; then
-+ echo This script requires a shell more modern than all the
-+ echo shells that I found on your system. Please install a
-+ echo modern shell, or manually run the script under such a
-+ echo shell if you do have one.
-+ { (exit 1); exit 1; }
-+fi
-+
-+
-+fi
-+
-+fi
-+
-+
-+
-+(eval "as_func_return () {
-+ (exit \$1)
-+}
-+as_func_success () {
-+ as_func_return 0
-+}
-+as_func_failure () {
-+ as_func_return 1
-+}
-+as_func_ret_success () {
-+ return 0
-+}
-+as_func_ret_failure () {
-+ return 1
-+}
-+
-+exitcode=0
-+if as_func_success; then
-+ :
-+else
-+ exitcode=1
-+ echo as_func_success failed.
-+fi
-+
-+if as_func_failure; then
-+ exitcode=1
-+ echo as_func_failure succeeded.
-+fi
-+
-+if as_func_ret_success; then
-+ :
-+else
-+ exitcode=1
-+ echo as_func_ret_success failed.
-+fi
-+
-+if as_func_ret_failure; then
-+ exitcode=1
-+ echo as_func_ret_failure succeeded.
-+fi
-+
-+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
-+ :
-+else
-+ exitcode=1
-+ echo positional parameters were not saved.
-+fi
-+
-+test \$exitcode = 0") || {
-+ echo No shell found that supports shell functions.
-+ echo Please tell autoconf@gnu.org about your system,
-+ echo including any error possibly output before this
-+ echo message
-+}
-+
-+
-+
-+ as_lineno_1=$LINENO
-+ as_lineno_2=$LINENO
-+ test "x$as_lineno_1" != "x$as_lineno_2" &&
-+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
-- # line-number line before each line; the second 'sed' does the real
-- # work. The second script uses 'N' to pair each line-number line
-- # with the numbered line, and appends trailing '-' during
-- # substitution so that $LINENO is not a special case at line end.
-+ # line-number line after each line using $LINENO; the second 'sed'
-+ # does the real work. The second script uses 'N' to pair each
-+ # line-number line with the line containing $LINENO, and appends
-+ # trailing '-' during substitution so that $LINENO is not a special
-+ # case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
-- sed '=' <$as_myself |
-+ # scripts with optimization help from Paolo Bonzini. Blame Lee
-+ # E. McMahon (1931-1989) for sed's syntax. :-)
-+ sed -n '
-+ p
-+ /[$]LINENO/=
-+ ' <$as_myself |
- sed '
-+ s/[$]LINENO.*/&-/
-+ t lineno
-+ b
-+ :lineno
- N
-- s,$,-,
-- : loop
-- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
-+ :loop
-+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
-- s,-$,,
-- s,^['$as_cr_digits']*\n,,
-+ s/-\n.*//
- ' >$as_me.lineno &&
-- chmod +x $as_me.lineno ||
-+ chmod +x "$as_me.lineno" ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
-- # original and so on. Autoconf is especially sensible to this).
-- . ./$as_me.lineno
-+ # original and so on. Autoconf is especially sensitive to this).
-+ . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
- }
-
-
--case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
-- *c*,-n*) ECHO_N= ECHO_C='
--' ECHO_T=' ' ;;
-- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
-- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-+ as_dirname=dirname
-+else
-+ as_dirname=false
-+fi
-+
-+ECHO_C= ECHO_N= ECHO_T=
-+case `echo -n x` in
-+-n*)
-+ case `echo 'x\c'` in
-+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
-+ *) ECHO_C='\c';;
-+ esac;;
-+*)
-+ ECHO_N='-n';;
- esac
-
--if expr a : '\(a\)' >/dev/null 2>&1; then
-+if expr a : '\(a\)' >/dev/null 2>&1 &&
-+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
- else
- as_expr=false
- fi
-
- rm -f conf$$ conf$$.exe conf$$.file
-+if test -d conf$$.dir; then
-+ rm -f conf$$.dir/conf$$.file
-+else
-+ rm -f conf$$.dir
-+ mkdir conf$$.dir
-+fi
- echo >conf$$.file
- if ln -s conf$$.file conf$$ 2>/dev/null; then
-- # We could just check for DJGPP; but this test a) works b) is more generic
-- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
-- if test -f conf$$.exe; then
-- # Don't use ln at all; we don't have any links
-+ as_ln_s='ln -s'
-+ # ... but there are two gotchas:
-+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-+ # In both cases, we have to default to `cp -p'.
-+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
-- else
-- as_ln_s='ln -s'
-- fi
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
--rm -f conf$$ conf$$.exe conf$$.file
-+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-+rmdir conf$$.dir 2>/dev/null
-
- if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-@@ -224,7 +520,28 @@ else
- as_mkdir_p=false
- fi
-
--as_executable_p="test -f"
-+if test -x / >/dev/null 2>&1; then
-+ as_test_x='test -x'
-+else
-+ if ls -dL / >/dev/null 2>&1; then
-+ as_ls_L_option=L
-+ else
-+ as_ls_L_option=
-+ fi
-+ as_test_x='
-+ eval sh -c '\''
-+ if test -d "$1"; then
-+ test -d "$1/.";
-+ else
-+ case $1 in
-+ -*)set "./$1";;
-+ esac;
-+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
-+ ???[sx]*):;;*)false;;esac;fi
-+ '\'' sh
-+ '
-+fi
-+as_executable_p=$as_test_x
-
- # Sed expression to map a string onto a valid CPP name.
- as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-@@ -233,39 +550,27 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P
- as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
--# IFS
--# We need space, tab and new line, in precisely that order.
--as_nl='
--'
--IFS=" $as_nl"
--
--# CDPATH.
--$as_unset CDPATH
-
-+exec 7<&0 </dev/null 6>&1
-
- # Name of the host.
- # hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
- # so uname gets run too.
- ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
--exec 6>&1
--
- #
- # Initializations.
- #
- ac_default_prefix=/usr/local
-+ac_clean_files=
- ac_config_libobj_dir=.
-+LIBOBJS=
- cross_compiling=no
- subdirs=
- MFLAGS=
- MAKEFLAGS=
- SHELL=${CONFIG_SHELL-/bin/sh}
-
--# Maximum number of lines to put in a shell here document.
--# This variable seems obsolete. It should probably be removed, and
--# only ac_max_sed_lines should be used.
--: ${ac_max_here_lines=38}
--
- # Identity of this package.
- PACKAGE_NAME='sipsak'
- PACKAGE_TARNAME='sipsak'
-@@ -277,42 +582,146 @@ ac_unique_file="sipsak.c"
- # Factoring default headers for most tests.
- ac_includes_default="\
- #include <stdio.h>
--#if HAVE_SYS_TYPES_H
-+#ifdef HAVE_SYS_TYPES_H
- # include <sys/types.h>
- #endif
--#if HAVE_SYS_STAT_H
-+#ifdef HAVE_SYS_STAT_H
- # include <sys/stat.h>
- #endif
--#if STDC_HEADERS
-+#ifdef STDC_HEADERS
- # include <stdlib.h>
- # include <stddef.h>
- #else
--# if HAVE_STDLIB_H
-+# ifdef HAVE_STDLIB_H
- # include <stdlib.h>
- # endif
- #endif
--#if HAVE_STRING_H
--# if !STDC_HEADERS && HAVE_MEMORY_H
-+#ifdef HAVE_STRING_H
-+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
- # include <memory.h>
- # endif
- # include <string.h>
- #endif
--#if HAVE_STRINGS_H
-+#ifdef HAVE_STRINGS_H
- # include <strings.h>
- #endif
--#if HAVE_INTTYPES_H
-+#ifdef HAVE_INTTYPES_H
- # include <inttypes.h>
--#else
--# if HAVE_STDINT_H
--# include <stdint.h>
--# endif
- #endif
--#if HAVE_UNISTD_H
-+#ifdef HAVE_STDINT_H
-+# include <stdint.h>
-+#endif
-+#ifdef HAVE_UNISTD_H
- # include <unistd.h>
- #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 MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE DISTCC build build_cpu build_vendor build_os host host_cpu host_vendor host_os CPP EGREP LIBOBJS DISABLE_GNUTLS LIBGNUTLS_CONFIG LIBGNUTLS_CFLAGS LIBGNUTLS_LIBS SIPSAK_HAVE_ARES 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
-+datarootdir
-+datadir
-+sysconfdir
-+sharedstatedir
-+localstatedir
-+includedir
-+oldincludedir
-+docdir
-+infodir
-+htmldir
-+dvidir
-+pdfdir
-+psdir
-+libdir
-+localedir
-+mandir
-+DEFS
-+ECHO_C
-+ECHO_N
-+ECHO_T
-+LIBS
-+build_alias
-+host_alias
-+target_alias
-+INSTALL_PROGRAM
-+INSTALL_SCRIPT
-+INSTALL_DATA
-+CYGPATH_W
-+PACKAGE
-+VERSION
-+ACLOCAL
-+AUTOCONF
-+AUTOMAKE
-+AUTOHEADER
-+MAKEINFO
-+install_sh
-+STRIP
-+INSTALL_STRIP_PROGRAM
-+mkdir_p
-+AWK
-+SET_MAKE
-+am__leading_dot
-+AMTAR
-+am__tar
-+am__untar
-+MAINTAINER_MODE_TRUE
-+MAINTAINER_MODE_FALSE
-+MAINT
-+CC
-+CFLAGS
-+LDFLAGS
-+CPPFLAGS
-+ac_ct_CC
-+EXEEXT
-+OBJEXT
-+DEPDIR
-+am__include
-+am__quote
-+AMDEP_TRUE
-+AMDEP_FALSE
-+AMDEPBACKSLASH
-+CCDEPMODE
-+am__fastdepCC_TRUE
-+am__fastdepCC_FALSE
-+DISTCC
-+build
-+build_cpu
-+build_vendor
-+build_os
-+host
-+host_cpu
-+host_vendor
-+host_os
-+CPP
-+GREP
-+EGREP
-+LIBOBJS
-+DISABLE_GNUTLS
-+LIBGNUTLS_CONFIG
-+LIBGNUTLS_CFLAGS
-+LIBGNUTLS_LIBS
-+SIPSAK_HAVE_ARES
-+LTLIBOBJS'
- ac_subst_files=''
-+ ac_precious_vars='build_alias
-+host_alias
-+target_alias
-+CC
-+CFLAGS
-+LDFLAGS
-+LIBS
-+CPPFLAGS
-+CPP'
-+
-
- # Initialize some variables set by options.
- ac_init_help=
-@@ -339,34 +748,48 @@ x_libraries=NONE
- # and all the variables that are supposed to be based on exec_prefix
- # by default will actually change.
- # Use braces instead of parens because sh, perl, etc. also accept them.
-+# (The list follows the same order as the GNU Coding Standards.)
- bindir='${exec_prefix}/bin'
- sbindir='${exec_prefix}/sbin'
- libexecdir='${exec_prefix}/libexec'
--datadir='${prefix}/share'
-+datarootdir='${prefix}/share'
-+datadir='${datarootdir}'
- sysconfdir='${prefix}/etc'
- sharedstatedir='${prefix}/com'
- localstatedir='${prefix}/var'
--libdir='${exec_prefix}/lib'
- includedir='${prefix}/include'
- oldincludedir='/usr/include'
--infodir='${prefix}/info'
--mandir='${prefix}/man'
-+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-+infodir='${datarootdir}/info'
-+htmldir='${docdir}'
-+dvidir='${docdir}'
-+pdfdir='${docdir}'
-+psdir='${docdir}'
-+libdir='${exec_prefix}/lib'
-+localedir='${datarootdir}/locale'
-+mandir='${datarootdir}/man'
-
- ac_prev=
-+ac_dashdash=
- for ac_option
- do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
-- eval "$ac_prev=\$ac_option"
-+ eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
-- ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
-+ case $ac_option in
-+ *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-+ *) ac_optarg=yes ;;
-+ esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
-- case $ac_option in
-+ case $ac_dashdash$ac_option in
-+ --)
-+ ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
-@@ -388,33 +811,45 @@ do
- --config-cache | -C)
- cache_file=config.cache ;;
-
-- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
-+ -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
-- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
-- | --da=*)
-+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
-+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-+ | --dataroo | --dataro | --datar)
-+ ac_prev=datarootdir ;;
-+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-+ datarootdir=$ac_optarg ;;
-+
- -disable-* | --disable-*)
- ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
-- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
-+ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
-- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
-- eval "enable_$ac_feature=no" ;;
-+ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
-+ eval enable_$ac_feature=no ;;
-+
-+ -docdir | --docdir | --docdi | --doc | --do)
-+ ac_prev=docdir ;;
-+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-+ docdir=$ac_optarg ;;
-+
-+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-+ ac_prev=dvidir ;;
-+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-+ dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
-- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
-+ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
-- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
-- case $ac_option in
-- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
-- *) ac_optarg=yes ;;
-- esac
-- eval "enable_$ac_feature='$ac_optarg'" ;;
-+ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
-+ eval enable_$ac_feature=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-@@ -441,6 +876,12 @@ do
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
-+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-+ ac_prev=htmldir ;;
-+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-+ | --ht=*)
-+ htmldir=$ac_optarg ;;
-+
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
-@@ -465,13 +906,16 @@ do
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
-+ -localedir | --localedir | --localedi | --localed | --locale)
-+ ac_prev=localedir ;;
-+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-+ localedir=$ac_optarg ;;
-+
- -localstatedir | --localstatedir | --localstatedi | --localstated \
-- | --localstate | --localstat | --localsta | --localst \
-- | --locals | --local | --loca | --loc | --lo)
-+ | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
-- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
-+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-@@ -536,6 +980,16 @@ do
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
-+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-+ ac_prev=pdfdir ;;
-+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-+ pdfdir=$ac_optarg ;;
-+
-+ -psdir | --psdir | --psdi | --psd | --ps)
-+ ac_prev=psdir ;;
-+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-+ psdir=$ac_optarg ;;
-+
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-@@ -588,24 +1042,20 @@ do
- -with-* | --with-*)
- ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
-- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
-+ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
-- ac_package=`echo $ac_package| sed 's/-/_/g'`
-- case $ac_option in
-- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
-- *) ac_optarg=yes ;;
-- esac
-- eval "with_$ac_package='$ac_optarg'" ;;
-+ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
-+ eval with_$ac_package=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
-- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
-+ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
-- ac_package=`echo $ac_package | sed 's/-/_/g'`
-- eval "with_$ac_package=no" ;;
-+ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
-+ eval with_$ac_package=no ;;
-
- --x)
- # Obsolete; use --with-x.
-@@ -636,8 +1086,7 @@ Try \`$0 --help' for more information."
- expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
- { (exit 1); exit 1; }; }
-- ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
-- eval "$ac_envvar='$ac_optarg'"
-+ eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
-@@ -657,27 +1106,19 @@ if test -n "$ac_prev"; then
- { (exit 1); exit 1; }; }
- fi
-
--# Be sure to have absolute paths.
--for ac_var in exec_prefix prefix
--do
-- eval ac_val=$`echo $ac_var`
-- case $ac_val in
-- [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
-- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-- { (exit 1); exit 1; }; };;
-- esac
--done
--
--# Be sure to have absolute paths.
--for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
-- localstatedir libdir includedir oldincludedir infodir mandir
-+# Be sure to have absolute directory names.
-+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
-+ datadir sysconfdir sharedstatedir localstatedir includedir \
-+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-+ libdir localedir mandir
- do
-- eval ac_val=$`echo $ac_var`
-+ eval ac_val=\$$ac_var
- case $ac_val in
-- [\\/$]* | ?:[\\/]* ) ;;
-- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-- { (exit 1); exit 1; }; };;
-+ [\\/$]* | ?:[\\/]* ) continue;;
-+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
-+ { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-+ { (exit 1); exit 1; }; }
- done
-
- # There might be people who depend on the old broken behavior: `$host'
-@@ -704,22 +1145,43 @@ test -n "$host_alias" && ac_tool_prefix=
- test "$silent" = yes && exec 6>/dev/null
-
-
-+ac_pwd=`pwd` && test -n "$ac_pwd" &&
-+ac_ls_di=`ls -di .` &&
-+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-+ { echo "$as_me: error: Working directory cannot be determined" >&2
-+ { (exit 1); exit 1; }; }
-+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-+ { echo "$as_me: error: pwd does not report name of working directory" >&2
-+ { (exit 1); exit 1; }; }
-+
-+
- # Find the source files, if location was not specified.
- if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
-- # Try the directory containing this script, then its parent.
-- ac_confdir=`(dirname "$0") 2>/dev/null ||
-+ # Try the directory containing this script, then the parent directory.
-+ ac_confdir=`$as_dirname -- "$0" ||
- $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$0" : 'X\(//\)[^/]' \| \
- X"$0" : 'X\(//\)$' \| \
-- X"$0" : 'X\(/\)' \| \
-- . : '\(.\)' 2>/dev/null ||
-+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
- echo X"$0" |
-- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-- /^X\(\/\/\)$/{ s//\1/; q; }
-- /^X\(\/\).*/{ s//\1/; q; }
-- s/.*/./; q'`
-+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)[^/].*/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\).*/{
-+ s//\1/
-+ q
-+ }
-+ s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
-@@ -728,50 +1190,31 @@ else
- ac_srcdir_defaulted=no
- fi
- if test ! -r "$srcdir/$ac_unique_file"; then
-- if test "$ac_srcdir_defaulted" = yes; then
-- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
-- { (exit 1); exit 1; }; }
-- else
-- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
-+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
- { (exit 1); exit 1; }; }
-- fi
- fi
--(cd $srcdir && test -r "./$ac_unique_file") 2>/dev/null ||
-- { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
-+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-+ac_abs_confdir=`(
-+ cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
- { (exit 1); exit 1; }; }
--srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
--ac_env_build_alias_set=${build_alias+set}
--ac_env_build_alias_value=$build_alias
--ac_cv_env_build_alias_set=${build_alias+set}
--ac_cv_env_build_alias_value=$build_alias
--ac_env_host_alias_set=${host_alias+set}
--ac_env_host_alias_value=$host_alias
--ac_cv_env_host_alias_set=${host_alias+set}
--ac_cv_env_host_alias_value=$host_alias
--ac_env_target_alias_set=${target_alias+set}
--ac_env_target_alias_value=$target_alias
--ac_cv_env_target_alias_set=${target_alias+set}
--ac_cv_env_target_alias_value=$target_alias
--ac_env_CC_set=${CC+set}
--ac_env_CC_value=$CC
--ac_cv_env_CC_set=${CC+set}
--ac_cv_env_CC_value=$CC
--ac_env_CFLAGS_set=${CFLAGS+set}
--ac_env_CFLAGS_value=$CFLAGS
--ac_cv_env_CFLAGS_set=${CFLAGS+set}
--ac_cv_env_CFLAGS_value=$CFLAGS
--ac_env_LDFLAGS_set=${LDFLAGS+set}
--ac_env_LDFLAGS_value=$LDFLAGS
--ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
--ac_cv_env_LDFLAGS_value=$LDFLAGS
--ac_env_CPPFLAGS_set=${CPPFLAGS+set}
--ac_env_CPPFLAGS_value=$CPPFLAGS
--ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
--ac_cv_env_CPPFLAGS_value=$CPPFLAGS
--ac_env_CPP_set=${CPP+set}
--ac_env_CPP_value=$CPP
--ac_cv_env_CPP_set=${CPP+set}
--ac_cv_env_CPP_value=$CPP
-+ pwd)`
-+# When building in place, set srcdir=.
-+if test "$ac_abs_confdir" = "$ac_pwd"; then
-+ srcdir=.
-+fi
-+# Remove unnecessary trailing slashes from srcdir.
-+# Double slashes in file names in object file debugging info
-+# mess up M-x gdb in Emacs.
-+case $srcdir in
-+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-+esac
-+for ac_var in $ac_precious_vars; do
-+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
-+ eval ac_env_${ac_var}_value=\$${ac_var}
-+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
-+done
-
- #
- # Report the --help message.
-@@ -800,9 +1243,6 @@ Configuration:
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
--_ACEOF
--
-- cat <<_ACEOF
- Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
-@@ -820,15 +1260,22 @@ Fine tuning of the installation director
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
-- --datadir=DIR read-only architecture-independent data [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
-- --infodir=DIR info documentation [PREFIX/info]
-- --mandir=DIR man documentation [PREFIX/man]
-+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
-+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
-+ --infodir=DIR info documentation [DATAROOTDIR/info]
-+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
-+ --mandir=DIR man documentation [DATAROOTDIR/man]
-+ --docdir=DIR documentation root [DATAROOTDIR/doc/sipsak]
-+ --htmldir=DIR html documentation [DOCDIR]
-+ --dvidir=DIR dvi documentation [DOCDIR]
-+ --pdfdir=DIR pdf documentation [DOCDIR]
-+ --psdir=DIR ps documentation [DOCDIR]
- _ACEOF
-
- cat <<\_ACEOF
-@@ -871,8 +1318,9 @@ Some influential environment variables:
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
-- CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
-- headers in a nonstandard directory <include dir>
-+ LIBS libraries to pass to the linker, e.g. -l<library>
-+ CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
-+ you have headers in a nonstandard directory <include dir>
- CPP C preprocessor
-
- Use these variables to override the choices made by `configure' or to help
-@@ -880,120 +1328,86 @@ it to find libraries and programs with n
-
- Report bugs to <nils@sipsak.org>.
- _ACEOF
-+ac_status=$?
- fi
-
- if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
-- ac_popdir=`pwd`
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-- test -d $ac_dir || continue
-+ test -d "$ac_dir" || continue
- ac_builddir=.
-
--if test "$ac_dir" != .; then
-+case "$ac_dir" in
-+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-+*)
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-- # A "../" for each directory in $ac_dir_suffix.
-- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
--else
-- ac_dir_suffix= ac_top_builddir=
--fi
-+ # A ".." for each directory in $ac_dir_suffix.
-+ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
-+ case $ac_top_builddir_sub in
-+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-+ esac ;;
-+esac
-+ac_abs_top_builddir=$ac_pwd
-+ac_abs_builddir=$ac_pwd$ac_dir_suffix
-+# for backward compatibility:
-+ac_top_builddir=$ac_top_build_prefix
-
- case $srcdir in
-- .) # No --srcdir option. We are building in place.
-+ .) # We are building in place.
- ac_srcdir=.
-- if test -z "$ac_top_builddir"; then
-- ac_top_srcdir=.
-- else
-- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
-- fi ;;
-- [\\/]* | ?:[\\/]* ) # Absolute path.
-+ ac_top_srcdir=$ac_top_builddir_sub
-+ ac_abs_top_srcdir=$ac_pwd ;;
-+ [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
-- ac_top_srcdir=$srcdir ;;
-- *) # Relative path.
-- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-- ac_top_srcdir=$ac_top_builddir$srcdir ;;
--esac
--
--# Do not use `cd foo && pwd` to compute absolute paths, because
--# the directories may not exist.
--case `pwd` in
--.) ac_abs_builddir="$ac_dir";;
--*)
-- case "$ac_dir" in
-- .) ac_abs_builddir=`pwd`;;
-- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
-- *) ac_abs_builddir=`pwd`/"$ac_dir";;
-- esac;;
--esac
--case $ac_abs_builddir in
--.) ac_abs_top_builddir=${ac_top_builddir}.;;
--*)
-- case ${ac_top_builddir}. in
-- .) ac_abs_top_builddir=$ac_abs_builddir;;
-- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
-- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
-- esac;;
--esac
--case $ac_abs_builddir in
--.) ac_abs_srcdir=$ac_srcdir;;
--*)
-- case $ac_srcdir in
-- .) ac_abs_srcdir=$ac_abs_builddir;;
-- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
-- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
-- esac;;
--esac
--case $ac_abs_builddir in
--.) ac_abs_top_srcdir=$ac_top_srcdir;;
--*)
-- case $ac_top_srcdir in
-- .) ac_abs_top_srcdir=$ac_abs_builddir;;
-- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
-- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
-- esac;;
-+ ac_top_srcdir=$srcdir
-+ ac_abs_top_srcdir=$srcdir ;;
-+ *) # Relative name.
-+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-+ ac_top_srcdir=$ac_top_build_prefix$srcdir
-+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
- esac
-+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-- cd $ac_dir
-- # Check for guested configure; otherwise get Cygnus style configure.
-- if test -f $ac_srcdir/configure.gnu; then
-- echo
-- $SHELL $ac_srcdir/configure.gnu --help=recursive
-- elif test -f $ac_srcdir/configure; then
-- echo
-- $SHELL $ac_srcdir/configure --help=recursive
-- elif test -f $ac_srcdir/configure.ac ||
-- test -f $ac_srcdir/configure.in; then
-- echo
-- $ac_configure --help
-+ cd "$ac_dir" || { ac_status=$?; continue; }
-+ # Check for guested configure.
-+ if test -f "$ac_srcdir/configure.gnu"; then
-+ echo &&
-+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-+ elif test -f "$ac_srcdir/configure"; then
-+ echo &&
-+ $SHELL "$ac_srcdir/configure" --help=recursive
- else
- echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-- fi
-- cd $ac_popdir
-+ fi || ac_status=$?
-+ cd "$ac_pwd" || { ac_status=$?; break; }
- done
- fi
-
--test -n "$ac_init_help" && exit 0
-+test -n "$ac_init_help" && exit $ac_status
- if $ac_init_version; then
- cat <<\_ACEOF
- sipsak configure 0.9.6
--generated by GNU Autoconf 2.59
-+generated by GNU Autoconf 2.61
-
--Copyright (C) 2003 Free Software Foundation, Inc.
-+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-+2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
- This configure script is free software; the Free Software Foundation
- gives unlimited permission to copy, distribute and modify it.
- _ACEOF
-- exit 0
-+ exit
- fi
--exec 5>config.log
--cat >&5 <<_ACEOF
-+cat >config.log <<_ACEOF
- This file contains any messages produced by compilers while
- running configure, to aid debugging if configure makes a mistake.
-
- It was created by sipsak $as_me 0.9.6, which was
--generated by GNU Autoconf 2.59. Invocation command line was
-+generated by GNU Autoconf 2.61. Invocation command line was
-
- $ $0 $@
-
- _ACEOF
-+exec 5>>config.log
- {
- cat <<_ASUNAME
- ## --------- ##
-@@ -1012,7 +1426,7 @@ uname -v = `(uname -v) 2>/dev/null || ec
- /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
- /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
- /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
--hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
-+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
- /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
- /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
- /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-@@ -1026,6 +1440,7 @@ do
- test -z "$as_dir" && as_dir=.
- echo "PATH: $as_dir"
- done
-+IFS=$as_save_IFS
-
- } >&5
-
-@@ -1047,7 +1462,6 @@ _ACEOF
- ac_configure_args=
- ac_configure_args0=
- ac_configure_args1=
--ac_sep=
- ac_must_keep_next=false
- for ac_pass in 1 2
- do
-@@ -1058,7 +1472,7 @@ do
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
-- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
-+ *\'*)
- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
-@@ -1080,9 +1494,7 @@ do
- -* ) ac_must_keep_next=true ;;
- esac
- fi
-- ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
-- # Get rid of the leading space.
-- ac_sep=" "
-+ ac_configure_args="$ac_configure_args '$ac_arg'"
- ;;
- esac
- done
-@@ -1093,8 +1505,8 @@ $as_unset ac_configure_args1 || test "${
- # When interrupted or exit'd, cleanup temporary files, and complete
- # config.log. We remove comments because anyway the quotes in there
- # would cause problems or look ugly.
--# WARNING: Be sure not to use single quotes in there, as some shells,
--# such as our DU 5.0 friend, will then `close' the trap.
-+# WARNING: Use '\'' to represent an apostrophe within the trap.
-+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
- trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
-@@ -1107,20 +1519,34 @@ trap 'exit_status=$?
- _ASBOX
- echo
- # The following way of writing the cache mishandles newlines in values,
--{
-+(
-+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-+ eval ac_val=\$$ac_var
-+ case $ac_val in #(
-+ *${as_nl}*)
-+ case $ac_var in #(
-+ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
-+ esac
-+ case $ac_var in #(
-+ _ | IFS | as_nl) ;; #(
-+ *) $as_unset $ac_var ;;
-+ esac ;;
-+ esac
-+ done
- (set) 2>&1 |
-- case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
-- *ac_space=\ *)
-+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-+ *${as_nl}ac_space=\ *)
- sed -n \
-- "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
-- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
-- ;;
-+ "s/'\''/'\''\\\\'\'''\''/g;
-+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-+ ;; #(
- *)
-- sed -n \
-- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
-+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
-- esac;
--}
-+ esac |
-+ sort
-+)
- echo
-
- cat <<\_ASBOX
-@@ -1131,22 +1557,28 @@ _ASBOX
- echo
- for ac_var in $ac_subst_vars
- do
-- eval ac_val=$`echo $ac_var`
-- echo "$ac_var='"'"'$ac_val'"'"'"
-+ eval ac_val=\$$ac_var
-+ case $ac_val in
-+ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-+ esac
-+ echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- cat <<\_ASBOX
--## ------------- ##
--## Output files. ##
--## ------------- ##
-+## ------------------- ##
-+## File substitutions. ##
-+## ------------------- ##
- _ASBOX
- echo
- for ac_var in $ac_subst_files
- do
-- eval ac_val=$`echo $ac_var`
-- echo "$ac_var='"'"'$ac_val'"'"'"
-+ eval ac_val=\$$ac_var
-+ case $ac_val in
-+ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-+ esac
-+ echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-@@ -1158,26 +1590,24 @@ _ASBOX
- ## ----------- ##
- _ASBOX
- echo
-- sed "/^$/d" confdefs.h | sort
-+ cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- echo "$as_me: caught signal $ac_signal"
- echo "$as_me: exit $exit_status"
- } >&5
-- rm -f core *.core &&
-- rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
-+ rm -f core *.core core.conftest.* &&
-+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-- ' 0
-+' 0
- for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
- done
- ac_signal=0
-
- # confdefs.h avoids OS command line length limits that DEFS can exceed.
--rm -rf conftest* confdefs.h
--# AIX cpp loses on an empty file, so make sure it contains at least a newline.
--echo >confdefs.h
-+rm -f -r conftest* confdefs.h
-
- # Predefined preprocessor variables.
-
-@@ -1208,14 +1638,17 @@ _ACEOF
-
- # Let the site file select an alternate cache file if it wants to.
- # Prefer explicitly selected file to automatically selected ones.
--if test -z "$CONFIG_SITE"; then
-- if test "x$prefix" != xNONE; then
-- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
-- else
-- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
-- fi
-+if test -n "$CONFIG_SITE"; then
-+ set x "$CONFIG_SITE"
-+elif test "x$prefix" != xNONE; then
-+ set x "$prefix/share/config.site" "$prefix/etc/config.site"
-+else
-+ set x "$ac_default_prefix/share/config.site" \
-+ "$ac_default_prefix/etc/config.site"
- fi
--for ac_site_file in $CONFIG_SITE; do
-+shift
-+for ac_site_file
-+do
- if test -r "$ac_site_file"; then
- { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
- echo "$as_me: loading site script $ac_site_file" >&6;}
-@@ -1231,8 +1664,8 @@ if test -r "$cache_file"; then
- { echo "$as_me:$LINENO: loading cache $cache_file" >&5
- echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
-- [\\/]* | ?:[\\/]* ) . $cache_file;;
-- *) . ./$cache_file;;
-+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
-+ *) . "./$cache_file";;
- esac
- fi
- else
-@@ -1244,12 +1677,11 @@ fi
- # Check that the precious variables saved in the cache have kept the same
- # value.
- ac_cache_corrupted=false
--for ac_var in `(set) 2>&1 |
-- sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
-+for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
-- eval ac_old_val="\$ac_cv_env_${ac_var}_value"
-- eval ac_new_val="\$ac_env_${ac_var}_value"
-+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
-+ eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-@@ -1274,8 +1706,7 @@ echo "$as_me: current value: $ac_new_v
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
-- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
-- ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-+ *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
-@@ -1292,12 +1723,6 @@ echo "$as_me: error: run \`make distclea
- { (exit 1); exit 1; }; }
- fi
-
--ac_ext=c
--ac_cpp='$CPP $CPPFLAGS'
--ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
--ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
--ac_compiler_gnu=$ac_cv_c_compiler_gnu
--
-
-
-
-@@ -1322,33 +1747,44 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-+ac_ext=c
-+ac_cpp='$CPP $CPPFLAGS'
-+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-+ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
- am__api_version="1.9"
- ac_aux_dir=
--for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
-- if test -f $ac_dir/install-sh; then
-+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-+ if test -f "$ac_dir/install-sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
-- elif test -f $ac_dir/install.sh; then
-+ elif test -f "$ac_dir/install.sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
-- elif test -f $ac_dir/shtool; then
-+ elif test -f "$ac_dir/shtool"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
- done
- if test -z "$ac_aux_dir"; then
-- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
--echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
-+ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
-+echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
- { (exit 1); exit 1; }; }
- fi
--ac_config_guess="$SHELL $ac_aux_dir/config.guess"
--ac_config_sub="$SHELL $ac_aux_dir/config.sub"
--ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
-+
-+# These three variables are undocumented and unsupported,
-+# and are intended to be withdrawn in a future Autoconf release.
-+# They can cause serious problems if a builder's source tree is in a directory
-+# whose full name contains unusual characters.
-+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-+
-
- # Find a good install program. We prefer a C program (faster),
- # so one script is as good as another. But avoid the broken or
-@@ -1363,8 +1799,8 @@ ac_configure="$SHELL $ac_aux_dir/configu
- # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
- # OS/2's system install, which has a completely different semantic
- # ./install, which can be erroneously created by make from ./install.sh.
--echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
--echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
- if test -z "$INSTALL"; then
- if test "${ac_cv_path_install+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-@@ -1386,7 +1822,7 @@ case $as_dir/ in
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
-+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
-@@ -1405,21 +1841,22 @@ case $as_dir/ in
- ;;
- esac
- done
-+IFS=$as_save_IFS
-
-
- fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
-- # As a last resort, use the slow shell script. We don't cache a
-- # path for INSTALL within a source directory, because that will
-+ # As a last resort, use the slow shell script. Don't cache a
-+ # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
-- # removed, or if the path is relative.
-+ # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
- fi
--echo "$as_me:$LINENO: result: $INSTALL" >&5
--echo "${ECHO_T}$INSTALL" >&6
-+{ echo "$as_me:$LINENO: result: $INSTALL" >&5
-+echo "${ECHO_T}$INSTALL" >&6; }
-
- # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
- # It thinks the first close brace ends the variable substitution.
-@@ -1429,8 +1866,8 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCR
-
- test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
--echo "$as_me:$LINENO: checking whether build environment is sane" >&5
--echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
- # Just in case
- sleep 1
- echo timestamp > conftest.file
-@@ -1472,20 +1909,20 @@ echo "$as_me: error: newly created file
- Check your system clock" >&2;}
- { (exit 1); exit 1; }; }
- fi
--echo "$as_me:$LINENO: result: yes" >&5
--echo "${ECHO_T}yes" >&6
-+{ echo "$as_me:$LINENO: result: yes" >&5
-+echo "${ECHO_T}yes" >&6; }
- test "$program_prefix" != NONE &&
-- program_transform_name="s,^,$program_prefix,;$program_transform_name"
-+ program_transform_name="s&^&$program_prefix&;$program_transform_name"
- # Use a double $ so make ignores it.
- test "$program_suffix" != NONE &&
-- program_transform_name="s,\$,$program_suffix,;$program_transform_name"
-+ program_transform_name="s&\$&$program_suffix&;$program_transform_name"
- # Double any \ or $. echo might interpret backslashes.
- # By default was `s,x,x', remove it if useless.
- cat <<\_ACEOF >conftest.sed
- s/[\\$]/&&/g;s/;s,x,x,$//
- _ACEOF
- program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
--rm conftest.sed
-+rm -f conftest.sed
-
- # expand $ac_aux_dir to an absolute path
- am_aux_dir=`cd $ac_aux_dir && pwd`
-@@ -1537,8 +1974,8 @@ for ac_prog in gawk mawk nawk awk
- do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
- set dummy $ac_prog; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
- if test "${ac_cv_prog_AWK+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -1551,54 +1988,57 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AWK="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
- done
- done
-+IFS=$as_save_IFS
-
- fi
- fi
- AWK=$ac_cv_prog_AWK
- if test -n "$AWK"; then
-- echo "$as_me:$LINENO: result: $AWK" >&5
--echo "${ECHO_T}$AWK" >&6
-+ { echo "$as_me:$LINENO: result: $AWK" >&5
-+echo "${ECHO_T}$AWK" >&6; }
- else
-- echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+ { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
- fi
-
-+
- test -n "$AWK" && break
- done
-
--echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
--echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
--set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
--if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
-+{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
-+set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
- cat >conftest.make <<\_ACEOF
-+SHELL = /bin/sh
- all:
-- @echo 'ac_maketemp="$(MAKE)"'
-+ @echo '@@@%%%=$(MAKE)=@@@%%%'
- _ACEOF
- # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
--eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
--if test -n "$ac_maketemp"; then
-- eval ac_cv_prog_make_${ac_make}_set=yes
--else
-- eval ac_cv_prog_make_${ac_make}_set=no
--fi
-+case `${MAKE-make} -f conftest.make 2>/dev/null` in
-+ *@@@%%%=?*=@@@%%%*)
-+ eval ac_cv_prog_make_${ac_make}_set=yes;;
-+ *)
-+ eval ac_cv_prog_make_${ac_make}_set=no;;
-+esac
- rm -f conftest.make
- fi
--if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
-- echo "$as_me:$LINENO: result: yes" >&5
--echo "${ECHO_T}yes" >&6
-+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-+ { echo "$as_me:$LINENO: result: yes" >&5
-+echo "${ECHO_T}yes" >&6; }
- SET_MAKE=
- else
-- echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+ { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
- SET_MAKE="MAKE=${MAKE-make}"
- fi
-
-@@ -1669,8 +2109,8 @@ if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
- set dummy ${ac_tool_prefix}strip; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
- if test "${ac_cv_prog_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -1683,32 +2123,34 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
- done
- done
-+IFS=$as_save_IFS
-
- fi
- fi
- STRIP=$ac_cv_prog_STRIP
- if test -n "$STRIP"; then
-- echo "$as_me:$LINENO: result: $STRIP" >&5
--echo "${ECHO_T}$STRIP" >&6
-+ { echo "$as_me:$LINENO: result: $STRIP" >&5
-+echo "${ECHO_T}$STRIP" >&6; }
- else
-- echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+ { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
- fi
-
-+
- fi
- if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
- set dummy strip; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
- if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -1721,27 +2163,41 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
- done
- done
-+IFS=$as_save_IFS
-
-- test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
- fi
- fi
- ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
- if test -n "$ac_ct_STRIP"; then
-- echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
--echo "${ECHO_T}$ac_ct_STRIP" >&6
-+ { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-+echo "${ECHO_T}$ac_ct_STRIP" >&6; }
- else
-- echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+ { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
- fi
-
-- STRIP=$ac_ct_STRIP
-+ if test "x$ac_ct_STRIP" = x; then
-+ STRIP=":"
-+ else
-+ case $cross_compiling:$ac_tool_warned in
-+yes:)
-+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-+whose name does not start with the host triplet. If you think this
-+configuration is useful to you, please write to autoconf@gnu.org." >&5
-+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-+whose name does not start with the host triplet. If you think this
-+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-+ac_tool_warned=yes ;;
-+esac
-+ STRIP=$ac_ct_STRIP
-+ fi
- else
- STRIP="$ac_cv_prog_STRIP"
- fi
-@@ -1761,17 +2217,17 @@ am__tar='${AMTAR} chof - "$$tardir"'; am
-
-
-
--echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
--echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
-- # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
-+{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
-+echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; }
-+ # Check whether --enable-maintainer-mode was given.
- if test "${enable_maintainer_mode+set}" = set; then
-- enableval="$enable_maintainer_mode"
-- USE_MAINTAINER_MODE=$enableval
-+ enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
- else
- USE_MAINTAINER_MODE=no
--fi;
-- echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
--echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
-+fi
-+
-+ { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
-+echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; }
-
-
- if test $USE_MAINTAINER_MODE = yes; then
-@@ -1786,7 +2242,7 @@ fi
-
-
-
-- ac_config_headers="$ac_config_headers config.h"
-+ac_config_headers="$ac_config_headers config.h"
-
-
- # Checks for programs.
-@@ -1798,8 +2254,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
- set dummy ${ac_tool_prefix}gcc; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
- if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -1812,32 +2268,34 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
- done
- done
-+IFS=$as_save_IFS
-
- fi
- fi
- CC=$ac_cv_prog_CC
- if test -n "$CC"; then
-- echo "$as_me:$LINENO: result: $CC" >&5
--echo "${ECHO_T}$CC" >&6
-+ { echo "$as_me:$LINENO: result: $CC" >&5
-+echo "${ECHO_T}$CC" >&6; }
- else
-- echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+ { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
- fi
-
-+
- fi
- if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
- set dummy gcc; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
- if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -1850,36 +2308,51 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
- done
- done
-+IFS=$as_save_IFS
-
- fi
- fi
- ac_ct_CC=$ac_cv_prog_ac_ct_CC
- if test -n "$ac_ct_CC"; then
-- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
--echo "${ECHO_T}$ac_ct_CC" >&6
-+ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-+echo "${ECHO_T}$ac_ct_CC" >&6; }
- else
-- echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+ { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
- fi
-
-- CC=$ac_ct_CC
-+ if test "x$ac_ct_CC" = x; then
-+ CC=""
-+ else
-+ case $cross_compiling:$ac_tool_warned in
-+yes:)
-+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-+whose name does not start with the host triplet. If you think this
-+configuration is useful to you, please write to autoconf@gnu.org." >&5
-+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-+whose name does not start with the host triplet. If you think this
-+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-+ac_tool_warned=yes ;;
-+esac
-+ CC=$ac_ct_CC
-+ fi
- else
- CC="$ac_cv_prog_CC"
- fi
-
- if test -z "$CC"; then
-- if test -n "$ac_tool_prefix"; then
-- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-+ if test -n "$ac_tool_prefix"; then
-+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
- set dummy ${ac_tool_prefix}cc; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
- if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -1892,74 +2365,34 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
- done
- done
-+IFS=$as_save_IFS
-
- fi
- fi
- CC=$ac_cv_prog_CC
- if test -n "$CC"; then
-- echo "$as_me:$LINENO: result: $CC" >&5
--echo "${ECHO_T}$CC" >&6
--else
-- echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
--fi
--
--fi
--if test -z "$ac_cv_prog_CC"; then
-- ac_ct_CC=$CC
-- # Extract the first word of "cc", so it can be a program name with args.
--set dummy cc; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
--if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-- echo $ECHO_N "(cached) $ECHO_C" >&6
--else
-- if test -n "$ac_ct_CC"; then
-- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
--else
--as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
-- IFS=$as_save_IFS
-- test -z "$as_dir" && as_dir=.
-- for ac_exec_ext in '' $ac_executable_extensions; do
-- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-- ac_cv_prog_ac_ct_CC="cc"
-- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-- break 2
-- fi
--done
--done
--
--fi
--fi
--ac_ct_CC=$ac_cv_prog_ac_ct_CC
--if test -n "$ac_ct_CC"; then
-- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
--echo "${ECHO_T}$ac_ct_CC" >&6
-+ { echo "$as_me:$LINENO: result: $CC" >&5
-+echo "${ECHO_T}$CC" >&6; }
- else
-- echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+ { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
- fi
-
-- CC=$ac_ct_CC
--else
-- CC="$ac_cv_prog_CC"
--fi
-
-+ fi
- fi
- if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
- set dummy cc; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
- if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -1973,7 +2406,7 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
-@@ -1984,6 +2417,7 @@ do
- fi
- done
- done
-+IFS=$as_save_IFS
-
- if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
-@@ -2001,22 +2435,23 @@ fi
- fi
- CC=$ac_cv_prog_CC
- if test -n "$CC"; then
-- echo "$as_me:$LINENO: result: $CC" >&5
--echo "${ECHO_T}$CC" >&6
-+ { echo "$as_me:$LINENO: result: $CC" >&5
-+echo "${ECHO_T}$CC" >&6; }
- else
-- echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+ { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
- fi
-
-+
- fi
- if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
-- for ac_prog in cl
-+ for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
- set dummy $ac_tool_prefix$ac_prog; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
- if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -2029,36 +2464,38 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
- done
- done
-+IFS=$as_save_IFS
-
- fi
- fi
- CC=$ac_cv_prog_CC
- if test -n "$CC"; then
-- echo "$as_me:$LINENO: result: $CC" >&5
--echo "${ECHO_T}$CC" >&6
-+ { echo "$as_me:$LINENO: result: $CC" >&5
-+echo "${ECHO_T}$CC" >&6; }
- else
-- echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+ { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
- fi
-
-+
- test -n "$CC" && break
- done
- fi
- if test -z "$CC"; then
- ac_ct_CC=$CC
-- for ac_prog in cl
-+ for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
- set dummy $ac_prog; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
- if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -2071,29 +2508,45 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
- done
- done
-+IFS=$as_save_IFS
-
- fi
- fi
- ac_ct_CC=$ac_cv_prog_ac_ct_CC
- if test -n "$ac_ct_CC"; then
-- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
--echo "${ECHO_T}$ac_ct_CC" >&6
-+ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-+echo "${ECHO_T}$ac_ct_CC" >&6; }
- else
-- echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+ { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
- fi
-
-+
- test -n "$ac_ct_CC" && break
- done
-
-- CC=$ac_ct_CC
-+ if test "x$ac_ct_CC" = x; then
-+ CC=""
-+ else
-+ case $cross_compiling:$ac_tool_warned in
-+yes:)
-+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-+whose name does not start with the host triplet. If you think this
-+configuration is useful to you, please write to autoconf@gnu.org." >&5
-+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-+whose name does not start with the host triplet. If you think this
-+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-+ac_tool_warned=yes ;;
-+esac
-+ CC=$ac_ct_CC
-+ fi
- fi
-
- fi
-@@ -2106,21 +2559,35 @@ See \`config.log' for more details." >&2
- { (exit 1); exit 1; }; }
-
- # Provide some information about the compiler.
--echo "$as_me:$LINENO:" \
-- "checking for C compiler version" >&5
-+echo "$as_me:$LINENO: checking for C compiler version" >&5
- ac_compiler=`set X $ac_compile; echo $2`
--{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
-- (eval $ac_compiler --version </dev/null >&5) 2>&5
-+{ (ac_try="$ac_compiler --version >&5"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compiler --version >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
--{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
-- (eval $ac_compiler -v </dev/null >&5) 2>&5
-+{ (ac_try="$ac_compiler -v >&5"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compiler -v >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
--{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
-- (eval $ac_compiler -V </dev/null >&5) 2>&5
-+{ (ac_try="$ac_compiler -V >&5"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compiler -V >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-@@ -2145,47 +2612,77 @@ ac_clean_files="$ac_clean_files a.out a.
- # Try to create an executable without -o first, disregard a.out.
- # It will help us diagnose broken compilers, and finding out an intuition
- # of exeext.
--echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
--echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-+echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
- ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
--if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
-- (eval $ac_link_default) 2>&5
-+#
-+# List of possible output files, starting from the most likely.
-+# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
-+# only as a last resort. b.out is created by i960 compilers.
-+ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
-+#
-+# The IRIX 6 linker writes into existing files which may not be
-+# executable, retaining their permissions. Remove them first so a
-+# subsequent execution test works.
-+ac_rmfiles=
-+for ac_file in $ac_files
-+do
-+ case $ac_file in
-+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
-+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-+ esac
-+done
-+rm -f $ac_rmfiles
-+
-+if { (ac_try="$ac_link_default"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_link_default") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
-- # Find the output, starting from the most likely. This scheme is
--# not robust to junk in `.', hence go to wildcards (a.*) only as a last
--# resort.
--
--# Be careful to initialize this variable, since it used to be cached.
--# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
--ac_cv_exeext=
--# b.out is created by i960 compilers.
--for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
-+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-+# in a Makefile. We should not override ac_cv_exeext if it was cached,
-+# so that the user can short-circuit this test for compilers unknown to
-+# Autoconf.
-+for ac_file in $ac_files ''
- do
- test -f "$ac_file" || continue
- case $ac_file in
-- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
-- ;;
-- conftest.$ac_ext )
-- # This is the source file.
-+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
-- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-- # FIXME: I believe we export ac_cv_exeext for Libtool,
-- # but it would be cool to find out if it's true. Does anybody
-- # maintain Libtool? --akim.
-- export ac_cv_exeext
-+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-+ then :; else
-+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-+ fi
-+ # We set ac_cv_exeext here because the later test for it is not
-+ # safe: cross compilers may not add the suffix if given an `-o'
-+ # argument, so we may need to know it at that point already.
-+ # Even if this section looks crufty: it has the advantage of
-+ # actually working.
- break;;
- * )
- break;;
- esac
- done
-+test "$ac_cv_exeext" = no && ac_cv_exeext=
-+
- else
-+ ac_file=''
-+fi
-+
-+{ echo "$as_me:$LINENO: result: $ac_file" >&5
-+echo "${ECHO_T}$ac_file" >&6; }
-+if test -z "$ac_file"; then
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
-@@ -2197,19 +2694,21 @@ See \`config.log' for more details." >&2
- fi
-
- ac_exeext=$ac_cv_exeext
--echo "$as_me:$LINENO: result: $ac_file" >&5
--echo "${ECHO_T}$ac_file" >&6
-
--# Check the compiler produces executables we can run. If not, either
-+# Check that the compiler produces executables we can run. If not, either
- # the compiler is broken, or we cross compile.
--echo "$as_me:$LINENO: checking whether the C compiler works" >&5
--echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-+echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
- # FIXME: These cross compiler hacks should be removed for Autoconf 3.0
- # If not cross compiling, check that we can run a simple program.
- if test "$cross_compiling" != yes; then
- if { ac_try='./$ac_file'
-- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-- (eval $ac_try) 2>&5
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-@@ -2228,22 +2727,27 @@ See \`config.log' for more details." >&2
- fi
- fi
- fi
--echo "$as_me:$LINENO: result: yes" >&5
--echo "${ECHO_T}yes" >&6
-+{ echo "$as_me:$LINENO: result: yes" >&5
-+echo "${ECHO_T}yes" >&6; }
-
- rm -f a.out a.exe conftest$ac_cv_exeext b.out
- ac_clean_files=$ac_clean_files_save
--# Check the compiler produces executables we can run. If not, either
-+# Check that the compiler produces executables we can run. If not, either
- # the compiler is broken, or we cross compile.
--echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
--echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
--echo "$as_me:$LINENO: result: $cross_compiling" >&5
--echo "${ECHO_T}$cross_compiling" >&6
-+{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
-+{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
-+echo "${ECHO_T}$cross_compiling" >&6; }
-
--echo "$as_me:$LINENO: checking for suffix of executables" >&5
--echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
--if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-- (eval $ac_link) 2>&5
-+{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
-+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
-@@ -2254,9 +2758,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
- for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
-- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
-+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-- export ac_cv_exeext
- break;;
- * ) break;;
- esac
-@@ -2270,14 +2773,14 @@ See \`config.log' for more details." >&2
- fi
-
- rm -f conftest$ac_cv_exeext
--echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
--echo "${ECHO_T}$ac_cv_exeext" >&6
-+{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-+echo "${ECHO_T}$ac_cv_exeext" >&6; }
-
- rm -f conftest.$ac_ext
- EXEEXT=$ac_cv_exeext
- ac_exeext=$EXEEXT
--echo "$as_me:$LINENO: checking for suffix of object files" >&5
--echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
-+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
- if test "${ac_cv_objext+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -2297,14 +2800,20 @@ main ()
- }
- _ACEOF
- rm -f conftest.o conftest.obj
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-- (eval $ac_compile) 2>&5
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
-- for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
-+ for ac_file in conftest.o conftest.obj conftest.*; do
-+ test -f "$ac_file" || continue;
- case $ac_file in
-- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
-+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-@@ -2322,12 +2831,12 @@ fi
-
- rm -f conftest.$ac_cv_objext conftest.$ac_ext
- fi
--echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
--echo "${ECHO_T}$ac_cv_objext" >&6
-+{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-+echo "${ECHO_T}$ac_cv_objext" >&6; }
- OBJEXT=$ac_cv_objext
- ac_objext=$OBJEXT
--echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
--echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
- if test "${ac_cv_c_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -2350,50 +2859,49 @@ main ()
- }
- _ACEOF
- rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-- (eval $ac_compile) 2>conftest.er1
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest.$ac_objext'
-- { (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
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest.$ac_objext; then
- ac_compiler_gnu=yes
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
--ac_compiler_gnu=no
-+ ac_compiler_gnu=no
- fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
- fi
--echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
--echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
-+{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
- GCC=`test $ac_compiler_gnu = yes && echo yes`
- ac_test_CFLAGS=${CFLAGS+set}
- ac_save_CFLAGS=$CFLAGS
--CFLAGS="-g"
--echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
--echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
- if test "${ac_cv_prog_cc_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-- cat >conftest.$ac_ext <<_ACEOF
-+ ac_save_c_werror_flag=$ac_c_werror_flag
-+ ac_c_werror_flag=yes
-+ ac_cv_prog_cc_g=no
-+ CFLAGS="-g"
-+ cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
- cat confdefs.h >>conftest.$ac_ext
-@@ -2409,38 +2917,118 @@ main ()
- }
- _ACEOF
- rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-- (eval $ac_compile) 2>conftest.er1
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-- (eval $ac_try) 2>&5
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest.$ac_objext; then
-+ ac_cv_prog_cc_g=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ CFLAGS=""
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); }; } &&
-- { ac_try='test -s conftest.$ac_objext'
-- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-- (eval $ac_try) 2>&5
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest.$ac_objext; then
-+ :
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_c_werror_flag=$ac_save_c_werror_flag
-+ CFLAGS="-g"
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); }; }; then
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest.$ac_objext; then
- ac_cv_prog_cc_g=yes
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
--ac_cv_prog_cc_g=no
-+
- fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
--echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
--echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+fi
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+ ac_c_werror_flag=$ac_save_c_werror_flag
-+fi
-+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
- elif test $ac_cv_prog_cc_g = yes; then
-@@ -2456,12 +3044,12 @@ else
- CFLAGS=
- fi
- fi
--echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
--echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
--if test "${ac_cv_prog_cc_stdc+set}" = set; then
-+{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
-+echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
-+if test "${ac_cv_prog_cc_c89+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-- ac_cv_prog_cc_stdc=no
-+ ac_cv_prog_cc_c89=no
- ac_save_CC=$CC
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
-@@ -2495,12 +3083,17 @@ static char *f (char * (*g) (char **, in
- /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
-- as 'x'. The following induces an error, until -std1 is added to get
-+ as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
-- that's true only with -std1. */
-+ that's true only with -std. */
- int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-+ inside strings and character constants. */
-+#define FOO(x) 'x'
-+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-+
- int test (int i, double x);
- struct s1 {int (*f) (int a);};
- struct s2 {int (*f) (double a);};
-@@ -2515,205 +3108,57 @@ return f (e, argv, 0) != argv[0] || f
- return 0;
- }
- _ACEOF
--# Don't try gcc -ansi; that turns off useful extensions and
--# breaks some systems' header files.
--# AIX -qlanglvl=ansi
--# Ultrix and OSF/1 -std1
--# HP-UX 10.20 and later -Ae
--# HP-UX older versions -Aa -D_HPUX_SOURCE
--# SVR4 -Xc -D__EXTENSIONS__
--for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
- do
- CC="$ac_save_CC $ac_arg"
- rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-- (eval $ac_compile) 2>conftest.er1
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest.$ac_objext'
-- { (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
-- ac_cv_prog_cc_stdc=$ac_arg
--break
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest.$ac_objext; then
-+ ac_cv_prog_cc_c89=$ac_arg
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
-+
- fi
--rm -f conftest.err conftest.$ac_objext
-+
-+rm -f core conftest.err conftest.$ac_objext
-+ test "x$ac_cv_prog_cc_c89" != "xno" && break
- done
--rm -f conftest.$ac_ext conftest.$ac_objext
-+rm -f conftest.$ac_ext
- CC=$ac_save_CC
-
- fi
--
--case "x$ac_cv_prog_cc_stdc" in
-- x|xno)
-- echo "$as_me:$LINENO: result: none needed" >&5
--echo "${ECHO_T}none needed" >&6 ;;
-+# AC_CACHE_VAL
-+case "x$ac_cv_prog_cc_c89" in
-+ x)
-+ { echo "$as_me:$LINENO: result: none needed" >&5
-+echo "${ECHO_T}none needed" >&6; } ;;
-+ xno)
-+ { echo "$as_me:$LINENO: result: unsupported" >&5
-+echo "${ECHO_T}unsupported" >&6; } ;;
- *)
-- echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
--echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
-- CC="$CC $ac_cv_prog_cc_stdc" ;;
-+ CC="$CC $ac_cv_prog_cc_c89"
-+ { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
-+echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
- esac
-
--# Some people use a C++ compiler to compile C. Since we use `exit',
--# in C++ we need to declare it. In case someone uses the same compiler
--# for both compiling C and C++ we need to have the C++ compiler decide
--# the declaration of exit, since it's the most demanding environment.
--cat >conftest.$ac_ext <<_ACEOF
--#ifndef __cplusplus
-- choke me
--#endif
--_ACEOF
--rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-- (eval $ac_compile) 2>conftest.er1
-- ac_status=$?
-- grep -v '^ *+' conftest.er1 >conftest.err
-- rm -f conftest.er1
-- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest.$ac_objext'
-- { (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
-- for ac_declaration in \
-- '' \
-- 'extern "C" void std::exit (int) throw (); using std::exit;' \
-- 'extern "C" void std::exit (int); using std::exit;' \
-- 'extern "C" void exit (int) throw ();' \
-- 'extern "C" void exit (int);' \
-- 'void exit (int);'
--do
-- cat >conftest.$ac_ext <<_ACEOF
--/* confdefs.h. */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h. */
--$ac_declaration
--#include <stdlib.h>
--int
--main ()
--{
--exit (42);
-- ;
-- return 0;
--}
--_ACEOF
--rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-- (eval $ac_compile) 2>conftest.er1
-- ac_status=$?
-- grep -v '^ *+' conftest.er1 >conftest.err
-- rm -f conftest.er1
-- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest.$ac_objext'
-- { (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
-- :
--else
-- echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
-
--continue
--fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-- cat >conftest.$ac_ext <<_ACEOF
--/* confdefs.h. */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h. */
--$ac_declaration
--int
--main ()
--{
--exit (42);
-- ;
-- return 0;
--}
--_ACEOF
--rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-- (eval $ac_compile) 2>conftest.er1
-- ac_status=$?
-- grep -v '^ *+' conftest.er1 >conftest.err
-- rm -f conftest.er1
-- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest.$ac_objext'
-- { (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
-- break
--else
-- echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
--done
--rm -f conftest*
--if test -n "$ac_declaration"; then
-- echo '#ifdef __cplusplus' >>confdefs.h
-- echo $ac_declaration >>confdefs.h
-- echo '#endif' >>confdefs.h
--fi
--
--else
-- echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-@@ -2721,7 +3166,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLA
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- DEPDIR="${am__leading_dot}deps"
-
-- ac_config_commands="$ac_config_commands depfiles"
-+ac_config_commands="$ac_config_commands depfiles"
-
-
- am_make=${MAKE-make}
-@@ -2731,8 +3176,8 @@ am__doit:
- .PHONY: am__doit
- END
- # If we don't find an include directive, just comment out the code.
--echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
--echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-+echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; }
- am__include="#"
- am__quote=
- _am_result=none
-@@ -2759,15 +3204,15 @@ if test "$am__include" = "#"; then
- fi
-
-
--echo "$as_me:$LINENO: result: $_am_result" >&5
--echo "${ECHO_T}$_am_result" >&6
-+{ echo "$as_me:$LINENO: result: $_am_result" >&5
-+echo "${ECHO_T}$_am_result" >&6; }
- rm -f confinc confmf
-
--# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
-+# Check whether --enable-dependency-tracking was given.
- if test "${enable_dependency_tracking+set}" = set; then
-- enableval="$enable_dependency_tracking"
-+ enableval=$enable_dependency_tracking;
-+fi
-
--fi;
- if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-@@ -2787,8 +3232,8 @@ fi
-
- depcc="$CC" am_compiler_list=
-
--echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
--echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
- if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -2877,8 +3322,8 @@ else
- fi
-
- fi
--echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
--echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
-+{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-+echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
- CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
-
-@@ -2902,10 +3347,10 @@ fi
-
- ssp_cc=yes
- if test "X$CC" != "X"; then
-- echo "$as_me:$LINENO: checking whether ${CC} accepts -fstack-protector" >&5
--echo $ECHO_N "checking whether ${CC} accepts -fstack-protector... $ECHO_C" >&6
-+ { echo "$as_me:$LINENO: checking whether ${CC} accepts -fstack-protector" >&5
-+echo $ECHO_N "checking whether ${CC} accepts -fstack-protector... $ECHO_C" >&6; }
- ssp_old_cflags="$CFLAGS"
-- CFLAGS="$CFLAGS -fstack-protector"
-+ CFLAGS="$CFLAGS"
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -2922,35 +3367,31 @@ main ()
- }
- _ACEOF
- rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-- (eval $ac_compile) 2>conftest.er1
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest.$ac_objext'
-- { (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
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest.$ac_objext; then
- :
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
--ssp_cc=no
-+ ssp_cc=no
- fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- echo $ssp_cc
- if test "X$ssp_cc" = "Xno"; then
- CFLAGS="$ssp_old_cflags"
-@@ -2964,12 +3405,11 @@ _ACEOF
- fi
-
-
-- echo "$as_me:$LINENO: checking for distcc" >&5
--echo $ECHO_N "checking for distcc... $ECHO_C" >&6
-- # Check whether --enable-distcc or --disable-distcc was given.
-+ { echo "$as_me:$LINENO: checking for distcc" >&5
-+echo $ECHO_N "checking for distcc... $ECHO_C" >&6; }
-+ # Check whether --enable-distcc was given.
- if test "${enable_distcc+set}" = set; then
-- enableval="$enable_distcc"
--
-+ enableval=$enable_distcc;
- distcc_dirs="/ /usr /usr/local /usr/local/gnu /usr/gnu"
- for dir in $distcc_dirs; do
- if test -x "$dir/bin/distcc"; then
-@@ -2983,16 +3423,17 @@ if test "${enable_distcc+set}" = set; th
- echo "$as_me: error: not found" >&2;}
- { (exit 1); exit 1; }; }
- else
-- echo "$as_me:$LINENO: result: yes" >&5
--echo "${ECHO_T}yes" >&6
-+ { echo "$as_me:$LINENO: result: yes" >&5
-+echo "${ECHO_T}yes" >&6; }
-
- fi
-
- else
-- echo "$as_me:$LINENO: result: not requested" >&5
--echo "${ECHO_T}not requested" >&6
-+ { echo "$as_me:$LINENO: result: not requested" >&5
-+echo "${ECHO_T}not requested" >&6; }
-+
-+fi
-
--fi;
-
-
- # Find a good install program. We prefer a C program (faster),
-@@ -3008,8 +3449,8 @@ fi;
- # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
- # OS/2's system install, which has a completely different semantic
- # ./install, which can be erroneously created by make from ./install.sh.
--echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
--echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
- if test -z "$INSTALL"; then
- if test "${ac_cv_path_install+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-@@ -3031,7 +3472,7 @@ case $as_dir/ in
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
-+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
-@@ -3050,21 +3491,22 @@ case $as_dir/ in
- ;;
- esac
- done
-+IFS=$as_save_IFS
-
-
- fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
-- # As a last resort, use the slow shell script. We don't cache a
-- # path for INSTALL within a source directory, because that will
-+ # As a last resort, use the slow shell script. Don't cache a
-+ # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
-- # removed, or if the path is relative.
-+ # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
- fi
--echo "$as_me:$LINENO: result: $INSTALL" >&5
--echo "${ECHO_T}$INSTALL" >&6
-+{ echo "$as_me:$LINENO: result: $INSTALL" >&5
-+echo "${ECHO_T}$INSTALL" >&6; }
-
- # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
- # It thinks the first close brace ends the variable substitution.
-@@ -3077,57 +3519,86 @@ test -z "$INSTALL_DATA" && INSTALL_DATA=
-
- # Checks for libraries.
- # Make sure we can run config.sub.
--$ac_config_sub sun4 >/dev/null 2>&1 ||
-- { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
--echo "$as_me: error: cannot run $ac_config_sub" >&2;}
-+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-+ { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
-+echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
- { (exit 1); exit 1; }; }
-
--echo "$as_me:$LINENO: checking build system type" >&5
--echo $ECHO_N "checking build system type... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking build system type" >&5
-+echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
- if test "${ac_cv_build+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-- ac_cv_build_alias=$build_alias
--test -z "$ac_cv_build_alias" &&
-- ac_cv_build_alias=`$ac_config_guess`
--test -z "$ac_cv_build_alias" &&
-+ ac_build_alias=$build_alias
-+test "x$ac_build_alias" = x &&
-+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-+test "x$ac_build_alias" = x &&
- { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
- echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
- { (exit 1); exit 1; }; }
--ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
-- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
--echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
-+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-+ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
-+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-
- fi
--echo "$as_me:$LINENO: result: $ac_cv_build" >&5
--echo "${ECHO_T}$ac_cv_build" >&6
-+{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-+echo "${ECHO_T}$ac_cv_build" >&6; }
-+case $ac_cv_build in
-+*-*-*) ;;
-+*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
-+echo "$as_me: error: invalid value of canonical build" >&2;}
-+ { (exit 1); exit 1; }; };;
-+esac
- build=$ac_cv_build
--build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
--build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
--build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-+ac_save_IFS=$IFS; IFS='-'
-+set x $ac_cv_build
-+shift
-+build_cpu=$1
-+build_vendor=$2
-+shift; shift
-+# Remember, the first character of IFS is used to create $*,
-+# except with old shells:
-+build_os=$*
-+IFS=$ac_save_IFS
-+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
--echo "$as_me:$LINENO: checking host system type" >&5
--echo $ECHO_N "checking host system type... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking host system type" >&5
-+echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
- if test "${ac_cv_host+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-- ac_cv_host_alias=$host_alias
--test -z "$ac_cv_host_alias" &&
-- ac_cv_host_alias=$ac_cv_build_alias
--ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
-- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
--echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
-+ if test "x$host_alias" = x; then
-+ ac_cv_host=$ac_cv_build
-+else
-+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-+ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
-+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-+fi
-
- fi
--echo "$as_me:$LINENO: result: $ac_cv_host" >&5
--echo "${ECHO_T}$ac_cv_host" >&6
-+{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-+echo "${ECHO_T}$ac_cv_host" >&6; }
-+case $ac_cv_host in
-+*-*-*) ;;
-+*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
-+echo "$as_me: error: invalid value of canonical host" >&2;}
-+ { (exit 1); exit 1; }; };;
-+esac
- host=$ac_cv_host
--host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
--host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
--host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-+ac_save_IFS=$IFS; IFS='-'
-+set x $ac_cv_host
-+shift
-+host_cpu=$1
-+host_vendor=$2
-+shift; shift
-+# Remember, the first character of IFS is used to create $*,
-+# except with old shells:
-+host_os=$*
-+IFS=$ac_save_IFS
-+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-
-@@ -3147,8 +3618,8 @@ ac_cpp='$CPP $CPPFLAGS'
- ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
--echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
--echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
- # On Suns, sometimes $CPP names a directory.
- if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-@@ -3182,24 +3653,22 @@ cat >>conftest.$ac_ext <<_ACEOF
- #endif
- Syntax error
- _ACEOF
--if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+if { (ac_try="$ac_cpp conftest.$ac_ext"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); } >/dev/null; then
-- if test -s conftest.err; then
-- ac_cpp_err=$ac_c_preproc_warn_flag
-- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-- else
-- ac_cpp_err=
-- fi
--else
-- ac_cpp_err=yes
--fi
--if test -z "$ac_cpp_err"; then
-+ (exit $ac_status); } >/dev/null && {
-+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ }; then
- :
- else
- echo "$as_me: failed program was:" >&5
-@@ -3208,9 +3677,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
- # Broken: fails on valid input.
- continue
- fi
-+
- rm -f conftest.err conftest.$ac_ext
-
-- # OK, works on sane cases. Now check whether non-existent headers
-+ # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
-@@ -3220,24 +3690,22 @@ cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
- #include <ac_nonexistent.h>
- _ACEOF
--if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+if { (ac_try="$ac_cpp conftest.$ac_ext"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); } >/dev/null; then
-- if test -s conftest.err; then
-- ac_cpp_err=$ac_c_preproc_warn_flag
-- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-- else
-- ac_cpp_err=
-- fi
--else
-- ac_cpp_err=yes
--fi
--if test -z "$ac_cpp_err"; then
-+ (exit $ac_status); } >/dev/null && {
-+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ }; then
- # Broken: success on invalid input.
- continue
- else
-@@ -3248,6 +3716,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
- ac_preproc_ok=:
- break
- fi
-+
- rm -f conftest.err conftest.$ac_ext
-
- done
-@@ -3265,8 +3734,8 @@ fi
- else
- ac_cv_prog_CPP=$CPP
- fi
--echo "$as_me:$LINENO: result: $CPP" >&5
--echo "${ECHO_T}$CPP" >&6
-+{ echo "$as_me:$LINENO: result: $CPP" >&5
-+echo "${ECHO_T}$CPP" >&6; }
- ac_preproc_ok=false
- for ac_c_preproc_warn_flag in '' yes
- do
-@@ -3289,24 +3758,22 @@ cat >>conftest.$ac_ext <<_ACEOF
- #endif
- Syntax error
- _ACEOF
--if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+if { (ac_try="$ac_cpp conftest.$ac_ext"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); } >/dev/null; then
-- if test -s conftest.err; then
-- ac_cpp_err=$ac_c_preproc_warn_flag
-- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-- else
-- ac_cpp_err=
-- fi
--else
-- ac_cpp_err=yes
--fi
--if test -z "$ac_cpp_err"; then
-+ (exit $ac_status); } >/dev/null && {
-+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ }; then
- :
- else
- echo "$as_me: failed program was:" >&5
-@@ -3315,9 +3782,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
- # Broken: fails on valid input.
- continue
- fi
-+
- rm -f conftest.err conftest.$ac_ext
-
-- # OK, works on sane cases. Now check whether non-existent headers
-+ # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
-@@ -3327,24 +3795,22 @@ cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
- #include <ac_nonexistent.h>
- _ACEOF
--if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+if { (ac_try="$ac_cpp conftest.$ac_ext"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); } >/dev/null; then
-- if test -s conftest.err; then
-- ac_cpp_err=$ac_c_preproc_warn_flag
-- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-- else
-- ac_cpp_err=
-- fi
--else
-- ac_cpp_err=yes
--fi
--if test -z "$ac_cpp_err"; then
-+ (exit $ac_status); } >/dev/null && {
-+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ }; then
- # Broken: success on invalid input.
- continue
- else
-@@ -3355,6 +3821,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
- ac_preproc_ok=:
- break
- fi
-+
- rm -f conftest.err conftest.$ac_ext
-
- done
-@@ -3377,23 +3844,170 @@ ac_link='$CC -o conftest$ac_exeext $CFLA
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
--echo "$as_me:$LINENO: checking for egrep" >&5
--echo $ECHO_N "checking for egrep... $ECHO_C" >&6
--if test "${ac_cv_prog_egrep+set}" = set; then
-+{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
-+echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
-+if test "${ac_cv_path_GREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-- if echo a | (grep -E '(a|b)') >/dev/null 2>&1
-- then ac_cv_prog_egrep='grep -E'
-- else ac_cv_prog_egrep='egrep'
-+ # Extract the first word of "grep ggrep" to use in msg output
-+if test -z "$GREP"; then
-+set dummy grep ggrep; ac_prog_name=$2
-+if test "${ac_cv_path_GREP+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ ac_path_GREP_found=false
-+# Loop through the user's path and test for each of PROGNAME-LIST
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_prog in grep ggrep; do
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-+ # Check for GNU ac_path_GREP and select it if it is found.
-+ # Check for GNU $ac_path_GREP
-+case `"$ac_path_GREP" --version 2>&1` in
-+*GNU*)
-+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-+*)
-+ ac_count=0
-+ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
-+ while :
-+ do
-+ cat "conftest.in" "conftest.in" >"conftest.tmp"
-+ mv "conftest.tmp" "conftest.in"
-+ cp "conftest.in" "conftest.nl"
-+ echo 'GREP' >> "conftest.nl"
-+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-+ ac_count=`expr $ac_count + 1`
-+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
-+ # Best one so far, save it but keep looking for a better one
-+ ac_cv_path_GREP="$ac_path_GREP"
-+ ac_path_GREP_max=$ac_count
- fi
-+ # 10*(2^10) chars as input seems more than enough
-+ test $ac_count -gt 10 && break
-+ done
-+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-+esac
-+
-+
-+ $ac_path_GREP_found && break 3
-+ done
-+done
-+
-+done
-+IFS=$as_save_IFS
-+
-+
- fi
--echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
--echo "${ECHO_T}$ac_cv_prog_egrep" >&6
-- EGREP=$ac_cv_prog_egrep
-
-+GREP="$ac_cv_path_GREP"
-+if test -z "$GREP"; then
-+ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-
--echo "$as_me:$LINENO: checking for ANSI C header files" >&5
--echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
-+else
-+ ac_cv_path_GREP=$GREP
-+fi
-+
-+
-+fi
-+{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
-+echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
-+ GREP="$ac_cv_path_GREP"
-+
-+
-+{ echo "$as_me:$LINENO: checking for egrep" >&5
-+echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
-+if test "${ac_cv_path_EGREP+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-+ then ac_cv_path_EGREP="$GREP -E"
-+ else
-+ # Extract the first word of "egrep" to use in msg output
-+if test -z "$EGREP"; then
-+set dummy egrep; ac_prog_name=$2
-+if test "${ac_cv_path_EGREP+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ ac_path_EGREP_found=false
-+# Loop through the user's path and test for each of PROGNAME-LIST
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_prog in egrep; do
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-+ # Check for GNU ac_path_EGREP and select it if it is found.
-+ # Check for GNU $ac_path_EGREP
-+case `"$ac_path_EGREP" --version 2>&1` in
-+*GNU*)
-+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-+*)
-+ ac_count=0
-+ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
-+ while :
-+ do
-+ cat "conftest.in" "conftest.in" >"conftest.tmp"
-+ mv "conftest.tmp" "conftest.in"
-+ cp "conftest.in" "conftest.nl"
-+ echo 'EGREP' >> "conftest.nl"
-+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-+ ac_count=`expr $ac_count + 1`
-+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-+ # Best one so far, save it but keep looking for a better one
-+ ac_cv_path_EGREP="$ac_path_EGREP"
-+ ac_path_EGREP_max=$ac_count
-+ fi
-+ # 10*(2^10) chars as input seems more than enough
-+ test $ac_count -gt 10 && break
-+ done
-+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-+esac
-+
-+
-+ $ac_path_EGREP_found && break 3
-+ done
-+done
-+
-+done
-+IFS=$as_save_IFS
-+
-+
-+fi
-+
-+EGREP="$ac_cv_path_EGREP"
-+if test -z "$EGREP"; then
-+ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+
-+else
-+ ac_cv_path_EGREP=$EGREP
-+fi
-+
-+
-+ fi
-+fi
-+{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
-+echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
-+ EGREP="$ac_cv_path_EGREP"
-+
-+
-+{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
- if test "${ac_cv_header_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -3417,35 +4031,31 @@ main ()
- }
- _ACEOF
- rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-- (eval $ac_compile) 2>conftest.er1
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest.$ac_objext'
-- { (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
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest.$ac_objext; then
- ac_cv_header_stdc=yes
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
--ac_cv_header_stdc=no
-+ ac_cv_header_stdc=no
- fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
- if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-@@ -3501,6 +4111,7 @@ cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
- #include <ctype.h>
-+#include <stdlib.h>
- #if ((' ' & 0x0FF) == 0x020)
- # define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
- # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-@@ -3520,18 +4131,27 @@ main ()
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
-- exit(2);
-- exit (0);
-+ return 2;
-+ return 0;
- }
- _ACEOF
- rm -f conftest$ac_exeext
--if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-- (eval $ac_link) 2>&5
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-- (eval $ac_try) 2>&5
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-@@ -3544,12 +4164,14 @@ sed 's/^/| /' conftest.$ac_ext >&5
- ( exit $ac_status )
- ac_cv_header_stdc=no
- fi
--rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
- fi
-+
-+
- fi
- fi
--echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
--echo "${ECHO_T}$ac_cv_header_stdc" >&6
-+{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-+echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
- if test $ac_cv_header_stdc = yes; then
-
- cat >>confdefs.h <<\_ACEOF
-@@ -3572,9 +4194,9 @@ for ac_header in sys/types.h sys/stat.h
- inttypes.h stdint.h unistd.h
- do
- as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
--echo "$as_me:$LINENO: checking for $ac_header" >&5
--echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
- cat >conftest.$ac_ext <<_ACEOF
-@@ -3588,38 +4210,35 @@ $ac_includes_default
- #include <$ac_header>
- _ACEOF
- rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-- (eval $ac_compile) 2>conftest.er1
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest.$ac_objext'
-- { (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
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest.$ac_objext; then
- eval "$as_ac_Header=yes"
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
--eval "$as_ac_Header=no"
-+ eval "$as_ac_Header=no"
- fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
--echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
--echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-+ac_res=`eval echo '${'$as_ac_Header'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
- if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
- #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-@@ -3651,18 +4270,19 @@ done
- for ac_header in ctype.h errno.h arpa/inet.h netdb.h netinet/in.h netinet/in_systm.h limits.h sys/poll.h regex.h signal.h stdlib.h stdio.h string.h sys/param.h sys/socket.h sys/time.h unistd.h sys/utsname.h
- do
- as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-- echo "$as_me:$LINENO: checking for $ac_header" >&5
--echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- fi
--echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
--echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-+ac_res=`eval echo '${'$as_ac_Header'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
- else
- # Is the header compilable?
--echo "$as_me:$LINENO: checking $ac_header usability" >&5
--echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -3673,41 +4293,37 @@ $ac_includes_default
- #include <$ac_header>
- _ACEOF
- rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-- (eval $ac_compile) 2>conftest.er1
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest.$ac_objext'
-- { (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
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
--ac_header_compiler=no
-+ ac_header_compiler=no
- fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
--echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
--echo "${ECHO_T}$ac_header_compiler" >&6
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-+echo "${ECHO_T}$ac_header_compiler" >&6; }
-
- # Is the header present?
--echo "$as_me:$LINENO: checking $ac_header presence" >&5
--echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -3716,24 +4332,22 @@ cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
- #include <$ac_header>
- _ACEOF
--if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+if { (ac_try="$ac_cpp conftest.$ac_ext"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); } >/dev/null; then
-- if test -s conftest.err; then
-- ac_cpp_err=$ac_c_preproc_warn_flag
-- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-- else
-- ac_cpp_err=
-- fi
--else
-- ac_cpp_err=yes
--fi
--if test -z "$ac_cpp_err"; then
-+ (exit $ac_status); } >/dev/null && {
-+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ }; then
- ac_header_preproc=yes
- else
- echo "$as_me: failed program was:" >&5
-@@ -3741,9 +4355,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
- fi
-+
- rm -f conftest.err conftest.$ac_ext
--echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
--echo "${ECHO_T}$ac_header_preproc" >&6
-+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-+echo "${ECHO_T}$ac_header_preproc" >&6; }
-
- # So? What about this header?
- case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-@@ -3767,25 +4382,24 @@ echo "$as_me: WARNING: $ac_header: s
- echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
- echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-- (
-- cat <<\_ASBOX
-+ ( cat <<\_ASBOX
- ## ------------------------------ ##
- ## Report this to nils@sipsak.org ##
- ## ------------------------------ ##
- _ASBOX
-- ) |
-- sed "s/^/$as_me: WARNING: /" >&2
-+ ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
- esac
--echo "$as_me:$LINENO: checking for $ac_header" >&5
--echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
- eval "$as_ac_Header=\$ac_header_preproc"
- fi
--echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
--echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-+ac_res=`eval echo '${'$as_ac_Header'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
-
- fi
- if test `eval echo '${'$as_ac_Header'}'` = yes; then
-@@ -3805,18 +4419,19 @@ done
- for ac_header in getopt.h
- do
- as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-- echo "$as_me:$LINENO: checking for $ac_header" >&5
--echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- fi
--echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
--echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-+ac_res=`eval echo '${'$as_ac_Header'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
- else
- # Is the header compilable?
--echo "$as_me:$LINENO: checking $ac_header usability" >&5
--echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -3827,41 +4442,37 @@ $ac_includes_default
- #include <$ac_header>
- _ACEOF
- rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-- (eval $ac_compile) 2>conftest.er1
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest.$ac_objext'
-- { (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
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
--ac_header_compiler=no
-+ ac_header_compiler=no
- fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
--echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
--echo "${ECHO_T}$ac_header_compiler" >&6
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-+echo "${ECHO_T}$ac_header_compiler" >&6; }
-
- # Is the header present?
--echo "$as_me:$LINENO: checking $ac_header presence" >&5
--echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -3870,24 +4481,22 @@ cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
- #include <$ac_header>
- _ACEOF
--if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+if { (ac_try="$ac_cpp conftest.$ac_ext"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); } >/dev/null; then
-- if test -s conftest.err; then
-- ac_cpp_err=$ac_c_preproc_warn_flag
-- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-- else
-- ac_cpp_err=
-- fi
--else
-- ac_cpp_err=yes
--fi
--if test -z "$ac_cpp_err"; then
-+ (exit $ac_status); } >/dev/null && {
-+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ }; then
- ac_header_preproc=yes
- else
- echo "$as_me: failed program was:" >&5
-@@ -3895,9 +4504,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
- fi
-+
- rm -f conftest.err conftest.$ac_ext
--echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
--echo "${ECHO_T}$ac_header_preproc" >&6
-+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-+echo "${ECHO_T}$ac_header_preproc" >&6; }
-
- # So? What about this header?
- case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-@@ -3921,25 +4531,24 @@ echo "$as_me: WARNING: $ac_header: s
- echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
- echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-- (
-- cat <<\_ASBOX
-+ ( cat <<\_ASBOX
- ## ------------------------------ ##
- ## Report this to nils@sipsak.org ##
- ## ------------------------------ ##
- _ASBOX
-- ) |
-- sed "s/^/$as_me: WARNING: /" >&2
-+ ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
- esac
--echo "$as_me:$LINENO: checking for $ac_header" >&5
--echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
- eval "$as_ac_Header=\$ac_header_preproc"
- fi
--echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
--echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-+ac_res=`eval echo '${'$as_ac_Header'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
-
- fi
- if test `eval echo '${'$as_ac_Header'}'` = yes; then
-@@ -3951,8 +4560,8 @@ fi
-
- done
-
--echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5
--echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5
-+echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6; }
- if test "${ac_cv_header_sys_wait_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -3965,7 +4574,7 @@ cat >>conftest.$ac_ext <<_ACEOF
- #include <sys/types.h>
- #include <sys/wait.h>
- #ifndef WEXITSTATUS
--# define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8)
-+# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8)
- #endif
- #ifndef WIFEXITED
- # define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
-@@ -3982,38 +4591,34 @@ main ()
- }
- _ACEOF
- rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-- (eval $ac_compile) 2>conftest.er1
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest.$ac_objext'
-- { (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
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest.$ac_objext; then
- ac_cv_header_sys_wait_h=yes
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
--ac_cv_header_sys_wait_h=no
-+ ac_cv_header_sys_wait_h=no
- fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
--echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5
--echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6
-+{ echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5
-+echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6; }
- if test $ac_cv_header_sys_wait_h = yes; then
-
- cat >>confdefs.h <<\_ACEOF
-@@ -4022,8 +4627,8 @@ _ACEOF
-
- fi
-
--echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
--echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
-+echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6; }
- if test "${ac_cv_header_time+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -4047,38 +4652,34 @@ return 0;
- }
- _ACEOF
- rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-- (eval $ac_compile) 2>conftest.er1
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest.$ac_objext'
-- { (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
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest.$ac_objext; then
- ac_cv_header_time=yes
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
--ac_cv_header_time=no
-+ ac_cv_header_time=no
- fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
--echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
--echo "${ECHO_T}$ac_cv_header_time" >&6
-+{ echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
-+echo "${ECHO_T}$ac_cv_header_time" >&6; }
- if test $ac_cv_header_time = yes; then
-
- cat >>confdefs.h <<\_ACEOF
-@@ -4094,9 +4695,9 @@ fi
- for ac_header in netinet/ip.h netinet/udp.h
- do
- as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
--echo "$as_me:$LINENO: checking for $ac_header" >&5
--echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
- cat >conftest.$ac_ext <<_ACEOF
-@@ -4115,38 +4716,35 @@ cat >>conftest.$ac_ext <<_ACEOF
- #include <$ac_header>
- _ACEOF
- rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-- (eval $ac_compile) 2>conftest.er1
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest.$ac_objext'
-- { (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
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest.$ac_objext; then
- eval "$as_ac_Header=yes"
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
--eval "$as_ac_Header=no"
-+ eval "$as_ac_Header=no"
- fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
--echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
--echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-+ac_res=`eval echo '${'$as_ac_Header'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
- if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
- #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-@@ -4162,9 +4760,9 @@ done
- for ac_header in netinet/ip_icmp.h
- do
- as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
--echo "$as_me:$LINENO: checking for $ac_header" >&5
--echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
- cat >conftest.$ac_ext <<_ACEOF
-@@ -4186,38 +4784,35 @@ cat >>conftest.$ac_ext <<_ACEOF
- #include <$ac_header>
- _ACEOF
- rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-- (eval $ac_compile) 2>conftest.er1
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest.$ac_objext'
-- { (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
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest.$ac_objext; then
- eval "$as_ac_Header=yes"
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
--eval "$as_ac_Header=no"
-+ eval "$as_ac_Header=no"
- fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
--echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
--echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-+ac_res=`eval echo '${'$as_ac_Header'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
- if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
- #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-@@ -4232,18 +4827,19 @@ done
- for ac_header in cygwin/icmp.h
- do
- as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-- echo "$as_me:$LINENO: checking for $ac_header" >&5
--echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- fi
--echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
--echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-+ac_res=`eval echo '${'$as_ac_Header'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
- else
- # Is the header compilable?
--echo "$as_me:$LINENO: checking $ac_header usability" >&5
--echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -4254,41 +4850,37 @@ $ac_includes_default
- #include <$ac_header>
- _ACEOF
- rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-- (eval $ac_compile) 2>conftest.er1
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest.$ac_objext'
-- { (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
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
--ac_header_compiler=no
-+ ac_header_compiler=no
- fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
--echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
--echo "${ECHO_T}$ac_header_compiler" >&6
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-+echo "${ECHO_T}$ac_header_compiler" >&6; }
-
- # Is the header present?
--echo "$as_me:$LINENO: checking $ac_header presence" >&5
--echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -4297,24 +4889,22 @@ cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
- #include <$ac_header>
- _ACEOF
--if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+if { (ac_try="$ac_cpp conftest.$ac_ext"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); } >/dev/null; then
-- if test -s conftest.err; then
-- ac_cpp_err=$ac_c_preproc_warn_flag
-- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-- else
-- ac_cpp_err=
-- fi
--else
-- ac_cpp_err=yes
--fi
--if test -z "$ac_cpp_err"; then
-+ (exit $ac_status); } >/dev/null && {
-+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ }; then
- ac_header_preproc=yes
- else
- echo "$as_me: failed program was:" >&5
-@@ -4322,9 +4912,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
- fi
-+
- rm -f conftest.err conftest.$ac_ext
--echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
--echo "${ECHO_T}$ac_header_preproc" >&6
-+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-+echo "${ECHO_T}$ac_header_preproc" >&6; }
-
- # So? What about this header?
- case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-@@ -4348,25 +4939,24 @@ echo "$as_me: WARNING: $ac_header: s
- echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
- echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-- (
-- cat <<\_ASBOX
-+ ( cat <<\_ASBOX
- ## ------------------------------ ##
- ## Report this to nils@sipsak.org ##
- ## ------------------------------ ##
- _ASBOX
-- ) |
-- sed "s/^/$as_me: WARNING: /" >&2
-+ ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
- esac
--echo "$as_me:$LINENO: checking for $ac_header" >&5
--echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
- eval "$as_ac_Header=\$ac_header_preproc"
- fi
--echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
--echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-+ac_res=`eval echo '${'$as_ac_Header'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
-
- fi
- if test `eval echo '${'$as_ac_Header'}'` = yes; then
-@@ -4380,8 +4970,8 @@ done
-
-
- # Checks for typedefs, structures, and compiler characteristics.
--echo "$as_me:$LINENO: checking for size_t" >&5
--echo $ECHO_N "checking for size_t... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for size_t" >&5
-+echo $ECHO_N "checking for size_t... $ECHO_C" >&6; }
- if test "${ac_cv_type_size_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -4392,62 +4982,59 @@ cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
- $ac_includes_default
-+typedef size_t ac__type_new_;
- int
- main ()
- {
--if ((size_t *) 0)
-+if ((ac__type_new_ *) 0)
- return 0;
--if (sizeof (size_t))
-+if (sizeof (ac__type_new_))
- return 0;
- ;
- return 0;
- }
- _ACEOF
- rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-- (eval $ac_compile) 2>conftest.er1
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest.$ac_objext'
-- { (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
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest.$ac_objext; then
- ac_cv_type_size_t=yes
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
--ac_cv_type_size_t=no
-+ ac_cv_type_size_t=no
- fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
--echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
--echo "${ECHO_T}$ac_cv_type_size_t" >&6
-+{ echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
-+echo "${ECHO_T}$ac_cv_type_size_t" >&6; }
- if test $ac_cv_type_size_t = yes; then
- :
- else
-
- cat >>confdefs.h <<_ACEOF
--#define size_t unsigned
-+#define size_t unsigned int
- _ACEOF
-
- fi
-
--echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
--echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
-+echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6; }
- if test "${ac_cv_header_time+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -4471,38 +5058,34 @@ return 0;
- }
- _ACEOF
- rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-- (eval $ac_compile) 2>conftest.er1
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest.$ac_objext'
-- { (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
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest.$ac_objext; then
- ac_cv_header_time=yes
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
--ac_cv_header_time=no
-+ ac_cv_header_time=no
- fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
--echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
--echo "${ECHO_T}$ac_cv_header_time" >&6
-+{ echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
-+echo "${ECHO_T}$ac_cv_header_time" >&6; }
- if test $ac_cv_header_time = yes; then
-
- cat >>confdefs.h <<\_ACEOF
-@@ -4517,18 +5100,19 @@ fi
- for ac_header in stdlib.h
- do
- as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-- echo "$as_me:$LINENO: checking for $ac_header" >&5
--echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- fi
--echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
--echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-+ac_res=`eval echo '${'$as_ac_Header'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
- else
- # Is the header compilable?
--echo "$as_me:$LINENO: checking $ac_header usability" >&5
--echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -4539,41 +5123,37 @@ $ac_includes_default
- #include <$ac_header>
- _ACEOF
- rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-- (eval $ac_compile) 2>conftest.er1
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest.$ac_objext'
-- { (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
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
--ac_header_compiler=no
-+ ac_header_compiler=no
- fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
--echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
--echo "${ECHO_T}$ac_header_compiler" >&6
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-+echo "${ECHO_T}$ac_header_compiler" >&6; }
-
- # Is the header present?
--echo "$as_me:$LINENO: checking $ac_header presence" >&5
--echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -4582,24 +5162,22 @@ cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
- #include <$ac_header>
- _ACEOF
--if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+if { (ac_try="$ac_cpp conftest.$ac_ext"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); } >/dev/null; then
-- if test -s conftest.err; then
-- ac_cpp_err=$ac_c_preproc_warn_flag
-- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-- else
-- ac_cpp_err=
-- fi
--else
-- ac_cpp_err=yes
--fi
--if test -z "$ac_cpp_err"; then
-+ (exit $ac_status); } >/dev/null && {
-+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ }; then
- ac_header_preproc=yes
- else
- echo "$as_me: failed program was:" >&5
-@@ -4607,9 +5185,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
- fi
-+
- rm -f conftest.err conftest.$ac_ext
--echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
--echo "${ECHO_T}$ac_header_preproc" >&6
-+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-+echo "${ECHO_T}$ac_header_preproc" >&6; }
-
- # So? What about this header?
- case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-@@ -4633,25 +5212,24 @@ echo "$as_me: WARNING: $ac_header: s
- echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
- echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-- (
-- cat <<\_ASBOX
-+ ( cat <<\_ASBOX
- ## ------------------------------ ##
- ## Report this to nils@sipsak.org ##
- ## ------------------------------ ##
- _ASBOX
-- ) |
-- sed "s/^/$as_me: WARNING: /" >&2
-+ ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
- esac
--echo "$as_me:$LINENO: checking for $ac_header" >&5
--echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
- eval "$as_ac_Header=\$ac_header_preproc"
- fi
--echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
--echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-+ac_res=`eval echo '${'$as_ac_Header'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
-
- fi
- if test `eval echo '${'$as_ac_Header'}'` = yes; then
-@@ -4663,8 +5241,8 @@ fi
-
- done
-
--echo "$as_me:$LINENO: checking for GNU libc compatible malloc" >&5
--echo $ECHO_N "checking for GNU libc compatible malloc... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for GNU libc compatible malloc" >&5
-+echo $ECHO_N "checking for GNU libc compatible malloc... $ECHO_C" >&6; }
- if test "${ac_cv_func_malloc_0_nonnull+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -4677,7 +5255,7 @@ _ACEOF
- cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
--#if STDC_HEADERS || HAVE_STDLIB_H
-+#if defined STDC_HEADERS || defined HAVE_STDLIB_H
- # include <stdlib.h>
- #else
- char *malloc ();
-@@ -4686,19 +5264,28 @@ char *malloc ();
- int
- main ()
- {
--exit (malloc (0) ? 0 : 1);
-+return ! malloc (0);
- ;
- return 0;
- }
- _ACEOF
- rm -f conftest$ac_exeext
--if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-- (eval $ac_link) 2>&5
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-- (eval $ac_try) 2>&5
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-@@ -4711,11 +5298,13 @@ sed 's/^/| /' conftest.$ac_ext >&5
- ( exit $ac_status )
- ac_cv_func_malloc_0_nonnull=no
- fi
--rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
- fi
-+
-+
- fi
--echo "$as_me:$LINENO: result: $ac_cv_func_malloc_0_nonnull" >&5
--echo "${ECHO_T}$ac_cv_func_malloc_0_nonnull" >&6
-+{ echo "$as_me:$LINENO: result: $ac_cv_func_malloc_0_nonnull" >&5
-+echo "${ECHO_T}$ac_cv_func_malloc_0_nonnull" >&6; }
- if test $ac_cv_func_malloc_0_nonnull = yes; then
-
- cat >>confdefs.h <<\_ACEOF
-@@ -4727,12 +5316,10 @@ else
- #define HAVE_MALLOC 0
- _ACEOF
-
-- case $LIBOBJS in
-- "malloc.$ac_objext" | \
-- *" malloc.$ac_objext" | \
-- "malloc.$ac_objext "* | \
-+ case " $LIBOBJS " in
- *" malloc.$ac_objext "* ) ;;
-- *) LIBOBJS="$LIBOBJS malloc.$ac_objext" ;;
-+ *) LIBOBJS="$LIBOBJS malloc.$ac_objext"
-+ ;;
- esac
-
-
-@@ -4749,18 +5336,19 @@ fi
- for ac_header in sys/select.h sys/socket.h
- do
- as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-- echo "$as_me:$LINENO: checking for $ac_header" >&5
--echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- fi
--echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
--echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-+ac_res=`eval echo '${'$as_ac_Header'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
- else
- # Is the header compilable?
--echo "$as_me:$LINENO: checking $ac_header usability" >&5
--echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -4771,41 +5359,37 @@ $ac_includes_default
- #include <$ac_header>
- _ACEOF
- rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-- (eval $ac_compile) 2>conftest.er1
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest.$ac_objext'
-- { (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
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
--ac_header_compiler=no
-+ ac_header_compiler=no
- fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
--echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
--echo "${ECHO_T}$ac_header_compiler" >&6
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-+echo "${ECHO_T}$ac_header_compiler" >&6; }
-
- # Is the header present?
--echo "$as_me:$LINENO: checking $ac_header presence" >&5
--echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -4814,24 +5398,22 @@ cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
- #include <$ac_header>
- _ACEOF
--if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+if { (ac_try="$ac_cpp conftest.$ac_ext"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); } >/dev/null; then
-- if test -s conftest.err; then
-- ac_cpp_err=$ac_c_preproc_warn_flag
-- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-- else
-- ac_cpp_err=
-- fi
--else
-- ac_cpp_err=yes
--fi
--if test -z "$ac_cpp_err"; then
-+ (exit $ac_status); } >/dev/null && {
-+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ }; then
- ac_header_preproc=yes
- else
- echo "$as_me: failed program was:" >&5
-@@ -4839,9 +5421,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
- fi
-+
- rm -f conftest.err conftest.$ac_ext
--echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
--echo "${ECHO_T}$ac_header_preproc" >&6
-+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-+echo "${ECHO_T}$ac_header_preproc" >&6; }
-
- # So? What about this header?
- case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-@@ -4865,25 +5448,24 @@ echo "$as_me: WARNING: $ac_header: s
- echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
- echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-- (
-- cat <<\_ASBOX
-+ ( cat <<\_ASBOX
- ## ------------------------------ ##
- ## Report this to nils@sipsak.org ##
- ## ------------------------------ ##
- _ASBOX
-- ) |
-- sed "s/^/$as_me: WARNING: /" >&2
-+ ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
- esac
--echo "$as_me:$LINENO: checking for $ac_header" >&5
--echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
- eval "$as_ac_Header=\$ac_header_preproc"
- fi
--echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
--echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-+ac_res=`eval echo '${'$as_ac_Header'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
-
- fi
- if test `eval echo '${'$as_ac_Header'}'` = yes; then
-@@ -4895,13 +5477,13 @@ fi
-
- done
-
--echo "$as_me:$LINENO: checking types of arguments for select" >&5
--echo $ECHO_N "checking types of arguments for select... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking types of arguments for select" >&5
-+echo $ECHO_N "checking types of arguments for select... $ECHO_C" >&6; }
- if test "${ac_cv_func_select_args+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
- for ac_arg234 in 'fd_set *' 'int *' 'void *'; do
-- for ac_arg1 in 'int' 'size_t' 'unsigned long' 'unsigned'; do
-+ for ac_arg1 in 'int' 'size_t' 'unsigned long int' 'unsigned int'; do
- for ac_arg5 in 'struct timeval *' 'const struct timeval *'; do
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
-@@ -4910,10 +5492,10 @@ cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
- $ac_includes_default
--#if HAVE_SYS_SELECT_H
-+#ifdef HAVE_SYS_SELECT_H
- # include <sys/select.h>
- #endif
--#if HAVE_SYS_SOCKET_H
-+#ifdef HAVE_SYS_SOCKET_H
- # include <sys/socket.h>
- #endif
-
-@@ -4928,34 +5510,31 @@ extern int select ($ac_arg1,
- }
- _ACEOF
- rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-- (eval $ac_compile) 2>conftest.er1
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest.$ac_objext'
-- { (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
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest.$ac_objext; then
- ac_cv_func_select_args="$ac_arg1,$ac_arg234,$ac_arg5"; break 3
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
-+
- fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
- done
- done
-@@ -4963,8 +5542,8 @@ done
- : ${ac_cv_func_select_args='int,int *,struct timeval *'}
-
- fi
--echo "$as_me:$LINENO: result: $ac_cv_func_select_args" >&5
--echo "${ECHO_T}$ac_cv_func_select_args" >&6
-+{ echo "$as_me:$LINENO: result: $ac_cv_func_select_args" >&5
-+echo "${ECHO_T}$ac_cv_func_select_args" >&6; }
- ac_save_IFS=$IFS; IFS=','
- set dummy `echo "$ac_cv_func_select_args" | sed 's/\*/\*/g'`
- IFS=$ac_save_IFS
-@@ -5005,9 +5584,9 @@ rm -f conftest*
- for ac_func in getchar gethostbyname gethostname getopt getpid gettimeofday memset ntohs regcomp select socket strchr strcmp strstr strtol uname
- do
- as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
--echo "$as_me:$LINENO: checking for $ac_func" >&5
--echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
--if eval "test \"\${$as_ac_var+set}\" = set"; then
-+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
- cat >conftest.$ac_ext <<_ACEOF
-@@ -5033,68 +5612,60 @@ cat >>conftest.$ac_ext <<_ACEOF
-
- #undef $ac_func
-
--/* Override any gcc2 internal prototype to avoid an error. */
-+/* Override any GCC internal prototype to avoid an error.
-+ Use char because int might match the return type of a GCC
-+ builtin and then its argument prototype would still apply. */
- #ifdef __cplusplus
- extern "C"
--{
- #endif
--/* We use char because int might match the return type of a gcc2
-- builtin and then its argument prototype would still apply. */
- char $ac_func ();
- /* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
--#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-+#if defined __stub_$ac_func || defined __stub___$ac_func
- choke me
--#else
--char (*f) () = $ac_func;
--#endif
--#ifdef __cplusplus
--}
- #endif
-
- int
- main ()
- {
--return f != $ac_func;
-+return $ac_func ();
- ;
- return 0;
- }
- _ACEOF
- rm -f conftest.$ac_objext conftest$ac_exeext
--if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-- (eval $ac_link) 2>conftest.er1
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest$ac_exeext'
-- { (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
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest$ac_exeext &&
-+ $as_test_x conftest$ac_exeext; then
- eval "$as_ac_var=yes"
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
--eval "$as_ac_var=no"
-+ eval "$as_ac_var=no"
- fi
--rm -f conftest.err conftest.$ac_objext \
-+
-+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- fi
--echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
--echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-+ac_res=`eval echo '${'$as_ac_var'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
- if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
- #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-@@ -5116,9 +5687,9 @@ done
- for ac_func in calloc getdomainname getopt_long inet_ntop strncasecmp strcasestr
- do
- as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
--echo "$as_me:$LINENO: checking for $ac_func" >&5
--echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
--if eval "test \"\${$as_ac_var+set}\" = set"; then
-+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
- cat >conftest.$ac_ext <<_ACEOF
-@@ -5144,68 +5715,60 @@ cat >>conftest.$ac_ext <<_ACEOF
-
- #undef $ac_func
-
--/* Override any gcc2 internal prototype to avoid an error. */
-+/* Override any GCC internal prototype to avoid an error.
-+ Use char because int might match the return type of a GCC
-+ builtin and then its argument prototype would still apply. */
- #ifdef __cplusplus
- extern "C"
--{
- #endif
--/* We use char because int might match the return type of a gcc2
-- builtin and then its argument prototype would still apply. */
- char $ac_func ();
- /* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
--#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-+#if defined __stub_$ac_func || defined __stub___$ac_func
- choke me
--#else
--char (*f) () = $ac_func;
--#endif
--#ifdef __cplusplus
--}
- #endif
-
- int
- main ()
- {
--return f != $ac_func;
-+return $ac_func ();
- ;
- return 0;
- }
- _ACEOF
- rm -f conftest.$ac_objext conftest$ac_exeext
--if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-- (eval $ac_link) 2>conftest.er1
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest$ac_exeext'
-- { (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
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest$ac_exeext &&
-+ $as_test_x conftest$ac_exeext; then
- eval "$as_ac_var=yes"
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
--eval "$as_ac_var=no"
-+ eval "$as_ac_var=no"
- fi
--rm -f conftest.err conftest.$ac_objext \
-+
-+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- fi
--echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
--echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-+ac_res=`eval echo '${'$as_ac_var'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
- if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
- #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-@@ -5216,30 +5779,30 @@ done
-
-
-
--echo "$as_me:$LINENO: checking disabled gnutls" >&5
--echo $ECHO_N "checking disabled gnutls... $ECHO_C" >&6
--# Check whether --enable-gnutls or --disable-gnutls was given.
-+{ echo "$as_me:$LINENO: checking disabled gnutls" >&5
-+echo $ECHO_N "checking disabled gnutls... $ECHO_C" >&6; }
-+# Check whether --enable-gnutls was given.
- if test "${enable_gnutls+set}" = set; then
-- enableval="$enable_gnutls"
--
-- echo "$as_me:$LINENO: result: yes" >&5
--echo "${ECHO_T}yes" >&6
-+ enableval=$enable_gnutls;
-+ { echo "$as_me:$LINENO: result: yes" >&5
-+echo "${ECHO_T}yes" >&6; }
- DISABLE_GNUTLS=yes
-
-
- else
-- echo "$as_me:$LINENO: result: not requested" >&5
--echo "${ECHO_T}not requested" >&6
-+ { echo "$as_me:$LINENO: result: not requested" >&5
-+echo "${ECHO_T}not requested" >&6; }
-
--fi;
-+fi
-
--# Check whether --with-libgnutls-prefix or --without-libgnutls-prefix was given.
-+
-+# Check whether --with-libgnutls-prefix was given.
- if test "${with_libgnutls_prefix+set}" = set; then
-- withval="$with_libgnutls_prefix"
-- libgnutls_config_prefix="$withval"
-+ withval=$with_libgnutls_prefix; libgnutls_config_prefix="$withval"
- else
- libgnutls_config_prefix=""
--fi;
-+fi
-+
-
- if test x$libgnutls_config_prefix != x ; then
- if test x${LIBGNUTLS_CONFIG+set} != xset ; then
-@@ -5250,8 +5813,8 @@ fi;
- if test "$DISABLE_GNUTLS" != "yes"; then
- # Extract the first word of "libgnutls-config", so it can be a program name with args.
- set dummy libgnutls-config; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
- if test "${ac_cv_path_LIBGNUTLS_CONFIG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -5266,32 +5829,33 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_LIBGNUTLS_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
- done
- done
-+IFS=$as_save_IFS
-
- test -z "$ac_cv_path_LIBGNUTLS_CONFIG" && ac_cv_path_LIBGNUTLS_CONFIG="no"
- ;;
- esac
- fi
- LIBGNUTLS_CONFIG=$ac_cv_path_LIBGNUTLS_CONFIG
--
- if test -n "$LIBGNUTLS_CONFIG"; then
-- echo "$as_me:$LINENO: result: $LIBGNUTLS_CONFIG" >&5
--echo "${ECHO_T}$LIBGNUTLS_CONFIG" >&6
-+ { echo "$as_me:$LINENO: result: $LIBGNUTLS_CONFIG" >&5
-+echo "${ECHO_T}$LIBGNUTLS_CONFIG" >&6; }
- else
-- echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+ { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
- fi
-
-+
- fi
- min_libgnutls_version=1.0.0
-- echo "$as_me:$LINENO: checking for libgnutls - version >= $min_libgnutls_version" >&5
--echo $ECHO_N "checking for libgnutls - version >= $min_libgnutls_version... $ECHO_C" >&6
-+ { echo "$as_me:$LINENO: checking for libgnutls - version >= $min_libgnutls_version" >&5
-+echo $ECHO_N "checking for libgnutls - version >= $min_libgnutls_version... $ECHO_C" >&6; }
- no_libgnutls=""
- if test "$DISABLE_GNUTLS" = "yes"; then
- LIBGNUTLS_CONFIG=no
-@@ -5375,13 +5939,22 @@ main ()
-
- _ACEOF
- rm -f conftest$ac_exeext
--if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-- (eval $ac_link) 2>&5
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-- (eval $ac_try) 2>&5
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-@@ -5394,15 +5967,17 @@ sed 's/^/| /' conftest.$ac_ext >&5
- ( exit $ac_status )
- no_libgnutls=yes
- fi
--rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
- fi
-+
-+
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
- fi
-
- if test "x$no_libgnutls" = x ; then
-- echo "$as_me:$LINENO: result: yes" >&5
--echo "${ECHO_T}yes" >&6
-+ { echo "$as_me:$LINENO: result: yes" >&5
-+echo "${ECHO_T}yes" >&6; }
-
- cat >>confdefs.h <<\_ACEOF
- #define HAVE_GNUTLS 1
-@@ -5415,8 +5990,8 @@ _ACEOF
- if test -f conf.libgnutlstest ; then
- :
- else
-- echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+ { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
- fi
- if test "$LIBGNUTLS_CONFIG" != "no" ; then
- if test -f conf.libgnutlstest ; then
-@@ -5446,27 +6021,23 @@ main ()
- }
- _ACEOF
- rm -f conftest.$ac_objext conftest$ac_exeext
--if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-- (eval $ac_link) 2>conftest.er1
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest$ac_exeext'
-- { (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
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest$ac_exeext &&
-+ $as_test_x conftest$ac_exeext; then
- echo "*** The test program compiled, but did not run. This usually means"
- echo "*** that the run-time linker is not finding LIBGNUTLS or finding the wrong"
- echo "*** version of LIBGNUTLS. If it is not finding LIBGNUTLS, you'll need to set your"
-@@ -5481,12 +6052,13 @@ else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
-- echo "*** The test program failed to compile or link. See the file config.log for the"
-+ echo "*** The test program failed to compile or link. See the file config.log for the"
- echo "*** exact error that occured. This usually means LIBGNUTLS was incorrectly installed"
- echo "*** or that you have moved LIBGNUTLS since it was installed. In the latter case, you"
- echo "*** may want to edit the libgnutls-config script: $LIBGNUTLS_CONFIG"
- fi
--rm -f conftest.err conftest.$ac_objext \
-+
-+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
-@@ -5506,18 +6078,19 @@ if test "X$LIBGNUTLS_LIBS" == "X";then
- for ac_header in openssl/md5.h
- do
- as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-- echo "$as_me:$LINENO: checking for $ac_header" >&5
--echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- fi
--echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
--echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-+ac_res=`eval echo '${'$as_ac_Header'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
- else
- # Is the header compilable?
--echo "$as_me:$LINENO: checking $ac_header usability" >&5
--echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -5528,41 +6101,37 @@ $ac_includes_default
- #include <$ac_header>
- _ACEOF
- rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-- (eval $ac_compile) 2>conftest.er1
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest.$ac_objext'
-- { (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
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
--ac_header_compiler=no
-+ ac_header_compiler=no
- fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
--echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
--echo "${ECHO_T}$ac_header_compiler" >&6
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-+echo "${ECHO_T}$ac_header_compiler" >&6; }
-
- # Is the header present?
--echo "$as_me:$LINENO: checking $ac_header presence" >&5
--echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -5571,24 +6140,22 @@ cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
- #include <$ac_header>
- _ACEOF
--if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+if { (ac_try="$ac_cpp conftest.$ac_ext"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); } >/dev/null; then
-- if test -s conftest.err; then
-- ac_cpp_err=$ac_c_preproc_warn_flag
-- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-- else
-- ac_cpp_err=
-- fi
--else
-- ac_cpp_err=yes
--fi
--if test -z "$ac_cpp_err"; then
-+ (exit $ac_status); } >/dev/null && {
-+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ }; then
- ac_header_preproc=yes
- else
- echo "$as_me: failed program was:" >&5
-@@ -5596,9 +6163,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
- fi
-+
- rm -f conftest.err conftest.$ac_ext
--echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
--echo "${ECHO_T}$ac_header_preproc" >&6
-+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-+echo "${ECHO_T}$ac_header_preproc" >&6; }
-
- # So? What about this header?
- case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-@@ -5622,33 +6190,32 @@ echo "$as_me: WARNING: $ac_header: s
- echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
- echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-- (
-- cat <<\_ASBOX
-+ ( cat <<\_ASBOX
- ## ------------------------------ ##
- ## Report this to nils@sipsak.org ##
- ## ------------------------------ ##
- _ASBOX
-- ) |
-- sed "s/^/$as_me: WARNING: /" >&2
-+ ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
- esac
--echo "$as_me:$LINENO: checking for $ac_header" >&5
--echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
- eval "$as_ac_Header=\$ac_header_preproc"
- fi
--echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
--echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-+ac_res=`eval echo '${'$as_ac_Header'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
-
- fi
- if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
- #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
- _ACEOF
-- echo "$as_me:$LINENO: checking for MD5_Init in -lcrypto" >&5
--echo $ECHO_N "checking for MD5_Init in -lcrypto... $ECHO_C" >&6
-+ { echo "$as_me:$LINENO: checking for MD5_Init in -lcrypto" >&5
-+echo $ECHO_N "checking for MD5_Init in -lcrypto... $ECHO_C" >&6; }
- if test "${ac_cv_lib_crypto_MD5_Init+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -5661,56 +6228,53 @@ cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
-
--/* Override any gcc2 internal prototype to avoid an error. */
-+/* Override any GCC internal prototype to avoid an error.
-+ Use char because int might match the return type of a GCC
-+ builtin and then its argument prototype would still apply. */
- #ifdef __cplusplus
- extern "C"
- #endif
--/* We use char because int might match the return type of a gcc2
-- builtin and then its argument prototype would still apply. */
- char MD5_Init ();
- int
- main ()
- {
--MD5_Init ();
-+return MD5_Init ();
- ;
- return 0;
- }
- _ACEOF
- rm -f conftest.$ac_objext conftest$ac_exeext
--if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-- (eval $ac_link) 2>conftest.er1
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest$ac_exeext'
-- { (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
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest$ac_exeext &&
-+ $as_test_x conftest$ac_exeext; then
- ac_cv_lib_crypto_MD5_Init=yes
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
--ac_cv_lib_crypto_MD5_Init=no
-+ ac_cv_lib_crypto_MD5_Init=no
- fi
--rm -f conftest.err conftest.$ac_objext \
-+
-+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
--echo "$as_me:$LINENO: result: $ac_cv_lib_crypto_MD5_Init" >&5
--echo "${ECHO_T}$ac_cv_lib_crypto_MD5_Init" >&6
-+{ echo "$as_me:$LINENO: result: $ac_cv_lib_crypto_MD5_Init" >&5
-+echo "${ECHO_T}$ac_cv_lib_crypto_MD5_Init" >&6; }
- if test $ac_cv_lib_crypto_MD5_Init = yes; then
-
- cat >>confdefs.h <<\_ACEOF
-@@ -5732,18 +6296,19 @@ fi
- for ac_header in openssl/sha.h
- do
- as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-- echo "$as_me:$LINENO: checking for $ac_header" >&5
--echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- fi
--echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
--echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-+ac_res=`eval echo '${'$as_ac_Header'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
- else
- # Is the header compilable?
--echo "$as_me:$LINENO: checking $ac_header usability" >&5
--echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -5754,41 +6319,37 @@ $ac_includes_default
- #include <$ac_header>
- _ACEOF
- rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-- (eval $ac_compile) 2>conftest.er1
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest.$ac_objext'
-- { (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
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
--ac_header_compiler=no
-+ ac_header_compiler=no
- fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
--echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
--echo "${ECHO_T}$ac_header_compiler" >&6
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-+echo "${ECHO_T}$ac_header_compiler" >&6; }
-
- # Is the header present?
--echo "$as_me:$LINENO: checking $ac_header presence" >&5
--echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -5797,24 +6358,22 @@ cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
- #include <$ac_header>
- _ACEOF
--if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+if { (ac_try="$ac_cpp conftest.$ac_ext"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); } >/dev/null; then
-- if test -s conftest.err; then
-- ac_cpp_err=$ac_c_preproc_warn_flag
-- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-- else
-- ac_cpp_err=
-- fi
--else
-- ac_cpp_err=yes
--fi
--if test -z "$ac_cpp_err"; then
-+ (exit $ac_status); } >/dev/null && {
-+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ }; then
- ac_header_preproc=yes
- else
- echo "$as_me: failed program was:" >&5
-@@ -5822,9 +6381,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
- fi
-+
- rm -f conftest.err conftest.$ac_ext
--echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
--echo "${ECHO_T}$ac_header_preproc" >&6
-+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-+echo "${ECHO_T}$ac_header_preproc" >&6; }
-
- # So? What about this header?
- case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-@@ -5848,33 +6408,32 @@ echo "$as_me: WARNING: $ac_header: s
- echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
- echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-- (
-- cat <<\_ASBOX
-+ ( cat <<\_ASBOX
- ## ------------------------------ ##
- ## Report this to nils@sipsak.org ##
- ## ------------------------------ ##
- _ASBOX
-- ) |
-- sed "s/^/$as_me: WARNING: /" >&2
-+ ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
- esac
--echo "$as_me:$LINENO: checking for $ac_header" >&5
--echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
- eval "$as_ac_Header=\$ac_header_preproc"
- fi
--echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
--echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-+ac_res=`eval echo '${'$as_ac_Header'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
-
- fi
- if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
- #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
- _ACEOF
-- echo "$as_me:$LINENO: checking for SHA1_Init in -lcrypto" >&5
--echo $ECHO_N "checking for SHA1_Init in -lcrypto... $ECHO_C" >&6
-+ { echo "$as_me:$LINENO: checking for SHA1_Init in -lcrypto" >&5
-+echo $ECHO_N "checking for SHA1_Init in -lcrypto... $ECHO_C" >&6; }
- if test "${ac_cv_lib_crypto_SHA1_Init+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -5887,56 +6446,53 @@ cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
-
--/* Override any gcc2 internal prototype to avoid an error. */
-+/* Override any GCC internal prototype to avoid an error.
-+ Use char because int might match the return type of a GCC
-+ builtin and then its argument prototype would still apply. */
- #ifdef __cplusplus
- extern "C"
- #endif
--/* We use char because int might match the return type of a gcc2
-- builtin and then its argument prototype would still apply. */
- char SHA1_Init ();
- int
- main ()
- {
--SHA1_Init ();
-+return SHA1_Init ();
- ;
- return 0;
- }
- _ACEOF
- rm -f conftest.$ac_objext conftest$ac_exeext
--if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-- (eval $ac_link) 2>conftest.er1
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest$ac_exeext'
-- { (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
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest$ac_exeext &&
-+ $as_test_x conftest$ac_exeext; then
- ac_cv_lib_crypto_SHA1_Init=yes
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
--ac_cv_lib_crypto_SHA1_Init=no
-+ ac_cv_lib_crypto_SHA1_Init=no
- fi
--rm -f conftest.err conftest.$ac_objext \
-+
-+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
--echo "$as_me:$LINENO: result: $ac_cv_lib_crypto_SHA1_Init" >&5
--echo "${ECHO_T}$ac_cv_lib_crypto_SHA1_Init" >&6
-+{ echo "$as_me:$LINENO: result: $ac_cv_lib_crypto_SHA1_Init" >&5
-+echo "${ECHO_T}$ac_cv_lib_crypto_SHA1_Init" >&6; }
- if test $ac_cv_lib_crypto_SHA1_Init = yes; then
-
- cat >>confdefs.h <<\_ACEOF
-@@ -5954,8 +6510,8 @@ done
-
-
-
-- echo "$as_me:$LINENO: checking for ares_version.h" >&5
--echo $ECHO_N "checking for ares_version.h... $ECHO_C" >&6
-+ { echo "$as_me:$LINENO: checking for ares_version.h" >&5
-+echo $ECHO_N "checking for ares_version.h... $ECHO_C" >&6; }
-
- ares_incdir=NONE
- ares_libdir=NONE
-@@ -5973,14 +6529,14 @@ echo $ECHO_N "checking for ares_version.
- done
-
- if test "$ares_incdir" = "NONE"; then
-- echo "$as_me:$LINENO: result: not found" >&5
--echo "${ECHO_T}not found" >&6
-+ { echo "$as_me:$LINENO: result: not found" >&5
-+echo "${ECHO_T}not found" >&6; }
- else
-- echo "$as_me:$LINENO: result: found at $ares_incdir" >&5
--echo "${ECHO_T}found at $ares_incdir" >&6
-+ { echo "$as_me:$LINENO: result: found at $ares_incdir" >&5
-+echo "${ECHO_T}found at $ares_incdir" >&6; }
-
-- echo "$as_me:$LINENO: checking for c-ares lib" >&5
--echo $ECHO_N "checking for c-ares lib... $ECHO_C" >&6
-+ { echo "$as_me:$LINENO: checking for c-ares lib" >&5
-+echo $ECHO_N "checking for c-ares lib... $ECHO_C" >&6; }
-
- for dir in $ares_libdirs; do
- for extension in $ares_libexten; do
-@@ -5997,15 +6553,15 @@ echo $ECHO_N "checking for c-ares lib...
- done
-
- if test "$ares_libdir" = "NONE"; then
-- echo "$as_me:$LINENO: result: not found" >&5
--echo "${ECHO_T}not found" >&6
-+ { echo "$as_me:$LINENO: result: not found" >&5
-+echo "${ECHO_T}not found" >&6; }
- else
-- echo "$as_me:$LINENO: result: found at $ares_libdir" >&5
--echo "${ECHO_T}found at $ares_libdir" >&6
-+ { echo "$as_me:$LINENO: result: found at $ares_libdir" >&5
-+echo "${ECHO_T}found at $ares_libdir" >&6; }
- fi
-
-- echo "$as_me:$LINENO: checking for ares_version in -lcares" >&5
--echo $ECHO_N "checking for ares_version in -lcares... $ECHO_C" >&6
-+ { echo "$as_me:$LINENO: checking for ares_version in -lcares" >&5
-+echo $ECHO_N "checking for ares_version in -lcares... $ECHO_C" >&6; }
- if test "${ac_cv_lib_cares_ares_version+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -6018,56 +6574,53 @@ cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
-
--/* Override any gcc2 internal prototype to avoid an error. */
-+/* Override any GCC internal prototype to avoid an error.
-+ Use char because int might match the return type of a GCC
-+ builtin and then its argument prototype would still apply. */
- #ifdef __cplusplus
- extern "C"
- #endif
--/* We use char because int might match the return type of a gcc2
-- builtin and then its argument prototype would still apply. */
- char ares_version ();
- int
- main ()
- {
--ares_version ();
-+return ares_version ();
- ;
- return 0;
- }
- _ACEOF
- rm -f conftest.$ac_objext conftest$ac_exeext
--if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-- (eval $ac_link) 2>conftest.er1
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest$ac_exeext'
-- { (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
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest$ac_exeext &&
-+ $as_test_x conftest$ac_exeext; then
- ac_cv_lib_cares_ares_version=yes
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
--ac_cv_lib_cares_ares_version=no
-+ ac_cv_lib_cares_ares_version=no
- fi
--rm -f conftest.err conftest.$ac_objext \
-+
-+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
--echo "$as_me:$LINENO: result: $ac_cv_lib_cares_ares_version" >&5
--echo "${ECHO_T}$ac_cv_lib_cares_ares_version" >&6
-+{ echo "$as_me:$LINENO: result: $ac_cv_lib_cares_ares_version" >&5
-+echo "${ECHO_T}$ac_cv_lib_cares_ares_version" >&6; }
- if test $ac_cv_lib_cares_ares_version = yes; then
-
- cat >>confdefs.h <<\_ACEOF
-@@ -6085,8 +6638,8 @@ fi
-
- if test "X$SIPSAK_HAVE_ARES" == "X"; then
-
-- echo "$as_me:$LINENO: checking for ruli.h" >&5
--echo $ECHO_N "checking for ruli.h... $ECHO_C" >&6
-+ { echo "$as_me:$LINENO: checking for ruli.h" >&5
-+echo $ECHO_N "checking for ruli.h... $ECHO_C" >&6; }
-
- ruli_incdir=NONE
- ruli_libdir=NONE
-@@ -6103,14 +6656,14 @@ echo $ECHO_N "checking for ruli.h... $EC
- done
-
- if test "$ruli_incdir" = "NONE"; then
-- echo "$as_me:$LINENO: result: not found" >&5
--echo "${ECHO_T}not found" >&6
-+ { echo "$as_me:$LINENO: result: not found" >&5
-+echo "${ECHO_T}not found" >&6; }
- else
-- echo "$as_me:$LINENO: result: found at $ruli_incdir" >&5
--echo "${ECHO_T}found at $ruli_incdir" >&6
-+ { echo "$as_me:$LINENO: result: found at $ruli_incdir" >&5
-+echo "${ECHO_T}found at $ruli_incdir" >&6; }
-
-- echo "$as_me:$LINENO: checking for libruli" >&5
--echo $ECHO_N "checking for libruli... $ECHO_C" >&6
-+ { echo "$as_me:$LINENO: checking for libruli" >&5
-+echo $ECHO_N "checking for libruli... $ECHO_C" >&6; }
-
- for dir in $ruli_libdirs; do
- for extension in $ruli_libexten; do
-@@ -6126,15 +6679,15 @@ echo $ECHO_N "checking for libruli... $E
- done
-
- if test "$ruli_libdir" = "NONE"; then
-- echo "$as_me:$LINENO: result: not found" >&5
--echo "${ECHO_T}not found" >&6
-+ { echo "$as_me:$LINENO: result: not found" >&5
-+echo "${ECHO_T}not found" >&6; }
- else
-- echo "$as_me:$LINENO: result: found at $ruli_libdir" >&5
--echo "${ECHO_T}found at $ruli_libdir" >&6
-+ { echo "$as_me:$LINENO: result: found at $ruli_libdir" >&5
-+echo "${ECHO_T}found at $ruli_libdir" >&6; }
- fi
-
-- echo "$as_me:$LINENO: checking for ruli_sync_query in -lruli" >&5
--echo $ECHO_N "checking for ruli_sync_query in -lruli... $ECHO_C" >&6
-+ { echo "$as_me:$LINENO: checking for ruli_sync_query in -lruli" >&5
-+echo $ECHO_N "checking for ruli_sync_query in -lruli... $ECHO_C" >&6; }
- if test "${ac_cv_lib_ruli_ruli_sync_query+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -6147,56 +6700,53 @@ cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
-
--/* Override any gcc2 internal prototype to avoid an error. */
-+/* Override any GCC internal prototype to avoid an error.
-+ Use char because int might match the return type of a GCC
-+ builtin and then its argument prototype would still apply. */
- #ifdef __cplusplus
- extern "C"
- #endif
--/* We use char because int might match the return type of a gcc2
-- builtin and then its argument prototype would still apply. */
- char ruli_sync_query ();
- int
- main ()
- {
--ruli_sync_query ();
-+return ruli_sync_query ();
- ;
- return 0;
- }
- _ACEOF
- rm -f conftest.$ac_objext conftest$ac_exeext
--if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-- (eval $ac_link) 2>conftest.er1
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest$ac_exeext'
-- { (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
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest$ac_exeext &&
-+ $as_test_x conftest$ac_exeext; then
- ac_cv_lib_ruli_ruli_sync_query=yes
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
--ac_cv_lib_ruli_ruli_sync_query=no
-+ ac_cv_lib_ruli_ruli_sync_query=no
- fi
--rm -f conftest.err conftest.$ac_objext \
-+
-+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
--echo "$as_me:$LINENO: result: $ac_cv_lib_ruli_ruli_sync_query" >&5
--echo "${ECHO_T}$ac_cv_lib_ruli_ruli_sync_query" >&6
-+{ echo "$as_me:$LINENO: result: $ac_cv_lib_ruli_ruli_sync_query" >&5
-+echo "${ECHO_T}$ac_cv_lib_ruli_ruli_sync_query" >&6; }
- if test $ac_cv_lib_ruli_ruli_sync_query = yes; then
-
- cat >>confdefs.h <<\_ACEOF
-@@ -6215,18 +6765,19 @@ else
- for ac_header in arpa/nameser.h
- do
- as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-- echo "$as_me:$LINENO: checking for $ac_header" >&5
--echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- fi
--echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
--echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-+ac_res=`eval echo '${'$as_ac_Header'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
- else
- # Is the header compilable?
--echo "$as_me:$LINENO: checking $ac_header usability" >&5
--echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -6237,41 +6788,37 @@ $ac_includes_default
- #include <$ac_header>
- _ACEOF
- rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-- (eval $ac_compile) 2>conftest.er1
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- 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'
-- { (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); }; } &&
-- { ac_try='test -s conftest.$ac_objext'
-- { (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
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
--ac_header_compiler=no
-+ ac_header_compiler=no
- fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
--echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
--echo "${ECHO_T}$ac_header_compiler" >&6
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-+echo "${ECHO_T}$ac_header_compiler" >&6; }
-
- # Is the header present?
--echo "$as_me:$LINENO: checking $ac_header presence" >&5
--echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -6280,24 +6827,22 @@ cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
- #include <$ac_header>
- _ACEOF
--if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+if { (ac_try="$ac_cpp conftest.$ac_ext"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); } >/dev/null; then
-- if test -s conftest.err; then
-- ac_cpp_err=$ac_c_preproc_warn_flag
-- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-- else
-- ac_cpp_err=
-- fi
--else
-- ac_cpp_err=yes
--fi
--if test -z "$ac_cpp_err"; then
-+ (exit $ac_status); } >/dev/null && {
-+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ }; then
- ac_header_preproc=yes
- else
- echo "$as_me: failed program was:" >&5
-@@ -6305,9 +6850,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
- fi
-+
- rm -f conftest.err conftest.$ac_ext
--echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
--echo "${ECHO_T}$ac_header_preproc" >&6
-+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-+echo "${ECHO_T}$ac_header_preproc" >&6; }
-
- # So? What about this header?
- case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-@@ -6331,25 +6877,24 @@ echo "$as_me: WARNING: $ac_header: s
- echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
- echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-- (
-- cat <<\_ASBOX
-+ ( cat <<\_ASBOX
- ## ------------------------------ ##
- ## Report this to nils@sipsak.org ##
- ## ------------------------------ ##
- _ASBOX
-- ) |
-- sed "s/^/$as_me: WARNING: /" >&2
-+ ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
- esac
--echo "$as_me:$LINENO: checking for $ac_header" >&5
--echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
- eval "$as_ac_Header=\$ac_header_preproc"
- fi
--echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
--echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-+ac_res=`eval echo '${'$as_ac_Header'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
-
- fi
- if test `eval echo '${'$as_ac_Header'}'` = yes; then
-@@ -6366,11 +6911,11 @@ fi
-
- # Check for T1 timer value
- def_timeout=500
-- # Check whether --enable-timeout or --disable-timeout was given.
-+ # Check whether --enable-timeout was given.
- if test "${enable_timeout+set}" = set; then
-- enableval="$enable_timeout"
-- def_timeout=$enableval
--fi;
-+ enableval=$enable_timeout; def_timeout=$enableval
-+fi
-+
- if test "X$def_timeout" = "Xno"; then
- # no timeout makes no sense
- def_timeout=500
-@@ -6382,7 +6927,7 @@ _ACEOF
-
-
-
-- ac_config_files="$ac_config_files Makefile"
-+ac_config_files="$ac_config_files Makefile"
-
- cat >confcache <<\_ACEOF
- # This file is a shell script that caches the results of configure
-@@ -6402,39 +6947,58 @@ _ACEOF
-
- # The following way of writing the cache mishandles newlines in values,
- # but we know of no workaround that is simple, portable, and efficient.
--# So, don't put newlines in cache variables' values.
-+# So, we kill variables containing newlines.
- # Ultrix sh set writes to stderr and can't be redirected directly,
- # and sets the high bit in the cache file unless we assign to the vars.
--{
-+(
-+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-+ eval ac_val=\$$ac_var
-+ case $ac_val in #(
-+ *${as_nl}*)
-+ case $ac_var in #(
-+ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
-+ esac
-+ case $ac_var in #(
-+ _ | IFS | as_nl) ;; #(
-+ *) $as_unset $ac_var ;;
-+ esac ;;
-+ esac
-+ done
-+
- (set) 2>&1 |
-- case `(ac_space=' '; set | grep ac_space) 2>&1` in
-- *ac_space=\ *)
-+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
-+ *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-- ;;
-+ ;; #(
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
-- sed -n \
-- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
-+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
-- esac;
--} |
-+ esac |
-+ sort
-+) |
- sed '
-+ /^ac_cv_env_/b end
- t clear
-- : clear
-+ :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
-- /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-- : end' >>confcache
--if diff $cache_file confcache >/dev/null 2>&1; then :; else
-- if test -w $cache_file; then
-- test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
-+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-+ :end' >>confcache
-+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-+ if test -w "$cache_file"; then
-+ test "x$cache_file" != "x/dev/null" &&
-+ { echo "$as_me:$LINENO: updating cache $cache_file" >&5
-+echo "$as_me: updating cache $cache_file" >&6;}
- cat confcache >$cache_file
- else
-- echo "not updating unwritable cache $cache_file"
-+ { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
-+echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
- fi
- rm -f confcache
-@@ -6443,32 +7007,18 @@ test "x$prefix" = xNONE && prefix=$ac_de
- # Let make expand exec_prefix.
- test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
--# VPATH may cause trouble with some makes, so we remove $(srcdir),
--# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
--# trailing colons and then remove the whole line if VPATH becomes empty
--# (actually we leave an empty line to preserve line numbers).
--if test "x$srcdir" = x.; then
-- ac_vpsub='/^[ ]*VPATH[ ]*=/{
--s/:*\$(srcdir):*/:/;
--s/:*\${srcdir}:*/:/;
--s/:*@srcdir@:*/:/;
--s/^\([^=]*=[ ]*\):*/\1/;
--s/:*$//;
--s/^[^=]*=[ ]*$//;
--}'
--fi
--
- DEFS=-DHAVE_CONFIG_H
-
- ac_libobjs=
- ac_ltlibobjs=
- for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
-- ac_i=`echo "$ac_i" |
-- sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
-- # 2. Add them.
-- ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
-- ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
-+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-+ ac_i=`echo "$ac_i" | sed "$ac_script"`
-+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
-+ # will be set to the directory where LIBOBJS objects are built.
-+ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-+ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
- done
- LIBOBJS=$ac_libobjs
-
-@@ -6520,17 +7070,45 @@ cat >>$CONFIG_STATUS <<\_ACEOF
- ## M4sh Initialization. ##
- ## --------------------- ##
-
--# Be Bourne compatible
-+# Be more Bourne compatible
-+DUALCASE=1; export DUALCASE # for MKS sh
- if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
--elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
-- set -o posix
-+ setopt NO_GLOB_SUBST
-+else
-+ case `(set -o) 2>/dev/null` in
-+ *posix*) set -o posix ;;
-+esac
-+
-+fi
-+
-+
-+
-+
-+# PATH needs CR
-+# Avoid depending upon Character Ranges.
-+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-+as_cr_digits='0123456789'
-+as_cr_alnum=$as_cr_Letters$as_cr_digits
-+
-+# The user is always right.
-+if test "${PATH_SEPARATOR+set}" != set; then
-+ echo "#! /bin/sh" >conf$$.sh
-+ echo "exit 0" >>conf$$.sh
-+ chmod +x conf$$.sh
-+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-+ PATH_SEPARATOR=';'
-+ else
-+ PATH_SEPARATOR=:
-+ fi
-+ rm -f conf$$.sh
- fi
--DUALCASE=1; export DUALCASE # for MKS sh
-
- # Support unset when possible.
- if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-@@ -6540,8 +7118,43 @@ else
- fi
-
-
-+# IFS
-+# We need space, tab and new line, in precisely that order. Quoting is
-+# there to prevent editors from complaining about space-tab.
-+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-+# splitting by setting IFS to empty value.)
-+as_nl='
-+'
-+IFS=" "" $as_nl"
-+
-+# Find who we are. Look in the path if we contain no directory separator.
-+case $0 in
-+ *[\\/]* ) as_myself=$0 ;;
-+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-+done
-+IFS=$as_save_IFS
-+
-+ ;;
-+esac
-+# We did not find ourselves, most probably we were run as `sh COMMAND'
-+# in which case we are not to be found in the path.
-+if test "x$as_myself" = x; then
-+ as_myself=$0
-+fi
-+if test ! -f "$as_myself"; then
-+ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-+ { (exit 1); exit 1; }
-+fi
-+
- # Work around bugs in pre-3.0 UWIN ksh.
--$as_unset ENV MAIL MAILPATH
-+for as_var in ENV MAIL MAILPATH
-+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-+done
- PS1='$ '
- PS2='> '
- PS4='+ '
-@@ -6555,18 +7168,19 @@ do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
-- $as_unset $as_var
-+ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- fi
- done
-
- # Required to use basename.
--if expr a : '\(a\)' >/dev/null 2>&1; then
-+if expr a : '\(a\)' >/dev/null 2>&1 &&
-+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
- else
- as_expr=false
- fi
-
--if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
-+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
- else
- as_basename=false
-@@ -6574,159 +7188,120 @@ fi
-
-
- # Name of the executable.
--as_me=`$as_basename "$0" ||
-+as_me=`$as_basename -- "$0" ||
- $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
-- X"$0" : 'X\(/\)$' \| \
-- . : '\(.\)' 2>/dev/null ||
-+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
- echo X/"$0" |
-- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
-- /^X\/\(\/\/\)$/{ s//\1/; q; }
-- /^X\/\(\/\).*/{ s//\1/; q; }
-- s/.*/./; q'`
--
--
--# PATH needs CR, and LINENO needs CR and PATH.
--# Avoid depending upon Character Ranges.
--as_cr_letters='abcdefghijklmnopqrstuvwxyz'
--as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
--as_cr_Letters=$as_cr_letters$as_cr_LETTERS
--as_cr_digits='0123456789'
--as_cr_alnum=$as_cr_Letters$as_cr_digits
-+ sed '/^.*\/\([^/][^/]*\)\/*$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\/\(\/\/\)$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\/\(\/\).*/{
-+ s//\1/
-+ q
-+ }
-+ s/.*/./; q'`
-
--# The user is always right.
--if test "${PATH_SEPARATOR+set}" != set; then
-- echo "#! /bin/sh" >conf$$.sh
-- echo "exit 0" >>conf$$.sh
-- chmod +x conf$$.sh
-- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-- PATH_SEPARATOR=';'
-- else
-- PATH_SEPARATOR=:
-- fi
-- rm -f conf$$.sh
--fi
-+# CDPATH.
-+$as_unset CDPATH
-
-
-- as_lineno_1=$LINENO
-- as_lineno_2=$LINENO
-- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
-- test "x$as_lineno_1" != "x$as_lineno_2" &&
-- test "x$as_lineno_3" = "x$as_lineno_2" || {
-- # Find who we are. Look in the path if we contain no path at all
-- # relative or not.
-- case $0 in
-- *[\\/]* ) as_myself=$0 ;;
-- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
-- IFS=$as_save_IFS
-- test -z "$as_dir" && as_dir=.
-- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
--done
-
-- ;;
-- esac
-- # We did not find ourselves, most probably we were run as `sh COMMAND'
-- # in which case we are not to be found in the path.
-- if test "x$as_myself" = x; then
-- as_myself=$0
-- fi
-- if test ! -f "$as_myself"; then
-- { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
--echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
-- { (exit 1); exit 1; }; }
-- fi
-- case $CONFIG_SHELL in
-- '')
-- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
--do
-- IFS=$as_save_IFS
-- test -z "$as_dir" && as_dir=.
-- for as_base in sh bash ksh sh5; do
-- case $as_dir in
-- /*)
-- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
-- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
-- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
-- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
-- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
-- CONFIG_SHELL=$as_dir/$as_base
-- export CONFIG_SHELL
-- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
-- fi;;
-- esac
-- done
--done
--;;
-- esac
-+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
-- # line-number line before each line; the second 'sed' does the real
-- # work. The second script uses 'N' to pair each line-number line
-- # with the numbered line, and appends trailing '-' during
-- # substitution so that $LINENO is not a special case at line end.
-+ # line-number line after each line using $LINENO; the second 'sed'
-+ # does the real work. The second script uses 'N' to pair each
-+ # line-number line with the line containing $LINENO, and appends
-+ # trailing '-' during substitution so that $LINENO is not a special
-+ # case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
-- sed '=' <$as_myself |
-+ # scripts with optimization help from Paolo Bonzini. Blame Lee
-+ # E. McMahon (1931-1989) for sed's syntax. :-)
-+ sed -n '
-+ p
-+ /[$]LINENO/=
-+ ' <$as_myself |
- sed '
-+ s/[$]LINENO.*/&-/
-+ t lineno
-+ b
-+ :lineno
- N
-- s,$,-,
-- : loop
-- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
-+ :loop
-+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
-- s,-$,,
-- s,^['$as_cr_digits']*\n,,
-+ s/-\n.*//
- ' >$as_me.lineno &&
-- chmod +x $as_me.lineno ||
-- { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
--echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
-+ chmod +x "$as_me.lineno" ||
-+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
-- # original and so on. Autoconf is especially sensible to this).
-- . ./$as_me.lineno
-+ # original and so on. Autoconf is especially sensitive to this).
-+ . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
- }
-
-
--case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
-- *c*,-n*) ECHO_N= ECHO_C='
--' ECHO_T=' ' ;;
-- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
-- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-+ as_dirname=dirname
-+else
-+ as_dirname=false
-+fi
-+
-+ECHO_C= ECHO_N= ECHO_T=
-+case `echo -n x` in
-+-n*)
-+ case `echo 'x\c'` in
-+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
-+ *) ECHO_C='\c';;
-+ esac;;
-+*)
-+ ECHO_N='-n';;
- esac
-
--if expr a : '\(a\)' >/dev/null 2>&1; then
-+if expr a : '\(a\)' >/dev/null 2>&1 &&
-+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
- else
- as_expr=false
- fi
-
- rm -f conf$$ conf$$.exe conf$$.file
-+if test -d conf$$.dir; then
-+ rm -f conf$$.dir/conf$$.file
-+else
-+ rm -f conf$$.dir
-+ mkdir conf$$.dir
-+fi
- echo >conf$$.file
- if ln -s conf$$.file conf$$ 2>/dev/null; then
-- # We could just check for DJGPP; but this test a) works b) is more generic
-- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
-- if test -f conf$$.exe; then
-- # Don't use ln at all; we don't have any links
-+ as_ln_s='ln -s'
-+ # ... but there are two gotchas:
-+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-+ # In both cases, we have to default to `cp -p'.
-+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
-- else
-- as_ln_s='ln -s'
-- fi
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
--rm -f conf$$ conf$$.exe conf$$.file
-+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-+rmdir conf$$.dir 2>/dev/null
-
- if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-@@ -6735,7 +7310,28 @@ else
- as_mkdir_p=false
- fi
-
--as_executable_p="test -f"
-+if test -x / >/dev/null 2>&1; then
-+ as_test_x='test -x'
-+else
-+ if ls -dL / >/dev/null 2>&1; then
-+ as_ls_L_option=L
-+ else
-+ as_ls_L_option=
-+ fi
-+ as_test_x='
-+ eval sh -c '\''
-+ if test -d "$1"; then
-+ test -d "$1/.";
-+ else
-+ case $1 in
-+ -*)set "./$1";;
-+ esac;
-+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
-+ ???[sx]*):;;*)false;;esac;fi
-+ '\'' sh
-+ '
-+fi
-+as_executable_p=$as_test_x
-
- # Sed expression to map a string onto a valid CPP name.
- as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-@@ -6744,31 +7340,14 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P
- as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
--# IFS
--# We need space, tab and new line, in precisely that order.
--as_nl='
--'
--IFS=" $as_nl"
--
--# CDPATH.
--$as_unset CDPATH
--
- exec 6>&1
-
--# Open the log real soon, to keep \$[0] and so on meaningful, and to
-+# Save the log message, to keep $[0] and so on meaningful, and to
- # report actual input values of CONFIG_FILES etc. instead of their
--# values after options handling. Logging --version etc. is OK.
--exec 5>>config.log
--{
-- echo
-- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
--## Running $as_me. ##
--_ASBOX
--} >&5
--cat >&5 <<_CSEOF
--
-+# values after options handling.
-+ac_log="
- This file was extended by sipsak $as_me 0.9.6, which was
--generated by GNU Autoconf 2.59. Invocation command line was
-+generated by GNU Autoconf 2.61. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
-@@ -6776,30 +7355,20 @@ generated by GNU Autoconf 2.59. Invocat
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
--_CSEOF
--echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
--echo >&5
-+on `(hostname || uname -n) 2>/dev/null | sed 1q`
-+"
-+
- _ACEOF
-
-+cat >>$CONFIG_STATUS <<_ACEOF
- # Files that config.status was made for.
--if test -n "$ac_config_files"; then
-- echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
--fi
--
--if test -n "$ac_config_headers"; then
-- echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
--fi
--
--if test -n "$ac_config_links"; then
-- echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
--fi
-+config_files="$ac_config_files"
-+config_headers="$ac_config_headers"
-+config_commands="$ac_config_commands"
-
--if test -n "$ac_config_commands"; then
-- echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
--fi
-+_ACEOF
-
- cat >>$CONFIG_STATUS <<\_ACEOF
--
- ac_cs_usage="\
- \`$as_me' instantiates files from templates according to the
- current configuration.
-@@ -6807,7 +7376,7 @@ current configuration.
- Usage: $0 [OPTIONS] [FILE]...
-
- -h, --help print this help, then exit
-- -V, --version print version number, then exit
-+ -V, --version print version number and configuration settings, then exit
- -q, --quiet do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
-@@ -6826,19 +7395,21 @@ Configuration commands:
- $config_commands
-
- Report bugs to <bug-autoconf@gnu.org>."
--_ACEOF
-
-+_ACEOF
- cat >>$CONFIG_STATUS <<_ACEOF
- ac_cs_version="\\
- sipsak config.status 0.9.6
--configured by $0, generated by GNU Autoconf 2.59,
-- with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
-+configured by $0, generated by GNU Autoconf 2.61,
-+ with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
-
--Copyright (C) 2003 Free Software Foundation, Inc.
-+Copyright (C) 2006 Free Software Foundation, Inc.
- This config.status script is free software; the Free Software Foundation
- gives unlimited permission to copy, distribute and modify it."
--srcdir=$srcdir
--INSTALL="$INSTALL"
-+
-+ac_pwd='$ac_pwd'
-+srcdir='$srcdir'
-+INSTALL='$INSTALL'
- _ACEOF
-
- cat >>$CONFIG_STATUS <<\_ACEOF
-@@ -6849,39 +7420,24 @@ while test $# != 0
- do
- case $1 in
- --*=*)
-- ac_option=`expr "x$1" : 'x\([^=]*\)='`
-- ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
-+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
-+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
-- -*)
-+ *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
-- *) # This is not an option, so the user has probably given explicit
-- # arguments.
-- ac_option=$1
-- ac_need_defaults=false;;
- esac
-
- case $ac_option in
- # Handling of the options.
--_ACEOF
--cat >>$CONFIG_STATUS <<\_ACEOF
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
-- --version | --vers* | -V )
-- echo "$ac_cs_version"; exit 0 ;;
-- --he | --h)
-- # Conflict between --help and --header
-- { { echo "$as_me:$LINENO: error: ambiguous option: $1
--Try \`$0 --help' for more information." >&5
--echo "$as_me: error: ambiguous option: $1
--Try \`$0 --help' for more information." >&2;}
-- { (exit 1); exit 1; }; };;
-- --help | --hel | -h )
-- echo "$ac_cs_usage"; exit 0 ;;
-- --debug | --d* | -d )
-+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-+ echo "$ac_cs_version"; exit ;;
-+ --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
-@@ -6891,18 +7447,24 @@ Try \`$0 --help' for more information."
- $ac_shift
- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
- ac_need_defaults=false;;
-+ --he | --h)
-+ # Conflict between --help and --header
-+ { echo "$as_me: error: ambiguous option: $1
-+Try \`$0 --help' for more information." >&2
-+ { (exit 1); exit 1; }; };;
-+ --help | --hel | -h )
-+ echo "$ac_cs_usage"; exit ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
-- -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
--Try \`$0 --help' for more information." >&5
--echo "$as_me: error: unrecognized option: $1
--Try \`$0 --help' for more information." >&2;}
-+ -*) { echo "$as_me: error: unrecognized option: $1
-+Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; } ;;
-
-- *) ac_config_targets="$ac_config_targets $1" ;;
-+ *) ac_config_targets="$ac_config_targets $1"
-+ ac_need_defaults=false ;;
-
- esac
- shift
-@@ -6918,37 +7480,49 @@ fi
- _ACEOF
- cat >>$CONFIG_STATUS <<_ACEOF
- if \$ac_cs_recheck; then
-- echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
-- exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-+ echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
-+ CONFIG_SHELL=$SHELL
-+ export CONFIG_SHELL
-+ exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- fi
-
- _ACEOF
-+cat >>$CONFIG_STATUS <<\_ACEOF
-+exec 5>>config.log
-+{
-+ echo
-+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-+## Running $as_me. ##
-+_ASBOX
-+ echo "$ac_log"
-+} >&5
-
-+_ACEOF
- cat >>$CONFIG_STATUS <<_ACEOF
- #
--# INIT-COMMANDS section.
-+# INIT-COMMANDS
- #
--
- AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
- _ACEOF
-
--
--
- cat >>$CONFIG_STATUS <<\_ACEOF
-+
-+# Handling of arguments.
- for ac_config_target in $ac_config_targets
- do
-- case "$ac_config_target" in
-- # Handling of arguments.
-- "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-- "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-- "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
-+ case $ac_config_target in
-+ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
-+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-+
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
- echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
- { (exit 1); exit 1; }; };;
- esac
- done
-
-+
- # If the user did not use the arguments to specify the items to instantiate,
- # then the envvar interface is used. Set only those that are not.
- # We use the long form for the default assignment because of an extremely
-@@ -6960,592 +7534,539 @@ if $ac_need_defaults; then
- fi
-
- # Have a temporary directory for convenience. Make it in the build tree
--# simply because there is no reason to put it here, and in addition,
-+# simply because there is no reason against having it here, and in addition,
- # creating and moving files from /tmp can sometimes cause problems.
--# Create a temporary directory, and hook for its removal unless debugging.
-+# Hook for its removal unless debugging.
-+# Note that there is a small window in which the directory will not be cleaned:
-+# after its creation but before its name has been assigned to `$tmp'.
- $debug ||
- {
-- trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
-+ tmp=
-+ trap 'exit_status=$?
-+ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
-+' 0
- trap '{ (exit 1); exit 1; }' 1 2 13 15
- }
--
- # Create a (secure) tmp directory for tmp files.
-
- {
-- tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
-+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
- } ||
- {
-- tmp=./confstat$$-$RANDOM
-- (umask 077 && mkdir $tmp)
-+ tmp=./conf$$-$RANDOM
-+ (umask 077 && mkdir "$tmp")
- } ||
- {
- echo "$me: cannot create a temporary directory in ." >&2
- { (exit 1); exit 1; }
- }
-
--_ACEOF
--
--cat >>$CONFIG_STATUS <<_ACEOF
--
- #
--# CONFIG_FILES section.
-+# Set up the sed scripts for CONFIG_FILES section.
- #
-
- # No need to generate the scripts if there are no CONFIG_FILES.
- # This happens for instance when ./config.status config.h
--if test -n "\$CONFIG_FILES"; then
-- # Protect against being on the right side of a sed subst in config.status.
-- sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
-- s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
--s,@SHELL@,$SHELL,;t t
--s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
--s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
--s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
--s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
--s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
--s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
--s,@exec_prefix@,$exec_prefix,;t t
--s,@prefix@,$prefix,;t t
--s,@program_transform_name@,$program_transform_name,;t t
--s,@bindir@,$bindir,;t t
--s,@sbindir@,$sbindir,;t t
--s,@libexecdir@,$libexecdir,;t t
--s,@datadir@,$datadir,;t t
--s,@sysconfdir@,$sysconfdir,;t t
--s,@sharedstatedir@,$sharedstatedir,;t t
--s,@localstatedir@,$localstatedir,;t t
--s,@libdir@,$libdir,;t t
--s,@includedir@,$includedir,;t t
--s,@oldincludedir@,$oldincludedir,;t t
--s,@infodir@,$infodir,;t t
--s,@mandir@,$mandir,;t t
--s,@build_alias@,$build_alias,;t t
--s,@host_alias@,$host_alias,;t t
--s,@target_alias@,$target_alias,;t t
--s,@DEFS@,$DEFS,;t t
--s,@ECHO_C@,$ECHO_C,;t t
--s,@ECHO_N@,$ECHO_N,;t t
--s,@ECHO_T@,$ECHO_T,;t t
--s,@LIBS@,$LIBS,;t t
--s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
--s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
--s,@INSTALL_DATA@,$INSTALL_DATA,;t t
--s,@CYGPATH_W@,$CYGPATH_W,;t t
--s,@PACKAGE@,$PACKAGE,;t t
--s,@VERSION@,$VERSION,;t t
--s,@ACLOCAL@,$ACLOCAL,;t t
--s,@AUTOCONF@,$AUTOCONF,;t t
--s,@AUTOMAKE@,$AUTOMAKE,;t t
--s,@AUTOHEADER@,$AUTOHEADER,;t t
--s,@MAKEINFO@,$MAKEINFO,;t t
--s,@install_sh@,$install_sh,;t t
--s,@STRIP@,$STRIP,;t t
--s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
--s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
--s,@mkdir_p@,$mkdir_p,;t t
--s,@AWK@,$AWK,;t t
--s,@SET_MAKE@,$SET_MAKE,;t t
--s,@am__leading_dot@,$am__leading_dot,;t t
--s,@AMTAR@,$AMTAR,;t t
--s,@am__tar@,$am__tar,;t t
--s,@am__untar@,$am__untar,;t t
--s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
--s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
--s,@MAINT@,$MAINT,;t t
--s,@CC@,$CC,;t t
--s,@CFLAGS@,$CFLAGS,;t t
--s,@LDFLAGS@,$LDFLAGS,;t t
--s,@CPPFLAGS@,$CPPFLAGS,;t t
--s,@ac_ct_CC@,$ac_ct_CC,;t t
--s,@EXEEXT@,$EXEEXT,;t t
--s,@OBJEXT@,$OBJEXT,;t t
--s,@DEPDIR@,$DEPDIR,;t t
--s,@am__include@,$am__include,;t t
--s,@am__quote@,$am__quote,;t t
--s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t
--s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t
--s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
--s,@CCDEPMODE@,$CCDEPMODE,;t t
--s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t
--s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t
--s,@DISTCC@,$DISTCC,;t t
--s,@build@,$build,;t t
--s,@build_cpu@,$build_cpu,;t t
--s,@build_vendor@,$build_vendor,;t t
--s,@build_os@,$build_os,;t t
--s,@host@,$host,;t t
--s,@host_cpu@,$host_cpu,;t t
--s,@host_vendor@,$host_vendor,;t t
--s,@host_os@,$host_os,;t t
--s,@CPP@,$CPP,;t t
--s,@EGREP@,$EGREP,;t t
--s,@LIBOBJS@,$LIBOBJS,;t t
--s,@DISABLE_GNUTLS@,$DISABLE_GNUTLS,;t t
--s,@LIBGNUTLS_CONFIG@,$LIBGNUTLS_CONFIG,;t t
--s,@LIBGNUTLS_CFLAGS@,$LIBGNUTLS_CFLAGS,;t t
--s,@LIBGNUTLS_LIBS@,$LIBGNUTLS_LIBS,;t t
--s,@SIPSAK_HAVE_ARES@,$SIPSAK_HAVE_ARES,;t t
--s,@LTLIBOBJS@,$LTLIBOBJS,;t t
--CEOF
-+if test -n "$CONFIG_FILES"; then
-
- _ACEOF
-
-- cat >>$CONFIG_STATUS <<\_ACEOF
-- # Split the substitutions into bite-sized pieces for seds with
-- # small command number limits, like on Digital OSF/1 and HP-UX.
-- ac_max_sed_lines=48
-- ac_sed_frag=1 # Number of current file.
-- ac_beg=1 # First line for current file.
-- ac_end=$ac_max_sed_lines # Line after last line for current file.
-- ac_more_lines=:
-- ac_sed_cmds=
-- while $ac_more_lines; do
-- if test $ac_beg -gt 1; then
-- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
-- else
-- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
-- fi
-- if test ! -s $tmp/subs.frag; then
-- ac_more_lines=false
-- else
-- # The purpose of the label and of the branching condition is to
-- # speed up the sed processing (if there are no `@' at all, there
-- # is no need to browse any of the substitutions).
-- # These are the two extra sed commands mentioned above.
-- (echo ':t
-- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
-- if test -z "$ac_sed_cmds"; then
-- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
-- else
-- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
-- fi
-- ac_sed_frag=`expr $ac_sed_frag + 1`
-- ac_beg=$ac_end
-- ac_end=`expr $ac_end + $ac_max_sed_lines`
-- fi
-- done
-- if test -z "$ac_sed_cmds"; then
-- ac_sed_cmds=cat
-+
-+
-+ac_delim='%!_!# '
-+for ac_last_try in false false false false false :; do
-+ cat >conf$$subs.sed <<_ACEOF
-+SHELL!$SHELL$ac_delim
-+PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
-+PACKAGE_NAME!$PACKAGE_NAME$ac_delim
-+PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
-+PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
-+PACKAGE_STRING!$PACKAGE_STRING$ac_delim
-+PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
-+exec_prefix!$exec_prefix$ac_delim
-+prefix!$prefix$ac_delim
-+program_transform_name!$program_transform_name$ac_delim
-+bindir!$bindir$ac_delim
-+sbindir!$sbindir$ac_delim
-+libexecdir!$libexecdir$ac_delim
-+datarootdir!$datarootdir$ac_delim
-+datadir!$datadir$ac_delim
-+sysconfdir!$sysconfdir$ac_delim
-+sharedstatedir!$sharedstatedir$ac_delim
-+localstatedir!$localstatedir$ac_delim
-+includedir!$includedir$ac_delim
-+oldincludedir!$oldincludedir$ac_delim
-+docdir!$docdir$ac_delim
-+infodir!$infodir$ac_delim
-+htmldir!$htmldir$ac_delim
-+dvidir!$dvidir$ac_delim
-+pdfdir!$pdfdir$ac_delim
-+psdir!$psdir$ac_delim
-+libdir!$libdir$ac_delim
-+localedir!$localedir$ac_delim
-+mandir!$mandir$ac_delim
-+DEFS!$DEFS$ac_delim
-+ECHO_C!$ECHO_C$ac_delim
-+ECHO_N!$ECHO_N$ac_delim
-+ECHO_T!$ECHO_T$ac_delim
-+LIBS!$LIBS$ac_delim
-+build_alias!$build_alias$ac_delim
-+host_alias!$host_alias$ac_delim
-+target_alias!$target_alias$ac_delim
-+INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
-+INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
-+INSTALL_DATA!$INSTALL_DATA$ac_delim
-+CYGPATH_W!$CYGPATH_W$ac_delim
-+PACKAGE!$PACKAGE$ac_delim
-+VERSION!$VERSION$ac_delim
-+ACLOCAL!$ACLOCAL$ac_delim
-+AUTOCONF!$AUTOCONF$ac_delim
-+AUTOMAKE!$AUTOMAKE$ac_delim
-+AUTOHEADER!$AUTOHEADER$ac_delim
-+MAKEINFO!$MAKEINFO$ac_delim
-+install_sh!$install_sh$ac_delim
-+STRIP!$STRIP$ac_delim
-+INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
-+mkdir_p!$mkdir_p$ac_delim
-+AWK!$AWK$ac_delim
-+SET_MAKE!$SET_MAKE$ac_delim
-+am__leading_dot!$am__leading_dot$ac_delim
-+AMTAR!$AMTAR$ac_delim
-+am__tar!$am__tar$ac_delim
-+am__untar!$am__untar$ac_delim
-+MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim
-+MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim
-+MAINT!$MAINT$ac_delim
-+CC!$CC$ac_delim
-+CFLAGS!$CFLAGS$ac_delim
-+LDFLAGS!$LDFLAGS$ac_delim
-+CPPFLAGS!$CPPFLAGS$ac_delim
-+ac_ct_CC!$ac_ct_CC$ac_delim
-+EXEEXT!$EXEEXT$ac_delim
-+OBJEXT!$OBJEXT$ac_delim
-+DEPDIR!$DEPDIR$ac_delim
-+am__include!$am__include$ac_delim
-+am__quote!$am__quote$ac_delim
-+AMDEP_TRUE!$AMDEP_TRUE$ac_delim
-+AMDEP_FALSE!$AMDEP_FALSE$ac_delim
-+AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
-+CCDEPMODE!$CCDEPMODE$ac_delim
-+am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
-+am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
-+DISTCC!$DISTCC$ac_delim
-+build!$build$ac_delim
-+build_cpu!$build_cpu$ac_delim
-+build_vendor!$build_vendor$ac_delim
-+build_os!$build_os$ac_delim
-+host!$host$ac_delim
-+host_cpu!$host_cpu$ac_delim
-+host_vendor!$host_vendor$ac_delim
-+host_os!$host_os$ac_delim
-+CPP!$CPP$ac_delim
-+GREP!$GREP$ac_delim
-+EGREP!$EGREP$ac_delim
-+LIBOBJS!$LIBOBJS$ac_delim
-+DISABLE_GNUTLS!$DISABLE_GNUTLS$ac_delim
-+LIBGNUTLS_CONFIG!$LIBGNUTLS_CONFIG$ac_delim
-+LIBGNUTLS_CFLAGS!$LIBGNUTLS_CFLAGS$ac_delim
-+LIBGNUTLS_LIBS!$LIBGNUTLS_LIBS$ac_delim
-+SIPSAK_HAVE_ARES!$SIPSAK_HAVE_ARES$ac_delim
-+LTLIBOBJS!$LTLIBOBJS$ac_delim
-+_ACEOF
-+
-+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 96; then
-+ break
-+ elif $ac_last_try; then
-+ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
-+ { (exit 1); exit 1; }; }
-+ else
-+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
--fi # test -n "$CONFIG_FILES"
-+done
-+
-+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-+if test -n "$ac_eof"; then
-+ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
-+ ac_eof=`expr $ac_eof + 1`
-+fi
-
-+cat >>$CONFIG_STATUS <<_ACEOF
-+cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
-+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
- _ACEOF
-+sed '
-+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-+s/^/s,@/; s/!/@,|#_!!_#|/
-+:n
-+t n
-+s/'"$ac_delim"'$/,g/; t
-+s/$/\\/; p
-+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-+' >>$CONFIG_STATUS <conf$$subs.sed
-+rm -f conf$$subs.sed
-+cat >>$CONFIG_STATUS <<_ACEOF
-+CEOF$ac_eof
-+_ACEOF
-+
-+
-+# VPATH may cause trouble with some makes, so we remove $(srcdir),
-+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-+# trailing colons and then remove the whole line if VPATH becomes empty
-+# (actually we leave an empty line to preserve line numbers).
-+if test "x$srcdir" = x.; then
-+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
-+s/:*\$(srcdir):*/:/
-+s/:*\${srcdir}:*/:/
-+s/:*@srcdir@:*/:/
-+s/^\([^=]*=[ ]*\):*/\1/
-+s/:*$//
-+s/^[^=]*=[ ]*$//
-+}'
-+fi
-+
- cat >>$CONFIG_STATUS <<\_ACEOF
--for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
-- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
-- case $ac_file in
-- - | *:- | *:-:* ) # input from stdin
-- cat >$tmp/stdin
-- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-- * ) ac_file_in=$ac_file.in ;;
-+fi # test -n "$CONFIG_FILES"
-+
-+
-+for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS
-+do
-+ case $ac_tag in
-+ :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
-+ case $ac_mode$ac_tag in
-+ :[FHL]*:*);;
-+ :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
-+echo "$as_me: error: Invalid tag $ac_tag." >&2;}
-+ { (exit 1); exit 1; }; };;
-+ :[FH]-) ac_tag=-:-;;
-+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-+ esac
-+ ac_save_IFS=$IFS
-+ IFS=:
-+ set x $ac_tag
-+ IFS=$ac_save_IFS
-+ shift
-+ ac_file=$1
-+ shift
-
-- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
-- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-+ case $ac_mode in
-+ :L) ac_source=$1;;
-+ :[FH])
-+ ac_file_inputs=
-+ for ac_f
-+ do
-+ case $ac_f in
-+ -) ac_f="$tmp/stdin";;
-+ *) # Look for the file first in the build tree, then in the source tree
-+ # (if the path is not absolute). The absolute path cannot be DOS-style,
-+ # because $ac_f cannot contain `:'.
-+ test -f "$ac_f" ||
-+ case $ac_f in
-+ [\\/$]*) false;;
-+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-+ esac ||
-+ { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
-+echo "$as_me: error: cannot find input file: $ac_f" >&2;}
-+ { (exit 1); exit 1; }; };;
-+ esac
-+ ac_file_inputs="$ac_file_inputs $ac_f"
-+ done
-+
-+ # 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. */
-+ configure_input="Generated from "`IFS=:
-+ echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
-+ if test x"$ac_file" != x-; then
-+ configure_input="$ac_file. $configure_input"
-+ { echo "$as_me:$LINENO: creating $ac_file" >&5
-+echo "$as_me: creating $ac_file" >&6;}
-+ fi
-+
-+ case $ac_tag in
-+ *:-:* | *:-) cat >"$tmp/stdin";;
-+ esac
-+ ;;
-+ esac
-+
-+ ac_dir=`$as_dirname -- "$ac_file" ||
- $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
-- X"$ac_file" : 'X\(/\)' \| \
-- . : '\(.\)' 2>/dev/null ||
-+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
- echo X"$ac_file" |
-- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-- /^X\(\/\/\)$/{ s//\1/; q; }
-- /^X\(\/\).*/{ s//\1/; q; }
-- s/.*/./; q'`
-- { if $as_mkdir_p; then
-- mkdir -p "$ac_dir"
-- else
-- as_dir="$ac_dir"
-+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)[^/].*/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\).*/{
-+ s//\1/
-+ q
-+ }
-+ s/.*/./; q'`
-+ { as_dir="$ac_dir"
-+ case $as_dir in #(
-+ -*) as_dir=./$as_dir;;
-+ esac
-+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
- as_dirs=
-- while test ! -d "$as_dir"; do
-- as_dirs="$as_dir $as_dirs"
-- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-+ while :; do
-+ case $as_dir in #(
-+ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
-+ *) as_qdir=$as_dir;;
-+ esac
-+ as_dirs="'$as_qdir' $as_dirs"
-+ as_dir=`$as_dirname -- "$as_dir" ||
- $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
-- X"$as_dir" : 'X\(/\)' \| \
-- . : '\(.\)' 2>/dev/null ||
-+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
- echo X"$as_dir" |
-- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-- /^X\(\/\/\)$/{ s//\1/; q; }
-- /^X\(\/\).*/{ s//\1/; q; }
-- s/.*/./; q'`
-+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)[^/].*/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\).*/{
-+ s//\1/
-+ q
-+ }
-+ s/.*/./; q'`
-+ test -d "$as_dir" && break
- done
-- test ! -n "$as_dirs" || mkdir $as_dirs
-- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
--echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
-+ test -z "$as_dirs" || eval "mkdir $as_dirs"
-+ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-+echo "$as_me: error: cannot create directory $as_dir" >&2;}
- { (exit 1); exit 1; }; }; }
--
- ac_builddir=.
-
--if test "$ac_dir" != .; then
-+case "$ac_dir" in
-+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-+*)
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-- # A "../" for each directory in $ac_dir_suffix.
-- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
--else
-- ac_dir_suffix= ac_top_builddir=
--fi
-+ # A ".." for each directory in $ac_dir_suffix.
-+ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
-+ case $ac_top_builddir_sub in
-+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-+ esac ;;
-+esac
-+ac_abs_top_builddir=$ac_pwd
-+ac_abs_builddir=$ac_pwd$ac_dir_suffix
-+# for backward compatibility:
-+ac_top_builddir=$ac_top_build_prefix
-
- case $srcdir in
-- .) # No --srcdir option. We are building in place.
-+ .) # We are building in place.
- ac_srcdir=.
-- if test -z "$ac_top_builddir"; then
-- ac_top_srcdir=.
-- else
-- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
-- fi ;;
-- [\\/]* | ?:[\\/]* ) # Absolute path.
-+ ac_top_srcdir=$ac_top_builddir_sub
-+ ac_abs_top_srcdir=$ac_pwd ;;
-+ [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
-- ac_top_srcdir=$srcdir ;;
-- *) # Relative path.
-- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-+ ac_top_srcdir=$srcdir
-+ ac_abs_top_srcdir=$srcdir ;;
-+ *) # Relative name.
-+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-+ ac_top_srcdir=$ac_top_build_prefix$srcdir
-+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
- esac
-+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
--# Do not use `cd foo && pwd` to compute absolute paths, because
--# the directories may not exist.
--case `pwd` in
--.) ac_abs_builddir="$ac_dir";;
--*)
-- case "$ac_dir" in
-- .) ac_abs_builddir=`pwd`;;
-- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
-- *) ac_abs_builddir=`pwd`/"$ac_dir";;
-- esac;;
--esac
--case $ac_abs_builddir in
--.) ac_abs_top_builddir=${ac_top_builddir}.;;
--*)
-- case ${ac_top_builddir}. in
-- .) ac_abs_top_builddir=$ac_abs_builddir;;
-- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
-- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
-- esac;;
--esac
--case $ac_abs_builddir in
--.) ac_abs_srcdir=$ac_srcdir;;
--*)
-- case $ac_srcdir in
-- .) ac_abs_srcdir=$ac_abs_builddir;;
-- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
-- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
-- esac;;
--esac
--case $ac_abs_builddir in
--.) ac_abs_top_srcdir=$ac_top_srcdir;;
--*)
-- case $ac_top_srcdir in
-- .) ac_abs_top_srcdir=$ac_abs_builddir;;
-- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
-- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
-- esac;;
--esac
-
-+ case $ac_mode in
-+ :F)
-+ #
-+ # CONFIG_FILE
-+ #
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-- *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
-+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
- esac
-+_ACEOF
-
-- 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. */
-- if test x"$ac_file" = x-; then
-- configure_input=
-- else
-- configure_input="$ac_file. "
-- fi
-- configure_input=$configure_input"Generated from `echo $ac_file_in |
-- sed 's,.*/,,'` by configure."
-+cat >>$CONFIG_STATUS <<\_ACEOF
-+# If the template does not know about datarootdir, expand it.
-+# FIXME: This hack should be removed a few years after 2.60.
-+ac_datarootdir_hack=; ac_datarootdir_seen=
-
-- # First look for the input files in the build tree, otherwise in the
-- # src tree.
-- ac_file_inputs=`IFS=:
-- for f in $ac_file_in; do
-- case $f in
-- -) echo $tmp/stdin ;;
-- [\\/$]*)
-- # Absolute (can't be DOS-style, as IFS=:)
-- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
--echo "$as_me: error: cannot find input file: $f" >&2;}
-- { (exit 1); exit 1; }; }
-- echo "$f";;
-- *) # Relative
-- if test -f "$f"; then
-- # Build tree
-- echo "$f"
-- elif test -f "$srcdir/$f"; then
-- # Source tree
-- echo "$srcdir/$f"
-- else
-- # /dev/null tree
-- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
--echo "$as_me: error: cannot find input file: $f" >&2;}
-- { (exit 1); exit 1; }; }
-- fi;;
-- esac
-- done` || { (exit 1); exit 1; }
-+case `sed -n '/datarootdir/ {
-+ p
-+ q
-+}
-+/@datadir@/p
-+/@docdir@/p
-+/@infodir@/p
-+/@localedir@/p
-+/@mandir@/p
-+' $ac_file_inputs` in
-+*datarootdir*) ac_datarootdir_seen=yes;;
-+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-+ { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-+echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
- _ACEOF
- cat >>$CONFIG_STATUS <<_ACEOF
-+ ac_datarootdir_hack='
-+ s&@datadir@&$datadir&g
-+ s&@docdir@&$docdir&g
-+ s&@infodir@&$infodir&g
-+ s&@localedir@&$localedir&g
-+ s&@mandir@&$mandir&g
-+ s&\\\${datarootdir}&$datarootdir&g' ;;
-+esac
-+_ACEOF
-+
-+# Neutralize VPATH when `$srcdir' = `.'.
-+# Shell code in configure.ac might set extrasub.
-+# FIXME: do we really want to maintain this feature?
-+cat >>$CONFIG_STATUS <<_ACEOF
- sed "$ac_vpsub
- $extrasub
- _ACEOF
- cat >>$CONFIG_STATUS <<\_ACEOF
- :t
- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b
--s,@configure_input@,$configure_input,;t t
--s,@srcdir@,$ac_srcdir,;t t
--s,@abs_srcdir@,$ac_abs_srcdir,;t t
--s,@top_srcdir@,$ac_top_srcdir,;t t
--s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
--s,@builddir@,$ac_builddir,;t t
--s,@abs_builddir@,$ac_abs_builddir,;t t
--s,@top_builddir@,$ac_top_builddir,;t t
--s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
--s,@INSTALL@,$ac_INSTALL,;t t
--" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
-- rm -f $tmp/stdin
-- if test x"$ac_file" != x-; then
-- mv $tmp/out $ac_file
-- else
-- cat $tmp/out
-- rm -f $tmp/out
-- fi
--
--done
--_ACEOF
--cat >>$CONFIG_STATUS <<\_ACEOF
--
--#
--# CONFIG_HEADER section.
--#
-+s&@configure_input@&$configure_input&;t t
-+s&@top_builddir@&$ac_top_builddir_sub&;t t
-+s&@srcdir@&$ac_srcdir&;t t
-+s&@abs_srcdir@&$ac_abs_srcdir&;t t
-+s&@top_srcdir@&$ac_top_srcdir&;t t
-+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-+s&@builddir@&$ac_builddir&;t t
-+s&@abs_builddir@&$ac_abs_builddir&;t t
-+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-+s&@INSTALL@&$ac_INSTALL&;t t
-+$ac_datarootdir_hack
-+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed 's/|#_!!_#|//g' >$tmp/out
-
--# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
--# NAME is the cpp macro being defined and VALUE is the value it is being given.
--#
--# ac_d sets the value in "#define NAME VALUE" lines.
--ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
--ac_dB='[ ].*$,\1#\2'
--ac_dC=' '
--ac_dD=',;t'
--# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
--ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
--ac_uB='$,\1#\2define\3'
--ac_uC=' '
--ac_uD=',;t'
-+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-+ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
-+ { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-+which seems to be undefined. Please make sure it is defined." >&5
-+echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-+which seems to be undefined. Please make sure it is defined." >&2;}
-
--for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
-- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
-+ rm -f "$tmp/stdin"
- case $ac_file in
-- - | *:- | *:-:* ) # input from stdin
-- cat >$tmp/stdin
-- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-- * ) ac_file_in=$ac_file.in ;;
-+ -) cat "$tmp/out"; rm -f "$tmp/out";;
-+ *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
- esac
--
-- test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
--echo "$as_me: creating $ac_file" >&6;}
--
-- # First look for the input files in the build tree, otherwise in the
-- # src tree.
-- ac_file_inputs=`IFS=:
-- for f in $ac_file_in; do
-- case $f in
-- -) echo $tmp/stdin ;;
-- [\\/$]*)
-- # Absolute (can't be DOS-style, as IFS=:)
-- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
--echo "$as_me: error: cannot find input file: $f" >&2;}
-- { (exit 1); exit 1; }; }
-- # Do quote $f, to prevent DOS paths from being IFS'd.
-- echo "$f";;
-- *) # Relative
-- if test -f "$f"; then
-- # Build tree
-- echo "$f"
-- elif test -f "$srcdir/$f"; then
-- # Source tree
-- echo "$srcdir/$f"
-- else
-- # /dev/null tree
-- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
--echo "$as_me: error: cannot find input file: $f" >&2;}
-- { (exit 1); exit 1; }; }
-- fi;;
-- esac
-- done` || { (exit 1); exit 1; }
-- # Remove the trailing spaces.
-- sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
--
-+ ;;
-+ :H)
-+ #
-+ # CONFIG_HEADER
-+ #
- _ACEOF
-
--# Transform confdefs.h into two sed scripts, `conftest.defines' and
--# `conftest.undefs', that substitutes the proper values into
--# config.h.in to produce config.h. The first handles `#define'
--# templates, and the second `#undef' templates.
--# And first: Protect against being on the right side of a sed subst in
--# config.status. Protect against being in an unquoted here document
--# in config.status.
--rm -f conftest.defines conftest.undefs
--# Using a here document instead of a string reduces the quoting nightmare.
--# Putting comments in sed scripts is not portable.
--#
--# `end' is used to avoid that the second main sed command (meant for
--# 0-ary CPP macros) applies to n-ary macro definitions.
--# See the Autoconf documentation for `clear'.
--cat >confdef2sed.sed <<\_ACEOF
--s/[\\&,]/\\&/g
--s,[\\$`],\\&,g
--t clear
--: clear
--s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
--t end
--s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
--: end
--_ACEOF
--# If some macros were called several times there might be several times
--# the same #defines, which is useless. Nevertheless, we may not want to
--# sort them, since we want the *last* AC-DEFINE to be honored.
--uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
--sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
--rm -f confdef2sed.sed
-+# Transform confdefs.h into a sed script `conftest.defines', that
-+# substitutes the proper values into config.h.in to produce config.h.
-+rm -f conftest.defines conftest.tail
-+# First, append a space to every undef/define line, to ease matching.
-+echo 's/$/ /' >conftest.defines
-+# Then, protect against being on the right side of a sed subst, or in
-+# an unquoted here document, in config.status. If some macros were
-+# called several times there might be several #defines for the same
-+# symbol, which is useless. But do not sort them, since the last
-+# AC_DEFINE must be honored.
-+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-+# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
-+# NAME is the cpp macro being defined, VALUE is the value it is being given.
-+# PARAMS is the parameter list in the macro definition--in most cases, it's
-+# just an empty string.
-+ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*'
-+ac_dB='\\)[ (].*,\\1define\\2'
-+ac_dC=' '
-+ac_dD=' ,'
-
--# This sed command replaces #undef with comments. This is necessary, for
-+uniq confdefs.h |
-+ sed -n '
-+ t rset
-+ :rset
-+ s/^[ ]*#[ ]*define[ ][ ]*//
-+ t ok
-+ d
-+ :ok
-+ s/[\\&,]/\\&/g
-+ s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
-+ s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
-+ ' >>conftest.defines
-+
-+# Remove the space that was appended to ease matching.
-+# Then replace #undef with comments. This is necessary, for
- # example, in the case of _POSIX_SOURCE, which is predefined and required
- # on some systems where configure will not decide to define it.
--cat >>conftest.undefs <<\_ACEOF
--s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
--_ACEOF
-+# (The regexp can be short, since the line contains either #define or #undef.)
-+echo 's/ $//
-+s,^[ #]*u.*,/* & */,' >>conftest.defines
-
--# Break up conftest.defines because some shells have a limit on the size
--# of here documents, and old seds have small limits too (100 cmds).
--echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
--echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
--echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
--echo ' :' >>$CONFIG_STATUS
--rm -f conftest.tail
--while grep . conftest.defines >/dev/null
-+# Break up conftest.defines:
-+ac_max_sed_lines=50
-+
-+# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1"
-+# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2"
-+# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1"
-+# et cetera.
-+ac_in='$ac_file_inputs'
-+ac_out='"$tmp/out1"'
-+ac_nxt='"$tmp/out2"'
-+
-+while :
- do
-- # Write a limited-size here document to $tmp/defines.sed.
-- echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
-- # Speed up: don't consider the non `#define' lines.
-- echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
-- # Work around the forget-to-reset-the-flag bug.
-- echo 't clr' >>$CONFIG_STATUS
-- echo ': clr' >>$CONFIG_STATUS
-- sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
-+ # Write a here document:
-+ cat >>$CONFIG_STATUS <<_ACEOF
-+ # First, check the format of the line:
-+ cat >"\$tmp/defines.sed" <<\\CEOF
-+/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def
-+/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def
-+b
-+:def
-+_ACEOF
-+ sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
- echo 'CEOF
-- sed -f $tmp/defines.sed $tmp/in >$tmp/out
-- rm -f $tmp/in
-- mv $tmp/out $tmp/in
--' >>$CONFIG_STATUS
-- sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
-+ sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
-+ ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
-+ sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
-+ grep . conftest.tail >/dev/null || break
- rm -f conftest.defines
- mv conftest.tail conftest.defines
- done
--rm -f conftest.defines
--echo ' fi # grep' >>$CONFIG_STATUS
--echo >>$CONFIG_STATUS
--
--# Break up conftest.undefs because some shells have a limit on the size
--# of here documents, and old seds have small limits too (100 cmds).
--echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
--rm -f conftest.tail
--while grep . conftest.undefs >/dev/null
--do
-- # Write a limited-size here document to $tmp/undefs.sed.
-- echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
-- # Speed up: don't consider the non `#undef'
-- echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
-- # Work around the forget-to-reset-the-flag bug.
-- echo 't clr' >>$CONFIG_STATUS
-- echo ': clr' >>$CONFIG_STATUS
-- sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
-- echo 'CEOF
-- sed -f $tmp/undefs.sed $tmp/in >$tmp/out
-- rm -f $tmp/in
-- mv $tmp/out $tmp/in
--' >>$CONFIG_STATUS
-- sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
-- rm -f conftest.undefs
-- mv conftest.tail conftest.undefs
--done
--rm -f conftest.undefs
-+rm -f conftest.defines conftest.tail
-
-+echo "ac_result=$ac_in" >>$CONFIG_STATUS
- cat >>$CONFIG_STATUS <<\_ACEOF
-- # 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. */
-- if test x"$ac_file" = x-; then
-- echo "/* Generated by configure. */" >$tmp/config.h
-- else
-- echo "/* $ac_file. Generated by configure. */" >$tmp/config.h
-- fi
-- cat $tmp/in >>$tmp/config.h
-- rm -f $tmp/in
- if test x"$ac_file" != x-; then
-- if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
-+ echo "/* $configure_input */" >"$tmp/config.h"
-+ cat "$ac_result" >>"$tmp/config.h"
-+ if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
- { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
- echo "$as_me: $ac_file is unchanged" >&6;}
- else
-- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
--$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-- X"$ac_file" : 'X\(//\)[^/]' \| \
-- X"$ac_file" : 'X\(//\)$' \| \
-- X"$ac_file" : 'X\(/\)' \| \
-- . : '\(.\)' 2>/dev/null ||
--echo X"$ac_file" |
-- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-- /^X\(\/\/\)$/{ s//\1/; q; }
-- /^X\(\/\).*/{ s//\1/; q; }
-- s/.*/./; q'`
-- { if $as_mkdir_p; then
-- mkdir -p "$ac_dir"
-- else
-- as_dir="$ac_dir"
-- as_dirs=
-- while test ! -d "$as_dir"; do
-- as_dirs="$as_dir $as_dirs"
-- as_dir=`(dirname "$as_dir") 2>/dev/null ||
--$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-- X"$as_dir" : 'X\(//\)[^/]' \| \
-- X"$as_dir" : 'X\(//\)$' \| \
-- X"$as_dir" : 'X\(/\)' \| \
-- . : '\(.\)' 2>/dev/null ||
--echo X"$as_dir" |
-- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-- /^X\(\/\/\)$/{ s//\1/; q; }
-- /^X\(\/\).*/{ s//\1/; q; }
-- s/.*/./; q'`
-- done
-- test ! -n "$as_dirs" || mkdir $as_dirs
-- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
--echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
-- { (exit 1); exit 1; }; }; }
--
- rm -f $ac_file
-- mv $tmp/config.h $ac_file
-+ mv "$tmp/config.h" $ac_file
- fi
- else
-- cat $tmp/config.h
-- rm -f $tmp/config.h
-+ echo "/* $configure_input */"
-+ cat "$ac_result"
- fi
-+ rm -f "$tmp/out12"
- # Compute $ac_file's index in $config_headers.
- _am_stamp_count=1
- for _am_header in $config_headers :; do
-@@ -7556,135 +8077,39 @@ for _am_header in $config_headers :; do
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
- done
--echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null ||
-+echo "timestamp for $ac_file" >`$as_dirname -- $ac_file ||
- $as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X$ac_file : 'X\(//\)[^/]' \| \
- X$ac_file : 'X\(//\)$' \| \
-- X$ac_file : 'X\(/\)' \| \
-- . : '\(.\)' 2>/dev/null ||
-+ X$ac_file : 'X\(/\)' \| . 2>/dev/null ||
- echo X$ac_file |
-- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-- /^X\(\/\/\)$/{ s//\1/; q; }
-- /^X\(\/\).*/{ s//\1/; q; }
-- s/.*/./; q'`/stamp-h$_am_stamp_count
--done
--_ACEOF
--cat >>$CONFIG_STATUS <<\_ACEOF
--
--#
--# CONFIG_COMMANDS section.
--#
--for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
-- ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
-- ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
-- ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
--$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-- X"$ac_dest" : 'X\(//\)[^/]' \| \
-- X"$ac_dest" : 'X\(//\)$' \| \
-- X"$ac_dest" : 'X\(/\)' \| \
-- . : '\(.\)' 2>/dev/null ||
--echo X"$ac_dest" |
-- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-- /^X\(\/\/\)$/{ s//\1/; q; }
-- /^X\(\/\).*/{ s//\1/; q; }
-- s/.*/./; q'`
-- { if $as_mkdir_p; then
-- mkdir -p "$ac_dir"
-- else
-- as_dir="$ac_dir"
-- as_dirs=
-- while test ! -d "$as_dir"; do
-- as_dirs="$as_dir $as_dirs"
-- as_dir=`(dirname "$as_dir") 2>/dev/null ||
--$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-- X"$as_dir" : 'X\(//\)[^/]' \| \
-- X"$as_dir" : 'X\(//\)$' \| \
-- X"$as_dir" : 'X\(/\)' \| \
-- . : '\(.\)' 2>/dev/null ||
--echo X"$as_dir" |
-- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-- /^X\(\/\/\)$/{ s//\1/; q; }
-- /^X\(\/\).*/{ s//\1/; q; }
-- s/.*/./; q'`
-- done
-- test ! -n "$as_dirs" || mkdir $as_dirs
-- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
--echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
-- { (exit 1); exit 1; }; }; }
--
-- ac_builddir=.
--
--if test "$ac_dir" != .; then
-- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-- # A "../" for each directory in $ac_dir_suffix.
-- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
--else
-- ac_dir_suffix= ac_top_builddir=
--fi
--
--case $srcdir in
-- .) # No --srcdir option. We are building in place.
-- ac_srcdir=.
-- if test -z "$ac_top_builddir"; then
-- ac_top_srcdir=.
-- else
-- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
-- fi ;;
-- [\\/]* | ?:[\\/]* ) # Absolute path.
-- ac_srcdir=$srcdir$ac_dir_suffix;
-- ac_top_srcdir=$srcdir ;;
-- *) # Relative path.
-- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-- ac_top_srcdir=$ac_top_builddir$srcdir ;;
--esac
-+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)[^/].*/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\).*/{
-+ s//\1/
-+ q
-+ }
-+ s/.*/./; q'`/stamp-h$_am_stamp_count
-+ ;;
-
--# Do not use `cd foo && pwd` to compute absolute paths, because
--# the directories may not exist.
--case `pwd` in
--.) ac_abs_builddir="$ac_dir";;
--*)
-- case "$ac_dir" in
-- .) ac_abs_builddir=`pwd`;;
-- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
-- *) ac_abs_builddir=`pwd`/"$ac_dir";;
-- esac;;
--esac
--case $ac_abs_builddir in
--.) ac_abs_top_builddir=${ac_top_builddir}.;;
--*)
-- case ${ac_top_builddir}. in
-- .) ac_abs_top_builddir=$ac_abs_builddir;;
-- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
-- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
-- esac;;
--esac
--case $ac_abs_builddir in
--.) ac_abs_srcdir=$ac_srcdir;;
--*)
-- case $ac_srcdir in
-- .) ac_abs_srcdir=$ac_abs_builddir;;
-- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
-- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
-- esac;;
--esac
--case $ac_abs_builddir in
--.) ac_abs_top_srcdir=$ac_top_srcdir;;
--*)
-- case $ac_top_srcdir in
-- .) ac_abs_top_srcdir=$ac_abs_builddir;;
-- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
-- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
-- esac;;
--esac
-+ :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5
-+echo "$as_me: executing $ac_file commands" >&6;}
-+ ;;
-+ esac
-
-
-- { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
--echo "$as_me: executing $ac_dest commands" >&6;}
-- case $ac_dest in
-- depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
-+ case $ac_file$ac_mode in
-+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
-@@ -7694,18 +8119,29 @@ echo "$as_me: executing $ac_dest command
- # each Makefile.in and add a new line on top of each file to say so.
- # So let's grep whole file.
- if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
-- dirpart=`(dirname "$mf") 2>/dev/null ||
-+ dirpart=`$as_dirname -- "$mf" ||
- $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
-- X"$mf" : 'X\(/\)' \| \
-- . : '\(.\)' 2>/dev/null ||
-+ X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
- echo X"$mf" |
-- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-- /^X\(\/\/\)$/{ s//\1/; q; }
-- /^X\(\/\).*/{ s//\1/; q; }
-- s/.*/./; q'`
-+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)[^/].*/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\).*/{
-+ s//\1/
-+ q
-+ }
-+ s/.*/./; q'`
- else
- continue
- fi
-@@ -7727,53 +8163,79 @@ echo X"$mf" |
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
-- fdir=`(dirname "$file") 2>/dev/null ||
-+ fdir=`$as_dirname -- "$file" ||
- $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
-- X"$file" : 'X\(/\)' \| \
-- . : '\(.\)' 2>/dev/null ||
-+ X"$file" : 'X\(/\)' \| . 2>/dev/null ||
- echo X"$file" |
-- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-- /^X\(\/\/\)$/{ s//\1/; q; }
-- /^X\(\/\).*/{ s//\1/; q; }
-- s/.*/./; q'`
-- { if $as_mkdir_p; then
-- mkdir -p $dirpart/$fdir
-- else
-- as_dir=$dirpart/$fdir
-+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)[^/].*/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\).*/{
-+ s//\1/
-+ q
-+ }
-+ s/.*/./; q'`
-+ { as_dir=$dirpart/$fdir
-+ case $as_dir in #(
-+ -*) as_dir=./$as_dir;;
-+ esac
-+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
- as_dirs=
-- while test ! -d "$as_dir"; do
-- as_dirs="$as_dir $as_dirs"
-- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-+ while :; do
-+ case $as_dir in #(
-+ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
-+ *) as_qdir=$as_dir;;
-+ esac
-+ as_dirs="'$as_qdir' $as_dirs"
-+ as_dir=`$as_dirname -- "$as_dir" ||
- $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
-- X"$as_dir" : 'X\(/\)' \| \
-- . : '\(.\)' 2>/dev/null ||
-+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
- echo X"$as_dir" |
-- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-- /^X\(\/\/\)$/{ s//\1/; q; }
-- /^X\(\/\).*/{ s//\1/; q; }
-- s/.*/./; q'`
-+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)[^/].*/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\).*/{
-+ s//\1/
-+ q
-+ }
-+ s/.*/./; q'`
-+ test -d "$as_dir" && break
- done
-- test ! -n "$as_dirs" || mkdir $as_dirs
-- fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5
--echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
-+ test -z "$as_dirs" || eval "mkdir $as_dirs"
-+ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-+echo "$as_me: error: cannot create directory $as_dir" >&2;}
- { (exit 1); exit 1; }; }; }
--
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
- ;;
-+
- esac
--done
--_ACEOF
-+done # for ac_tag
-
--cat >>$CONFIG_STATUS <<\_ACEOF
-
- { (exit 0); exit 0; }
- _ACEOF
diff --git a/package/sipsak/patches/patch-configure_ac b/package/sipsak/patches/patch-configure_ac
new file mode 100644
index 000000000..665ce59b2
--- /dev/null
+++ b/package/sipsak/patches/patch-configure_ac
@@ -0,0 +1,10 @@
+--- sipsak-0.9.8.1.orig/configure.ac 2021-01-08 06:31:40.000000000 +0100
++++ sipsak-0.9.8.1/configure.ac 2024-02-29 01:40:07.115755921 +0100
+@@ -14,7 +14,6 @@ AC_PROG_CC
+ if test "x$GCC" = "xyes"; then
+ CFLAGS="$CFLAGS -Wall"
+ fi
+-SIPSAK_GCC_STACK_PROTECT_CC
+ CHECK_PROG_DISTCC
+
+ AC_PROG_INSTALL
diff --git a/package/sipsak/patches/patch-header_f_c b/package/sipsak/patches/patch-header_f_c
deleted file mode 100644
index ed142ade5..000000000
--- a/package/sipsak/patches/patch-header_f_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- sipsak-0.9.6.orig/header_f.c 2006-01-28 22:11:50.000000000 +0100
-+++ sipsak-0.9.6/header_f.c 2016-09-23 18:49:25.092385094 +0200
-@@ -604,7 +604,7 @@ void print_message_line(char *message)
- }
-
- /* return pointer to the beginning of the message body */
--inline char* get_body(char *mes) {
-+char* get_body(char *mes) {
- char *cr;
-
- if ((cr = strstr(mes, "\r\n\r\n")) != NULL) {
diff --git a/package/sipsak/patches/patch-header_f_h b/package/sipsak/patches/patch-header_f_h
deleted file mode 100644
index 922599d28..000000000
--- a/package/sipsak/patches/patch-header_f_h
+++ /dev/null
@@ -1,9 +0,0 @@
---- sipsak-0.9.6.orig/header_f.h 2006-01-28 22:11:50.000000000 +0100
-+++ sipsak-0.9.6/header_f.h 2016-09-23 18:49:14.964003070 +0200
-@@ -61,5 +61,5 @@ void new_transaction(char *message);
-
- void print_message_line(char *message);
-
--inline char* get_body(char *mes);
-+char* get_body(char *mes);
- #endif
diff --git a/package/smartmontools/Makefile b/package/smartmontools/Makefile
index 29ac4fe6b..0b480a09f 100644
--- a/package/smartmontools/Makefile
+++ b/package/smartmontools/Makefile
@@ -8,8 +8,8 @@ PKG_NAME:= smartmontools
PKG_VERSION:= 7.1
PKG_RELEASE:= 1
PKG_HASH:= 3f734d2c99deb1e4af62b25d944c6252de70ca64d766c4c7294545a2e659b846
-PKG_DESCR:= add short description
-PKG_SECTION:= sys/hw
+PKG_DESCR:= Tools to provide advanced warning of disk degradation
+PKG_SECTION:= sys/hw
PKG_URL:= www.smartmontools.org
PKG_SITES:= $(MASTER_SITE_SOURCEFORGE:=smartmontools/)
diff --git a/package/sngrep/Makefile b/package/sngrep/Makefile
index f87eb7292..c4689be62 100644
--- a/package/sngrep/Makefile
+++ b/package/sngrep/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= sngrep
-PKG_VERSION:= 1.4.3
+PKG_VERSION:= 1.4.10
PKG_RELEASE:= 1
-PKG_HASH:= 7385ac202de6d6a1feffb2fd514600563133d9dfa7fb47be052de839abcc1d52
+PKG_HASH:= cedbe521c9730deda004bff71e88c8c56ae66d3d147ddc6f5f965df2ca67a8df
PKG_DESCR:= displaying sip calls message flows from terminal
PKG_SECTION:= net/debug
PKG_BUILDDEP:= libpcap ncurses
diff --git a/package/snort/Makefile b/package/snort/Makefile
index 73cde0a4d..1c044e190 100644
--- a/package/snort/Makefile
+++ b/package/snort/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= snort
-PKG_VERSION:= 2.9.14.1
+PKG_VERSION:= 2.9.20
PKG_RELEASE:= 1
-PKG_HASH:= 2472989da3aace000d1ea5931ece68f8e5cc0c511e272d65182113a2481e822d
+PKG_HASH:= 29400e13f53b1831e0b8b10ec1224a1cbaa6dc1533a5322a20dd80bb84b4981c
PKG_DESCR:= flexible network intrusion detection system
PKG_SECTION:= net/security
PKG_DEPENDS:= libnet libpcap libpcre libtirpc daq
diff --git a/package/socat/Makefile b/package/socat/Makefile
index 9ffac2fd9..5cfdef06a 100644
--- a/package/socat/Makefile
+++ b/package/socat/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= socat
-PKG_VERSION:= 1.7.3.2
+PKG_VERSION:= 1.7.4.3
PKG_RELEASE:= 1
-PKG_HASH:= ce3efc17e3e544876ebce7cd6c85b3c279fda057b2857fcaaf67b9ab8bdaf034
+PKG_HASH:= d697245144731423ddbbceacabbd29447089ea223e9a439b28f9ff90d0dd216e
PKG_DESCR:= multipurpose relay
PKG_SECTION:= net/misc
PKG_NEEDS:= threads
diff --git a/package/sofia-sip/Makefile b/package/sofia-sip/Makefile
new file mode 100644
index 000000000..7e94193dc
--- /dev/null
+++ b/package/sofia-sip/Makefile
@@ -0,0 +1,28 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= sofia-sip
+PKG_VERSION:= 1.13.17
+PKG_RELEASE:= 1
+PKG_HASH:= daca3d961b6aa2974ad5d3be69ed011726c3e4d511b2a0d4cb6d878821a2de7a
+PKG_DESCR:= sip library
+PKG_SECTION:= libs/misc
+PKG_SITES:= https://github.com/freeswitch/sofia-sip/archive/refs/tags/
+PKG_OPTS:= dev
+
+DISTFILES:= v$(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,SOFIA_SIP,sofia-sip,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+AUTOTOOL_STYLE:= bootstrap
+
+sofia-sip-install:
+ $(INSTALL_DIR) $(IDIR_SOFIA_SIP)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libsofia-sip*.so* \
+ $(IDIR_SOFIA_SIP)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/spandsp/Makefile b/package/spandsp/Makefile
new file mode 100644
index 000000000..a54a2fb9e
--- /dev/null
+++ b/package/spandsp/Makefile
@@ -0,0 +1,30 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= spandsp
+PKG_VERSION:= 7b0b8cf3d42b725405bcc63145de5e280265ce4e
+PKG_GIT:= hash
+PKG_RELEASE:= 1
+PKG_DESCR:= dsp library
+PKG_SECTION:= libs/misc
+PKG_BUILDDEP:= libtiff
+PKG_DEPENDS:= libtiff
+PKG_SITES:= https://github.com/freeswitch/spandsp.git
+PKG_OPTS:= dev
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,SPANDSP,spandsp,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+AUTOTOOL_STYLE:= autogen
+CONFIGURE_ENV+= ac_cv_func_realloc_0_nonnull=yes
+CONFIGURE_ENV+= ac_cv_func_malloc_0_nonnull=yes
+
+spandsp-install:
+ $(INSTALL_DIR) $(IDIR_SPANDSP)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libspandsp*.so* \
+ $(IDIR_SPANDSP)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/spdlog/Makefile b/package/spdlog/Makefile
new file mode 100644
index 000000000..3d96eecb9
--- /dev/null
+++ b/package/spdlog/Makefile
@@ -0,0 +1,31 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= spdlog
+PKG_VERSION:= 1.9.2
+PKG_RELEASE:= 1
+PKG_HASH:= 6fff9215f5cb81760be4cc16d033526d1080427d236e86d70bb02994f85e3d38
+PKG_DESCR:= very fast, header-only/compiled, C++ logging library
+PKG_BUILDDEP:= fmt
+PKG_SECTION:= libs/misc
+PKG_SITES:= https://github.com/gabime/spdlog/archive/refs/tags/
+PKG_OPTS:= dev
+
+DISTFILES:= v$(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,SPDLOG,spdlog,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+CONFIG_STYLE:= cmake
+CMAKE_FLAGS+= -DSPDLOG_BUILD_TESTS=OFF \
+ -DSPDLOG_BUILD_EXAMPLE=OFF \
+ -DSPDLOG_BUILD_BENCH=OFF \
+ -DSPDLOG_FMT_EXTERNAL=ON
+
+
+spdlog-install:
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/sqlite/Makefile b/package/sqlite/Makefile
index cf035471f..b9d695fbb 100644
--- a/package/sqlite/Makefile
+++ b/package/sqlite/Makefile
@@ -4,28 +4,30 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= sqlite
-PKG_VERSION:= 3.15.0
+PKG_VERSION:= 3.37.1
PKG_RELEASE:= 1
-PKG_HASH:= 77162da9b4a0336d7e77d5252b690662850f62b47c12d9125f74ab9de78ded27
+PKG_HASH:= 40f22a13bf38bbcd4c7ac79bcfb42a72d5aa40930c1f3f822e30ccce295f0f2e
PKG_DESCR:= embeddable sql database cli
PKG_SECTION:= sys/misc
PKG_BUILDDEP:= ncurses readline
-PKG_DEPENDS:= libsqlite
+PKG_DEPENDS:= libsqlite libreadline libncurses
PKG_URL:= http://www.sqlite.org/
-PKG_SITES:= http://www.sqlite.org/2016/
+PKG_SITES:= http://www.sqlite.org/2021/
PKG_LIBNAME:= libsqlite
PKG_OPTS:= dev
PKG_NOPARALLEL:= 1
-DISTFILES:= sqlite-autoconf-3150000.tar.gz
-WRKDIST= ${WRKDIR}/sqlite-autoconf-3150000
+DISTFILES:= sqlite-autoconf-3370100.tar.gz
+WRKDIST= ${WRKDIR}/sqlite-autoconf-3370100
PKG_SUBPKGS:= SQLITE_CLI LIBSQLITE
PKGSD_LIBSQLITE:= emeddable sql library
PKGSC_LIBSQLITE:= libs/db
+include ${ADK_TOPDIR}/mk/host.mk
include ${ADK_TOPDIR}/mk/package.mk
+$(eval $(call HOST_template,SQLITE,sqlite,${PKG_VERSION}-${PKG_RELEASE}))
$(eval $(call PKG_template,LIBSQLITE,libsqlite,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_LIBSQLITE},${PKGSD_LIBSQLITE},${PKGSC_LIBSQLITE},${PKG_OPTS}))
$(eval $(call PKG_template,SQLITE_CLI,sqlite-cli,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
@@ -57,4 +59,5 @@ sqlite-cli-install:
${INSTALL_DIR} ${IDIR_SQLITE_CLI}/usr/bin
${INSTALL_BIN} ${WRKINST}/usr/bin/sqlite3 ${IDIR_SQLITE_CLI}/usr/bin
+include ${ADK_TOPDIR}/mk/host-bottom.mk
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/squid/Makefile b/package/squid/Makefile
index 665392d44..93fa2c328 100644
--- a/package/squid/Makefile
+++ b/package/squid/Makefile
@@ -4,18 +4,16 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= squid
-PKG_VERSION:= 3.5.26
+PKG_VERSION:= 6.1
PKG_RELEASE:= 1
-PKG_HASH:= baa1eecb7d6e18881f4455060d80ee7cb95ae7e2695fdccf7e21ccc8f879a982
+PKG_HASH:= 6b029096cf531fc7bf83a305efeb0fdb2628cd42a4d20a61e0ab22e85a39c4e7
PKG_DESCR:= web and cache proxy
PKG_SECTION:= net/proxy
PKG_DEPENDS:= libltdl
PKG_BUILDDEP:= libtool
PKG_NEEDS:= threads c++
PKG_URL:= http://www.squid-cache.org/
-PKG_SITES:= http://www.squid-cache.org/Versions/v3/3.5/
-
-PKG_SYSTEM_DEPENDS:= !mikrotik-rb532
+PKG_SITES:= http://www.squid-cache.org/Versions/v6/
PKG_SUBPKGS:= SQUID SQUID_MOD_BASIC_AUTH_GETPWNAM SQUID_MOD_BASIC_AUTH_NCSA
PKG_SUBPKGS+= SQUID_MOD_BASIC_AUTH_SMB SQUID_MOD_DIGEST_AUTH_FILE
@@ -42,8 +40,6 @@ PKGSN_SQUID_MOD_BASIC_AUTH_LDAP:= squid
PKGSS_SQUID_MOD_BASIC_AUTH_LDAP:= libopenldap
PKGSB_SQUID_MOD_BASIC_AUTH_LDAP:= openldap
-PKG_HOST_DEPENDS:= !netbsd !cygwin
-
ifneq (${ADK_PACKAGE_SQUID_MOD_BASIC_AUTH_GETPWNAM},)
BASIC_AUTH_HELPERS+= getpwnam
endif
@@ -116,52 +112,35 @@ $(eval $(call PKG_mod_template,SQUID_MOD_NTLM_AUTH_FAKE,ntlm_fake_auth))
TARGET_LDFLAGS+= -lpthread
HOST_CXXFLAGS+= -static-libstdc++
-AUTOTOOL_STYLE:= autoreconf
-CONFIGURE_ENV+= ac_cv_sizeof_void_p=4 \
- ac_cv_sizeof_short=2 \
- ac_cv_sizeof_int=4 \
- ac_cv_sizeof_long=4 \
- ac_cv_sizeof_long_long=8 \
- ac_cv_sizeof___int64=0 \
- ac_cv_sizeof_int16_t=2 \
- ac_cv_sizeof_uint16_t=2 \
- ac_cv_sizeof_u_int16_t=2 \
- ac_cv_sizeof_int32_t=4 \
- ac_cv_sizeof_uint32_t=4 \
- ac_cv_sizeof_u_int32_t=4 \
- ac_cv_sizeof_int64_t=8 \
- ac_cv_sizeof_uint64_t=8 \
- ac_cv_sizeof_u_int64_t=8 \
- ac_cv_func_setresuid=no \
- ac_cv_func_va_copy=no \
- ac_cv_func___va_copy=no \
+CONFIGURE_ENV+= ac_cv_func_setresuid=yes \
+ ac_cv_func_va_copy=yes \
+ ac_cv_func___va_copy=yes \
ac_cv_epoll_works=yes \
- ac_cv_lib_nsl_main=no \
ac_cv_func_strnstr=no \
- squid_cv_pf_inet6=yes \
- squid_cv_gnu_atomics=yes \
ac_cv_have_squid=yes
XAKE_FLAGS+= MKDIR_P="mkdir -p"
CONFIGURE_ARGS+= --datadir=/usr/share/squid \
--libexecdir=/usr/lib/squid \
--sysconfdir=/etc/squid \
+ --disable-arch-native \
--with-gnu-ld \
--enable-x-accelerator-vary \
--with-pthreads \
--with-dl \
--disable-debug-cbdata \
--disable-strict-error-checking \
+ --enable-dependency-tracking \
--enable-kill-parent-hack \
--enable-arp-acl \
--enable-err-languages=English \
--enable-default-err-language=English \
--enable-linux-netfilter \
- --enable-icmp \
--enable-underscores \
--enable-cache-digests \
--enable-referer-log \
--enable-delay-pools \
--without-libcap \
+ --enable-icmp \
--disable-snmp \
--disable-esi \
--disable-ssl \
@@ -183,8 +162,6 @@ squid-install: ${INSTALL_MODS_y} ${INSTALL_MODS_m}
${IDIR_SQUID}/etc/squid/
${INSTALL_DATA} ./files/squid.conf ${IDIR_SQUID}/etc/squid/
${INSTALL_DIR} ${IDIR_SQUID}/usr/share/squid/errors
- ${CP} ${WRKINST}/usr/share/squid/errors/en \
- ${IDIR_SQUID}/usr/share/squid/errors
${CP} ${WRKINST}/usr/share/squid/errors/templates \
${IDIR_SQUID}/usr/share/squid/errors
${CP} ${WRKINST}/usr/share/squid/icons ${IDIR_SQUID}/usr/share/squid/
diff --git a/package/squid/patches/patch-configure_ac b/package/squid/patches/patch-configure_ac
deleted file mode 100644
index 26d1ceac1..000000000
--- a/package/squid/patches/patch-configure_ac
+++ /dev/null
@@ -1,11 +0,0 @@
---- squid-3.5.26.orig/configure.ac 2017-06-01 15:55:25.000000000 +0200
-+++ squid-3.5.26/configure.ac 2017-06-13 02:16:52.536880342 +0200
-@@ -1368,7 +1368,7 @@ if test "x$with_openssl" = "xyes"; then
- AC_DEFINE(USE_OPENSSL,1,[OpenSSL support is available])
-
- # check for other specific broken implementations
-- SQUID_CHECK_OPENSSL_GETCERTIFICATE_WORKS
-+ #SQUID_CHECK_OPENSSL_GETCERTIFICATE_WORKS
- SQUID_CHECK_OPENSSL_CONST_SSL_METHOD
- SQUID_CHECK_OPENSSL_TXTDB
- SQUID_CHECK_OPENSSL_HELLO_OVERWRITE_HACK
diff --git a/package/squid/patches/patch-include_SquidNew_h b/package/squid/patches/patch-include_SquidNew_h
deleted file mode 100644
index 8223c3cb1..000000000
--- a/package/squid/patches/patch-include_SquidNew_h
+++ /dev/null
@@ -1,26 +0,0 @@
---- squid-3.5.26.orig/include/SquidNew.h 2017-06-01 15:49:00.000000000 +0200
-+++ squid-3.5.26/include/SquidNew.h 2017-06-13 03:13:51.928727436 +0200
-@@ -18,19 +18,19 @@
- */
- #include <new>
-
--_SQUID_EXTERNNEW_ void *operator new(size_t size) throw (std::bad_alloc)
-+_SQUID_EXTERNNEW_ void *operator new(size_t size) noexcept(false)
- {
- return xmalloc(size);
- }
--_SQUID_EXTERNNEW_ void operator delete (void *address) throw()
-+_SQUID_EXTERNNEW_ void operator delete (void *address) noexcept(true)
- {
- xfree(address);
- }
--_SQUID_EXTERNNEW_ void *operator new[] (size_t size) throw (std::bad_alloc)
-+_SQUID_EXTERNNEW_ void *operator new[] (size_t size) noexcept(false)
- {
- return xmalloc(size);
- }
--_SQUID_EXTERNNEW_ void operator delete[] (void *address) throw()
-+_SQUID_EXTERNNEW_ void operator delete[] (void *address) noexcept(true)
- {
- xfree(address);
- }
diff --git a/package/squid/patches/patch-libltdl_aclocal_m4 b/package/squid/patches/patch-libltdl_aclocal_m4
deleted file mode 100644
index 45b9c7e64..000000000
--- a/package/squid/patches/patch-libltdl_aclocal_m4
+++ /dev/null
@@ -1,14 +0,0 @@
---- squid-3.5.2.orig/libltdl/aclocal.m4 2015-02-18 06:17:49.000000000 -0600
-+++ squid-3.5.2/libltdl/aclocal.m4 2015-02-23 15:31:16.264583929 -0600
-@@ -486,9 +486,9 @@ _AM_IF_OPTION([no-define],,
- # Some tools Automake needs.
- AC_REQUIRE([AM_SANITY_CHECK])dnl
- AC_REQUIRE([AC_ARG_PROGRAM])dnl
--AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
-+AM_MISSING_PROG([ACLOCAL], [aclocal])
- AM_MISSING_PROG([AUTOCONF], [autoconf])
--AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
-+AM_MISSING_PROG([AUTOMAKE], [automake])
- AM_MISSING_PROG([AUTOHEADER], [autoheader])
- AM_MISSING_PROG([MAKEINFO], [makeinfo])
- AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
diff --git a/package/squid/patches/patch-src_Makefile_am b/package/squid/patches/patch-src_Makefile_am
deleted file mode 100644
index 17c26aea6..000000000
--- a/package/squid/patches/patch-src_Makefile_am
+++ /dev/null
@@ -1,11 +0,0 @@
---- squid-3.5.26.orig/src/Makefile.am 2017-06-01 15:49:00.000000000 +0200
-+++ squid-3.5.26/src/Makefile.am 2017-06-13 02:16:52.592883945 +0200
-@@ -968,7 +968,7 @@ cache_cf.o: cf_parser.cci
-
- # cf_gen builds the configuration files.
- cf_gen$(EXEEXT): $(cf_gen_SOURCES) $(cf_gen_DEPENDENCIES) cf_gen_defines.cci
-- $(BUILDCXX) $(BUILDCXXFLAGS) -o $@ $(srcdir)/cf_gen.cc -I$(srcdir) -I$(top_builddir)/include/ -I$(top_builddir)/src
-+ $(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) -o $@ $(srcdir)/cf_gen.cc -I$(srcdir) -I$(top_builddir)/include/ -I$(top_builddir)/src
-
- # squid.conf.default is built by cf_gen when making cf_parser.cci
- squid.conf.default squid.conf.documented: cf_parser.cci
diff --git a/package/squid/patches/patch-src_Makefile_in b/package/squid/patches/patch-src_Makefile_in
new file mode 100644
index 000000000..b355e75b2
--- /dev/null
+++ b/package/squid/patches/patch-src_Makefile_in
@@ -0,0 +1,11 @@
+--- squid-5.2.orig/src/Makefile.in 2021-10-03 17:04:37.000000000 +0200
++++ squid-5.2/src/Makefile.in 2021-11-16 13:09:30.751245296 +0100
+@@ -8142,7 +8142,7 @@ cache_cf.o: cf_parser.cci
+
+ # cf_gen builds the configuration files.
+ cf_gen$(EXEEXT): $(cf_gen_SOURCES) $(cf_gen_DEPENDENCIES) cf_gen_defines.cci
+- $(BUILDCXX) $(BUILDCXXFLAGS) -o $@ $(srcdir)/cf_gen.cc -I$(srcdir) -I$(top_builddir)/include/ -I$(top_builddir)/src
++ $(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) -o $@ $(srcdir)/cf_gen.cc -I$(srcdir) -I$(top_builddir)/include/ -I$(top_builddir)/src
+
+ # squid.conf.default is built by cf_gen when making cf_parser.cci
+ squid.conf.default squid.conf.documented: cf_parser.cci
diff --git a/package/strace/Makefile b/package/strace/Makefile
index cfa99e018..dc4541f9c 100644
--- a/package/strace/Makefile
+++ b/package/strace/Makefile
@@ -4,15 +4,15 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= strace
-PKG_VERSION:= 5.7
+PKG_VERSION:= 6.8
PKG_RELEASE:= 1
-PKG_HASH:= b284b59f9bcd95b9728cea5bd5c0edc5ebe360af73dc76fbf6334f11c777ccd8
+PKG_HASH:= ba6950a96824cdf93a584fa04f0a733896d2a6bc5f0ad9ffe505d9b41e970149
PKG_DESCR:= system call trace program
PKG_SECTION:= app/debug
PKG_URL:= https://strace.io
PKG_SITES:= https://strace.io/files/$(PKG_VERSION)/
-PKG_ARCH_DEPENDS:= !h8300 !nds32
+PKG_ARCH_DEPENDS:= !h8300 !nds32 !cris
include ${ADK_TOPDIR}/mk/package.mk
@@ -33,11 +33,12 @@ ifeq ($(ADK_TARGET_USE_STATIC_LIBS_ONLY),y)
TARGET_LDFLAGS+= -pthread
endif
+AUTOTOOL_STYLE:= autoreconf
CONFIGURE_ARGS+= --enable-mpers=check
INSTALL_STYLE:= manual
do-install:
${INSTALL_DIR} ${IDIR_STRACE}/usr/sbin
- ${INSTALL_BIN} ${WRKBUILD}/strace ${IDIR_STRACE}/usr/sbin
+ ${INSTALL_BIN} ${WRKBUILD}/src/strace ${IDIR_STRACE}/usr/sbin
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/strace/patches/riscv32.patch b/package/strace/patches/riscv32.patch
new file mode 100644
index 000000000..b3492845b
--- /dev/null
+++ b/package/strace/patches/riscv32.patch
@@ -0,0 +1,282 @@
+# --- T2-COPYRIGHT-NOTE-BEGIN ---
+# T2 SDE: package/*/strace/riscv32.patch
+# Copyright (C) 2021 - 2022 The T2 SDE Project
+#
+# This Copyright note is generated by scripts/Create-CopyPatch,
+# more information can be found in the files COPYING and README.
+#
+# This patch file is dual-licensed. It is available under the license the
+# patched project is licensed under, as long as it is an OpenSource license
+# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
+# of the GNU General Public License version 2 as used by the T2 SDE.
+# --- T2-COPYRIGHT-NOTE-END ---
+
+Signed-off-by: Alistair Francis <alistair.francis at wdc.com>
+---
+ Makefile.am | 20 ++++++++--------
+ configure.ac | 6 ++++-
+ dist/INSTALL | 2 +-
+ src/linux/{riscv64 => riscv}/arch_defs_.h | 16 +++++++++++++
+ src/linux/{riscv64 => riscv}/arch_regs.c | 0
+ src/linux/riscv/asm_stat.h | 26 +++++++++++++++++++++
+ src/linux/{riscv64 => riscv}/get_error.c | 0
+ src/linux/{riscv64 => riscv}/get_scno.c | 0
+ src/linux/{riscv64 => riscv}/get_syscall_args.c | 0
+ src/linux/{riscv64 => riscv}/ioctls_arch0.h | 0
+ src/linux/riscv/ioctls_inc0.h | 7 ++++++
+ src/linux/{riscv64 => riscv}/raw_syscall.h | 0
+ src/linux/{riscv64 => riscv}/set_error.c | 0
+ src/linux/{riscv64 => riscv}/set_scno.c | 0
+ src/linux/{riscv64 => riscv}/syscallent.h | 8 ++++++-
+ src/linux/riscv64/ioctls_inc0.h | 1 -
+ src/riscv.c | 4 ++--
+ 17 files changed, 74 insertions(+), 16 deletions(-)
+ create mode 100644 src/linux/riscv/arch_defs_.h
+ rename src/linux/{riscv64 => src/riscv}/arch_regs.c (100%)
+ create mode 100644 src/linux/riscv/asm_stat.h
+ rename src/linux/{riscv64 => src/riscv}/get_error.c (100%)
+ rename src/linux/{riscv64 => src/riscv}/get_scno.c (100%)
+ rename src/linux/{riscv64 => src/riscv}/get_syscall_args.c (100%)
+ rename src/linux/{riscv64 => src/riscv}/ioctls_arch0.h (100%)
+ create mode 100644 src/linux/riscv/ioctls_inc0.h
+ rename src/linux/{riscv64 => src/riscv}/raw_syscall.h (100%)
+ rename src/linux/{riscv64 => src/riscv}/set_error.c (100%)
+ rename src/linux/{riscv64 => src/riscv}/set_scno.c (100%)
+ rename src/linux/{riscv64 => src/riscv}/syscallent.h (64%)
+ delete mode 100644 src/linux/riscv64/ioctls_inc0.h
+
+diff --git a/Makefile.am b/Makefile.am
+index 9c62218f..4955654b 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -802,19 +802,19 @@ extrA_DIST =
+ linux/powerpc64le/set_scno.c \
+ linux/powerpc64le/syscallent.h \
+ linux/powerpc64le/userent.h \
+- linux/riscv64/arch_defs_.h \
+- linux/riscv64/arch_prstatus_regset.c \
+- linux/riscv64/arch_prstatus_regset.h \
+- linux/riscv64/arch_regs.c \
+- linux/riscv64/get_error.c \
+- linux/riscv64/get_scno.c \
+- linux/riscv64/get_syscall_args.c \
+- linux/riscv64/ioctls_arch0.h \
+- linux/riscv64/ioctls_inc0.h \
+- linux/riscv64/raw_syscall.h \
+- linux/riscv64/set_error.c \
+- linux/riscv64/set_scno.c \
+- linux/riscv64/syscallent.h \
++ linux/riscv/arch_defs_.h \
++ linux/riscv/arch_prstatus_regset.c \
++ linux/riscv/arch_prstatus_regset.h \
++ linux/riscv/arch_regs.c \
++ linux/riscv/get_error.c \
++ linux/riscv/get_scno.c \
++ linux/riscv/get_syscall_args.c \
++ linux/riscv/ioctls_arch0.h \
++ linux/riscv/ioctls_inc0.h \
++ linux/riscv/raw_syscall.h \
++ linux/riscv/set_error.c \
++ linux/riscv/set_scno.c \
++ linux/riscv/syscallent.h \
+ linux/s390/arch_defs_.h \
+ linux/s390/arch_prstatus_regset.c \
+ linux/s390/arch_prstatus_regset.h \
+diff --git a/configure.ac b/configure.ac
+index dd4f13f4..4a53681c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -157,9 +157,12 @@
+ esac
+ fi
+ ;;
++riscv32*)
++ arch=riscv
++ AC_DEFINE([RISCV32], 1, [Define for the RISC-V 32-bit architecture])
++ ;;
+ riscv64*)
+- arch=riscv64
+- karch=riscv
++ arch=riscv
+ AC_DEFINE([RISCV64], 1, [Define for the RISC-V 64-bit architecture])
+ ;;
+ s390)
+diff --git a/dist/INSTALL b/dist/INSTALL
+index 0d22512b..19e059cf 100644
+--- a/INSTALL
++++ b/INSTALL
+@@ -63,7 +63,7 @@ Taking the aforementioned into account, there are the following requirements:
+
+ - gawk (at least version 3)
+ - Ability to compile for m32 personality (on architectures where it is supported)
+- - On x86_64, x32, powerpc64, sparc64, riscv64, tile64: gcc -m32
++ - On x86_64, x32, powerpc64, sparc64, riscv32, riscv64, tile64: gcc -m32
+ - s390x: gcc -m31
+ - AArch64: a separate compiler for armv7 EABI
+ - See information about configuration in "1.3.2. AArch64: AArch32 support"
+diff --git a/src/linux/riscv64/arch_defs_.h b/src/linux/riscv/arch_defs_.h
+similarity index 20%
+rename from src/linux/riscv64/arch_defs_.h
+rename to src/linux/riscv/arch_defs_.h
+index 0d22512b..19e059cf 100644
+--- a/src/linux/riscv64/arch_defs_.h
++++ b/src/linux/riscv/arch_defs_.h
+@@ -1 +1,8 @@
+-#define PERSONALITY0_AUDIT_ARCH { AUDIT_ARCH_RISCV64, 0 }
++#if defined(RISCV32)
++# define ARCH_TIMESIZE 64
++# define HAVE_ARCH_TIME32_SYSCALLS 0
++# define HAVE_ARCH_OLD_TIME64_SYSCALLS 0
++# define PERSONALITY0_AUDIT_ARCH { AUDIT_ARCH_RISCV32, 0 }
++#else
++# define PERSONALITY0_AUDIT_ARCH { AUDIT_ARCH_RISCV64, 0 }
++#endif
+diff --git a/src/linux/riscv64/arch_regs.c b/src/linux/riscv/arch_regs.c
+similarity index 100%
+rename from src/linux/riscv64/arch_regs.c
+rename to src/linux/riscv/arch_regs.c
+diff --git a/src/linux/riscv/asm_stat.h b/src/linux/riscv/asm_stat.h
+new file mode 100644
+index 00000000..73341454
+--- /dev/null
++++ b/src/linux/riscv/asm_stat.h
+@@ -0,0 +1,26 @@
++/*
++ * Copyright (c) 2020 The strace developers.
++ * All rights reserved.
++ *
++ * SPDX-License-Identifier: LGPL-2.1-or-later
++ */
++
++#ifndef STRACE_RISCV_ASM_STAT_H
++# define STRACE_RISCV_ASM_STAT_H
++
++# include "linux/generic/asm_stat.h"
++
++# if defined(RISCV32)
++# undef dev_t
++# undef ino_t
++# undef off64_t
++# undef off_t
++# undef time_t
++
++# define dev_t __kernel_loff_t
++# define ino_t __kernel_loff_t
++# define off64_t __kernel_off64_t
++# define off_t __kernel_off64_t
++# define time_t __kernel_time64_t
++# endif /* defined(RISCV32) */
++#endif /* !STRACE_RISCV_ASM_STAT_H */
+diff --git a/src/linux/riscv64/arch_prstatus_regset.h b/src/linux/riscv/arch_prstatus_regset.h
+similarity index 100%
+rename from src/linux/riscv64/arch_prstatus_regset.h
+rename to src/linux/riscv/arch_prstatus_regset.h
+diff --git a/src/linux/riscv64/arch_prstatus_regset.c b/src/linux/riscv/arch_prstatus_regset.c
+similarity index 100%
+rename from src/linux/riscv64/arch_prstatus_regset.c
+rename to src/linux/riscv/arch_prstatus_regset.c
+diff --git a/src/linux/riscv64/get_error.c b/src/linux/riscv/get_error.c
+similarity index 100%
+rename from src/linux/riscv64/get_error.c
+rename to src/linux/riscv/get_error.c
+diff --git a/src/linux/riscv64/get_scno.c b/src/linux/riscv/get_scno.c
+similarity index 100%
+rename from src/linux/riscv64/get_scno.c
+rename to src/linux/riscv/get_scno.c
+diff --git a/src/linux/riscv64/get_syscall_args.c b/src/linux/riscv/get_syscall_args.c
+similarity index 100%
+rename from src/linux/riscv64/get_syscall_args.c
+rename to src/linux/riscv/get_syscall_args.c
+diff --git a/src/linux/riscv64/ioctls_arch0.h b/src/linux/riscv/ioctls_arch0.h
+similarity index 100%
+rename from src/linux/riscv64/ioctls_arch0.h
+rename to src/linux/riscv/ioctls_arch0.h
+diff --git a/src/linux/riscv/ioctls_inc0.h b/src/linux/riscv/ioctls_inc0.h
+new file mode 100644
+index 00000000..cc39332f
+--- /dev/null
++++ b/src/linux/riscv/ioctls_inc0.h
+@@ -0,0 +1,7 @@
++#if defined(RISCV64)
++# include "../64/ioctls_inc.h"
++#elif defined(RISCV32)
++# include "../32/ioctls_inc.h"
++#else
++# error "Unsupported RISC-V xlen"
++#endif
+diff --git a/src/linux/riscv64/raw_syscall.h b/src/linux/riscv/raw_syscall.h
+similarity index 100%
+rename from src/linux/riscv64/raw_syscall.h
+rename to src/linux/riscv/raw_syscall.h
+diff --git a/src/linux/riscv64/set_error.c b/src/linux/riscv/set_error.c
+similarity index 100%
+rename from src/linux/riscv64/set_error.c
+rename to src/linux/riscv/set_error.c
+diff --git a/src/linux/riscv64/set_scno.c b/src/linux/riscv/set_scno.c
+similarity index 100%
+rename from src/linux/riscv64/set_scno.c
+rename to src/linux/riscv/set_scno.c
+diff --git a/src/linux/riscv64/syscallent.h b/src/linux/riscv/syscallent.h
+similarity index 64%
+rename from src/linux/riscv64/syscallent.h
+rename to src/linux/riscv/syscallent.h
+index 60c6ce58..c8fb3b8f 100644
+--- a/src/linux/riscv64/syscallent.h
++++ b/src/linux/riscv/syscallent.h
+@@ -5,7 +5,13 @@
+ * SPDX-License-Identifier: LGPL-2.1-or-later
+ */
+
+-#include "../64/syscallent.h"
++#if defined(RISCV64)
++# include "../64/syscallent.h"
++#elif defined(RISCV32)
++# include "../32/syscallent.h"
++#else
++# error "Unsupported RISC-V xlen"
++#endif
+
+ /* #define __NR_riscv_flush_icache (__NR_arch_specific_syscall + 15) */
+ [259] = { 3, TM, SEN(riscv_flush_icache), "riscv_flush_icache" },
+diff --git a/src/linux/riscv64/ioctls_inc0.h b/src/linux/riscv64/ioctls_inc0.h
+deleted file mode 100644
+index f9939faa..00000000
+--- a/src/linux/riscv64/ioctls_inc0.h
++++ /dev/null
+@@ -1 +0,0 @@
+-#include "../64/ioctls_inc.h"
+diff --git a/riscv.c b/riscv.c
+index 825eb293..20094ba5 100644
+--- a/src/riscv.c
++++ b/src/riscv.c
+@@ -9,7 +9,7 @@
+
+ #include "defs.h"
+
+-#ifdef RISCV64
++#if defined(RISCV64) || defined(RISCV32)
+
+ # include "xlat/riscv_flush_icache_flags.h"
+
+@@ -30,4 +30,4 @@ SYS_FUNC(riscv_flush_icache)
+ return RVAL_DECODED;
+ }
+
+-#endif /* RISCV64 */
++#endif /* defined(RISCV64) || defined(RISCV32) */
+--
+2.25.0
+
+--- strace-5.10/src/config.h.in.vanilla 2021-02-13 16:11:28.950662094 +0100
++++ strace-5.10/src/config.h.in 2021-02-13 16:12:01.681663752 +0100
+@@ -3776,6 +3779,9 @@
+ /* Define for the little endian PowerPC64 architecture. */
+ #undef POWERPC64LE
+
++/* Define for the RISC-V 32-bit architecture */
++#undef RISCV32
++
+ /* Define for the RISC-V 64-bit architecture */
+ #undef RISCV64
+
+
diff --git a/package/stress-ng/Makefile b/package/stress-ng/Makefile
index aece6e635..d9758801c 100644
--- a/package/stress-ng/Makefile
+++ b/package/stress-ng/Makefile
@@ -13,6 +13,8 @@ PKG_SITES:= http://kernel.ubuntu.com/~cking/tarballs/stress-ng/
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
+PKG_CFLINE_STRESS_NG:= depends on ADK_BROKEN
+
include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,STRESS_NG,stress-ng,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
diff --git a/package/strongswan/Makefile b/package/strongswan/Makefile
index 0ae988fe6..790700436 100644
--- a/package/strongswan/Makefile
+++ b/package/strongswan/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= strongswan
-PKG_VERSION:= 5.8.1
+PKG_VERSION:= 5.9.5
PKG_RELEASE:= 1
-PKG_HASH:= d86490a09160016d1c1a20020fef832559a22531eb9a1b1659256e3ca1c8c97d
+PKG_HASH:= 6db028c9033dfd7cab578ca7e4b0075922cffec7af8bffc7d67cac67f348a5be
PKG_DESCR:= ipsec based vpn software
PKG_SECTION:= net/security
PKG_KDEPENDS:= net-key inet-esp xfrm-user inet-xfrm-mode-transport
diff --git a/package/strongswan/patches/patch-src_libstrongswan_plugins_openssl_openssl_plugin_c b/package/strongswan/patches/patch-src_libstrongswan_plugins_openssl_openssl_plugin_c
index 2c88daa81..44915d63c 100644
--- a/package/strongswan/patches/patch-src_libstrongswan_plugins_openssl_openssl_plugin_c
+++ b/package/strongswan/patches/patch-src_libstrongswan_plugins_openssl_openssl_plugin_c
@@ -1,6 +1,6 @@
---- strongswan-5.8.1.orig/src/libstrongswan/plugins/openssl/openssl_plugin.c 2019-08-27 15:26:53.000000000 +0200
-+++ strongswan-5.8.1/src/libstrongswan/plugins/openssl/openssl_plugin.c 2019-10-08 02:05:20.954742229 +0200
-@@ -310,7 +310,7 @@ static private_key_t *openssl_private_ke
+--- strongswan-5.9.5.orig/src/libstrongswan/plugins/openssl/openssl_plugin.c 2022-01-08 12:54:02.000000000 +0100
++++ strongswan-5.9.5/src/libstrongswan/plugins/openssl/openssl_plugin.c 2022-03-21 16:41:08.736944525 +0100
+@@ -329,7 +329,7 @@ static private_key_t *openssl_private_ke
case EVP_PKEY_EC:
return openssl_ec_private_key_create(key, FALSE);
#endif
@@ -9,7 +9,7 @@
case EVP_PKEY_ED25519:
case EVP_PKEY_ED448:
return openssl_ed_private_key_create(key, FALSE);
-@@ -462,7 +462,7 @@ static private_key_t *openssl_private_ke
+@@ -481,7 +481,7 @@ static private_key_t *openssl_private_ke
case EVP_PKEY_EC:
return openssl_ec_private_key_create(key, TRUE);
#endif
@@ -18,7 +18,7 @@
case EVP_PKEY_ED25519:
case EVP_PKEY_ED448:
return openssl_ed_private_key_create(key, TRUE);
-@@ -814,7 +814,7 @@ plugin_t *openssl_plugin_create()
+@@ -980,7 +980,7 @@ plugin_t *openssl_plugin_create()
},
);
diff --git a/package/strongswan/patches/patch-src_libstrongswan_plugins_openssl_openssl_plugin_c.orig b/package/strongswan/patches/patch-src_libstrongswan_plugins_openssl_openssl_plugin_c.orig
index 401bd7a64..2c88daa81 100644
--- a/package/strongswan/patches/patch-src_libstrongswan_plugins_openssl_openssl_plugin_c.orig
+++ b/package/strongswan/patches/patch-src_libstrongswan_plugins_openssl_openssl_plugin_c.orig
@@ -1,6 +1,24 @@
---- strongswan-5.5.0.orig/src/libstrongswan/plugins/openssl/openssl_plugin.c 2016-06-30 16:20:10.000000000 +0200
-+++ strongswan-5.5.0/src/libstrongswan/plugins/openssl/openssl_plugin.c 2016-09-30 05:36:45.015692462 +0200
-@@ -573,7 +573,7 @@ plugin_t *openssl_plugin_create()
+--- strongswan-5.8.1.orig/src/libstrongswan/plugins/openssl/openssl_plugin.c 2019-08-27 15:26:53.000000000 +0200
++++ strongswan-5.8.1/src/libstrongswan/plugins/openssl/openssl_plugin.c 2019-10-08 02:05:20.954742229 +0200
+@@ -310,7 +310,7 @@ static private_key_t *openssl_private_ke
+ case EVP_PKEY_EC:
+ return openssl_ec_private_key_create(key, FALSE);
+ #endif
+-#if OPENSSL_VERSION_NUMBER >= 0x1010100fL && !defined(OPENSSL_NO_EC)
++#if OPENSSL_VERSION_NUMBER >= 0x1010100fL && !defined(OPENSSL_NO_EC) && !defined(LIBRESSL_VERSION_NUMBER)
+ case EVP_PKEY_ED25519:
+ case EVP_PKEY_ED448:
+ return openssl_ed_private_key_create(key, FALSE);
+@@ -462,7 +462,7 @@ static private_key_t *openssl_private_ke
+ case EVP_PKEY_EC:
+ return openssl_ec_private_key_create(key, TRUE);
+ #endif
+-#if OPENSSL_VERSION_NUMBER >= 0x1010100fL && !defined(OPENSSL_NO_EC)
++#if OPENSSL_VERSION_NUMBER >= 0x1010100fL && !defined(OPENSSL_NO_EC) && !defined(LIBRESSL_VERSION_NUMBER)
+ case EVP_PKEY_ED25519:
+ case EVP_PKEY_ED448:
+ return openssl_ed_private_key_create(key, TRUE);
+@@ -814,7 +814,7 @@ plugin_t *openssl_plugin_create()
},
);
diff --git a/package/strongswan/patches/patch-src_libstrongswan_plugins_openssl_openssl_rsa_private_key_c b/package/strongswan/patches/patch-src_libstrongswan_plugins_openssl_openssl_rsa_private_key_c
new file mode 100644
index 000000000..1e459f0ef
--- /dev/null
+++ b/package/strongswan/patches/patch-src_libstrongswan_plugins_openssl_openssl_rsa_private_key_c
@@ -0,0 +1,11 @@
+--- strongswan-5.9.5.orig/src/libstrongswan/plugins/openssl/openssl_rsa_private_key.c 2021-12-29 12:08:27.000000000 +0100
++++ strongswan-5.9.5/src/libstrongswan/plugins/openssl/openssl_rsa_private_key.c 2022-03-21 16:48:57.605794714 +0100
+@@ -280,7 +280,7 @@ METHOD(private_key_t, sign, bool,
+ return build_emsa_pkcs1_signature(this, NID_sha384, data, signature);
+ case SIGN_RSA_EMSA_PKCS1_SHA2_512:
+ return build_emsa_pkcs1_signature(this, NID_sha512, data, signature);
+-#if OPENSSL_VERSION_NUMBER >= 0x1010100fL && !defined(OPENSSL_NO_SHA3)
++#if OPENSSL_VERSION_NUMBER >= 0x1010100fL && !defined(OPENSSL_NO_SHA3) && !defined(LIBRESSL_VERSION_NUMBER)
+ case SIGN_RSA_EMSA_PKCS1_SHA3_224:
+ return build_emsa_pkcs1_signature(this, NID_sha3_224, data, signature);
+ case SIGN_RSA_EMSA_PKCS1_SHA3_256:
diff --git a/package/strongswan/patches/patch-src_libstrongswan_plugins_openssl_openssl_rsa_public_key_c b/package/strongswan/patches/patch-src_libstrongswan_plugins_openssl_openssl_rsa_public_key_c
new file mode 100644
index 000000000..3571cad01
--- /dev/null
+++ b/package/strongswan/patches/patch-src_libstrongswan_plugins_openssl_openssl_rsa_public_key_c
@@ -0,0 +1,11 @@
+--- strongswan-5.9.5.orig/src/libstrongswan/plugins/openssl/openssl_rsa_public_key.c 2021-12-29 12:08:27.000000000 +0100
++++ strongswan-5.9.5/src/libstrongswan/plugins/openssl/openssl_rsa_public_key.c 2022-03-21 16:49:30.581005593 +0100
+@@ -281,7 +281,7 @@ METHOD(public_key_t, verify, bool,
+ return verify_emsa_pkcs1_signature(this, NID_sha384, data, signature);
+ case SIGN_RSA_EMSA_PKCS1_SHA2_512:
+ return verify_emsa_pkcs1_signature(this, NID_sha512, data, signature);
+-#if OPENSSL_VERSION_NUMBER >= 0x1010100fL && !defined(OPENSSL_NO_SHA3)
++#if OPENSSL_VERSION_NUMBER >= 0x1010100fL && !defined(OPENSSL_NO_SHA3) && !defined(LIBRESSL_VERSION_NUMBER)
+ case SIGN_RSA_EMSA_PKCS1_SHA3_224:
+ return verify_emsa_pkcs1_signature(this, NID_sha3_224, data, signature);
+ case SIGN_RSA_EMSA_PKCS1_SHA3_256:
diff --git a/package/strongswan/patches/patch-src_libstrongswan_plugins_openssl_openssl_x_diffie_hellman_c b/package/strongswan/patches/patch-src_libstrongswan_plugins_openssl_openssl_x_diffie_hellman_c
index f4738c4ca..d5dc7efa0 100644
--- a/package/strongswan/patches/patch-src_libstrongswan_plugins_openssl_openssl_x_diffie_hellman_c
+++ b/package/strongswan/patches/patch-src_libstrongswan_plugins_openssl_openssl_x_diffie_hellman_c
@@ -1,5 +1,5 @@
---- strongswan-5.8.1.orig/src/libstrongswan/plugins/openssl/openssl_x_diffie_hellman.c 2018-12-14 16:48:24.000000000 +0100
-+++ strongswan-5.8.1/src/libstrongswan/plugins/openssl/openssl_x_diffie_hellman.c 2019-10-08 02:05:54.116867134 +0200
+--- strongswan-5.9.5.orig/src/libstrongswan/plugins/openssl/openssl_x_diffie_hellman.c 2022-01-08 12:54:02.000000000 +0100
++++ strongswan-5.9.5/src/libstrongswan/plugins/openssl/openssl_x_diffie_hellman.c 2022-03-21 16:41:08.744944336 +0100
@@ -17,7 +17,7 @@
/* basic support for X25519 was added with 1.1.0a, but we require features (e.g.
@@ -8,4 +8,4 @@
+#if OPENSSL_VERSION_NUMBER >= 0x1010100fL && !defined(OPENSSL_NO_ECDH) && !defined(LIBRESSL_VERSION_NUMBER)
#include "openssl_x_diffie_hellman.h"
-
+ #include "openssl_util.h"
diff --git a/package/strongswan/patches/patch-src_starter_netkey_c b/package/strongswan/patches/patch-src_starter_netkey_c
deleted file mode 100644
index adb7e09eb..000000000
--- a/package/strongswan/patches/patch-src_starter_netkey_c
+++ /dev/null
@@ -1,18 +0,0 @@
---- strongswan-5.5.0.orig/src/starter/netkey.c 2016-04-22 22:01:35.000000000 +0200
-+++ strongswan-5.5.0/src/starter/netkey.c 2016-09-30 05:30:43.681874545 +0200
-@@ -42,6 +42,7 @@ bool starter_netkey_init(void)
- }
-
- /* make sure that all required IPsec modules are loaded */
-+ /*
- if (stat(PROC_MODULES, &stb) == 0)
- {
- ignore_result(system("modprobe -qv ah4"));
-@@ -50,6 +51,7 @@ bool starter_netkey_init(void)
- ignore_result(system("modprobe -qv xfrm4_tunnel"));
- ignore_result(system("modprobe -qv xfrm_user"));
- }
-+ */
-
- DBG2(DBG_APP, "found netkey IPsec stack");
- return TRUE;
diff --git a/package/subversion/Makefile b/package/subversion/Makefile
index 6dee93e16..0c42d76a1 100644
--- a/package/subversion/Makefile
+++ b/package/subversion/Makefile
@@ -4,13 +4,13 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= subversion
-PKG_VERSION:= 1.9.5
+PKG_VERSION:= 1.14.1
PKG_RELEASE:= 1
-PKG_HASH:= 280ba586c5d51d7b976b65d22d5e8e42f3908ed1c968d71120dcf534ce857a83
+PKG_HASH:= dee2796abaa1f5351e6cc2a60b1917beb8238af548b20d3e1ec22760ab2f0cad
PKG_DESCR:= revision control program
PKG_SECTION:= dev/scm
-PKG_DEPENDS:= zlib apr apr-util libexpat libsqlite neon
-PKG_BUILDDEP:= apr-util expat apr zlib sqlite neon
+PKG_DEPENDS:= zlib apr apr-util libexpat libsqlite neon liblz4
+PKG_BUILDDEP:= apr-util expat apr zlib sqlite neon lz4
PKG_URL:= http://subversion.apache.org/
PKG_SITES:= http://artfiles.org/apache.org/subversion/
@@ -23,6 +23,7 @@ $(eval $(call PKG_template,SUBVERSION,subversion,${PKG_VERSION}-${PKG_RELEASE},$
TARGET_LDFLAGS+= -ltinfo
CONFIGURE_ARGS+= --with-apr=${STAGING_TARGET_DIR}/usr/bin/apr-1-config \
--with-apr-util=${STAGING_TARGET_DIR}/usr/bin/apr-1-config \
+ --with-utf8proc=internal \
--disable-mod-activation \
--disable-keychain \
--without-apxs \
diff --git a/package/sudo/Makefile b/package/sudo/Makefile
index 61de9df35..a4c5624dc 100644
--- a/package/sudo/Makefile
+++ b/package/sudo/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= sudo
-PKG_VERSION:= 1.8.28
+PKG_VERSION:= 1.9.15p5
PKG_RELEASE:= 1
-PKG_HASH:= 9129fa745a08caff0ce2042d2162b38eb9bf73bf43fcb248ac8b3a750c1f13a1
+PKG_HASH:= 558d10b9a1991fb3b9fa7fa7b07ec4405b7aefb5b3cb0b0871dbc81e3a88e558
PKG_DESCR:= su do
PKG_SECTION:= sys/misc
PKG_NEEDS:= mmu
diff --git a/package/sudo/patches/patch-Makefile_in b/package/sudo/patches/patch-Makefile_in
deleted file mode 100644
index db7f2d624..000000000
--- a/package/sudo/patches/patch-Makefile_in
+++ /dev/null
@@ -1,11 +0,0 @@
---- sudo-1.8.12.orig/Makefile.in 2015-02-09 12:53:54.000000000 -0600
-+++ sudo-1.8.12/Makefile.in 2015-02-17 14:32:12.001362549 -0600
-@@ -49,7 +49,7 @@ sudoers_mode = @SUDOERS_MODE@
- shlib_mode = @SHLIB_MODE@
-
- SUBDIRS = lib/util @ZLIB_SRC@ plugins/group_file plugins/sudoers \
-- plugins/system_group src include doc examples
-+ plugins/system_group src include
-
- SAMPLES = plugins/sample
-
diff --git a/package/sudo/patches/patch-lib_util_Makefile_in b/package/sudo/patches/patch-lib_util_Makefile_in
deleted file mode 100644
index a05b6676e..000000000
--- a/package/sudo/patches/patch-lib_util_Makefile_in
+++ /dev/null
@@ -1,15 +0,0 @@
---- sudo-1.8.15.orig/lib/util/Makefile.in 2015-11-01 00:35:24.000000000 +0100
-+++ sudo-1.8.15/lib/util/Makefile.in 2015-11-03 16:29:33.000000000 +0100
-@@ -160,10 +160,10 @@ signame.c: mksigname
- ./mksigname > $@
-
- mksiglist: $(srcdir)/mksiglist.c $(srcdir)/mksiglist.h $(incdir)/sudo_compat.h $(top_builddir)/config.h
-- $(CC) $(CPPFLAGS) $(CFLAGS) $(srcdir)/mksiglist.c -o $@
-+ $(CC_FOR_BUILD) -I$(top_builddir) -I$(srcdir) -I$(top_srcdir) -I$(incdir) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(DEFS) $(srcdir)/mksiglist.c -o $@
-
- mksigname: $(srcdir)/mksigname.c $(srcdir)/mksigname.h $(incdir)/sudo_compat.h $(top_builddir)/config.h
-- $(CC) $(CPPFLAGS) $(CFLAGS) $(srcdir)/mksigname.c -o $@
-+ $(CC_FOR_BUILD) -I$(top_builddir) -I$(srcdir) -I$(top_srcdir) -I$(incdir) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(DEFS) $(srcdir)/mksigname.c -o $@
-
- $(srcdir)/mksiglist.h: $(srcdir)/siglist.in
- @if [ -n "$(DEVEL)" ]; then \
diff --git a/package/supl/Makefile b/package/supl/Makefile
deleted file mode 100644
index 9d5dc4ad9..000000000
--- a/package/supl/Makefile
+++ /dev/null
@@ -1,35 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(ADK_TOPDIR)/rules.mk
-
-PKG_NAME:= supl
-PKG_VERSION:= 1.0.6
-PKG_RELEASE:= 1
-PKG_HASH:= 068dc47ce818ce5634f09a88159df85a6ce3456e2467b11b8c5f8543a99bb347
-PKG_DESCR:= tools for accessing sup/rrlp server
-PKG_SECTION:= net/misc
-PKG_DEPENDS:= libressl
-PKG_BUILDDEP:= libressl
-PKG_URL:= http://www.tajuma.com/supl/
-PKG_SITES:= $(MASTER_SITE_SOURCEFORGE:=supl/)
-
-DISTFILES:= $(PKG_NAME)_$(PKG_VERSION).tar.gz
-WRKDIST= $(WRKDIR)/trunk
-
-include $(ADK_TOPDIR)/mk/package.mk
-
-$(eval $(call PKG_template,SUPL,supl,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
-
-CONFIG_STYLE:= minimal
-CONFIGURE_ARGS+= --prefix="$(WRKINST)/usr" \
- --precompiled-asn1=yes
-
-supl-install:
- $(INSTALL_DIR) $(IDIR_SUPL)/usr/{bin,lib}
- $(INSTALL_BIN) $(WRKINST)/usr/bin/supl-{cert,client,proxy} \
- $(IDIR_SUPL)/usr/bin
- $(CP) $(WRKINST)/usr/lib/lib{asnrrlp,asnsupl,supl}.so* \
- $(IDIR_SUPL)/usr/lib
-
-include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/supl/patches/patch-configure b/package/supl/patches/patch-configure
deleted file mode 100644
index 1c8f24d49..000000000
--- a/package/supl/patches/patch-configure
+++ /dev/null
@@ -1,11 +0,0 @@
---- trunk.orig/configure 2011-10-25 21:41:03.000000000 +0200
-+++ trunk/configure 2015-02-27 19:33:11.000000000 +0100
-@@ -91,7 +91,7 @@ cat <<EOF > config.mk
- # Modifications to this file are lost if ./configure is ran again.
-
- CONF_VERSION = 1.0.5
--CONF_CFLAGS = -Wall -O2 $var_debug
-+CONF_CFLAGS = -Wall $var_debug
- CONF_ASN_CFLAGS = $var_asn1_debug
- CONF_PREFIX = $var_prefix
- CONF_PRECOMPILED_ASN = $var_precompiled_asn
diff --git a/package/supl/patches/patch-src_Makefile b/package/supl/patches/patch-src_Makefile
deleted file mode 100644
index cec5a4771..000000000
--- a/package/supl/patches/patch-src_Makefile
+++ /dev/null
@@ -1,16 +0,0 @@
- - use pkg-config everywhere, otherwise libs are not found
---- trunk.orig/src/Makefile 2011-10-17 20:09:22.000000000 +0200
-+++ trunk/src/Makefile 2015-02-09 16:48:37.244935714 +0100
-@@ -21,10 +21,10 @@ DIST = Makefile $(PROGRAM_SOURCE) $(SUPL
- all: supl-client supl-proxy supl-cert
-
- supl-client: libsupl.so supl-client.o
-- $(CC) -o $@ supl-client.o -L. -lsupl -lssl -lm
-+ $(CC) -o $@ supl-client.o -L. -lsupl $(shell pkg-config --libs openssl) -lm
-
- supl-proxy: libsupl.so supl-proxy.o
-- $(CC) -o $@ supl-proxy.o -L. -lsupl -lssl -lm
-+ $(CC) -o $@ supl-proxy.o -L. -lsupl $(shell pkg-config --libs openssl) -lm
-
- supl-cert: supl-cert.o
- $(CC) -o $@ supl-cert.o $(shell pkg-config --libs openssl) -lm
diff --git a/package/supl/patches/patch-src_supl-client_c b/package/supl/patches/patch-src_supl-client_c
deleted file mode 100644
index 15e2fa727..000000000
--- a/package/supl/patches/patch-src_supl-client_c
+++ /dev/null
@@ -1,40 +0,0 @@
- - implement bind to device functionality
---- trunk.orig/src/supl-client.c 2011-10-21 20:51:38.000000000 +0200
-+++ trunk/src/supl-client.c 2013-04-24 18:55:01.937252375 +0200
-@@ -252,6 +252,7 @@ static char *usage_str =
- " --cell gsm:mcc,mns:lac,ci|wcdma:mcc,msn,uc set current gsm/wcdma cell id\n"
- " --cell gsm:mcc,mns:lac,ci:lat,lon,uncert set known gsm cell id with position\n"
- " --format|-f human machine parseable output\n"
-+" --interface|-i iface bind to this interface\n"
- " --debug|-d <n> 1 == RRLP, 2 == SUPL, 4 == DEBUG\n"
- " --debug-file file write debug to file\n"
- " --help|-h show this help\n"
-@@ -267,6 +268,7 @@ static struct option long_opts[] = {
- { "cell", 1, 0, 0 },
- { "debug", 1, 0, 'd' },
- { "format", 1, 0, 'f' },
-+ { "interface", 1, 0, 0},
- { "test", 1, 0, 't' },
- { "set-pos", 1, 0, 0 },
- { "pos-helper", 1, 0, 0 },
-@@ -310,7 +312,7 @@ int main(int argc, char *argv[]) {
- int opt_index;
- int c;
-
-- c = getopt_long(argc, argv, "ad:f:t:", long_opts, &opt_index);
-+ c = getopt_long(argc, argv, "ad:f:i:t:", long_opts, &opt_index);
- if (c == -1) break;
- switch (c) {
- case 0:
-@@ -374,6 +376,11 @@ int main(int argc, char *argv[]) {
- }
- break;
-
-+ case 'i':
-+ strncpy(ctx.iface, optarg, IFNAMSIZ);
-+ ctx.iface[IFNAMSIZ] = 0;
-+ break;
-+
- case 'd':
- {
- int debug = atoi(optarg);
diff --git a/package/supl/patches/patch-src_supl_c b/package/supl/patches/patch-src_supl_c
deleted file mode 100644
index 26ab45b18..000000000
--- a/package/supl/patches/patch-src_supl_c
+++ /dev/null
@@ -1,46 +0,0 @@
- - implement bind to device functionality
---- trunk.orig/src/supl.c 2011-10-27 20:41:19.000000000 +0200
-+++ trunk/src/supl.c 2013-04-24 18:56:17.742529773 +0200
-@@ -41,7 +41,7 @@ static struct supl_debug_s {
- } debug;
- #endif
-
--static int server_connect(char *server);
-+static int server_connect(char *server, char *iface);
- static int pdu_make_ulp_start(supl_ctx_t *ctx, supl_ulp_t *pdu);
- static int pdu_make_ulp_pos_init(supl_ctx_t *ctx, supl_ulp_t *pdu);
- static int pdu_make_ulp_rrlp_ack(supl_ctx_t *ctx, supl_ulp_t *pdu, PDU_t *rrlp);
-@@ -236,7 +236,7 @@ int EXPORT supl_server_connect(supl_ctx_
- if (!ctx->ssl) return E_SUPL_CONNECT;
-
- if (server) {
-- ctx->fd = server_connect(server);
-+ ctx->fd = server_connect(server, ctx->iface);
- if (ctx->fd == -1) return E_SUPL_CONNECT;
- }
-
-@@ -266,7 +266,7 @@ void EXPORT supl_close(supl_ctx_t *ctx)
- }
-
-
--static int server_connect(char *server) {
-+static int server_connect(char *server, char *iface) {
- int fd = -1;
- struct addrinfo *ailist, *aip;
- struct addrinfo hint;
-@@ -283,6 +283,15 @@ static int server_connect(char *server)
- if ((fd = socket(aip->ai_family, SOCK_STREAM, 0)) < 0) {
- err = errno;
- }
-+
-+ if (strlen(iface)) {
-+ struct ifreq ifr;
-+ strncpy(ifr.ifr_name, iface, IFNAMSIZ);
-+ ifr.ifr_name[IFNAMSIZ - 1] = 0;
-+ if (setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE, &ifr, sizeof(ifr)))
-+ fprintf(stderr, "Error: binding to device %s failed\n", iface);
-+ }
-+
- if (connect(fd, aip->ai_addr, aip->ai_addrlen) != 0) {
- return -1;
- }
diff --git a/package/supl/patches/patch-src_supl_h b/package/supl/patches/patch-src_supl_h
deleted file mode 100644
index c2e9e8da4..000000000
--- a/package/supl/patches/patch-src_supl_h
+++ /dev/null
@@ -1,19 +0,0 @@
- - implement bind to device functionality
---- trunk.orig/src/supl.h 2011-10-21 20:08:29.000000000 +0200
-+++ trunk/src/supl.h 2013-04-24 18:52:14.916232733 +0200
-@@ -19,6 +19,7 @@
- #include <openssl/ssl.h>
- #include <PDU.h>
- #include <ULP-PDU.h>
-+#include <net/if.h>
-
- #define SUPL_PORT "7275"
-
-@@ -204,6 +205,7 @@ typedef struct supl_ctx_s {
- size_t size;
- } slp_session_id;
-
-+ char iface[IFNAMSIZ + 1];
- } supl_ctx_t;
-
- int supl_ctx_new(supl_ctx_t *ctx);
diff --git a/package/sysdig/Makefile b/package/sysdig/Makefile
deleted file mode 100644
index ddc36cd53..000000000
--- a/package/sysdig/Makefile
+++ /dev/null
@@ -1,48 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(ADK_TOPDIR)/rules.mk
-
-PKG_NAME:= sysdig
-PKG_VERSION:= ce24a1dd0925c0ed5df9c3e3e290817f536715cf
-PKG_GIT:= hash
-PKG_RELEASE:= 1
-PKG_DESCR:= system troubleshooting tool
-PKG_SECTION:= app/debug
-PKG_DEPENDS:= zlib jsoncpp luajit jq libressl libcurl
-PKG_BUILDDEP:= cmake-host zlib jsoncpp luajit jq libressl
-PKG_BUILDDEP+= curl
-PKG_KDEPENDS:= ftrace generic-tracer function-tracer
-PKG_NEEDS:= c++
-PKG_URL:= http://www.sysdig.org/
-PKG_SITES:= https://github.com/draios/sysdig.git
-
-PKG_SYSTEM_DEPENDS:= !mikrotik-rb532
-
-include $(ADK_TOPDIR)/mk/package.mk
-include $(ADK_TOPDIR)/mk/$(ADK_TARGET_OS)-ver.mk
-
-$(eval $(call PKG_template,SYSDIG,sysdig,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
-
-WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
-CONFIG_STYLE:= cmake
-CMAKE_FLAGS:= -DUSE_BUNDLED_DEPS=OFF -DUSE_BUNDLED_B64=ON
-XAKE_FLAGS+= KERNELDIR="$(LINUX_DIR)" \
- ARCH=$(ADK_TARGET_ARCH)
-
-sysdig-install:
- $(INSTALL_DIR) $(IDIR_SYSDIG)/usr/bin
- $(INSTALL_BIN) $(WRKINST)/usr/bin/sysdig \
- $(IDIR_SYSDIG)/usr/bin
- $(INSTALL_BIN) $(WRKINST)/usr/bin/csysdig \
- $(IDIR_SYSDIG)/usr/bin
- $(INSTALL_DIR) $(IDIR_SYSDIG)/usr/share
- $(CP) $(WRKINST)/usr/share/* \
- $(IDIR_SYSDIG)/usr/share
- ${INSTALL_DIR} ${IDIR_SYSDIG}/etc/modules.d/
- echo "sysdig-probe" > ${IDIR_SYSDIG}/etc/modules.d/90-sysdig
- ${INSTALL_DIR} ${IDIR_SYSDIG}/lib/modules/${KERNEL_VERSION}/
- ${INSTALL_DATA} ${WRKBUILD}/driver/sysdig-probe.ko \
- ${IDIR_SYSDIG}/lib/modules/${KERNEL_VERSION}
-
-include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/syslog-ng/Makefile b/package/syslog-ng/Makefile
index 81ac044f3..b2ce09edf 100644
--- a/package/syslog-ng/Makefile
+++ b/package/syslog-ng/Makefile
@@ -4,12 +4,13 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= syslog-ng
-PKG_VERSION:= 3.14.1
+PKG_VERSION:= 4.6.0
PKG_RELEASE:= 1
-PKG_HASH:= 235b1ac46fe4f3b06b3e945d000276f07deb8243be05d63c04aff06ab6123b64
+PKG_HASH:= a5f8b089887767b5e87f523562fc3c6d5ef4dd320fc9b1f44953cb2d6bd50026
PKG_DESCR:= powerful syslog daemon
PKG_SECTION:= sys/misc
-PKG_BUILDDEP:= cmake-host glib ivykis libressl json-c libnet flex
+PKG_BUILDDEP:= cmake-host glib ivykis libressl json-c libnet
+PKG_BUILDDEP+= pcre flex
PKG_DEPENDS:= glib ivykis libressl json-c libnet
PKG_URL:= http://www.balabit.com/
PKG_SITES:= https://github.com/balabit/syslog-ng/archive/
@@ -26,7 +27,11 @@ CMAKE_FLAGS+= -DSYSLOG_NG_ENABLE_SYSTEMD=OFF \
-DSYSLOG_NG_ENABLE_TCP_WRAPPER=OFF \
-DENABLE_CURL=OFF \
-DENABLE_JAVA=OFF \
- -DENABLE_JAVA_MODULES=OFF
+ -DENABLE_PYTHON=OFF \
+ -DENABLE_JAVA_MODULES=OFF \
+ -DBUILD_TESTING=OFF \
+ -DENABLE_AFSNMP=OFF \
+ -DENABLE_EXAMPLE_MODULES=OFF
syslog-ng-install:
${INSTALL_DIR} ${IDIR_SYSLOG_NG}/usr/sbin \
diff --git a/package/syslog-ng/patches/patch-CMakeLists_txt b/package/syslog-ng/patches/patch-CMakeLists_txt
new file mode 100644
index 000000000..a5cd89d57
--- /dev/null
+++ b/package/syslog-ng/patches/patch-CMakeLists_txt
@@ -0,0 +1,10 @@
+--- syslog-ng-syslog-ng-4.6.0.orig/CMakeLists.txt 2024-01-25 10:09:33.000000000 +0100
++++ syslog-ng-syslog-ng-4.6.0/CMakeLists.txt 2024-02-13 15:32:51.471547962 +0100
+@@ -474,7 +474,6 @@ add_subdirectory(syslog-ng)
+ add_subdirectory(syslog-ng-ctl)
+ add_subdirectory(persist-tool)
+ add_subdirectory(tests)
+-add_subdirectory(libtest)
+
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/syslog-ng-config.h.in ${CMAKE_CURRENT_BINARY_DIR}/syslog-ng-config.h)
+
diff --git a/package/sysstat/Makefile b/package/sysstat/Makefile
index bfba99de8..fb98f7d2b 100644
--- a/package/sysstat/Makefile
+++ b/package/sysstat/Makefile
@@ -4,17 +4,21 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= sysstat
-PKG_VERSION:= 11.4.4
+PKG_VERSION:= 12.7.5
PKG_RELEASE:= 1
-PKG_HASH:= 6585f08e24347d2d6462aee6ef97e80fe4cc869605193184500df0f80fa61cc8
+PKG_HASH:= a4d30e37c0c894214b941b51184723e19d492118c946cfdeac74b6d1f0068016
PKG_DESCR:= system monitoring and performance analysis
PKG_SECTION:= sys/utils
-PKG_SITES:= http://pagesperso-orange.fr/sebastien.godard/
+PKG_SITES:= https://github.com/sysstat/sysstat/archive/refs/tags/
+
+DISTFILES:= v$(PKG_VERSION).tar.gz
include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,SYSSTAT,sysstat,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+CONFIGURE_ENV+= sa_lib_dir=/usr/lib/sa
+
sysstat-install:
${INSTALL_DIR} ${IDIR_SYSSTAT}/usr/lib/sa
${INSTALL_DIR} ${IDIR_SYSSTAT}/usr/bin
diff --git a/package/sysstat/patches/patch-Makefile b/package/sysstat/patches/patch-Makefile
deleted file mode 100644
index 21cc0e994..000000000
--- a/package/sysstat/patches/patch-Makefile
+++ /dev/null
@@ -1,79 +0,0 @@
-$Id$
-
- removes manpages, some chown-stuff and the cron-stuff (no need for it)
- fixes cross-compilation
-
---- sysstat-7.0.3.orig/Makefile Sun Oct 22 16:27:03 2006
-+++ sysstat-7.0.3/Makefile Fri May 18 18:31:06 2007
-@@ -7,7 +7,7 @@ VERSION = 7.0.3
- include build/CONFIG
-
- # Compiler to use
--CC = gcc
-+CC ?= gcc
- # Other commands
- SED = sed
- CHMOD = chmod
-@@ -37,8 +37,9 @@ NLS_DIR = $(PREFIX)/share/locale
- SYSCONFIG_DIR = /etc/sysconfig
-
- # Compiler flags
--CFLAGS = -Wall -Wstrict-prototypes -pipe -O2 -fno-strength-reduce
--LFLAGS = -s
-+CFLAGS ?= -O2 -pipe
-+CFLAGS += -Wall -Wstrict-prototypes -fno-strength-reduce
-+LFLAGS = -s ${LDFLAGS}
- # SAS_DFLAGS may also contain SMP_RACE definition
- SAS_DFLAGS += -DSA_DIR=\"$(SA_DIR)\" -DSADC_PATH=\"$(SADC_PATH)\"
-
-@@ -179,10 +180,8 @@ endif
- .PHONY: clean distclean config install install_base install_all uninstall \
- uninstall_base uninstall_all dist bdist
-
--install_base: all man/sadc.8 man/sar.1 man/sadf.1 man/sa1.8 man/sa2.8 man/iostat.1
-+install_base: all
- mkdir -p $(DESTDIR)$(SA_LIB_DIR)
-- mkdir -p $(DESTDIR)$(MAN1_DIR)
-- mkdir -p $(DESTDIR)$(MAN8_DIR)
- mkdir -p $(DESTDIR)$(SA_DIR)
- ifeq ($(CLEAN_SA_DIR),y)
- rm -f $(DESTDIR)$(SA_DIR)/sa??
-@@ -191,19 +190,12 @@ endif
- mkdir -p $(DESTDIR)$(DOC_DIR)
- mkdir -p $(DESTDIR)$(SYSCONFIG_DIR)
- install -m 755 sa1 $(DESTDIR)$(SA_LIB_DIR)
-- install -m 644 $(MANGRPARG) man/sa1.8 $(DESTDIR)$(MAN8_DIR)
- install -m 755 sa2 $(DESTDIR)$(SA_LIB_DIR)
-- install -m 644 $(MANGRPARG) man/sa2.8 $(DESTDIR)$(MAN8_DIR)
- install -m 755 sadc $(DESTDIR)$(SA_LIB_DIR)
-- install -m 644 $(MANGRPARG) man/sadc.8 $(DESTDIR)$(MAN8_DIR)
- install -m 755 sar $(DESTDIR)$(BIN_DIR)
-- install -m 644 $(MANGRPARG) man/sar.1 $(DESTDIR)$(MAN1_DIR)
- install -m 755 sadf $(DESTDIR)$(BIN_DIR)
-- install -m 644 $(MANGRPARG) man/sadf.1 $(DESTDIR)$(MAN1_DIR)
- install -m 755 iostat $(DESTDIR)$(BIN_DIR)
-- install -m 644 $(MANGRPARG) man/iostat.1 $(DESTDIR)$(MAN1_DIR)
- install -m 755 mpstat $(DESTDIR)$(BIN_DIR)
-- install -m 644 $(MANGRPARG) man/mpstat.1 $(DESTDIR)$(MAN1_DIR)
- install -m 644 sysstat.ioconf $(DESTDIR)$(SYSCONFIG_DIR);
- install -m 644 CHANGES $(DESTDIR)$(DOC_DIR)
- install -m 644 COPYING $(DESTDIR)$(DOC_DIR)
-@@ -243,18 +235,6 @@ ifdef REQUIRE_NLS
- endif
-
- install_all: install_base
-- $(CHOWN) $(CRON_OWNER) $(DESTDIR)$(SA_DIR)
-- if [ -d $(DESTDIR)/etc/cron.d ]; then \
-- install -m 644 sysstat.crond $(DESTDIR)/etc/cron.d/sysstat; \
-- elif [ -d $(DESTDIR)/etc/cron.hourly -a -d $(DESTDIR)/etc/cron.daily ]; then \
-- install -m 755 sysstat.cron.hourly $(DESTDIR)/etc/cron.hourly/sysstat; \
-- install -m 755 sysstat.cron.daily $(DESTDIR)/etc/cron.daily/sysstat; \
-- else \
-- su $(CRON_OWNER) -c "crontab -l > /tmp/crontab-$(CRON_OWNER).save"; \
-- $(CP) -a /tmp/crontab-$(CRON_OWNER).save ./crontab-$(CRON_OWNER).`date '+%Y%m%d.%H%M%S'`.save; \
-- echo "USER PREVIOUS CRONTAB SAVED IN CURRENT DIRECTORY (USING .save SUFFIX)."; \
-- su $(CRON_OWNER) -c "crontab crontab"; \
-- fi
- if [ -d $(DESTDIR)$(INIT_DIR) ]; then \
- install -m 755 sysstat $(DESTDIR)$(INIT_DIR)/sysstat; \
- if [ -x $(CHKCONFIG) ]; then \
diff --git a/package/systemd/Makefile b/package/systemd/Makefile
deleted file mode 100644
index 7ded3c7b6..000000000
--- a/package/systemd/Makefile
+++ /dev/null
@@ -1,138 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(ADK_TOPDIR)/rules.mk
-
-PKG_NAME:= systemd
-PKG_VERSION:= 237
-PKG_RELEASE:= 1
-PKG_HASH:= c83dabbe1c9de6b9db1dafdb7e04140c7d0535705c68842f6c0768653ba4913c
-PKG_DESCR:= system and service manager
-PKG_SECTION:= base/init
-PKG_DEPENDS:= libcap libmount libuuid libblkid libncurses libkmod
-PKG_BUILDDEP:= intltool-host gperf-host libcap util-linux
-PKG_BUILDDEP+= gettext-host kmod meson-host ninja-host
-PKG_KDEPENDS:= inotify-user cgroups namespaces fhandle tmpfs-posix-acl tmpfs-xattr
-PKG_NEEDS:= locale intl
-PKG_URL:= https://wiki.freedesktop.org/www/Software/systemd/
-PKG_SITES:= https://github.com/systemd/systemd/archive/
-
-PKG_CFLINE_SYSTEMD:= select BUSYBOX_SULOGIN if ADK_RUNTIME_BASE_BUSYBOX
-PKG_LIBC_DEPENDS:= !musl
-
-PKG_FLAVOURS_SYSTEMD:= WITH_PAM WITH_XZ WITH_ZLIB
-PKGFD_WITH_PAM:= enable pam support
-PKGFS_WITH_PAM:= pam
-PKGFB_WITH_PAM:= pam
-PKGFD_WITH_XZ:= enable xz support
-PKGFS_WITH_XZ:= xz
-PKGFB_WITH_XZ:= xz
-PKGFD_WITH_ZLIB:= enable zlib support
-PKGFS_WITH_ZLIB:= zlib
-PKGFB_WITH_ZLIB:= zlib
-
-DISTFILES:= v$(PKG_VERSION).tar.gz
-
-include $(ADK_TOPDIR)/mk/package.mk
-
-$(eval $(call PKG_template,SYSTEMD,systemd,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
-
-WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
-
-CONFIG_STYLE:= meson
-BUILD_STYLE:= meson
-INSTALL_STYLE:= meson
-
-MESON_FLAGS+= -Drootlibdir='/usr/lib' \
- -Dman=false \
- -Dima=false \
- -Dlibcryptsetup=false \
- -Defi=false \
- -Dgnu-efi=false \
- -Dldconfig=false \
- -Ddefault-dnssec=no \
- -Dtests=false \
- -Dkill-path=/usr/bin/kill \
- -Dkmod-path=/usr/bin/kmod \
- -Dkexec-path=/usr/sbin/kexec \
- -Dsulogin-path=/usr/sbin/sulogin \
- -Dmount-path=/usr/bin/mount \
- -Dumount-path=/usr/bin/umount \
- -Dacl=false \
- -Daudit=false \
- -Didn=false \
- -Dnss-systemd=false \
- -Dmyhostname=false \
- -Dresolve=false \
- -Dseccomp=false \
- -Dxkbcommon=false \
- -Dbzip2=false \
- -Dlz4=false \
- -Dlibcurl=false \
- -Dgcrypt=false \
- -Dqrencode=false \
- -Dmicrohttpd=false \
- -Dselinux=false \
- -Dhwdb=false \
- -Dbinfmt=false \
- -Dvconsole=false \
- -Dquotacheck=false \
- -Dbacklight=false \
- -Drfkill=false \
- -Dmachined=false \
- -Dimportd=false \
- -Dhostnamed=false \
- -Dlocaled=false \
- -Dcoredump=false \
- -Dsmack=false \
- -Dsysusers=false \
- -Dhibernate=false \
- -Dpolkit=false \
- -Dnetworkd=true \
- -Dtimesyncd=true \
- -Dtmpfiles=true \
- -Dfirstboot=true \
- -Drandomseed=true \
- -Dlogind=true \
- -Dtimedated=true
-
-
-ifeq ($(ADK_PACKAGE_SYSTEMD_WITH_PAM),y)
-MESON_FLAGS+= -Dpam=true
-else
-MESON_FLAGS+= -Dpam=false
-endif
-
-ifeq ($(ADK_PACKAGE_SYSTEMD_WITH_XZ),y)
-MESON_FLAGS+= -Dxz=true
-else
-MESON_FLAGS+= -Dxz=false
-endif
-
-ifeq ($(ADK_PACKAGE_SYSTEMD_WITH_ZLIB),y)
-MESON_FLAGS+= -Dzlib=true
-else
-MESON_FLAGS+= -Dzlib=false
-endif
-
-systemd-install:
- $(INSTALL_DIR) $(IDIR_SYSTEMD)/etc
- touch $(IDIR_SYSTEMD)/etc/machine-id
- $(CP) $(WRKINST)/etc/* \
- $(IDIR_SYSTEMD)/etc
- $(INSTALL_DIR) $(IDIR_SYSTEMD)/usr/lib
- $(CP) $(WRKINST)/usr/lib/*.so* \
- $(IDIR_SYSTEMD)/usr/lib
- $(CP) $(WRKINST)/usr/lib/{systemd,kernel,udev,sysctl.d,tmpfiles.d} \
- $(IDIR_SYSTEMD)/usr/lib
- $(INSTALL_DIR) $(IDIR_SYSTEMD)/usr/bin
- $(CP) $(WRKINST)/usr/bin/* \
- $(IDIR_SYSTEMD)/usr/bin
- $(INSTALL_DIR) $(IDIR_SYSTEMD)/usr/share
- $(CP) $(WRKINST)/usr/share/* \
- $(IDIR_SYSTEMD)/usr/share
- $(CP) ./files/*.network \
- $(IDIR_SYSTEMD)/etc/systemd/network
- (cd $(IDIR_SYSTEMD)/usr/lib/systemd/system && ln -sf multi-user.target default.target)
-
-include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/systemd/files/systemd.postinst b/package/systemd/files/systemd.postinst
deleted file mode 100644
index 76e213117..000000000
--- a/package/systemd/files/systemd.postinst
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-. $IPKG_INSTROOT/etc/functions.sh
-gid=$(get_next_gid)
-add_group utmp $gid
-gid=$(get_next_gid)
-add_group systemd-journal $gid
-gid=$(get_next_gid)
-add_group systemd-bus-proxy $gid
-add_user systemd-bus-proxy $(get_next_uid) $gid /
-gid=$(get_next_gid)
-add_group systemd-journal-gateway $gid
-add_user systemd-journal-gateway $(get_next_uid) $gid /
-gid=$(get_next_gid)
-add_group systemd-journal-remote $gid
-add_user systemd-journal-remote $(get_next_uid) $gid /
-gid=$(get_next_gid)
-add_group systemd-journal-upload $gid
-add_user systemd-journal-upload $(get_next_uid) $gid /
-gid=$(get_next_gid)
-add_group systemd-network $gid
-add_user systemd-network $(get_next_uid) $gid /
-gid=$(get_next_gid)
-add_group systemd-resolve $gid
-add_user systemd-resolve $(get_next_uid) $gid /
-gid=$(get_next_gid)
-add_group systemd-timesync $gid
-add_user systemd-timesync $(get_next_uid) $gid /
diff --git a/package/systemd/files/wired.network b/package/systemd/files/wired.network
deleted file mode 100644
index 9613cc040..000000000
--- a/package/systemd/files/wired.network
+++ /dev/null
@@ -1,5 +0,0 @@
-[Match]
-Name=en*
-
-[Network]
-DHCP=ipv4
diff --git a/package/systemd/patches/patch-units_getty@_service_m4 b/package/systemd/patches/patch-units_getty@_service_m4
deleted file mode 100644
index 27bf00933..000000000
--- a/package/systemd/patches/patch-units_getty@_service_m4
+++ /dev/null
@@ -1,11 +0,0 @@
---- systemd-236.orig/units/getty@.service.m4 2017-12-14 23:09:57.000000000 +0100
-+++ systemd-236/units/getty@.service.m4 2018-01-01 18:46:35.149141863 +0100
-@@ -38,7 +38,7 @@ ConditionPathExists=/dev/tty0
- # 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 --git a/package/systemd/patches/patch-units_serial-getty@_service_m4 b/package/systemd/patches/patch-units_serial-getty@_service_m4
deleted file mode 100644
index 08d8f74ff..000000000
--- a/package/systemd/patches/patch-units_serial-getty@_service_m4
+++ /dev/null
@@ -1,11 +0,0 @@
---- systemd-236.orig/units/serial-getty@.service.m4 2017-12-14 23:09:57.000000000 +0100
-+++ systemd-236/units/serial-getty@.service.m4 2018-01-01 18:46:35.157142052 +0100
-@@ -33,7 +33,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
- UtmpIdentifier=%I
diff --git a/package/sysvinit/Makefile b/package/sysvinit/Makefile
deleted file mode 100644
index f87f5d3a1..000000000
--- a/package/sysvinit/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(ADK_TOPDIR)/rules.mk
-
-PKG_NAME:= sysvinit
-PKG_VERSION:= 2.88dsf
-PKG_RELEASE:= 1
-PKG_HASH:= 60bbc8c1e1792056e23761d22960b30bb13eccc2cabff8c7310a01f4d5df1519
-PKG_DESCR:= systemV init
-PKG_SECTION:= base/init
-PKG_URL:= http://savannah.nongnu.org/projects/sysvinit
-PKG_SITES:= http://download.savannah.gnu.org/releases/sysvinit/
-
-DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.bz2
-
-include $(ADK_TOPDIR)/mk/package.mk
-
-$(eval $(call PKG_template,SYSVINIT,sysvinit,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
-
-CONFIG_STYLE:= manual
-FAKE_FLAGS+= ROOT='$(WRKINST)'
-
-sysvinit-install:
- $(INSTALL_DIR) $(IDIR_SYSVINIT)/sbin
- $(INSTALL_BIN) $(WRKINST)/sbin/init \
- $(IDIR_SYSVINIT)/sbin
-
-include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/sysvinit/patches/patch-src_Makefile b/package/sysvinit/patches/patch-src_Makefile
deleted file mode 100644
index ed5c51757..000000000
--- a/package/sysvinit/patches/patch-src_Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
---- sysvinit-2.88dsf.orig/src/Makefile 2010-04-11 11:30:27.000000000 +0200
-+++ sysvinit-2.88dsf/src/Makefile 2016-10-28 18:59:43.000000000 +0200
-@@ -8,8 +8,9 @@
- # Version: @(#)Makefile 2.85-13 23-Mar-2004 miquels@cistron.nl
- #
-
--CPPFLAGS =
-+CPPFLAGS ?=
- CFLAGS ?= -ansi -O2 -fomit-frame-pointer
-+LDFLAGS ?=
- override CFLAGS += -W -Wall -D_GNU_SOURCE
- STATIC =
-
diff --git a/package/taglib/Makefile b/package/taglib/Makefile
index b79595790..9297caf75 100644
--- a/package/taglib/Makefile
+++ b/package/taglib/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= taglib
-PKG_VERSION:= 1.9.1
+PKG_VERSION:= 1.13.1
PKG_RELEASE:= 1
-PKG_HASH:= 72d371cd1419a87ae200447a53bff2be219283071e80fd12337928cc967dc71a
+PKG_HASH:= c8da2b10f1bfec2cd7dbfcd33f4a2338db0765d851a50583d410bacf055cfd0b
PKG_DESCR:= audio meta-data library
PKG_SECTION:= libs/audio
PKG_DEPENDS:= zlib
@@ -31,7 +31,7 @@ do-configure:
taglib-install:
$(INSTALL_DIR) $(IDIR_TAGLIB)/usr/lib
- $(CP) $(WRKINST)/usr/lib/libtag*.so* \
+ -$(CP) $(WRKINST)/usr/lib/libtag*.so* \
$(IDIR_TAGLIB)/usr/lib
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/taglib/patches/patch-taglib_pc_cmake b/package/taglib/patches/patch-taglib_pc_cmake
deleted file mode 100644
index 2a468ba8c..000000000
--- a/package/taglib/patches/patch-taglib_pc_cmake
+++ /dev/null
@@ -1,19 +0,0 @@
---- taglib-1.8.orig/taglib.pc.cmake 2012-09-06 20:03:15.000000000 +0200
-+++ taglib-1.8/taglib.pc.cmake 2013-07-31 11:57:48.000000000 +0200
-@@ -1,11 +1,11 @@
- prefix=${CMAKE_INSTALL_PREFIX}
--exec_prefix=${CMAKE_INSTALL_PREFIX}
--libdir=${LIB_INSTALL_DIR}
--includedir=${INCLUDE_INSTALL_DIR}
-+exec_prefix=$prefix
-+libdir=$prefix/lib
-+includedir=$prefix/include
-
- Name: TagLib
- Description: Audio meta-data library
- Requires:
- Version: ${TAGLIB_LIB_MAJOR_VERSION}.${TAGLIB_LIB_MINOR_VERSION}.${TAGLIB_LIB_PATCH_VERSION}
--Libs: -L${LIB_INSTALL_DIR} -ltag
--Cflags: -I${INCLUDE_INSTALL_DIR}/taglib
-+Libs: -ltag
-+Cflags:
diff --git a/package/talloc/Makefile b/package/talloc/Makefile
index 865a95b47..a296a7306 100644
--- a/package/talloc/Makefile
+++ b/package/talloc/Makefile
@@ -4,12 +4,12 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= talloc
-PKG_VERSION:= 2.1.9
+PKG_VERSION:= 2.4.2
PKG_RELEASE:= 1
-PKG_HASH:= f0aad4cb88a3322207c82136ddc07bed48a37c2c21f82962d6c5ccb422711062
+PKG_HASH:= 85ecf9e465e20f98f9950a52e9a411e14320bc555fa257d87697b7e7a9b1d8a6
PKG_DESCR:= memory allocation library
PKG_SECTION:= libs/misc
-PKG_BUILDDEP:= python2-host python2
+PKG_BUILDDEP:= python3-host python3
PKG_URL:= https://talloc.samba.org/talloc/doc/html/index.html
PKG_SITES:= https://www.samba.org/ftp/talloc/
PKG_LIBNAME:= libtalloc
@@ -23,6 +23,7 @@ $(eval $(call PKG_template,LIBTALLOC,libtalloc,$(PKG_VERSION)-$(PKG_RELEASE),$(P
CONFIG_STYLE:= minimal
CONFIGURE_ARGS+= --prefix=/usr \
+ --disable-python \
--cross-compile \
--cross-answers=$(WRKSRC)/cache.txt \
--hostcc=gcc
diff --git a/package/tar/Makefile b/package/tar/Makefile
index 57b9d3ad3..7d1bb84c4 100644
--- a/package/tar/Makefile
+++ b/package/tar/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= tar
-PKG_VERSION:= 1.29
+PKG_VERSION:= 1.35
PKG_RELEASE:= 1
-PKG_HASH:= 402dcfd0022fd7a1f2c5611f5c61af1cd84910a760a44a688e18ddbff4e9f024
+PKG_HASH:= 4d62ff37342ec7aed748535323930c7cf94acf71c3591882b26a7ea50f3edc16
PKG_DESCR:= archiving application
PKG_SECTION:= app/archive
PKG_URL:= http://mirrors.kernel.org/gnu/tar/
diff --git a/package/tcpdump/Makefile b/package/tcpdump/Makefile
index 47cc97584..1bfaaa7b7 100644
--- a/package/tcpdump/Makefile
+++ b/package/tcpdump/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= tcpdump
-PKG_VERSION:= 4.9.3
+PKG_VERSION:= 4.99.4
PKG_RELEASE:= 1
-PKG_HASH:= 2cd47cb3d460b6ff75f4a9940f594317ad456cfbf2bd2c8e5151e16559db6410
+PKG_HASH:= 0232231bb2f29d6bf2426e70a08a7e0c63a0d59a9b44863b7f5e2357a6e49fea
PKG_DESCR:= tool for network monitoring and data acquisition
PKG_SECTION:= net/debug
PKG_DEPENDS:= libpcap
@@ -39,7 +39,7 @@ XAKE_FLAGS+= CCOPT="${TARGET_CFLAGS}" \
INCLS="-I. -I${STAGING_TARGET_DIR}/usr/include"
tcpdump-install:
- ${INSTALL_DIR} ${IDIR_TCPDUMP}/usr/sbin
- ${INSTALL_BIN} ${WRKINST}/usr/sbin/tcpdump ${IDIR_TCPDUMP}/usr/sbin
+ ${INSTALL_DIR} ${IDIR_TCPDUMP}/usr/bin
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/tcpdump ${IDIR_TCPDUMP}/usr/bin
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/tcsh/Makefile b/package/tcsh/Makefile
index 74e319ffd..b98f6136b 100644
--- a/package/tcsh/Makefile
+++ b/package/tcsh/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= tcsh
-PKG_VERSION:= 6.19.00
+PKG_VERSION:= 6.24.10
PKG_RELEASE:= 1
-PKG_HASH:= 12e271e0b89e4259d9d6e8d525322e77340e7244cfbd199a591e5f8146285c49
+PKG_HASH:= 13475c0fbeb74139d33ed793bf00ffbbb2ac2dc9fb1d44467a410760aba36664
PKG_DESCR:= alternative csh
PKG_SECTION:= base/shells
PKG_DEPENDS:= libncurses
diff --git a/package/tcsh/patches/patch-Makefile_in b/package/tcsh/patches/patch-Makefile_in
index d573b8df2..300c1632b 100644
--- a/package/tcsh/patches/patch-Makefile_in
+++ b/package/tcsh/patches/patch-Makefile_in
@@ -1,11 +1,11 @@
---- tcsh-6.19.00.orig/Makefile.in 2014-07-25 00:52:13.000000000 +0200
-+++ tcsh-6.19.00/Makefile.in 2015-11-07 23:08:07.000000000 +0100
-@@ -449,7 +449,7 @@ pure:$(P) ${OBJS}
+--- tcsh-6.24.10.orig/Makefile.in 2023-04-14 13:52:38.000000000 +0200
++++ tcsh-6.24.10/Makefile.in 2024-02-11 09:31:36.700281877 +0100
+@@ -506,7 +506,7 @@ pure:$(P) ${OBJS}
+ # emxbind tcsh
- gethost: gethost.c sh.err.h tc.const.h sh.h
- rm -f gethost
-- ${CC_FOR_GETHOST} -o gethost ${CPPFLAGS} ${CFLAGS} $(srcdir)/gethost.c
-+ ${CC_FOR_GETHOST} -o gethost $(srcdir)/gethost.c
+ gethost.${SUF}: gethost.c sh.err.h tc.const.h sh.h
+- ${CC_FOR_GETHOST} ${CF} ${CPPFLAGS} ${CFLAGS} $(srcdir)/gethost.c
++ ${CC_FOR_GETHOST} ${CF} $(srcdir)/gethost.c
- tc.defs.c: gethost host.defs
- @rm -f $@.tmp
+ gethost: gethost.${SUF}
+ rm -f gethost
diff --git a/package/tcsh/patches/patch-sh_h b/package/tcsh/patches/patch-sh_h
deleted file mode 100644
index 2882aefe9..000000000
--- a/package/tcsh/patches/patch-sh_h
+++ /dev/null
@@ -1,23 +0,0 @@
---- tcsh-6.19.00.orig/sh.h 2015-05-10 15:29:28.000000000 +0200
-+++ tcsh-6.19.00/sh.h 2015-11-07 23:06:35.000000000 +0100
-@@ -366,7 +366,7 @@ typedef long tcsh_number_t;
- # include <sys/filio.h>
- #endif /* (!FIOCLEX && SUNOS4) || (SYSVREL == 4 && !_SEQUENT_ && !SCO && !_SX ) */
-
--#if !defined(_MINIX) && !defined(supermax) && !defined(WINNT_NATIVE) && !defined(IRIS4D)
-+#if !defined(_MINIX) && !defined(supermax) && !defined(WINNT_NATIVE) && !defined(IRIS4D) && !defined(__FreeBSD__)
- # include <sys/file.h>
- #endif /* !_MINIX && !supermax && !WINNT_NATIVE && !defined(IRIS4D) */
-
-@@ -400,9 +400,11 @@ typedef long tcsh_number_t;
- #include <pwd.h>
- #include <grp.h>
- #endif /* WINNT_NATIVE */
-+#if !defined(BSD)
- #ifdef HAVE_SHADOW_H
- # include <shadow.h>
- #endif /* HAVE_SHADOW_H */
-+#endif
- #ifdef HAVE_AUTH_H
- # include <auth.h>
- #endif /* HAVE_AUTH_H */
diff --git a/package/tcsh/patches/patch-sh_proc_c b/package/tcsh/patches/patch-sh_proc_c
deleted file mode 100644
index 9b5e277ba..000000000
--- a/package/tcsh/patches/patch-sh_proc_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- tcsh-6.19.00.orig/sh.proc.c 2015-02-22 22:40:14.000000000 +0100
-+++ tcsh-6.19.00/sh.proc.c 2015-11-07 23:06:36.000000000 +0100
-@@ -47,7 +47,7 @@ RCSID("$tcsh: sh.proc.c,v 3.127 2015/02/
- # define HZ 16
- #endif /* aiws */
-
--#if defined(_BSD) || (defined(IRIS4D) && __STDC__) || defined(__lucid) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)
-+#if defined(_BSD) || (defined(IRIS4D) && __STDC__) || defined(__lucid) || defined(__GNU__) || defined(__GLIBC__)
- # if !defined(__ANDROID__)
- # define BSDWAIT
- # endif
diff --git a/package/tinyproxy/Makefile b/package/tinyproxy/Makefile
index 933fb95e4..47894b558 100644
--- a/package/tinyproxy/Makefile
+++ b/package/tinyproxy/Makefile
@@ -4,33 +4,30 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= tinyproxy
-PKG_VERSION:= 1.8.4
+PKG_VERSION:= 1.11.0
PKG_RELEASE:= 1
-PKG_HASH:= 1999c88c43e31ff4cb5e8379b76776a65fa3d326eea868cb5f88ef58a8f631de
+PKG_HASH:= c1ec81cfc4c551d2c24e0227a5aeeaad8723bd9a39b61cd729e516b82eaa3f32
PKG_DESCR:= lightweight http and https proxy
PKG_SECTION:= net/proxy
PKG_URL:= https://tinyproxy.github.io
-PKG_SITES:= https://github.com/tinyproxy/tinyproxy/archive/
-
-DISTFILES:= $(PKG_VERSION).tar.gz
+PKG_SITES:= https://github.com/tinyproxy/tinyproxy/releases/download/$(PKG_VERSION)/
include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,TINYPROXY,tinyproxy,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
-AUTOTOOL_STYLE:= autoreconf
-CONFIGURE_ARGS+= --disable-regexcheck
+CONFIGURE_ARGS+= --disable-manpage_support
CONFIGURE_ENV+= ac_cv_func_malloc_0_nonnull=yes \
ac_cv_func_realloc_0_nonnull=yes
tinyproxy-install:
- $(INSTALL_DIR) $(IDIR_TINYPROXY)/usr/sbin
- $(INSTALL_DIR) $(IDIR_TINYPROXY)/etc
+ $(INSTALL_DIR) $(IDIR_TINYPROXY)/usr/bin
+ $(INSTALL_DIR) $(IDIR_TINYPROXY)/etc/tinyproxy
$(INSTALL_DIR) $(IDIR_TINYPROXY)/usr/share/tinyproxy
$(INSTALL_DATA) ./files/tinyproxy.conf \
- $(IDIR_TINYPROXY)/etc
- $(INSTALL_BIN) $(WRKINST)/usr/sbin/tinyproxy \
- $(IDIR_TINYPROXY)/usr/sbin/
+ $(IDIR_TINYPROXY)/etc/tinyproxy/
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/tinyproxy \
+ $(IDIR_TINYPROXY)/usr/bin/
$(INSTALL_DATA) $(WRKINST)/usr/share/tinyproxy/{default,stats,debug}.html \
$(IDIR_TINYPROXY)/usr/share/tinyproxy/
diff --git a/package/tinyproxy/files/tinyproxy.conf b/package/tinyproxy/files/tinyproxy.conf
index 798231b12..c9ee8d178 100644
--- a/package/tinyproxy/files/tinyproxy.conf
+++ b/package/tinyproxy/files/tinyproxy.conf
@@ -137,28 +137,6 @@ PidFile "/var/run/tinyproxy/tinyproxy.pid"
MaxClients 100
#
-# These settings set the upper and lower limit for the number of
-# spare servers which should be available. If the number of spare servers
-# falls below MinSpareServers then new ones will be created. If the number
-# of servers exceeds MaxSpareServers then the extras will be killed off.
-#
-MinSpareServers 5
-MaxSpareServers 20
-
-#
-# Number of servers to start initially.
-#
-StartServers 10
-
-#
-# MaxRequestsPerChild is the number of connections a thread will handle
-# before it is killed. In practise this should be set to 0, which disables
-# thread reaping. If you do notice problems with memory leakage, then set
-# this to something like 10000
-#
-MaxRequestsPerChild 0
-
-#
# The following is the authorization controls. If there are any access
# control keywords then the default action is to DENY. Otherwise, the
# default action is ALLOW.
diff --git a/package/tinyproxy/files/tinyproxy.init b/package/tinyproxy/files/tinyproxy.init
index e0a8b9a81..9a140db56 100644
--- a/package/tinyproxy/files/tinyproxy.init
+++ b/package/tinyproxy/files/tinyproxy.init
@@ -13,10 +13,10 @@ autostart)
start)
mkdir -p /var/run/tinyproxy
chown tinyproxy.tinyproxy /var/run/tinyproxy
- /usr/sbin/tinyproxy
+ /usr/bin/tinyproxy
;;
stop)
- kill $(pgrep -f /usr/sbin/tinyproxy)
+ kill $(pgrep -f /usr/bin/tinyproxy)
;;
restart)
sh $0 stop
diff --git a/package/tinyproxy/patches/patch-Makefile_am b/package/tinyproxy/patches/patch-Makefile_am
deleted file mode 100644
index 443ae2e78..000000000
--- a/package/tinyproxy/patches/patch-Makefile_am
+++ /dev/null
@@ -1,10 +0,0 @@
---- tinyproxy-1.8.3.orig/Makefile.am 2011-08-16 14:14:34.000000000 +0200
-+++ tinyproxy-1.8.3/Makefile.am 2014-04-07 08:43:20.000000000 +0200
-@@ -2,7 +2,6 @@ SUBDIRS = \
- src \
- data \
- etc \
-- docs \
- m4macros \
- tests
-
diff --git a/package/tinyproxy/patches/patch-configure_ac b/package/tinyproxy/patches/patch-configure_ac
deleted file mode 100644
index b3fd83dc9..000000000
--- a/package/tinyproxy/patches/patch-configure_ac
+++ /dev/null
@@ -1,27 +0,0 @@
---- tinyproxy-1.8.3.orig/configure.ac 2011-08-16 14:14:58.000000000 +0200
-+++ tinyproxy-1.8.3/configure.ac 2014-04-07 08:43:06.000000000 +0200
-@@ -282,24 +282,12 @@ AC_SUBST(CPPFLAGS)
- AC_SUBST(LIBS)
- AC_SUBST(ADDITIONAL_OBJECTS)
-
--# Check for asciidoc
--AC_PATH_PROG(A2X, a2x, no)
--AM_CONDITIONAL(HAVE_A2X, test "x$A2X" != "xno")
--if test x"$A2X" = x"no"; then
-- AC_MSG_ERROR([Test for asciidoc failed. See the file 'INSTALL' for help.])
--fi
--
- AC_CONFIG_FILES([
- Makefile
- src/Makefile
- data/Makefile
- data/templates/Makefile
- etc/Makefile
--docs/Makefile
--docs/man5/Makefile
--docs/man5/tinyproxy.conf.txt
--docs/man8/Makefile
--docs/man8/tinyproxy.txt
- m4macros/Makefile
- tests/Makefile
- tests/scripts/Makefile
diff --git a/package/tinyxml2/Makefile b/package/tinyxml2/Makefile
new file mode 100644
index 000000000..e1555bcec
--- /dev/null
+++ b/package/tinyxml2/Makefile
@@ -0,0 +1,33 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= tinyxml2
+PKG_VERSION:= 10.0.0
+PKG_RELEASE:= 1
+PKG_HASH:= 3bdf15128ba16686e69bce256cc468e76c7b94ff2c7f391cc5ec09e40bff3839
+PKG_DESCR:= small xml library
+PKG_SECTION:= libs/misc
+PKG_BUILDDEP+= meson-host
+PKG_SITES:= https://github.com/leethomason/tinyxml2/archive/refs/tags/
+PKG_OPTS:= dev
+
+DISTFILES:= $(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,TINYXML2,tinyxml2,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
+
+tinyxml2-install:
+ $(INSTALL_DIR) $(IDIR_TINYXML2)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libtinyxml2*.so* \
+ $(IDIR_TINYXML2)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/tmux/Makefile b/package/tmux/Makefile
index e208b566f..bd8d418f4 100644
--- a/package/tmux/Makefile
+++ b/package/tmux/Makefile
@@ -4,14 +4,14 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= tmux
-PKG_VERSION:= 2.9
+PKG_VERSION:= 3.2a
PKG_RELEASE:= 1
-PKG_HASH:= 34901232f486fd99f3a39e864575e658b5d49f43289ccc6ee57c365f2e2c2980
+PKG_HASH:= 551553a4f82beaa8dadc9256800bcc284d7c000081e47aa6ecbb6ff36eacd05f
PKG_DESCR:= terminal multiplexer
PKG_SECTION:= sys/utils
PKG_BUILDDEP:= libevent ncurses
PKG_DEPENDS:= libevent libncurses
-PKG_NEEDS:= threads
+PKG_NEEDS:= threads locale
PKG_URL:= http://tmux.github.io
PKG_SITES:= https://github.com/tmux/tmux/releases/download/$(PKG_VERSION)/
@@ -21,6 +21,7 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,TMUX,tmux,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+AUTOTOOL_STYLE:= autoreconf
TARGET_LDFLAGS+= -ltinfo
CONFIGURE_ARGS+= --disable-static
diff --git a/package/tmux/patches/patch-configure_ac b/package/tmux/patches/patch-configure_ac
new file mode 100644
index 000000000..1d70b17ca
--- /dev/null
+++ b/package/tmux/patches/patch-configure_ac
@@ -0,0 +1,22 @@
+--- tmux-3.2a.orig/configure.ac 2021-06-10 10:20:51.000000000 +0200
++++ tmux-3.2a/configure.ac 2022-03-16 12:00:53.916934376 +0100
+@@ -150,18 +150,10 @@ AC_REPLACE_FUNCS([ \
+ strlcpy \
+ strndup \
+ strsep \
++ strtonum \
+ ])
+ AC_FUNC_STRNLEN
+
+-# Check if strtonum works.
+-AC_MSG_CHECKING([for working strtonum])
+-AC_RUN_IFELSE([AC_LANG_PROGRAM(
+- [#include <stdlib.h>],
+- [return (strtonum("0", 0, 1, NULL) == 0 ? 0 : 1);]
+- )],
+- [AC_DEFINE(HAVE_STRTONUM) AC_MSG_RESULT(yes)],
+- [AC_LIBOBJ(strtonum) AC_MSG_RESULT(no)]
+-)
+
+ # Clang sanitizers wrap reallocarray even if it isn't available on the target
+ # system. When compiled it always returns NULL and crashes the program. To
diff --git a/package/tntnet/Makefile b/package/tntnet/Makefile
deleted file mode 100644
index 03d3b558e..000000000
--- a/package/tntnet/Makefile
+++ /dev/null
@@ -1,68 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include ${ADK_TOPDIR}/rules.mk
-
-PKG_NAME:= tntnet
-PKG_VERSION:= 2.2.1
-PKG_RELEASE:= 2
-PKG_HASH:= c83170d08ef04c5868051e1c28c74b9562fe71e9e8263828e755ad5bd3547521
-PKG_DESCR:= small c++ application server
-PKG_SECTION:= net/http
-PKG_DEPENDS:= cxxtools zlib
-PKG_BUILDDEP:= cxxtools zlib
-PKG_NEEDS:= threads c++
-PKG_URL:= http://www.tntnet.org/
-PKG_SITES:= http://www.tntnet.org/download/
-
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
-
-PKG_CHOICES_TNTNET:= WITH_LIBRESSL WITH_GNUTLS WITHOUT_SSL
-PKGCD_WITH_LIBRESSL:= use libressl for crypto
-PKGCS_WITH_LIBRESSL:= libressl
-PKGCB_WITH_LIBRESSL:= libressl
-PKGCD_WITH_GNUTLS:= use gnutls for crypto
-PKGCS_WITH_GNUTLS:= libgnutls
-PKGCB_WITH_GNUTLS:= gnutls
-PKGCD_WITHOUT_SSL:= use no ssl
-
-include ${ADK_TOPDIR}/mk/package.mk
-
-$(eval $(call PKG_template,TNTNET,tntnet,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-
-ifeq (${ADK_PACKAGE_TNTNET_WITHOUT_SSL},y)
-CONFIGURE_ARGS+= --with-ssl=no
-endif
-ifeq (${ADK_PACKAGE_TNTNET_WITH_LIBRESSL},y)
-CONFIGURE_ARGS+= --with-ssl=openssl
-endif
-ifeq (${ADK_PACKAGE_TNTNET_WITH_GNUTLS},y)
-CONFIGURE_ARGS+= --with-ssl=gnutls
-endif
-
-CONFIGURE_ARGS+= --without-epoll \
- --without-sdk \
- --without-cgi \
- --disable-unittest \
- --disable-locale \
- --without-sendfile
-CONFIGURE_ENV+= CXXFLAGS='${TARGET_CXXFLAGS}' \
- ac_cv_path_cxxtools_config=${STAGING_TARGET_DIR}/usr/bin
-
-
-tntnet-install:
- ${INSTALL_DIR} ${IDIR_TNTNET}/www
- ${INSTALL_DIR} ${IDIR_TNTNET}/etc/tntnet
- ${INSTALL_DIR} ${IDIR_TNTNET}/usr/bin
- ${INSTALL_DIR} ${IDIR_TNTNET}/usr/lib/tntnet
- ${INSTALL_DATA} ./files/tntnet.{xml,properties} \
- ${IDIR_TNTNET}/etc/tntnet
- ${INSTALL_DATA} ./files/mime.conf \
- ${IDIR_TNTNET}/etc/tntnet
- ${CP} ${WRKINST}/usr/bin/tntnet ${IDIR_TNTNET}/usr/bin
- ${CP} ${WRKINST}/usr/lib/tntnet/tntnet.so* \
- ${IDIR_TNTNET}/usr/lib/tntnet
- ${CP} ${WRKINST}/usr/lib/libtntnet.so* \
- ${IDIR_TNTNET}/usr/lib
-
-include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/tntnet/files/mime.conf b/package/tntnet/files/mime.conf
deleted file mode 100644
index bab84a83d..000000000
--- a/package/tntnet/files/mime.conf
+++ /dev/null
@@ -1,22 +0,0 @@
-DefaultType text/html
-AddType text/plain .txt
-AddType text/html .html .htm .xhtml
-AddType image/png .png
-AddType image/gif .gif
-AddType image/bmp .bmp
-AddType application/x-tar .tgz
-AddType image/jpeg .jpeg .jpg
-AddType image/tif .tif .tiff
-AddType text/css .css
-AddType text/plain .asc
-AddType text/rtf .rtf
-AddType video/mpeg .mpeg .mpg .mpe
-AddType application/x-javascript .js
-AddType application/msword .doc .dot
-AddType application/pdf .pdf
-AddType application/postscript .ps .ai .eps
-AddType application/vnd.ms-excel .xls .xlb
-AddType application/vnd.ms-powerpoint .ppt .pps .pot
-AddType application/zip .zip
-AddType application/x-gtar .gtar .tgz .taz
-AddType application/x-java-archive .jar
diff --git a/package/tntnet/files/tntnet.conffiles b/package/tntnet/files/tntnet.conffiles
deleted file mode 100644
index def08bf81..000000000
--- a/package/tntnet/files/tntnet.conffiles
+++ /dev/null
@@ -1,3 +0,0 @@
-/etc/tntnet/tntnet.conf
-/etc/tntnet/tntnet.properties
-/etc/tntnet/mime.conf
diff --git a/package/tntnet/files/tntnet.init b/package/tntnet/files/tntnet.init
deleted file mode 100644
index 01bb7a00b..000000000
--- a/package/tntnet/files/tntnet.init
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-#PKG tntnet
-#INIT 90
-. /etc/rc.conf
-
-case $1 in
-autostop) ;;
-autostart)
- test x"${tntnet:-NO}" = x"NO" && exit 0
- test x"$tntnet" = x"DAEMON" && test -x /bin/mksh && exec mksh -T- $0 start
- exec sh $0 start
- ;;
-start)
- /usr/bin/tntnet /etc/tntnet/tntnet.conf
- ;;
-stop)
- kill $(pgrep -f /usr/bin/tntnet)
- ;;
-restart)
- sh $0 stop
- sh $0 start
- ;;
-*)
- echo "usage: $0 {start | stop | restart}"
- ;;
-esac
-exit $?
diff --git a/package/tntnet/files/tntnet.postinst b/package/tntnet/files/tntnet.postinst
deleted file mode 100644
index 7bdfea5bd..000000000
--- a/package/tntnet/files/tntnet.postinst
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-. $IPKG_INSTROOT/etc/functions.sh
-add_rcconf tntnet NO
-gid=$(get_next_gid)
-add_group tntnet $gid
-add_user tntnet $(get_next_uid) $gid /www
diff --git a/package/tntnet/files/tntnet.properties b/package/tntnet/files/tntnet.properties
deleted file mode 100644
index 3e1006411..000000000
--- a/package/tntnet/files/tntnet.properties
+++ /dev/null
@@ -1,31 +0,0 @@
-# sample logging-properties for application tntnet
-# put this in tntnet.properties and use:
-# log_init("tntnet.properties");
-# in your application to initialize logging
-#
-# define categories with:
-# log_define("some.category")
-# this defines a static function, so you must put it outside other functions.
-# you can define a category per file or a category per namespace.
-#
-# print logging-messages with:
-# log_fatal("some fatal message");
-# log_error("some error message");
-# log_warn("some warn message");
-# log_info("some info message");
-# log_debug("some debug message");
-#
-rootLogger=INFO
-
-# define logger-categories
-logger.tntnet=INFO
-
-file=/var/log/tntnet.log
-maxfilesize=1MB
-maxbackupindex=10
-flushdelay=100 # delay write in milliseconds
-#host=localhost:1234 # send log-messages with udp
-#disabled=1 # disable logging
-#logprocess=1 # log in separate process
-#logprocesuser=someuser # change to user in log process
-#logprocesgroup=somegroup # change to group in log process
diff --git a/package/tntnet/files/tntnet.xml b/package/tntnet/files/tntnet.xml
deleted file mode 100644
index 2d4f160d1..000000000
--- a/package/tntnet/files/tntnet.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<tntnet>
- <mappings>
- <mapping>
- <target>static@tntnet</target>
- <url>(.*)/$</url>
- <pathinfo>/$1/index.html</pathinfo>
- </mapping>
- <mapping>
- <target>static@tntnet</target>
- <url>^/(.*)$</url>
- <pathinfo>/$1</pathinfo>
- </mapping>
- </mappings>
-
- <listeners>
- <listener>
- <ip>0.0.0.0</ip>
- <port>80</port>
- </listener>
- </listeners>
-
- <daemon>1</daemon>
- <user>tntnet</user>
- <group>tntnet</group>
- <maxRequestSize>1048576</maxRequestSize>
- <pidFile>/var/run/tntnet.pid</pidFile>
- <minThreads>2</minThreads>
- <maxThreads>4</maxThreads>
- <documentRoot>/www</documentRoot>
- <compPath>
- <entry>/usr/lib/tntnet</entry>
- </compPath>
- <logging>
- <rootlogger>INFO</rootlogger>
- <loggers>
- <logger>
- <category>tntnet</category>
- <level>INFO</level>
- </logger>
- </loggers>
- <!-- <file>tntnet.log</file> --> <!--uncomment if you want to log to a file -->
- <!-- <maxfilesize>1MB</maxfilesize> -->
- <!-- <maxbackupindex>2</maxbackupindex> -->
- <!-- <host>localhost:1234</host> --> <!-- # send log-messages with udp -->
- </logging>
-
- <include>/etc/tntnet/mime.conf</include>
-</tntnet>
diff --git a/package/tntnet/patches/patch-framework_common_gnutls_cpp b/package/tntnet/patches/patch-framework_common_gnutls_cpp
deleted file mode 100644
index 51037f74a..000000000
--- a/package/tntnet/patches/patch-framework_common_gnutls_cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- tntnet-2.2.1.orig/framework/common/gnutls.cpp 2013-12-26 15:08:34.000000000 +0100
-+++ tntnet-2.2.1/framework/common/gnutls.cpp 2014-05-20 06:44:01.000000000 +0200
-@@ -35,6 +35,7 @@
- #include <sys/poll.h>
- #include <errno.h>
- #include <cxxtools/ioerror.h>
-+#include <unistd.h>
-
- log_define("tntnet.ssl")
-
diff --git a/package/toolbox/src/Makefile b/package/toolbox/src/Makefile
index 50afea707..65009b6ef 100644
--- a/package/toolbox/src/Makefile
+++ b/package/toolbox/src/Makefile
@@ -57,7 +57,7 @@
SUBDIR+= lsof
SUBDIR+= md5
SUBDIR+= mkdir
- SUBDIR+= mknod
+# SUBDIR+= mknod # does not compile with glibc
SUBDIR+= mount
SUBDIR+= mv
SUBDIR+= netstat
diff --git a/package/tor/Makefile b/package/tor/Makefile
index bdb73c36d..faa4cf0ae 100644
--- a/package/tor/Makefile
+++ b/package/tor/Makefile
@@ -4,13 +4,13 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= tor
-PKG_VERSION:= 0.3.3.6
+PKG_VERSION:= 0.4.6.8
PKG_RELEASE:= 1
-PKG_HASH:= 99bc59f6dbf395894de12f3a83b3251a82dfd93dc7f6d3afcbbd80f6111433b7
+PKG_HASH:= 15ce1a37b4cc175b07761e00acdcfa2c08f0d23d6c3ab9c97c464bd38cc5476a
PKG_DESCR:= anonymous internet communication system
PKG_SECTION:= net/proxy
-PKG_DEPENDS:= libevent zlib libressl
-PKG_BUILDDEP:= libevent zlib libressl
+PKG_DEPENDS:= libevent zlib libressl xz
+PKG_BUILDDEP:= libevent zlib libressl xz
PKG_NEEDS:= threads
PKG_URL:= https://www.torproject.org/
PKG_SITES:= https://www.torproject.org/dist/
diff --git a/package/trafshow/Makefile b/package/trafshow/Makefile
deleted file mode 100644
index be8a9c09b..000000000
--- a/package/trafshow/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include ${ADK_TOPDIR}/rules.mk
-
-PKG_NAME:= trafshow
-PKG_VERSION:= 5.2.3
-PKG_RELEASE:= 2
-PKG_HASH:= ea7e22674a66afcc7174779d0f803c1f25b42271973b4f75fab293b8d7db11fc
-PKG_DESCR:= traffic analyzing tool
-PKG_SECTION:= net/perf
-PKG_BUILDDEP:= libpcap ncurses
-PKG_DEPENDS:= libpcap libncurses
-PKG_NEEDS:= threads
-PKG_SITES:= http://distfiles.openadk.org/
-PKG_NOPARALLEL:= 1
-
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tgz
-
-include ${ADK_TOPDIR}/mk/package.mk
-
-$(eval $(call PKG_template,TRAFSHOW,trafshow,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-
-TARGET_CPPFLAGS+= -DHAVE_SOCKADDR_STORAGE -DHAVE_HAS_COLORS -D_GNU_SOURCE
-TARGET_LDFLAGS+= -ltinfo
-
-trafshow-install:
- ${INSTALL_DIR} ${IDIR_TRAFSHOW}/usr/bin
- ${INSTALL_BIN} ${WRKINST}/usr/bin/trafshow ${IDIR_TRAFSHOW}/usr/bin/
-
-include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/trafshow/patches/patch-Makefile_in b/package/trafshow/patches/patch-Makefile_in
deleted file mode 100644
index f3f681f14..000000000
--- a/package/trafshow/patches/patch-Makefile_in
+++ /dev/null
@@ -1,54 +0,0 @@
---- trafshow-5.2.3.orig/Makefile.in 2004-06-15 10:29:14.000000000 +0200
-+++ trafshow-5.2.3/Makefile.in 2011-01-21 23:49:58.988658729 +0100
-@@ -28,21 +28,22 @@ MANDEST = @mandir@
-
- PROG = trafshow
- CC = @PTHREAD_CC@
--CFLAGS = @CFLAGS@ -Wall -I. @DEFS@ @PTHREAD_CFLAGS@
-+CFLAGS = @CFLAGS@ -Wall @PTHREAD_CFLAGS@
-+CPPFLAGS = -I. @DEFS@ @CPPFLAGS@
- YACC = @YACC@
- YFLAGS = -d -p `echo $@ | sed -e 's/\..*/_/'`
- LEX = @LEX@
- LEXLIB = @LEXLIB@
- LFLAGS =
- LDFLAGS = @LDFLAGS@
--LIBS = @PTHREAD_LIBS@ @LIBS@
-+LIBS = @PTHREAD_LIBS@ @LIBS@ -pthread
-
- # Explicitly define compilation rule since SunOS 4's make doesn't like gcc.
- # Also, gcc does not remove the .o before forking 'as', which can be a
- # problem if you don't own the file but can write to the directory.
- .c.o:
- @rm -f $@
-- $(CC) $(CFLAGS) -c $*.c
-+ $(CC) $(CPPFLAGS) $(CFLAGS) -c $*.c
-
- CSRC = trafshow.c screen.c colormask.c getkey.c selector.c \
- events.c session.c show_if.c show_stat.c show_dump.c \
-@@ -59,9 +60,11 @@ OBJ = $(CSRC:.c=.o) $(YSRC:.y=.o) $(LSRC
-
- CLEANFILES = $(PROG) $(OBJ) $(GENSRC) y.tab.h
-
-+all: $(PROG)
-+
- $(PROG): $(OBJ)
- @rm -f $@
-- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(LIBS)
-+ $(CC) $(LDFLAGS) -o $@ $(OBJ) $(LIBS)
-
- $(OBJ): config.h trafshow.h Makefile
- version.o: version.c
-@@ -73,9 +76,9 @@ version.c: VERSION Makefile
- @echo 'char compiled[] = "$(CC) $(CFLAGS) $(LIBS)";' >> $@
-
- install:
-- ./install-sh -c -s -m 555 -o bin -g bin $(PROG) $(BINDEST)/$(PROG)
-- ./install-sh -c -m 444 -o bin -g bin $(PROG).1 $(MANDEST)/man1/$(PROG).1
-- [ -f /etc/$(PROG) ] || ./install-sh -c -m 444 .trafshow /etc/$(PROG)
-+ ./install-sh -c -m 755 $(PROG) $(DESTDIR)$(BINDEST)/$(PROG)
-+ ./install-sh -c -m 644 $(PROG).1 $(DESTDIR)$(MANDEST)/man1/$(PROG).1
-+ ./install-sh -c -m 644 .trafshow $(DESTDIR)/etc/$(PROG)
-
- clean:
- rm -f $(CLEANFILES)
diff --git a/package/trafshow/patches/patch-domain_resolver_c b/package/trafshow/patches/patch-domain_resolver_c
deleted file mode 100644
index dfa619116..000000000
--- a/package/trafshow/patches/patch-domain_resolver_c
+++ /dev/null
@@ -1,680 +0,0 @@
-$Id$
---- trafshow-5.2.3.orig/domain_resolver.c 2006-01-08 06:59:23.000000000 +0100
-+++ trafshow-5.2.3/domain_resolver.c 2007-02-04 19:40:27.000000000 +0100
-@@ -28,6 +28,676 @@
- #include <resolv.h>
- #endif
-
-+/*
-+ * Copyright (c) 1985, 1993
-+ * The Regents of the University of California. 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.
-+ * 4. Neither the name of the University nor the names of its contributors
-+ * may be used to endorse or promote products derived from this software
-+ * without specific prior written permission.
-+ *
-+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
-+ */
-+
-+/*
-+ * Portions Copyright (c) 1993 by Digital Equipment Corporation.
-+ *
-+ * Permission to use, copy, modify, and distribute this software for any
-+ * purpose with or without fee is hereby granted, provided that the above
-+ * copyright notice and this permission notice appear in all copies, and that
-+ * the name of Digital Equipment Corporation not be used in advertising or
-+ * publicity pertaining to distribution of the document or software without
-+ * specific, written prior permission.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
-+ * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
-+ * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
-+ * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
-+ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
-+ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
-+ * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-+ * SOFTWARE.
-+ */
-+
-+/*
-+ * Portions Copyright (c) 1996-1999 by Internet Software Consortium.
-+ *
-+ * Permission to use, copy, modify, and distribute this software for any
-+ * purpose with or without fee is hereby granted, provided that the above
-+ * copyright notice and this permission notice appear in all copies.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
-+ * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
-+ * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
-+ * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
-+ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
-+ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
-+ * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-+ * SOFTWARE.
-+ */
-+
-+/*
-+ * Copyright (c) 1996,1999 by Internet Software Consortium.
-+ *
-+ * Permission to use, copy, modify, and distribute this software for any
-+ * purpose with or without fee is hereby granted, provided that the above
-+ * copyright notice and this permission notice appear in all copies.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
-+ * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
-+ * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
-+ * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
-+ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
-+ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
-+ * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-+ * SOFTWARE.
-+ */
-+
-+/*
-+ *
-+ * DNS helper functions not implemented in uclibc
-+ *
-+ */
-+
-+#include <ctype.h>
-+#include <unistd.h>
-+
-+static const char digits[] = "0123456789";
-+
-+/* Forward. */
-+
-+static int special(int);
-+static int printable(int);
-+static int dn_find(const u_char *, const u_char *,
-+ const u_char * const *,
-+ const u_char * const *);
-+
-+
-+/*
-+ * ns_name_ntop(src, dst, dstsiz)
-+ * Convert an encoded domain name to printable ascii as per RFC1035.
-+ * return:
-+ * Number of bytes written to buffer, or -1 (with errno set)
-+ * notes:
-+ * The root is returned as "."
-+ * All other domains are returned in non absolute form
-+ */
-+int
-+ns_name_ntop(const u_char *src, char *dst, size_t dstsiz) {
-+ const u_char *cp;
-+ char *dn, *eom;
-+ u_char c;
-+ u_int n;
-+
-+ cp = src;
-+ dn = dst;
-+ eom = dst + dstsiz;
-+
-+ while ((n = *cp++) != 0) {
-+ if ((n & NS_CMPRSFLGS) != 0) {
-+ /* Some kind of compression pointer. */
-+ return (-1);
-+ }
-+ if (dn != dst) {
-+ if (dn >= eom) {
-+ return (-1);
-+ }
-+ *dn++ = '.';
-+ }
-+ if (dn + n >= eom) {
-+ return (-1);
-+ }
-+ for ((void)NULL; n > 0; n--) {
-+ c = *cp++;
-+ if (special(c)) {
-+ if (dn + 1 >= eom) {
-+ return (-1);
-+ }
-+ *dn++ = '\\';
-+ *dn++ = (char)c;
-+ } else if (!printable(c)) {
-+ if (dn + 3 >= eom) {
-+ return (-1);
-+ }
-+ *dn++ = '\\';
-+ *dn++ = digits[c / 100];
-+ *dn++ = digits[(c % 100) / 10];
-+ *dn++ = digits[c % 10];
-+ } else {
-+ if (dn >= eom) {
-+ return (-1);
-+ }
-+ *dn++ = (char)c;
-+ }
-+ }
-+ }
-+ if (dn == dst) {
-+ if (dn >= eom) {
-+ return (-1);
-+ }
-+ *dn++ = '.';
-+ }
-+ if (dn >= eom) {
-+ return (-1);
-+ }
-+ *dn++ = '\0';
-+ return (dn - dst);
-+}
-+
-+/*
-+ * ns_name_pton(src, dst, dstsiz)
-+ * Convert a ascii string into an encoded domain name as per RFC1035.
-+ * return:
-+ * -1 if it fails
-+ * 1 if string was fully qualified
-+ * 0 is string was not fully qualified
-+ * notes:
-+ * Enforces label and domain length limits.
-+ */
-+
-+int
-+ns_name_pton(const char *src, u_char *dst, size_t dstsiz) {
-+ u_char *label, *bp, *eom;
-+ int c, n, escaped;
-+ char *cp;
-+
-+ escaped = 0;
-+ bp = dst;
-+ eom = dst + dstsiz;
-+ label = bp++;
-+
-+ while ((c = *src++) != 0) {
-+ if (escaped) {
-+ if ((cp = strchr(digits, c)) != NULL) {
-+ n = (cp - digits) * 100;
-+ if ((c = *src++) == 0 ||
-+ (cp = strchr(digits, c)) == NULL) {
-+ return (-1);
-+ }
-+ n += (cp - digits) * 10;
-+ if ((c = *src++) == 0 ||
-+ (cp = strchr(digits, c)) == NULL) {
-+ return (-1);
-+ }
-+ n += (cp - digits);
-+ if (n > 255) {
-+ return (-1);
-+ }
-+ c = n;
-+ }
-+ escaped = 0;
-+ } else if (c == '\\') {
-+ escaped = 1;
-+ continue;
-+ } else if (c == '.') {
-+ c = (bp - label - 1);
-+ if ((c & NS_CMPRSFLGS) != 0) { /* Label too big. */
-+ return (-1);
-+ }
-+ if (label >= eom) {
-+ return (-1);
-+ }
-+ *label = c;
-+ /* Fully qualified ? */
-+ if (*src == '\0') {
-+ if (c != 0) {
-+ if (bp >= eom) {
-+ return (-1);
-+ }
-+ *bp++ = '\0';
-+ }
-+ if ((bp - dst) > MAXCDNAME) {
-+ return (-1);
-+ }
-+ return (1);
-+ }
-+ if (c == 0 || *src == '.') {
-+ return (-1);
-+ }
-+ label = bp++;
-+ continue;
-+ }
-+ if (bp >= eom) {
-+ return (-1);
-+ }
-+ *bp++ = (u_char)c;
-+ }
-+ c = (bp - label - 1);
-+ if ((c & NS_CMPRSFLGS) != 0) { /* Label too big. */
-+ return (-1);
-+ }
-+ if (label >= eom) {
-+ return (-1);
-+ }
-+ *label = c;
-+ if (c != 0) {
-+ if (bp >= eom) {
-+ return (-1);
-+ }
-+ *bp++ = 0;
-+ }
-+ if ((bp - dst) > MAXCDNAME) { /* src too big */
-+ return (-1);
-+ }
-+ return (0);
-+}
-+
-+/*
-+ * ns_name_ntol(src, dst, dstsiz)
-+ * Convert a network strings labels into all lowercase.
-+ * return:
-+ * Number of bytes written to buffer, or -1 (with errno set)
-+ * notes:
-+ * Enforces label and domain length limits.
-+ */
-+
-+int
-+ns_name_ntol(const u_char *src, u_char *dst, size_t dstsiz) {
-+ const u_char *cp;
-+ u_char *dn, *eom;
-+ u_char c;
-+ u_int n;
-+
-+ cp = src;
-+ dn = dst;
-+ eom = dst + dstsiz;
-+
-+ while ((n = *cp++) != 0) {
-+ if ((n & NS_CMPRSFLGS) != 0) {
-+ /* Some kind of compression pointer. */
-+ return (-1);
-+ }
-+ *dn++ = n;
-+ if (dn + n >= eom) {
-+ return (-1);
-+ }
-+ for ((void)NULL; n > 0; n--) {
-+ c = *cp++;
-+ if (isupper(c))
-+ *dn++ = tolower(c);
-+ else
-+ *dn++ = c;
-+ }
-+ }
-+ *dn++ = '\0';
-+ return (dn - dst);
-+}
-+
-+/*
-+ * ns_name_unpack(msg, eom, src, dst, dstsiz)
-+ * Unpack a domain name from a message, source may be compressed.
-+ * return:
-+ * -1 if it fails, or consumed octets if it succeeds.
-+ */
-+int
-+ns_name_unpack(const u_char *msg, const u_char *eom, const u_char *src,
-+ u_char *dst, size_t dstsiz)
-+{
-+ const u_char *srcp, *dstlim;
-+ u_char *dstp;
-+ int n, len, checked;
-+
-+ len = -1;
-+ checked = 0;
-+ dstp = dst;
-+ srcp = src;
-+ dstlim = dst + dstsiz;
-+ if (srcp < msg || srcp >= eom) {
-+ return (-1);
-+ }
-+ /* Fetch next label in domain name. */
-+ while ((n = *srcp++) != 0) {
-+ /* Check for indirection. */
-+ switch (n & NS_CMPRSFLGS) {
-+ case 0:
-+ /* Limit checks. */
-+ if (dstp + n + 1 >= dstlim || srcp + n >= eom) {
-+ return (-1);
-+ }
-+ checked += n + 1;
-+ *dstp++ = n;
-+ memcpy(dstp, srcp, n);
-+ dstp += n;
-+ srcp += n;
-+ break;
-+
-+ case NS_CMPRSFLGS:
-+ if (srcp >= eom) {
-+ return (-1);
-+ }
-+ if (len < 0)
-+ len = srcp - src + 1;
-+ srcp = msg + (((n & 0x3f) << 8) | (*srcp & 0xff));
-+ if (srcp < msg || srcp >= eom) { /* Out of range. */
-+ return (-1);
-+ }
-+ checked += 2;
-+ /*
-+ * Check for loops in the compressed name;
-+ * if we've looked at the whole message,
-+ * there must be a loop.
-+ */
-+ if (checked >= eom - msg) {
-+ return (-1);
-+ }
-+ break;
-+
-+ default:
-+ return (-1); /* flag error */
-+ }
-+ }
-+ *dstp = '\0';
-+ if (len < 0)
-+ len = srcp - src;
-+ return (len);
-+}
-+
-+/*
-+ * ns_name_pack(src, dst, dstsiz, dnptrs, lastdnptr)
-+ * Pack domain name 'domain' into 'comp_dn'.
-+ * return:
-+ * Size of the compressed name, or -1.
-+ * notes:
-+ * 'dnptrs' is an array of pointers to previous compressed names.
-+ * dnptrs[0] is a pointer to the beginning of the message. The array
-+ * ends with NULL.
-+ * 'lastdnptr' is a pointer to the end of the array pointed to
-+ * by 'dnptrs'.
-+ * Side effects:
-+ * The list of pointers in dnptrs is updated for labels inserted into
-+ * the message as we compress the name. If 'dnptr' is NULL, we don't
-+ * try to compress names. If 'lastdnptr' is NULL, we don't update the
-+ * list.
-+ */
-+int
-+ns_name_pack(const u_char *src, u_char *dst, int dstsiz,
-+ const u_char **dnptrs, const u_char **lastdnptr)
-+{
-+ u_char *dstp;
-+ const u_char **cpp, **lpp, *eob, *msg;
-+ const u_char *srcp;
-+ int n, l, first = 1;
-+
-+ srcp = src;
-+ dstp = dst;
-+ eob = dstp + dstsiz;
-+ lpp = cpp = NULL;
-+ if (dnptrs != NULL) {
-+ if ((msg = *dnptrs++) != NULL) {
-+ for (cpp = dnptrs; *cpp != NULL; cpp++)
-+ (void)NULL;
-+ lpp = cpp; /* end of list to search */
-+ }
-+ } else
-+ msg = NULL;
-+
-+ /* make sure the domain we are about to add is legal */
-+ l = 0;
-+ do {
-+ n = *srcp;
-+ if ((n & NS_CMPRSFLGS) != 0) {
-+ return (-1);
-+ }
-+ l += n + 1;
-+ if (l > MAXCDNAME) {
-+ return (-1);
-+ }
-+ srcp += n + 1;
-+ } while (n != 0);
-+
-+ /* from here on we need to reset compression pointer array on error */
-+ srcp = src;
-+ do {
-+ /* Look to see if we can use pointers. */
-+ n = *srcp;
-+ if (n != 0 && msg != NULL) {
-+ l = dn_find(srcp, msg, (const u_char * const *)dnptrs,
-+ (const u_char * const *)lpp);
-+ if (l >= 0) {
-+ if (dstp + 1 >= eob) {
-+ goto cleanup;
-+ }
-+ *dstp++ = (l >> 8) | NS_CMPRSFLGS;
-+ *dstp++ = l % 256;
-+ return (dstp - dst);
-+ }
-+ /* Not found, save it. */
-+ if (lastdnptr != NULL && cpp < lastdnptr - 1 &&
-+ (dstp - msg) < 0x4000 && first) {
-+ *cpp++ = dstp;
-+ *cpp = NULL;
-+ first = 0;
-+ }
-+ }
-+ /* copy label to buffer */
-+ if (n & NS_CMPRSFLGS) { /* Should not happen. */
-+ goto cleanup;
-+ }
-+ if (dstp + 1 + n >= eob) {
-+ goto cleanup;
-+ }
-+ memcpy(dstp, srcp, n + 1);
-+ srcp += n + 1;
-+ dstp += n + 1;
-+ } while (n != 0);
-+
-+ if (dstp > eob) {
-+cleanup:
-+ if (msg != NULL)
-+ *lpp = NULL;
-+ return (-1);
-+ }
-+ return (dstp - dst);
-+}
-+
-+/*
-+ * ns_name_uncompress(msg, eom, src, dst, dstsiz)
-+ * Expand compressed domain name to presentation format.
-+ * return:
-+ * Number of bytes read out of `src', or -1 (with errno set).
-+ * note:
-+ * Root domain returns as "." not "".
-+ */
-+int
-+ns_name_uncompress(const u_char *msg, const u_char *eom, const u_char *src,
-+ char *dst, size_t dstsiz)
-+{
-+ u_char tmp[NS_MAXCDNAME];
-+ int n;
-+
-+ if ((n = ns_name_unpack(msg, eom, src, tmp, sizeof tmp)) == -1)
-+ return (-1);
-+ if (ns_name_ntop(tmp, dst, dstsiz) == -1)
-+ return (-1);
-+ return (n);
-+}
-+
-+/*
-+ * ns_name_compress(src, dst, dstsiz, dnptrs, lastdnptr)
-+ * Compress a domain name into wire format, using compression pointers.
-+ * return:
-+ * Number of bytes consumed in `dst' or -1 (with errno set).
-+ * notes:
-+ * 'dnptrs' is an array of pointers to previous compressed names.
-+ * dnptrs[0] is a pointer to the beginning of the message.
-+ * The list ends with NULL. 'lastdnptr' is a pointer to the end of the
-+ * array pointed to by 'dnptrs'. Side effect is to update the list of
-+ * pointers for labels inserted into the message as we compress the name.
-+ * If 'dnptr' is NULL, we don't try to compress names. If 'lastdnptr'
-+ * is NULL, we don't update the list.
-+ */
-+int
-+ns_name_compress(const char *src, u_char *dst, size_t dstsiz,
-+ const u_char **dnptrs, const u_char **lastdnptr)
-+{
-+ u_char tmp[NS_MAXCDNAME];
-+
-+ if (ns_name_pton(src, tmp, sizeof tmp) == -1)
-+ return (-1);
-+ return (ns_name_pack(tmp, dst, dstsiz, dnptrs, lastdnptr));
-+}
-+
-+/*
-+ * special(ch)
-+ * Thinking in noninternationalized USASCII (per the DNS spec),
-+ * is this characted special ("in need of quoting") ?
-+ * return:
-+ * boolean.
-+ */
-+static int
-+special(int ch) {
-+ switch (ch) {
-+ case 0x22: /* '"' */
-+ case 0x2E: /* '.' */
-+ case 0x3B: /* ';' */
-+ case 0x5C: /* '\\' */
-+ /* Special modifiers in zone files. */
-+ case 0x40: /* '@' */
-+ case 0x24: /* '$' */
-+ return (1);
-+ default:
-+ return (0);
-+ }
-+}
-+
-+/*
-+ * printable(ch)
-+ * Thinking in noninternationalized USASCII (per the DNS spec),
-+ * is this character visible and not a space when printed ?
-+ * return:
-+ * boolean.
-+ */
-+static int
-+printable(int ch) {
-+ return (ch > 0x20 && ch < 0x7f);
-+}
-+
-+/*
-+ * Thinking in noninternationalized USASCII (per the DNS spec),
-+ * convert this character to lower case if it's upper case.
-+ */
-+static int
-+mklower(int ch) {
-+ if (ch >= 0x41 && ch <= 0x5A)
-+ return (ch + 0x20);
-+ return (ch);
-+}
-+
-+/*
-+ * dn_find(domain, msg, dnptrs, lastdnptr)
-+ * Search for the counted-label name in an array of compressed names.
-+ * return:
-+ * offset from msg if found, or -1.
-+ * notes:
-+ * dnptrs is the pointer to the first name on the list,
-+ * not the pointer to the start of the message.
-+ */
-+static int
-+dn_find(const u_char *domain, const u_char *msg,
-+ const u_char * const *dnptrs,
-+ const u_char * const *lastdnptr)
-+{
-+ const u_char *dn, *cp, *sp;
-+ const u_char * const *cpp;
-+ u_int n;
-+
-+ for (cpp = dnptrs; cpp < lastdnptr; cpp++) {
-+ sp = *cpp;
-+ /*
-+ * terminate search on:
-+ * root label
-+ * compression pointer
-+ * unusable offset
-+ */
-+ while (*sp != 0 && (*sp & NS_CMPRSFLGS) == 0 &&
-+ (sp - msg) < 0x4000) {
-+ dn = domain;
-+ cp = sp;
-+ while ((n = *cp++) != 0) {
-+ /*
-+ * check for indirection
-+ */
-+ switch (n & NS_CMPRSFLGS) {
-+ case 0: /* normal case, n == len */
-+ if (n != *dn++)
-+ goto next;
-+ for ((void)NULL; n > 0; n--)
-+ if (mklower(*dn++) !=
-+ mklower(*cp++))
-+ goto next;
-+ /* Is next root for both ? */
-+ if (*dn == '\0' && *cp == '\0')
-+ return (sp - msg);
-+ if (*dn)
-+ continue;
-+ goto next;
-+
-+ case NS_CMPRSFLGS: /* indirection */
-+ cp = msg + (((n & 0x3f) << 8) | *cp);
-+ break;
-+
-+ default: /* illegal type */
-+ return (-1);
-+ }
-+ }
-+ next:
-+ sp += *sp + 1;
-+ }
-+ }
-+ return (-1);
-+}
-+
-+/*
-+ * Expand compressed domain name 'comp_dn' to full domain name.
-+ * 'msg' is a pointer to the begining of the message,
-+ * 'eomorig' points to the first location after the message,
-+ * 'exp_dn' is a pointer to a buffer of size 'length' for the result.
-+ * Return size of compressed name or -1 if there was an error.
-+ */
-+int
-+dn_expand(const u_char *msg, const u_char *eom, const u_char *src,
-+ char *dst, int dstsiz)
-+{
-+ int n = ns_name_uncompress(msg, eom, src, dst, (size_t)dstsiz);
-+
-+ if (n > 0 && dst[0] == '.')
-+ dst[0] = '\0';
-+ return (n);
-+}
-+
-+/*
-+ * Pack domain name 'exp_dn' in presentation form into 'comp_dn'.
-+ * Return the size of the compressed name or -1.
-+ * 'length' is the size of the array pointed to by 'comp_dn'.
-+ */
-+int
-+dn_comp(const char *src, u_char *dst, int dstsiz,
-+ u_char **dnptrs, u_char **lastdnptr)
-+{
-+ return (ns_name_compress(src, dst, (size_t)dstsiz,
-+ (const u_char **)dnptrs,
-+ (const u_char **)lastdnptr));
-+}
-+
-+
- #include "domain_resolver.h"
- #include "session.h"
- #include "util.h"
diff --git a/package/trafshow/patches/patch-session_c b/package/trafshow/patches/patch-session_c
deleted file mode 100644
index cee3cb266..000000000
--- a/package/trafshow/patches/patch-session_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- trafshow-5.2.3.orig/session.c 2006-01-08 06:58:08.000000000 +0100
-+++ trafshow-5.2.3/session.c 2010-02-05 22:59:54.974334342 +0100
-@@ -40,7 +40,7 @@
- #define ASYNC_MODE FNDELAY
- #elif O_ASYNC
- #define ASYNC_MODE O_ASYNC
--#elif
-+#else
- #error the fcntl argument to turn ON/OFF non-blocking I/O is unknown
- #endif
-
diff --git a/package/transmission/Makefile b/package/transmission/Makefile
index 8fed6d204..3ba43fb1d 100644
--- a/package/transmission/Makefile
+++ b/package/transmission/Makefile
@@ -4,24 +4,22 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= transmission
-PKG_VERSION:= 2.92
+PKG_VERSION:= 4.0.5
PKG_RELEASE:= 1
-PKG_HASH:= 3a8d045c306ad9acb7bf81126939b9594553a388482efa0ec1bfb67b22acd35f
+PKG_HASH:= fd68ff114a479200043c30c7e69dba4c1932f7af36ca4c5b5d2edcb5866e6357
PKG_DESCR:= torrent client
PKG_SECTION:= app/p2p
PKG_DEPENDS:= libressl libevent libcurl
-PKG_BUILDDEP:= libressl libevent curl
+PKG_BUILDDEP:= cmake-host libressl libevent curl
PKG_NEEDS:= threads c++
PKG_URL:= http://www.transmissionbt.com
-PKG_SITES:= http://download.transmissionbt.com/files/
+PKG_SITES:= https://github.com/transmission/transmission/releases/download/$(PKG_VERSION)/
include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,TRANSMISSION,transmission,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
-TARGET_LDFLAGS+= -liconv
-
-CONFIGURE_ARGS+= --without-gtk
+CONFIG_STYLE:= cmake
transmission-install:
$(INSTALL_DIR) $(IDIR_TRANSMISSION)/usr/share
diff --git a/package/trinity/Makefile b/package/trinity/Makefile
deleted file mode 100644
index cf12729eb..000000000
--- a/package/trinity/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(ADK_TOPDIR)/rules.mk
-
-PKG_NAME:= trinity
-PKG_VERSION:= 1.6
-PKG_RELEASE:= 1
-PKG_HASH:= e40efa320ddc814943e90be0386b5052ce0bbbc457b3f308fa973669d393a6d9
-PKG_DESCR:= linux system call fuzz tester
-PKG_SECTION:= base/tests
-PKG_URL:= http://codemonkey.org.uk/projects/trinity/
-PKG_SITES:= http://codemonkey.org.uk/projects/trinity/
-
-include $(ADK_TOPDIR)/mk/package.mk
-
-$(eval $(call PKG_template,TRINITY,trinity,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
-
-XAKE_FLAGS+= CROSS_COMPILE=
-CONFIG_STYLE:= minimal
-CONFIGURE_PROG:= configure.sh
-
-trinity-install:
- $(INSTALL_DIR) $(IDIR_TRINITY)/usr/bin
- $(INSTALL_BIN) $(WRKINST)/usr/bin/trinity \
- $(IDIR_TRINITY)/usr/bin
-
-include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/trinity/patches/patch-Makefile b/package/trinity/patches/patch-Makefile
deleted file mode 100644
index aa85e30f1..000000000
--- a/package/trinity/patches/patch-Makefile
+++ /dev/null
@@ -1,10 +0,0 @@
---- trinity-1.6.orig/Makefile 2015-11-03 18:05:50.000000000 +0100
-+++ trinity-1.6/Makefile 2016-02-25 00:24:11.000000000 +0100
-@@ -1,6 +1,6 @@
- VERSION="1.6"
-
--INSTALL_PREFIX ?= $(DESTDIR)
-+INSTALL_PREFIX ?= $(DESTDIR)/usr
- INSTALL_PREFIX ?= $(HOME)
- NR_CPUS := $(shell grep ^processor /proc/cpuinfo | /usr/bin/wc -l)
-
diff --git a/package/trinity/patches/patch-syscalls_prctl_c b/package/trinity/patches/patch-syscalls_prctl_c
deleted file mode 100644
index 9adbe22f8..000000000
--- a/package/trinity/patches/patch-syscalls_prctl_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- trinity-1.6.orig/syscalls/prctl.c 2015-11-03 18:05:50.000000000 +0100
-+++ trinity-1.6/syscalls/prctl.c 2016-02-25 00:26:56.000000000 +0100
-@@ -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,
- };
diff --git a/package/tvheadend/Makefile b/package/tvheadend/Makefile
index 5557d16ec..2d86705e8 100644
--- a/package/tvheadend/Makefile
+++ b/package/tvheadend/Makefile
@@ -4,7 +4,7 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= tvheadend
-PKG_VERSION:= f46a6c2dc93460d7c2909ebbec42a3ac2557ccb2
+PKG_VERSION:= a9c6db8acbd85297238771b8b4430435b7994928
PKG_GIT:= hash
PKG_RELEASE:= 1
PKG_DESCR:= tv streaming server
@@ -23,7 +23,12 @@ XAKE_FLAGS+= LDLIBS=-liconv
endif
CONFIGURE_ARGS+= --disable-bundle \
- --disable-ffmpeg_static
+ --disable-ffmpeg_static \
+ --disable-execinfo \
+ --disable-libvpx \
+ --disable-libx264 \
+ --disable-libx265 \
+ --nowerror
tvheadend-install:
$(INSTALL_DIR) $(IDIR_TVHEADEND)/usr/bin
diff --git a/package/tvheadend/patches/patch-configure b/package/tvheadend/patches/patch-configure
new file mode 100644
index 000000000..97882365d
--- /dev/null
+++ b/package/tvheadend/patches/patch-configure
@@ -0,0 +1,22 @@
+--- tvheadend-a9c6db8acbd85297238771b8b4430435b7994928.orig/configure 2024-03-03 05:21:25.000000000 +0100
++++ tvheadend-a9c6db8acbd85297238771b8b4430435b7994928/configure 2024-03-03 05:37:39.643872622 +0100
+@@ -28,8 +28,8 @@ OPTIONS=(
+ "satip_server:yes"
+ "satip_client:yes"
+ "hdhomerun_client:no"
+- "hdhomerun_server:yes"
+- "hdhomerun_static:yes"
++ "hdhomerun_server:no"
++ "hdhomerun_static:no"
+ "iptv:yes"
+ "tsfile:yes"
+ "dvbscan:yes"
+@@ -63,7 +63,7 @@ OPTIONS=(
+ "pcre2:auto"
+ "uriparser:auto"
+ "ccache:auto"
+- "tvhcsa:auto"
++ "tvhcsa:no"
+ "bundle:no"
+ "pngquant:no"
+ "kqueue:no"
diff --git a/package/tvheadend/patches/patch-configure.orig b/package/tvheadend/patches/patch-configure.orig
new file mode 100644
index 000000000..3c8ed25ed
--- /dev/null
+++ b/package/tvheadend/patches/patch-configure.orig
@@ -0,0 +1,11 @@
+--- tvheadend-a9c6db8acbd85297238771b8b4430435b7994928.orig/configure 2024-03-03 05:21:25.000000000 +0100
++++ tvheadend-a9c6db8acbd85297238771b8b4430435b7994928/configure 2024-03-03 05:35:58.519873994 +0100
+@@ -63,7 +63,7 @@ OPTIONS=(
+ "pcre2:auto"
+ "uriparser:auto"
+ "ccache:auto"
+- "tvhcsa:auto"
++ "tvhcsa:no"
+ "bundle:no"
+ "pngquant:no"
+ "kqueue:no"
diff --git a/package/twm/Makefile b/package/twm/Makefile
index a59d0e20d..7bf5925fa 100644
--- a/package/twm/Makefile
+++ b/package/twm/Makefile
@@ -9,8 +9,8 @@ PKG_RELEASE:= 1
PKG_HASH:= a0d3f2a9689594220220d32c3cd674056b91dbf7c6c352efe1ffb72d65c66f76
PKG_DESCR:= simple window manager
PKG_SECTION:= x11/apps
-PKG_DEPENDS:= xorg-server
-PKG_BUILDDEP:= xorg-server
+PKG_DEPENDS:= xorg-server libx11 libxext libxt libxmu libice libsm
+PKG_BUILDDEP:= xorg-server libX11 libXext libXt libXmu libICE libSM
PKG_NEEDS:= c++
PKG_URL:= http://xorg.freedesktop.org/
PKG_SITES:= http://xorg.freedesktop.org/archive/individual/app/
diff --git a/package/tzdata/Makefile b/package/tzdata/Makefile
index d838eabf8..a1e7de77b 100644
--- a/package/tzdata/Makefile
+++ b/package/tzdata/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= tzdata
-PKG_VERSION:= 2019c
+PKG_VERSION:= 2021e
PKG_RELEASE:= 1
-PKG_HASH:= 79c7806dab09072308da0e3d22c37d3b245015a591891ea147d3b133b60ffc7c f6ebd3668e02d5ed223d3b7b1947561bf2d2da2f4bd1db61efefd9e06c167ed4
+PKG_HASH:= 07ec42b737d0d3c6be9c337f8abb5f00554a0f9cc4fcf01a703d69403b6bb2b1 584666393a5424d13d27ec01183da17703273664742e049d4f62f62dab631775
PKG_DESCR:= timezone data (/usr/share/zoneinfo)
PKG_SECTION:= base/apps
PKG_URL:= http://www.iana.org/time-zones/
diff --git a/package/tzdata/patches/patch-Makefile b/package/tzdata/patches/patch-Makefile
index faf30fcd9..9083a7597 100644
--- a/package/tzdata/patches/patch-Makefile
+++ b/package/tzdata/patches/patch-Makefile
@@ -1,6 +1,6 @@
---- w-tzdata-2019c-1.orig/Makefile 2019-07-01 09:06:38.000000000 +0200
-+++ w-tzdata-2019c-1/Makefile 2020-02-04 09:33:12.012662611 +0100
-@@ -365,7 +365,7 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fn
+--- w-tzdata-2021e-1.orig/Makefile 2021-09-25 16:47:39.000000000 +0200
++++ w-tzdata-2021e-1/Makefile 2022-01-09 06:05:17.958089388 +0100
+@@ -370,7 +370,7 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fn
# January's first Monday when a "%V" format is used and January 1
# falls on a Friday, Saturday, or Sunday.
@@ -9,7 +9,7 @@
# Linker flags. Default to $(LFLAGS) for backwards compatibility
# to release 2012h and earlier.
-@@ -380,7 +380,7 @@ LEAPSECONDS=
+@@ -385,7 +385,7 @@ LEAPSECONDS=
# The zic command and its arguments.
zic= ./zic
@@ -18,8 +18,8 @@
# To shrink the size of installed TZif files,
# append "-r @N" to omit data before N-seconds-after-the-Epoch.
-@@ -579,7 +579,7 @@ SHELL= /bin/sh
- all: tzselect yearistype zic zdump libtz.a $(TABDATA) \
+@@ -562,7 +562,7 @@ SHELL= /bin/sh
+ all: tzselect zic zdump libtz.a $(TABDATA) \
vanguard.zi main.zi rearguard.zi
-ALL: all date $(ENCHILADA)
@@ -27,7 +27,7 @@
install: all $(DATA) $(REDO) $(MANS)
mkdir -p '$(DESTDIR)$(BINDIR)' \
-@@ -646,6 +646,12 @@ zdump: $(TZDOBJS)
+@@ -637,6 +637,12 @@ zdump: $(TZDOBJS)
zic: $(TZCOBJS)
$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZCOBJS) $(LDLIBS)
@@ -37,6 +37,6 @@
+ $(CC_FOR_BUILD) -c $(CFLAGS_FOR_BUILD) asctime.c -o asctime_build.o
+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -o $@ zic_build.o localtime_build.o asctime_build.o
+
- yearistype: yearistype.sh
- cp yearistype.sh yearistype
- chmod +x yearistype
+ leapseconds: $(LEAP_DEPS)
+ $(AWK) -v EXPIRES_LINE=$(EXPIRES_LINE) \
+ -f leapseconds.awk leap-seconds.list >$@.out
diff --git a/package/u-boot-h8300/Makefile b/package/u-boot-h8300/Makefile
index e26b4fd59..bfd0824df 100644
--- a/package/u-boot-h8300/Makefile
+++ b/package/u-boot-h8300/Makefile
@@ -4,6 +4,7 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= u-boot
+# last working hash fa0e8426833edc1be3c2ea3acaf248157048a15a
PKG_VERSION:= h8300
PKG_GIT:= branch
PKG_RELEASE:= 1
@@ -13,7 +14,6 @@ HOST_BUILDDEP:= libressl-host dtc-host
PKG_BUILDDEP:= u-boot-h8300-host
PKG_SITES:= git://git.pf.osdn.jp/gitroot/y/ys/ysato/uboot.git
-
PKG_SYSTEM_DEPENDS:= hitachi-edosk2674
include $(ADK_TOPDIR)/mk/host.mk
@@ -23,7 +23,6 @@ $(eval $(call HOST_template,U_BOOT,u-boot,$(PKG_VERSION)-$(PKG_RELEASE)))
$(eval $(call PKG_template,U_BOOT,u-boot,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
UBOOT:= u-boot.bin
-CONFIG:= clearfog_defconfig
HOST_MAKE_FLAGS+= HOSTCFLAGS="$(HOST_CPPFLAGS) $(HOST_CFLAGS)" \
HOSTLDFLAGS="$(HOST_LDFLAGS) -ldl"
diff --git a/package/u-boot-h8300/patches/dtc.patch b/package/u-boot-h8300/patches/dtc.patch
new file mode 100644
index 000000000..725c3af2f
--- /dev/null
+++ b/package/u-boot-h8300/patches/dtc.patch
@@ -0,0 +1,11 @@
+diff -Nur u-boot-h8300.orig/scripts/dtc/dtc-lexer.l u-boot-h8300/scripts/dtc/dtc-lexer.l
+--- u-boot-h8300.orig/scripts/dtc/dtc-lexer.l 2022-02-11 13:17:30.000000000 +0100
++++ u-boot-h8300/scripts/dtc/dtc-lexer.l 2022-02-11 13:42:14.302389873 +0100
+@@ -38,7 +38,6 @@ LINECOMMENT "//".*\n
+ #include "srcpos.h"
+ #include "dtc-parser.tab.h"
+
+-YYLTYPE yylloc;
+ extern bool treesource_error;
+
+ /* CAUTION: this will stop working if we ever use yyless() or yyunput() */
diff --git a/package/u-boot-h8300/patches/patch-include_image_h b/package/u-boot-h8300/patches/patch-include_image_h
new file mode 100644
index 000000000..e087a033d
--- /dev/null
+++ b/package/u-boot-h8300/patches/patch-include_image_h
@@ -0,0 +1,13 @@
+--- u-boot-h8300.orig/include/image.h 2022-02-11 13:17:30.000000000 +0100
++++ u-boot-h8300/include/image.h 2022-02-13 01:58:23.457168935 +0100
+@@ -194,9 +194,9 @@ enum {
+ IH_ARCH_ARM64, /* ARM64 */
+ IH_ARCH_ARC, /* Synopsys DesignWare ARC */
+ IH_ARCH_X86_64, /* AMD x86_64, Intel and Via */
++ IH_ARCH_H8300, /* H8/300 */
+ IH_ARCH_XTENSA, /* Xtensa */
+ IH_ARCH_RISCV, /* RISC-V */
+- IH_ARCH_H8300, /* H8/300 */
+ IH_ARCH_COUNT,
+ };
+
diff --git a/package/u-boot/Makefile b/package/u-boot/Makefile
index f9f2356a2..69a0a5026 100644
--- a/package/u-boot/Makefile
+++ b/package/u-boot/Makefile
@@ -4,19 +4,19 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= u-boot
-PKG_VERSION:= 2019.10
+PKG_VERSION:= 2024.01
PKG_RELEASE:= 1
-PKG_HASH:= 8d6d6070739522dd236cba7055b8736bfe92b4fac0ea18ad809829ca79667014
+PKG_HASH:= b99611f1ed237bf3541bdc8434b68c96a6e05967061f992443cb30aabebef5b3
PKG_DESCR:= portable bootloader
PKG_SECTION:= base/boot
-HOST_BUILDDEP:= libressl-host dtc-host
-PKG_BUILDDEP:= python3-host swig-host u-boot-host
+HOST_BUILDDEP:= libressl-host dtc-host swig-host python3-host python-setuptools-host
+PKG_BUILDDEP:= python3-host python-setuptools-host swig-host u-boot-host
PKG_URL:= http://www.denx.de/wiki/U-Boot
PKG_SITES:= ftp://ftp.denx.de/pub/u-boot/
DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SYSTEM_DEPENDS:= beaglebone-black orange-pi0 raspberry-pi raspberry-pi2 raspberry-pi3 banana-pro solidrun-imx6 solidrun-clearfog raspberry-pi3-64 raspberry-pi3p raspberry-pi3p-64 phytec-imx6 pcduino-3b
+PKG_SYSTEM_DEPENDS:= banana-p2-zero beaglebone-black orange-pi0 raspberry-pi raspberry-pi2 raspberry-pi3 banana-pro solidrun-imx6 solidrun-clearfog raspberry-pi3-64 raspberry-pi3p raspberry-pi3p-64 rockpi4-plus phytec-imx6 pcduino-3b imgtec-ci20 st-stm32f746g
include $(ADK_TOPDIR)/mk/host.mk
include $(ADK_TOPDIR)/mk/package.mk
@@ -58,10 +58,18 @@ endif
ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI3P_64),y)
CONFIG:= rpi_3_defconfig
endif
+ifeq ($(ADK_TARGET_SYSTEM_ROCKPI4_PLUS),y)
+CONFIG:= rock-pi-4-rk3399_defconfig
+UBOOT:= u-boot.itb
+endif
ifeq ($(ADK_TARGET_SYSTEM_BANANA_PRO),y)
CONFIG:= Bananapro_defconfig
UBOOT:= u-boot-sunxi-with-spl.bin
endif
+ifeq ($(ADK_TARGET_SYSTEM_BANANA_P2_ZERO),y)
+CONFIG:= bananapi_m2_p2_zero_defconfig
+UBOOT:= u-boot-sunxi-with-spl.bin
+endif
ifeq ($(ADK_TARGET_SYSTEM_ORANGE_PI0),y)
CONFIG:= orangepi_zero_defconfig
UBOOT:= u-boot-sunxi-with-spl.bin
@@ -70,6 +78,14 @@ ifeq ($(ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK),y)
CONFIG:= am335x_evm_defconfig
UBOOT:= u-boot.img
endif
+ifeq ($(ADK_TARGET_SYSTEM_IMGTEC_CI20),y)
+CONFIG:= ci20_mmc_defconfig
+UBOOT:= u-boot-dtb.img
+endif
+ifeq ($(ADK_TARGET_SYSTEM_ST_STM32F746G),y)
+CONFIG:= stm32f746-disco_defconfig
+UBOOT:= u-boot-dtb.bin
+endif
HOST_MAKE_FLAGS+= HOSTCFLAGS="$(HOST_CPPFLAGS) $(HOST_CFLAGS)" \
HOSTLDFLAGS="$(HOST_LDFLAGS) -ldl"
@@ -78,6 +94,10 @@ CONFIG_STYLE:= manual
BUILD_STYLE:= manual
INSTALL_STYLE:= manual
+ifeq ($(ADK_TARGET_BINFMT_FDPIC),y)
+EXTRA_CFLAGS:= -mno-fdpic
+endif
+
host-build:
(cd $(WRKBUILD) && env $(HOST_MAKE_ENV) $(MAKE) -f $(MAKE_FILE) \
$(HOST_MAKE_FLAGS) sandbox_defconfig )
@@ -93,28 +113,39 @@ do-configure:
do-build:
(cd $(WRKBUILD) && env \
+ KBUILD_VERBOSE=1 \
+ KCFLAGS='$(EXTRA_CFLAGS)' \
PATH='$(HOST_PATH)' \
CROSS_COMPILE='$(TARGET_CROSS)' \
$(MAKE))
-ifneq ($(OS_FOR_BUILD),Darwin)
(cd $(WRKBUILD) && env \
PATH='$(HOST_PATH)' \
CROSS_COMPILE='$(TARGET_CROSS)' \
- $(MAKE) env)
-endif
+ $(MAKE) envtools)
u-boot-install:
$(CP) $(WRKBUILD)/$(UBOOT) $(FW_DIR)
$(INSTALL_DIR) $(IDIR_U_BOOT)/etc
$(CP) ./files/fw_env.config $(IDIR_U_BOOT)/etc
-ifneq ($(OS_FOR_BUILD),Darwin)
$(INSTALL_DIR) $(IDIR_U_BOOT)/usr/bin
- $(INSTALL_BIN) ./files/uboot_print_env $(IDIR_U_BOOT)/usr/bin
- $(INSTALL_BIN) ./files/uboot_set_env $(IDIR_U_BOOT)/usr/bin
+ $(INSTALL_BIN) $(WRKBUILD)/tools/env/fw_printenv \
+ $(IDIR_U_BOOT)/usr/bin
+ cd $(IDIR_U_BOOT)/usr/bin && ln -fs fw_printenv fw_setenv
+ifeq ($(ADK_TARGET_SYSTEM_ROCKPI4_PLUS),y)
+ $(CP) $(WRKBUILD)/idbloader.img $(FW_DIR)
+endif
+ifeq ($(ADK_TARGET_SYSTEM_IMGTEC_CI20),y)
+ $(CP) $(WRKBUILD)/spl/u-boot-spl.bin $(FW_DIR)
endif
ifeq ($(ADK_TARGET_SYSTEM_BANANA_PRO),y)
$(INSTALL_BIN) ./files/boot.script.bpi $(FW_DIR)
endif
+ifeq ($(ADK_TARGET_SYSTEM_BANANA_P2_ZERO),y)
+ $(INSTALL_BIN) ./files/boot.script.bpizero $(FW_DIR)
+endif
+ifeq ($(ADK_TARGET_SYSTEM_ROCKPI4_PLUS),y)
+ $(INSTALL_BIN) ./files/boot.script.rockpi4 $(FW_DIR)
+endif
ifeq ($(ADK_TARGET_SYSTEM_ORANGE_PI0),y)
$(INSTALL_BIN) ./files/boot.script.opi $(FW_DIR)
endif
diff --git a/package/u-boot/files/boot.script.bpizero b/package/u-boot/files/boot.script.bpizero
new file mode 100644
index 000000000..1d7893b49
--- /dev/null
+++ b/package/u-boot/files/boot.script.bpizero
@@ -0,0 +1,4 @@
+setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait
+ext4load mmc 0:1 $fdt_addr_r boot/${fdtfile}
+ext4load mmc 0:1 $kernel_addr_r boot/kernel
+bootz $kernel_addr_r - $fdt_addr_r
diff --git a/package/u-boot/files/boot.script.imx6 b/package/u-boot/files/boot.script.imx6
index 24d1b2a93..0a4ff9fd9 100644
--- a/package/u-boot/files/boot.script.imx6
+++ b/package/u-boot/files/boot.script.imx6
@@ -1,4 +1,4 @@
-setenv bootargs 'console=ttymxc0,115200 video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24,bpp=32 root=/dev/mmcblk0p1'
-ext4load mmc 0:1 0x18000000 boot/${fdtfile}
-ext4load mmc 0:1 0x10800000 boot/kernel
+setenv bootargs 'console=ttymxc0,115200 video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24,bpp=32 root=/dev/mmcblk1p1 rootwait'
+ext4load mmc 1:1 0x18000000 boot/${fdtfile}
+ext4load mmc 1:1 0x10800000 boot/kernel
bootz 0x10800000 - 0x18000000
diff --git a/package/u-boot/files/boot.script.rockpi4 b/package/u-boot/files/boot.script.rockpi4
new file mode 100644
index 000000000..c74916170
--- /dev/null
+++ b/package/u-boot/files/boot.script.rockpi4
@@ -0,0 +1,4 @@
+setenv bootargs console=tty0 console=ttyS2,115200 root=/dev/mmcblk0p1 rootwait
+ext4load mmc 1:1 $kernel_addr_r boot/kernel
+ext4load mmc 1:1 $fdt_addr_r boot/rk3399-rock-pi-4b-plus.dtb
+booti $kernel_addr_r - $fdt_addr_r
diff --git a/package/u-boot/files/fw_env.config b/package/u-boot/files/fw_env.config
index 5571d60e0..8fd738b4e 100644
--- a/package/u-boot/files/fw_env.config
+++ b/package/u-boot/files/fw_env.config
@@ -1 +1 @@
-/mnt/uboot.env 0x0000 0x4000
+/dev/mmcblk1 0x3F8000 0x8000
diff --git a/package/u-boot/files/uboot_print_env b/package/u-boot/files/uboot_print_env
deleted file mode 100755
index 7231e1a47..000000000
--- a/package/u-boot/files/uboot_print_env
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-mount -r /dev/mmcblk0p1 /mnt
-fw_printenv "$@"
-umount /mnt
diff --git a/package/u-boot/files/uboot_set_env b/package/u-boot/files/uboot_set_env
deleted file mode 100755
index 7b5a33ccc..000000000
--- a/package/u-boot/files/uboot_set_env
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-mount /dev/mmcblk0p1 /mnt
-fw_setenv "$@"
-umount /mnt
diff --git a/package/u-boot/patches/patch-configs_bananapi_m2_p2_zero_defconfig b/package/u-boot/patches/patch-configs_bananapi_m2_p2_zero_defconfig
new file mode 100644
index 000000000..c9761d409
--- /dev/null
+++ b/package/u-boot/patches/patch-configs_bananapi_m2_p2_zero_defconfig
@@ -0,0 +1,18 @@
+--- u-boot-2022.10.orig/configs/bananapi_m2_p2_zero_defconfig 1970-01-01 00:00:00.000000000 +0100
++++ u-boot-2022.10/configs/bananapi_m2_p2_zero_defconfig 2022-12-25 07:59:45.852731211 +0100
+@@ -0,0 +1,15 @@
++CONFIG_ARM=y
++CONFIG_ARCH_SUNXI=y
++# CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-bananapi-m2-plus-v1.2"
++CONFIG_DEFAULT_DEVICE_TREE="sun8i-h2-plus-bananapi-m2-zero"
++CONFIG_SPL=y
++CONFIG_MACH_SUN8I_H3=y
++CONFIG_DRAM_CLK=408
++CONFIG_MMC0_CD_PIN=""
++CONFIG_MMC_SUNXI_SLOT_EXTRA=2
++# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
++CONFIG_PREBOOT=""
++# CONFIG_SYS_DEVICE_NULLDEV is not set
++CONFIG_SPL_STACK=0x8000
++CONFIG_SYS_PBSIZE=1024
++CONFIG_SUN8I_EMAC=y
diff --git a/package/u-boot/patches/patch-configs_rock-pi-4-rk3399_defconfig b/package/u-boot/patches/patch-configs_rock-pi-4-rk3399_defconfig
new file mode 100644
index 000000000..818529353
--- /dev/null
+++ b/package/u-boot/patches/patch-configs_rock-pi-4-rk3399_defconfig
@@ -0,0 +1,11 @@
+--- u-boot-2023.07.02.orig/configs/rock-pi-4-rk3399_defconfig 2023-07-11 17:20:44.000000000 +0200
++++ u-boot-2023.07.02/configs/rock-pi-4-rk3399_defconfig 2023-09-29 15:54:05.235780393 +0200
+@@ -70,7 +70,7 @@ CONFIG_REGULATOR_PWM=y
+ CONFIG_REGULATOR_RK8XX=y
+ CONFIG_PWM_ROCKCHIP=y
+ CONFIG_RAM_ROCKCHIP_LPDDR4=y
+-CONFIG_BAUDRATE=1500000
++CONFIG_BAUDRATE=115200
+ CONFIG_DEBUG_UART_SHIFT=2
+ CONFIG_SYS_NS16550_MEM32=y
+ CONFIG_SYSRESET=y
diff --git a/package/u-boot/patches/patch-configs_rock-pi-4c-rk3399_defconfig b/package/u-boot/patches/patch-configs_rock-pi-4c-rk3399_defconfig
new file mode 100644
index 000000000..87e4bd238
--- /dev/null
+++ b/package/u-boot/patches/patch-configs_rock-pi-4c-rk3399_defconfig
@@ -0,0 +1,11 @@
+--- u-boot-2023.07.02.orig/configs/rock-pi-4c-rk3399_defconfig 2023-07-11 17:20:44.000000000 +0200
++++ u-boot-2023.07.02/configs/rock-pi-4c-rk3399_defconfig 2023-09-29 15:54:16.927583546 +0200
+@@ -67,7 +67,7 @@ CONFIG_REGULATOR_PWM=y
+ CONFIG_REGULATOR_RK8XX=y
+ CONFIG_PWM_ROCKCHIP=y
+ CONFIG_RAM_ROCKCHIP_LPDDR4=y
+-CONFIG_BAUDRATE=1500000
++CONFIG_BAUDRATE=115200
+ CONFIG_DEBUG_UART_SHIFT=2
+ CONFIG_SYS_NS16550_MEM32=y
+ CONFIG_SYSRESET=y
diff --git a/package/u-boot/patches/patch-tools_Makefile b/package/u-boot/patches/patch-tools_Makefile
new file mode 100644
index 000000000..fc284ad58
--- /dev/null
+++ b/package/u-boot/patches/patch-tools_Makefile
@@ -0,0 +1,11 @@
+--- u-boot-2024.01.orig/tools/Makefile 2024-01-08 16:37:48.000000000 +0100
++++ u-boot-2024.01/tools/Makefile 2024-01-17 17:56:21.004096375 +0100
+@@ -250,7 +250,7 @@ HOSTLDLIBS_mkeficapsule += \
+ $(shell pkg-config --libs gnutls 2> /dev/null || echo "-lgnutls")
+ HOSTLDLIBS_mkeficapsule += \
+ $(shell pkg-config --libs uuid 2> /dev/null || echo "-luuid")
+-hostprogs-$(CONFIG_TOOLS_MKEFICAPSULE) += mkeficapsule
++#hostprogs-$(CONFIG_TOOLS_MKEFICAPSULE) += mkeficapsule
+
+ mkfwumdata-objs := mkfwumdata.o generated/lib/crc32.o
+ HOSTLDLIBS_mkfwumdata += -luuid
diff --git a/package/u-boot/src/bl31.elf b/package/u-boot/src/bl31.elf
new file mode 100644
index 000000000..24cb666c7
--- /dev/null
+++ b/package/u-boot/src/bl31.elf
Binary files differ
diff --git a/package/uacme/Makefile b/package/uacme/Makefile
new file mode 100644
index 000000000..6db80991e
--- /dev/null
+++ b/package/uacme/Makefile
@@ -0,0 +1,30 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= uacme
+PKG_VERSION:= 1.7.4
+PKG_RELEASE:= 1
+PKG_HASH:= 0fd3e35218d575321e70dc3489ec3463d015c56c138e99e5add32ab7e5a48d09
+PKG_DESCR:= acme client written in c
+PKG_BUILDDEP:= curl gnutls
+PKG_DEPENDS:= libcurl libgnutls
+PKG_SECTION:= app/crypto
+PKG_SITES:= https://github.com/ndilieto/uacme/archive/refs/tags/
+
+DISTFILES:= v$(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,UACME,uacme,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+AUTOTOOL_STYLE:= autoreconf
+CONFIGURE_ARGS+= --disable-docs
+
+uacme-install:
+ $(INSTALL_DIR) $(IDIR_UACME)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/uacme \
+ $(IDIR_UACME)/usr/bin
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/uclibc-ng-test/Makefile b/package/uclibc-ng-test/Makefile
index 9042bcbc0..b19418745 100644
--- a/package/uclibc-ng-test/Makefile
+++ b/package/uclibc-ng-test/Makefile
@@ -10,7 +10,7 @@ PKG_DESCR:= embedded c library testsuite
PKG_SECTION:= base/tests
PKG_KDEPENDS:= inotify-user
PKG_URL:= http://www.uclibc-ng.org
-PKG_SITES:= git://uclibc-ng.org/git/uclibc-ng-test
+PKG_SITES:= https://git.uclibc-ng.org/git/uclibc-ng-test.git
PKG_NOPARALLEL:= 1
@@ -20,8 +20,10 @@ $(eval $(call PKG_template,UCLIBC_NG_TEST,uclibc-ng-test,$(PKG_VERSION)-${PKG_RE
CONFIG_STYLE:= manual
-# disable math tests
-XAKE_FLAGS+= NO_MATH=1
+XAKE_FLAGS+= V=1
+ifeq ($(ADK_TARGET_LIB_GLIBC),y)
+XAKE_FLAGS+= NO_CRYPT=1
+endif
ifeq ($(ADK_TARGET_LIB_MUSL),y)
XAKE_FLAGS+= NO_MATH=1
endif
@@ -40,11 +42,18 @@ endif
ifeq ($(ADK_TARGET_LIBC_WITH_LOCALE),)
XAKE_FLAGS+= NO_LOCALE=1
endif
+ifeq ($(ADK_TARGET_ARCH_KVX),y)
+XAKE_FLAGS+= NO_TLS=1
+endif
+ifeq ($(ADK_TARGET_WITH_MMU),)
+XAKE_FLAGS+= NO_NPTL=1
+endif
uclibc-ng-test-install:
${INSTALL_DIR} ${IDIR_UCLIBC_NG_TEST}/etc
echo '00:11:22:33:44:55 teeth' > ${IDIR_UCLIBC_NG_TEST}/etc/ethers
${INSTALL_DIR} ${IDIR_UCLIBC_NG_TEST}/usr/lib
${CP} $(WRKINST)/usr/lib/* ${IDIR_UCLIBC_NG_TEST}/usr/lib/
+ -find $(IDIR_UCLIBC_NG_TEST) -name \*.gdb -delete
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/uclibc-ng/Makefile b/package/uclibc-ng/Makefile
index 765878630..c1f2215c4 100644
--- a/package/uclibc-ng/Makefile
+++ b/package/uclibc-ng/Makefile
@@ -31,6 +31,10 @@ uclibc-ng-install:
-$(CP) $(STAGING_TARGET_DIR)/lib/ld*-uClibc*.so* $(IDIR_UCLIBC_NG)/$(ADK_TARGET_LIBC_PATH)
-$(CP) $(STAGING_TARGET_DIR)/lib/libc.so.* $(IDIR_UCLIBC_NG)/$(ADK_TARGET_LIBC_PATH)
-$(CP) $(STAGING_TARGET_DIR)/lib/libuClibc-*.so $(IDIR_UCLIBC_NG)/$(ADK_TARGET_LIBC_PATH)
+ifeq ($(ADK_TARGET_BINFMT_ELF)$(ADK_TARGET_WITH_MMU),y)
+ $(CP) $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/${PKG_NAME}-${PKG_VERSION}/lib/ld*-uClibc*.so* \
+ $(IDIR_UCLIBC_NG)/$(ADK_TARGET_LIBC_PATH)
+endif
ifeq ($(ADK_TARGET_ARCH_CSKY),y)
cd $(IDIR_UCLIBC_NG)/$(ADK_TARGET_LIBC_PATH) && \
ln -sf ld-uClibc.so.0 ld.so.1
@@ -46,17 +50,15 @@ endif
uclibc-ng-dev-install:
${INSTALL_DIR} ${IDIR_UCLIBC_NG_DEV}/usr/lib ${IDIR_UCLIBC_NG_DEV}/$(ADK_TARGET_LIBC_PATH)
+ ${INSTALL_DIR} ${IDIR_UCLIBC_NG_DEV}/usr/include
-${CP} ${STAGING_TARGET_DIR}/usr/lib/libc.so ${IDIR_UCLIBC_NG_DEV}/usr/lib
-${CP} ${STAGING_TARGET_DIR}/usr/lib/uclibc_nonshared.a ${IDIR_UCLIBC_NG_DEV}/usr/lib
+ -${CP} ${STAGING_TARGET_DIR}/usr/lib/libpthread_nonshared.a ${IDIR_UCLIBC_NG_DEV}/usr/lib
${CP} ${STAGING_TARGET_DIR}/usr/lib/crt*.o ${IDIR_UCLIBC_NG_DEV}/usr/lib
- ${KERNEL_MAKE_ENV} \
- $(MAKE) -C $(TOOLCHAIN_BUILD_DIR)/w-linux-$(KERNEL_FILE_VER)-1/linux-$(KERNEL_FILE_VER) \
- $(KERNEL_MAKE_OPTS) \
- INSTALL_HDR_PATH=$(IDIR_UCLIBC_NG_DEV)/usr \
- headers_install
+ ${KERNEL_MAKE} INSTALL_HDR_PATH=$(IDIR_UCLIBC_NG_DEV)/usr headers_install
$(MAKE) -C $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/${PKG_NAME}-${PKG_VERSION} \
PREFIX=$(IDIR_UCLIBC_NG_DEV)/ \
- DEVEL_PREFIX=/usr \
+ DEVEL_PREFIX=/usr/ \
RUNTIME_PREFIX=$(IDIR_UCLIBC_NG_DEV)/ \
HOSTCC="$(CC_FOR_BUILD)" \
CPU_CFLAGS="$(TARGET_CFLAGS)" \
diff --git a/package/udp-broadcast-relay/Makefile b/package/udp-broadcast-relay/Makefile
index adfeafa79..0ce033403 100644
--- a/package/udp-broadcast-relay/Makefile
+++ b/package/udp-broadcast-relay/Makefile
@@ -4,15 +4,13 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= udp-broadcast-relay
-PKG_VERSION:= 0.3
+PKG_VERSION:= 9a0f13b4b5938bfe0af0d0d4e99dfc127c068e28
PKG_RELEASE:= 1
-PKG_HASH:= 86acb9a359cad1961bdd4be9ae425222c19fd70fc31c730bd2b96629eaba2177
+PKG_GIT:= hash
PKG_DESCR:= listens for packets on a specified udp broadcast port
PKG_SECTION:= net/misc
PKG_URL:= http://www.joachim-breitner.de/udp-broadcast-relay/
-PKG_SITES:= http://www.joachim-breitner.de/udp-broadcast-relay/files/
-
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
+PKG_SITES:= https://github.com/nomeata/udp-broadcast-relay.git
include ${ADK_TOPDIR}/mk/package.mk
diff --git a/package/udp-broadcast-relay/patches/patch-main_c b/package/udp-broadcast-relay/patches/patch-main_c
deleted file mode 100644
index f57fb0409..000000000
--- a/package/udp-broadcast-relay/patches/patch-main_c
+++ /dev/null
@@ -1,32 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- udp-broadcast-relay-0.3.orig/main.c 2003-09-28 16:43:32.000000000 +0200
-+++ udp-broadcast-relay-0.3/main.c 2008-10-15 16:04:02.000000000 +0200
-@@ -220,8 +220,8 @@ main(int argc,char **argv)
- }
-
- /* Save the address for later use */
-- bcopy( (struct sockaddr_in *)&reqbuf.ifr_addr,
-- &ifs[maxifs].dstaddr,
-+ memcpy( &ifs[maxifs].dstaddr,
-+ (struct sockaddr_in *)&reqbuf.ifr_addr,
- sizeof(struct sockaddr_in) );
-
- DPRINT("%s: %i / %s\n",
-@@ -349,7 +349,7 @@ main(int argc,char **argv)
- DPRINT("From:\t\t%s:%d\n",inet_ntoa(rcv_addr.sin_addr),rcv_addr.sin_port);
-
- /* copy sender's details into our datagram as the source addr */
-- bcopy(&(rcv_addr.sin_addr.s_addr),(gram+12),4);
-+ memcpy((gram+12),&(rcv_addr.sin_addr.s_addr),4);
- *(u_short*)(gram+20)=(u_short)rcv_addr.sin_port;
-
- /* set the length of the packet */
-@@ -362,7 +362,7 @@ main(int argc,char **argv)
- if (ifs[x].ifindex == rcv_ifindex) continue; /* no bounces, please */
-
- /* Set destination addr ip - port is set already*/
-- bcopy(&(ifs[x].dstaddr.sin_addr.s_addr),(gram+16),4);
-+ memcpy((gram+16),&(ifs[x].dstaddr.sin_addr.s_addr),4);
-
- DPRINT ("Sent to %s:%d on interface %i\n",
- inet_ntoa(ifs[x].dstaddr.sin_addr), /* dst ip */
diff --git a/package/urlgrabber/Makefile b/package/urlgrabber/Makefile
deleted file mode 100644
index 1b2a32726..000000000
--- a/package/urlgrabber/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(ADK_TOPDIR)/rules.mk
-
-PKG_NAME:= urlgrabber
-PKG_VERSION:= 3.10
-PKG_RELEASE:= 1
-PKG_HASH:= 151474dcba8ad99a98eb1f18873bd888e8bfd68fd71a280991899e932689dc89
-PKG_DESCR:= python module for fetching of files
-PKG_SECTION:= dev/python
-PKG_BUILDDEP:= pycurl
-PKG_DEPENDS:= pycurl
-PKG_URL:= http://urlgrabber.baseurl.org/
-PKG_SITES:= http://urlgrabber.baseurl.org/download/
-
-DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
-
-include $(ADK_TOPDIR)/mk/package.mk
-
-$(eval $(call PKG_template,URLGRABBER,urlgrabber,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-
-CONFIG_STYLE:= manual
-BUILD_STYLE:= manual
-INSTALL_STYLE:= manual
-
-include $(ADK_TOPDIR)/mk/python.mk
-
-do-build:
- (cd $(WRKBUILD); env PYTHONPATH=$(PYTHON_LIBDIR) $(PYTHON) ./setup.py build)
- (cd $(WRKBUILD); env PYTHONPATH=$(PYTHON_LIBDIR) $(PYTHON) ./setup.py install --prefix="$(WRKINST)/usr")
-
-do-install:
- $(INSTALL_DIR) $(IDIR_URLGRABBER)/usr/lib/python$(PYTHON_VERSION)/site-packages
- $(CP) $(WRKINST)/usr/lib/python$(PYTHON_VERSION)/site-packages/* \
- $(IDIR_URLGRABBER)/usr/lib/python$(PYTHON_VERSION)/site-packages
-
-include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/urlgrabber/patches/patch-setup_py b/package/urlgrabber/patches/patch-setup_py
deleted file mode 100644
index f33080823..000000000
--- a/package/urlgrabber/patches/patch-setup_py
+++ /dev/null
@@ -1,24 +0,0 @@
---- urlgrabber-3.9.1.orig/setup.py 2009-02-23 22:37:16.000000000 +0100
-+++ urlgrabber-3.9.1/setup.py 2013-02-11 13:46:37.000000000 +0100
-@@ -1,16 +1,16 @@
- # urlgrabber distutils setup
- import re as _re
--import urlgrabber as _urlgrabber
-+#import urlgrabber as _urlgrabber
-
- name = "urlgrabber"
- description = "A high-level cross-protocol url-grabber"
--long_description = _urlgrabber.__doc__
-+long_description = "A high-level cross-protocol url-grabber"
- license = "LGPL"
--version = _urlgrabber.__version__
--_authors = _re.split(r',\s+', _urlgrabber.__author__)
-+version = "3.9.1"
-+_authors = _re.split(r',\s+', 'Michael D. Stenner, Ryan Tomayko')
- author = ', '.join([_re.sub(r'\s+<.*', r'', _) for _ in _authors])
- author_email = ', '.join([_re.sub(r'(^.*<)|(>.*$)', r'', _) for _ in _authors])
--url = _urlgrabber.__url__
-+url = "http://linux.duke.edu/projects/urlgrabber/"
-
- packages = ['urlgrabber']
- package_dir = {'urlgrabber':'urlgrabber'}
diff --git a/package/util-linux/Makefile b/package/util-linux/Makefile
index 86e84ec31..7d2510443 100644
--- a/package/util-linux/Makefile
+++ b/package/util-linux/Makefile
@@ -4,14 +4,14 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= util-linux
-PKG_VERSION:= 2.32
-PKG_RELEASE:= 2
-PKG_HASH:= 6c7397abc764e32e8159c2e96042874a190303e77adceb4ac5bd502a272a4734
+PKG_VERSION:= 2.39.3
+PKG_RELEASE:= 1
+PKG_HASH:= 7b6605e48d1a49f43cc4b4cfc59f313d0dd5402fa40b96810bd572e167dfed0f
PKG_DESCR:= basic utilities
PKG_SECTION:= base/apps
PKG_BUILDDEP:= ncurses
PKG_NEEDS:= threads
-PKG_SITES:= http://www.kernel.org/pub/linux/utils/util-linux/v$(PKG_VERSION)/
+PKG_SITES:= http://www.kernel.org/pub/linux/utils/util-linux/v2.39/
PKG_OPTS:= dev
PKG_SUBPKGS:= FDISK AGETTY SFDISK SWAP_UTILS LOSETUP MCOOKIE MOUNT
@@ -109,6 +109,7 @@ endif
TARGET_CFLAGS+= -fPIC
FAKE_FLAGS+= INSTALLSUID="install -m 4755"
HOST_CONFIGURE_ARGS+= --enable-libblkid \
+ --enable-libuuid \
--enable-libmount \
--disable-all-programs \
--disable-use-tty-group
@@ -150,8 +151,8 @@ mount-install:
$(INSTALL_BIN) $(WRKINST)/usr/bin/{u,}mount $(IDIR_MOUNT)/bin
mcookie-install:
- $(INSTALL_DIR) $(IDIR_MCOOKIE)/usr/bin
- $(INSTALL_BIN) $(WRKINST)/usr/bin/mcookie $(IDIR_MCOOKIE)/usr/bin
+ $(INSTALL_DIR) $(IDIR_MCOOKIE)/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/mcookie $(IDIR_MCOOKIE)/bin
libuuid-install:
$(INSTALL_DIR) $(IDIR_LIBUUID)/usr/lib
diff --git a/package/v4l-utils/Makefile b/package/v4l-utils/Makefile
index 936b26546..a18b8574c 100644
--- a/package/v4l-utils/Makefile
+++ b/package/v4l-utils/Makefile
@@ -4,19 +4,17 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= v4l-utils
-PKG_VERSION:= 1.10.1
+PKG_VERSION:= 1.26.1
PKG_RELEASE:= 1
-PKG_HASH:= 6147ccc29fe7dd3c5c3994d613c4f2a099bac8b44694a96e5cf4d7caca8336c0
+PKG_HASH:= 4a71608c0ef7df2931176989e6d32b445c0bdc1030a2376d929c8ca6e550ec4e
PKG_DESCR:= video4linux utilities
PKG_SECTION:= mm/video
PKG_BUILDDEP:= libjpeg-turbo
-PKG_SITES:= http://linuxtv.org/downloads/v4l-utils/
+PKG_SITES:= https://www.linuxtv.org/downloads/v4l-utils/
+PKG_NEEDS:= intl
PKG_LIBNAME:= libv4l
PKG_OPTS:= dev
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
-
-PKG_LIBC_DEPENDS:= glibc
PKG_SUBPKGS:= V4L_UTILS LIBV4L
PKGSC_LIBV4L:= libs/video
PKGSD_LIBV4L:= Video4Linux2 libraries
@@ -26,8 +24,14 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,V4L_UTILS,v4l-utils,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,LIBV4L,libv4l,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_LIBV4L},${PKGSC_LIBV4L},${PKG_OPTS}))
-CONFIGURE_ARGS+= --disable-qv4l2
TARGET_CPPFLAGS+= -DLINUX_I2C_DEV_H
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+MESON_FLAGS+= -Dgconv=disabled
+
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
v4l-utils-install:
$(INSTALL_DIR) $(IDIR_V4L_UTILS)/usr/bin
diff --git a/package/v4l-utils/patches/patch-utils_rds_rds-saa6588_c b/package/v4l-utils/patches/patch-utils_rds_rds-saa6588_c
deleted file mode 100644
index ddd779080..000000000
--- a/package/v4l-utils/patches/patch-utils_rds_rds-saa6588_c
+++ /dev/null
@@ -1,15 +0,0 @@
---- v4l-utils-0.9.3.orig/utils/rds/rds-saa6588.c 2012-05-10 20:10:34.000000000 +0200
-+++ v4l-utils-0.9.3/utils/rds/rds-saa6588.c 2013-07-12 17:53:04.000000000 +0200
-@@ -12,8 +12,12 @@
- #include <errno.h>
- #include <sys/ioctl.h>
- #include <linux/types.h>
-+#ifdef LINUX_I2C_DEV_H
-+#include <linux/i2c-dev.h>
-+#else
- #include <linux/i2c.h>
- #include <linux/i2c-dev.h>
-+#endif
-
- int debug;
-
diff --git a/package/valgrind/Makefile b/package/valgrind/Makefile
index 6e3f3b4d3..10e7b35fc 100644
--- a/package/valgrind/Makefile
+++ b/package/valgrind/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= valgrind
-PKG_VERSION:= 3.13.0
+PKG_VERSION:= 3.22.0
PKG_RELEASE:= 1
-PKG_HASH:= d76680ef03f00cd5e970bbdcd4e57fb1f6df7d2e2c071635ef2be74790190c3b
+PKG_HASH:= c811db5add2c5f729944caf47c4e7a65dcaabb9461e472b578765dd7bf6d2d4c
PKG_DESCR:= memory management debugging tool
PKG_SECTION:= app/debug
PKG_URL:= http://valgrind.org/
@@ -20,7 +20,6 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,VALGRIND,valgrind,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-AUTOTOOL_STYLE:= autoreconf
ifeq ($(ADK_TARGET_LIB_MUSL),y)
TARGET_CPPFLAGS+= -D__MUSL__
endif
@@ -28,12 +27,22 @@ CONFIGURE_ENV+= ac_cv_file__proc_self_fd=yes \
ac_cv_file__proc_self_exe=yes \
ac_cv_file__proc_self_maps=yes
+ifeq ($(ADK_TARGET_ARCH_ARM),y)
+CONFIGURE_ARGS+= --host=$(patsubst arm-%,armv7-%,$(GNU_TARGET_NAME))
+endif
+
valgrind-install:
$(INSTALL_DIR) $(IDIR_VALGRIND)/usr/bin
$(INSTALL_DIR) $(IDIR_VALGRIND)/usr/lib/valgrind
+ $(INSTALL_DIR) $(IDIR_VALGRIND)/usr/libexec/valgrind
$(INSTALL_BIN) $(WRKINST)/usr/bin/valgrind $(IDIR_VALGRIND)/usr/bin/
+ $(INSTALL_BIN) $(WRKBUILD)/memcheck/memcheck-*-linux \
+ $(IDIR_VALGRIND)/usr/libexec/valgrind
+ $(CP) $(WRKINST)/usr/libexec/valgrind/default.supp \
+ $(IDIR_VALGRIND)/usr/libexec/valgrind
+ $(CP) $(WRKINST)/usr/libexec/valgrind/*.so \
+ $(IDIR_VALGRIND)/usr/libexec/valgrind
$(CP) $(WRKINST)/usr/lib/valgrind/* \
$(IDIR_VALGRIND)/usr/lib/valgrind
- touch $(IDIR_VALGRIND)/usr/lib/valgrind/default.supp
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/vilistextum/Makefile b/package/vilistextum/Makefile
index eaacb135d..400997d23 100644
--- a/package/vilistextum/Makefile
+++ b/package/vilistextum/Makefile
@@ -17,6 +17,8 @@ include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,VILISTEXTUM,vilistextum,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+TARGET_CFLAGS+= -fcommon
+
vilistextum-install:
${INSTALL_DIR} ${IDIR_VILISTEXTUM}/usr/bin
${INSTALL_BIN} ${WRKINST}/usr/bin/vilistextum \
diff --git a/package/vim/Makefile b/package/vim/Makefile
index 378e95418..7169cf883 100644
--- a/package/vim/Makefile
+++ b/package/vim/Makefile
@@ -4,18 +4,19 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= vim
-PKG_VERSION:= 8.0
+PKG_VERSION:= 9.1
+PKG_EXTRAVER:= 0041
PKG_RELEASE:= 1
-PKG_HASH:= 08bd0d1dd30ece3cb9905ccd48b82b2f81c861696377508021265177dc153a61
+PKG_HASH:= 1531eb2f9a42e3e5a0c5579e26d9a376bd85f7062701c727af482d8597c59592
PKG_DESCR:= very popular text editor
PKG_SECTION:= app/editor
PKG_DEPENDS:= libncurses
PKG_BUILDDEP:= ncurses
PKG_URL:= http://www.vim.org/
-PKG_SITES:= ftp://ftp.vim.org/pub/vim/unix/
+PKG_SITES:= https://github.com/vim/vim/archive/refs/tags/
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
-WRKDIST= ${WRKDIR}/vim80
+DISTFILES:= v${PKG_VERSION}.${PKG_EXTRAVER}.tar.gz
+WRKDIST= ${WRKDIR}/$(PKG_NAME)-$(PKG_VERSION).$(PKG_EXTRAVER)
WRKSRC= ${WRKDIST}/src
include ${ADK_TOPDIR}/mk/package.mk
@@ -28,6 +29,7 @@ CONFIGURE_ENV+= vim_cv_toupper_broken=no \
vim_cv_stat_ignores_slash=yes \
ac_cv_sizeof_int=4 \
vim_cv_terminfo=yes \
+ vim_cv_tgetent=zero \
vim_cv_tty_group=tty \
vim_cv_memmove_handles_overlap=yes \
vim_cv_tty_mode=666
@@ -39,10 +41,7 @@ CONFIGURE_ARGS+= --disable-darwin \
--disable-tclinterp \
--disable-rubyinterp \
--disable-cscope \
- --disable-workshop \
--disable-netbeans \
- --disable-sniff \
- --disable-hangulinput \
--disable-xim \
--disable-fontset \
--disable-gui \
@@ -51,8 +50,7 @@ CONFIGURE_ARGS+= --disable-darwin \
--with-features=small \
--with-compiledby=OpenADK \
--without-x \
- --with-tlib=ncurses \
- --disable-multibyte
+ --with-tlib=ncurses
XAKE_FLAGS+= prefix=/usr \
DESTDIR=${WRKINST} \
STRIP=:
@@ -61,9 +59,9 @@ vim-install:
${INSTALL_DIR} ${IDIR_VIM}/usr/bin
${INSTALL_DIR} ${IDIR_VIM}/usr/share/vim
${CP} ${WRKINST}/usr/bin/{ex,vim,view} ${IDIR_VIM}/usr/bin
- ${CP} ${WRKINST}/usr/share/vim/vim80/defaults.vim \
+ ${CP} ${WRKINST}/usr/share/vim/vim91/defaults.vim \
${IDIR_VIM}/usr/share/vim/
- ${CP} ${WRKINST}/usr/share/vim/vim80/vimrc_example.vim \
+ ${CP} ${WRKINST}/usr/share/vim/vim91/vimrc_example.vim \
${IDIR_VIM}/usr/share/vim/vimrc
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/vlc/Makefile b/package/vlc/Makefile
index a5395b879..ccf59458d 100644
--- a/package/vlc/Makefile
+++ b/package/vlc/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= vlc
-PKG_VERSION:= 2.2.6
+PKG_VERSION:= 3.0.20
PKG_RELEASE:= 1
-PKG_HASH:= c403d3accd9a400eb2181c958f3e7bc5524fe5738425f4253d42883b425a42a8
+PKG_HASH:= adc7285b4d2721cddf40eb5270cada2aaa10a334cb546fd55a06353447ba29b5
PKG_DESCR:= popular media player
PKG_SECTION:= mm/video
PKG_DEPENDS:= libffmpeg xcb-util libgcrypt alsa-lib
@@ -16,16 +16,13 @@ PKG_URL:= http://www.videolan.org/vlc/
PKG_SITES:= http://download.videolan.org/pub/videolan/vlc/$(PKG_VERSION)/
PKG_FLAVOURS_VLC:= WITH_BLURAY WITH_MAD WITH_OGG WITH_OPUS WITH_SPEEX WITH_THEORA
-PKG_FLAVOURS_VLC+= WITH_VPX WITH_MATROSKA
+PKG_FLAVOURS_VLC+= WITH_VPX WITH_X264
PKGFD_WITH_BLURAY:= enable bluray support
PKGFB_WITH_BLURAY:= libbluray
PKGFS_WITH_BLURAY:= libbluray
PKGFD_WITH_MAD:= enable mp3 support
PKGFB_WITH_MAD:= libmad
PKGFS_WITH_MAD:= libmad
-PKGFD_WITH_MATROSKA:= enable matroska support
-PKGFB_WITH_MATROSKA:= libmatroska
-PKGFS_WITH_MATROSKA:= libmatroska
PKGFD_WITH_OGG:= enable ogg support
PKGFB_WITH_OGG:= libogg
PKGFS_WITH_OGG:= libogg
@@ -41,6 +38,9 @@ PKGFS_WITH_THEORA:= libtheora
PKGFD_WITH_VPX:= enable vpx support
PKGFB_WITH_VPX:= libvpx
PKGFS_WITH_VPX:= libvpx
+PKGFD_WITH_X264:= enable h264 support
+PKGFB_WITH_X264:= libx264
+PKGFS_WITH_X264:= libx264
include $(ADK_TOPDIR)/mk/package.mk
@@ -66,7 +66,10 @@ CONFIGURE_ARGS+= --disable-lua \
--enable-libgcrypt \
--disable-optimizations \
--disable-static \
- --disable-avcodec
+ --disable-swscale \
+ --disable-avformat \
+ --disable-avcodec \
+ --disable-mpg123
ifeq ($(ADK_TARGET_ARCH_ARM_WITH_NEON),)
CONFIGURE_ARGS+= --disable-neon
@@ -82,11 +85,6 @@ CONFIGURE_ARGS+= --enable-mad
else
CONFIGURE_ARGS+= --disable-mad
endif
-ifneq ($(ADK_PACKAGE_VLC_WITH_MATROSKA),)
-CONFIGURE_ARGS+= --enable-mkv
-else
-CONFIGURE_ARGS+= --disable-mkv
-endif
ifneq ($(ADK_PACKAGE_VLC_WITH_OGG),)
CONFIGURE_ARGS+= --enable-ogg
else
@@ -112,6 +110,11 @@ CONFIGURE_ARGS+= --enable-vpx
else
CONFIGURE_ARGS+= --disable-vpx
endif
+ifneq ($(ADK_PACKAGE_VLC_WITH_X264),)
+CONFIGURE_ARGS+= --enable-x264
+else
+CONFIGURE_ARGS+= --disable-x264
+endif
vlc-install:
$(INSTALL_DIR) $(IDIR_VLC)/usr/bin
diff --git a/package/vlc/patches/patch-Makefile_am b/package/vlc/patches/patch-Makefile_am
deleted file mode 100644
index b41062e43..000000000
--- a/package/vlc/patches/patch-Makefile_am
+++ /dev/null
@@ -1,11 +0,0 @@
---- vlc-2.2.4.orig/Makefile.am 2015-10-21 19:48:45.000000000 +0200
-+++ vlc-2.2.4/Makefile.am 2016-09-24 20:37:45.255479549 +0200
-@@ -933,7 +933,7 @@ libvlc: libvlccore
- cd lib && $(MAKE) $(AM_MAKEFLAGS) libvlc.la
-
- core: libvlc vlc$(EXEEXT)
-- cd bin && $(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT) vlc-static$(EXEEXT)
-+ cd bin && $(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT)
-
- doc:
- cd doc && $(MAKE) $(AM_MAKEFLAGS) doc
diff --git a/package/vlc/patches/patch-bin_Makefile_am b/package/vlc/patches/patch-bin_Makefile_am
deleted file mode 100644
index 5a3ea1bb2..000000000
--- a/package/vlc/patches/patch-bin_Makefile_am
+++ /dev/null
@@ -1,11 +0,0 @@
---- vlc-2.2.4.orig/bin/Makefile.am 2015-02-02 20:42:28.000000000 +0100
-+++ vlc-2.2.4/bin/Makefile.am 2016-09-24 20:37:45.251479394 +0200
-@@ -1,7 +1,7 @@
- # Building vlc
- #
- bin_PROGRAMS = vlc
--noinst_PROGRAMS = vlc-static
-+noinst_PROGRAMS =
- noinst_DATA =
- vlclib_PROGRAMS = vlc-cache-gen
- EXTRA_PROGRAMS = vlc-wrapper
diff --git a/package/vlc/patches/patch-configure_ac b/package/vlc/patches/patch-configure_ac
index ff67e1512..ead8c4c7e 100644
--- a/package/vlc/patches/patch-configure_ac
+++ b/package/vlc/patches/patch-configure_ac
@@ -1,122 +1,11 @@
---- vlc-2.2.6.orig/configure.ac 2017-05-24 12:40:16.000000000 +0200
-+++ vlc-2.2.6/configure.ac 2017-06-06 22:52:45.841013479 +0200
-@@ -24,7 +24,7 @@ AC_CANONICAL_BUILD
- AC_CANONICAL_HOST
- AC_PRESERVE_HELP_ORDER
-
--AM_INIT_AUTOMAKE(tar-ustar color-tests foreign)
-+AM_INIT_AUTOMAKE(tar-ustar color-tests foreign subdir-objects)
- AC_CONFIG_HEADERS([config.h])
-
- # Disable with "./configure --disable-silent-rules" or "make V=1"
-@@ -121,6 +121,7 @@ case "${host_os}" in
- ;;
- linux*)
- SYS=linux
-+ AC_CHECK_LIB([rt], [posix_spawnp], [VLC_ADD_LIBS([libvlccore],[-lrt])], [], [])
- ;;
- bsdi*)
- SYS=bsdi
-@@ -537,7 +538,7 @@ need_libc=false
+--- vlc-3.0.20.orig/configure.ac 2023-10-30 08:25:45.000000000 +0100
++++ vlc-3.0.20/configure.ac 2024-03-03 07:55:57.955760063 +0100
+@@ -631,7 +631,7 @@ dnl Check for system libs needed
+ need_libc=false
dnl Check for usual libc functions
- AC_CHECK_DECLS([nanosleep],,,[#include <time.h>])
--AC_CHECK_FUNCS([daemon fcntl fstatvfs fork getenv getpwuid_r isatty lstat memalign mmap open_memstream openat pread posix_fadvise posix_madvise setlocale stricmp strnicmp strptime uselocale])
-+AC_CHECK_FUNCS([daemon fcntl fstatvfs fork getenv getpwuid_r isatty lstat memalign mmap open_memstream openat pread posix_fadvise posix_madvise setlocale strerror_l stricmp strnicmp strptime uselocale])
- AC_REPLACE_FUNCS([atof atoll dirfd fdopendir flockfile fsync getdelim getpid gmtime_r lldiv localtime_r nrand48 poll posix_memalign rewind setenv strcasecmp strcasestr strdup strlcpy strndup strnlen strsep strtof strtok_r strtoll swab tdestroy strverscmp])
- AC_CHECK_FUNCS(fdatasync,,
- [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
-@@ -867,7 +868,7 @@ dnl
- dnl Compiler warnings
- dnl
-
--RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast write-strings missing-prototypes volatile-register-var error-implicit-function-declaration])
-+RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast write-strings missing-prototypes volatile-register-var])
- RDC_PROG_CC_FLAGS([-pipe])
- AC_LANG_PUSH([C++])
- RDC_PROG_CXX_WFLAGS([all extra sign-compare undef pointer-arith volatile-register-var])
-@@ -2318,7 +2319,7 @@ AC_ARG_ENABLE(avcodec,
- AS_IF([test "${enable_avcodec}" != "no"], [
- PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 53.34.0 libavutil >= 51.22.0], [
- PKG_CHECK_EXISTS([libavutil < 55],, [
-- AC_MSG_ERROR([libavutil versions 55 and later are not supported.])
-+ AC_MSG_WARN([libavutil versions 55 and later are not supported.])
- ])
- VLC_SAVE_FLAGS
- CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
-@@ -2328,7 +2329,7 @@ AS_IF([test "${enable_avcodec}" != "no"]
- VLC_RESTORE_FLAGS
- have_avcodec="yes"
- ],[
-- AC_MSG_ERROR([${AVCODEC_PKG_ERRORS}. Pass --disable-avcodec to ignore this error.])
-+ AC_MSG_WARN([${AVCODEC_PKG_ERRORS}. Pass --disable-avcodec to ignore this error.])
- ])
- ], [
- have_avcodec="no"
-@@ -2377,7 +2378,7 @@ AS_IF([test "${have_vaapi}" = "yes" -a "
- case "${avfork}" in
- ffmpeg)
- PKG_CHECK_EXISTS([libavcodec >= 57.10.100], [
-- AC_MSG_ERROR([VA API requires FFmpeg libavcodec < 57.10 or libav.])
-+ AC_MSG_WARN([VA API requires FFmpeg libavcodec < 57.10 or libav.])
- ])
- ;;
- esac
-@@ -2411,7 +2412,7 @@ AS_IF([test "${enable_dxva2}" != "no"],
- case "${avfork}" in
- ffmpeg)
- PKG_CHECK_EXISTS([libavcodec >= 57.10.100], [
-- AC_MSG_ERROR([DXVA2 requires FFmpeg libavcodec < 57.10 or libav.])
-+ AC_MSG_WARN([DXVA2 requires FFmpeg libavcodec < 57.10 or libav.])
- ])
- ;;
- esac
-@@ -2503,7 +2504,7 @@ AS_IF([test "${enable_avformat}" != "no"
- ])
- VLC_RESTORE_FLAGS
- ],[
-- AC_MSG_ERROR([${AVFORMAT_PKG_ERRORS}. Pass --disable-avformat to ignore this error.])
-+ AC_MSG_WARN([${AVFORMAT_PKG_ERRORS}. Pass --disable-avformat to ignore this error.])
- ])
- ])
- AM_CONDITIONAL([HAVE_AVFORMAT], [test "${enable_avformat}" != "no"])
-@@ -2532,7 +2533,7 @@ then
- ])
- VLC_RESTORE_FLAGS
- ],[
-- AC_MSG_ERROR([${SWSCALE_PKG_ERRORS}. Pass --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.])
-+ AC_MSG_WARN([${SWSCALE_PKG_ERRORS}. Pass --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.])
- ])
- fi
-
-@@ -3175,7 +3176,7 @@ AS_IF([test "${have_vdpau}" = "yes" -a "
- libav) av_vdpau_ver="55.26.0" ;;
- ffmpeg) av_vdpau_ver="55.42.100"
- PKG_CHECK_EXISTS([libavcodec >= 57.10.100], [
-- AC_MSG_ERROR([VDPAU requires FFmpeg libavcodec < 57.10 or libav.])
-+ AC_MSG_WARN([VDPAU requires FFmpeg libavcodec < 57.10 or libav.])
- ])
- ;;
- esac
-@@ -4056,16 +4057,17 @@ dnl
- AC_ARG_ENABLE(libgcrypt,
- [ --disable-libgcrypt gcrypt support (default enabled)])
- AS_IF([test "${enable_libgcrypt}" != "no"], [
-+ AC_PATH_PROG([GCRYPT_CONFIG],[libgcrypt-config],[libgcrypt-config])
- AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [
-- libgcrypt-config --version >/dev/null || \
-+ ${GCRYPT_CONFIG} --version >/dev/null || \
- AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found])
- AC_CHECK_LIB(gcrypt, gcry_control, [
- have_libgcrypt="yes"
-- GCRYPT_CFLAGS="`libgcrypt-config --cflags`"
-- GCRYPT_LIBS="`libgcrypt-config --libs`"
-+ GCRYPT_CFLAGS="`${GCRYPT_CONFIG} --cflags`"
-+ GCRYPT_LIBS="`${GCRYPT_CONFIG} --libs`"
- ], [
- AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or pass --disable-libgcrypt.])
-- ], [`libgcrypt-config --libs`])
-+ ], [`${GCRYPT_CONFIG} --libs`])
- ], [
- AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or pass --disable-libgcrypt.])
- ], [#include <gcrypt.h>]
+-AC_CHECK_FUNCS([accept4 daemon fcntl flock fstatvfs fork getenv getmntent_r getpwuid_r isatty lstat memalign mkostemp mmap newlocale open_memstream openat pipe2 pread posix_fadvise posix_madvise posix_memalign setlocale stricmp strnicmp strptime uselocale])
++AC_CHECK_FUNCS([accept4 daemon fcntl flock fstatvfs fork getenv getmntent_r getpwuid_r isatty lstat memalign mkostemp mmap newlocale open_memstream openat pipe2 pread posix_fadvise posix_madvise posix_memalign setlocale strerror_l stricmp strnicmp strptime uselocale])
+ AC_REPLACE_FUNCS([aligned_alloc atof atoll dirfd fdopendir ffsll flockfile fsync getdelim getpid lfind lldiv memrchr nrand48 poll recvmsg rewind sendmsg setenv strcasecmp strcasestr strdup strlcpy strndup strnlen strnstr strsep strtof strtok_r strtoll swab tdestroy tfind timegm timespec_get strverscmp pathconf])
+ AC_REPLACE_FUNCS([gettimeofday])
+ AC_CHECK_FUNC(fdatasync,,
diff --git a/package/vlc/patches/patch-include_vlc_fixups_h b/package/vlc/patches/patch-include_vlc_fixups_h
deleted file mode 100644
index 968f8d8eb..000000000
--- a/package/vlc/patches/patch-include_vlc_fixups_h
+++ /dev/null
@@ -1,15 +0,0 @@
---- vlc-2.2.6.orig/include/vlc_fixups.h 2015-04-13 21:54:35.000000000 +0200
-+++ vlc-2.2.6/include/vlc_fixups.h 2017-06-06 22:56:59.837313883 +0200
-@@ -239,8 +239,10 @@ static inline locale_t newlocale(int mas
- }
- #endif
-
--#if !defined (HAVE_STATIC_ASSERT)
--# define _Static_assert(x, s) ((void) sizeof (struct { unsigned:-!(x); }))
-+#if !defined (HAVE_STATIC_ASSERT) && !defined(__cpp_static_assert)
-+# define STATIC_ASSERT_CONCAT_(a, b) a##b
-+# define STATIC_ASSERT_CONCAT(a, b) STATIC_ASSERT_CONCAT_(a, b)
-+# define _Static_assert(x, s) extern char STATIC_ASSERT_CONCAT(static_assert_, __LINE__)[sizeof(struct { unsigned:-!(x); })]
- # define static_assert _Static_assert
- #endif
-
diff --git a/package/vlc/patches/patch-modules_codec_avcodec_audio_c b/package/vlc/patches/patch-modules_codec_avcodec_audio_c
deleted file mode 100644
index 9dfaff716..000000000
--- a/package/vlc/patches/patch-modules_codec_avcodec_audio_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- vlc-2.2.4.orig/modules/codec/avcodec/audio.c 2016-01-18 21:49:57.000000000 +0100
-+++ vlc-2.2.4/modules/codec/avcodec/audio.c 2016-09-24 20:35:02.681191261 +0200
-@@ -39,7 +39,7 @@
- #include <libavcodec/avcodec.h>
- #include <libavutil/mem.h>
-
--#include <libavutil/audioconvert.h>
-+#include <libavutil/channel_layout.h>
-
- #include "avcodec.h"
-
diff --git a/package/vlc/patches/patch-modules_codec_avcodec_encoder_c b/package/vlc/patches/patch-modules_codec_avcodec_encoder_c
deleted file mode 100644
index 3766addf8..000000000
--- a/package/vlc/patches/patch-modules_codec_avcodec_encoder_c
+++ /dev/null
@@ -1,92 +0,0 @@
---- vlc-2.2.4.orig/modules/codec/avcodec/encoder.c 2015-10-21 19:48:45.000000000 +0200
-+++ vlc-2.2.4/modules/codec/avcodec/encoder.c 2016-09-24 20:35:02.681191261 +0200
-@@ -41,7 +41,7 @@
- #include <vlc_cpu.h>
-
- #include <libavcodec/avcodec.h>
--#include <libavutil/audioconvert.h>
-+#include <libavutil/channel_layout.h>
-
- #include "avcodec.h"
- #include "avcommon.h"
-@@ -311,7 +311,7 @@ int OpenEncoder( vlc_object_t *p_this )
- else if( !GetFfmpegCodec( p_enc->fmt_out.i_codec, &i_cat, &i_codec_id,
- &psz_namecodec ) )
- {
-- if( FindFfmpegChroma( p_enc->fmt_out.i_codec ) == PIX_FMT_NONE )
-+ if( FindFfmpegChroma( p_enc->fmt_out.i_codec ) == AV_PIX_FMT_NONE )
- return VLC_EGENERIC; /* handed chroma output */
-
- i_cat = VIDEO_ES;
-@@ -555,7 +555,7 @@ int OpenEncoder( vlc_object_t *p_this )
-
- if( p_codec->pix_fmts )
- {
-- const enum PixelFormat *p = p_codec->pix_fmts;
-+ const enum AVPixelFormat *p = p_codec->pix_fmts;
- for( ; *p != -1; p++ )
- {
- if( *p == p_context->pix_fmt ) break;
-@@ -1017,7 +1017,7 @@ errmsg:
- }
- }
-
-- p_sys->frame = avcodec_alloc_frame();
-+ p_sys->frame = av_frame_alloc();
- if( !p_sys->frame )
- {
- goto error;
-@@ -1048,7 +1048,7 @@ static void vlc_av_packet_Release(block_
- {
- vlc_av_packet_t *b = (void *) block;
-
-- av_free_packet(&b->packet);
-+ av_packet_unref(&b->packet);
- free(b);
- }
-
-@@ -1088,7 +1088,7 @@ static block_t *EncodeVideo( encoder_t *
- AVFrame *frame = NULL;
- if( likely(p_pict) ) {
- frame = p_sys->frame;
-- avcodec_get_frame_defaults( frame );
-+ av_frame_unref( frame );
- for( i_plane = 0; i_plane < p_pict->i_planes; i_plane++ )
- {
- p_sys->frame->data[i_plane] = p_pict->p[i_plane].p_pixels;
-@@ -1188,7 +1188,7 @@ static block_t *EncodeVideo( encoder_t *
- av_pkt.duration / p_sys->p_context->time_base.den, p_sys->p_context );
- if( unlikely(p_block == NULL) )
- {
-- av_free_packet( &av_pkt );
-+ av_packet_unref( &av_pkt );
- return NULL;
- }
-
-@@ -1329,7 +1329,7 @@ static block_t *handle_delay_buffer( enc
- //How much we need to copy from new packet
- const int leftover = leftover_samples * p_sys->p_context->channels * p_sys->i_sample_bytes;
-
-- avcodec_get_frame_defaults( p_sys->frame );
-+ av_frame_unref( p_sys->frame );
- p_sys->frame->format = p_sys->p_context->sample_fmt;
- p_sys->frame->nb_samples = leftover_samples + p_sys->i_samples_delay;
-
-@@ -1451,7 +1451,7 @@ static block_t *EncodeAudio( encoder_t *
- while( ( p_aout_buf->i_nb_samples >= p_sys->i_frame_size ) ||
- ( p_sys->b_variable && p_aout_buf->i_nb_samples ) )
- {
-- avcodec_get_frame_defaults( p_sys->frame );
-+ av_frame_unref( p_sys->frame );
- if( p_sys->b_variable )
- p_sys->frame->nb_samples = p_aout_buf->i_nb_samples;
- else
-@@ -1514,7 +1514,7 @@ void CloseEncoder( vlc_object_t *p_this
- encoder_t *p_enc = (encoder_t *)p_this;
- encoder_sys_t *p_sys = p_enc->p_sys;
-
-- /*FIXME: we should use avcodec_free_frame, but we don't require so new avcodec that has it*/
-+ /*FIXME: we should use av_frame_free, but we don't require so new avcodec that has it*/
- av_freep( &p_sys->frame );
-
- vlc_avcodec_lock();
diff --git a/package/vlc/patches/patch-modules_codec_avcodec_vaapi_c b/package/vlc/patches/patch-modules_codec_avcodec_vaapi_c
deleted file mode 100644
index 1fdad6258..000000000
--- a/package/vlc/patches/patch-modules_codec_avcodec_vaapi_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- vlc-2.2.4.orig/modules/codec/avcodec/vaapi.c 2015-02-02 20:42:29.000000000 +0100
-+++ vlc-2.2.4/modules/codec/avcodec/vaapi.c 2016-09-24 20:35:02.681191261 +0200
-@@ -595,7 +595,7 @@ static int Create( vlc_va_t *p_va, AVCod
- return err;
-
- /* Only VLD supported */
-- p_va->pix_fmt = PIX_FMT_VAAPI_VLD;
-+ p_va->pix_fmt = AV_PIX_FMT_VAAPI_VLD;
- p_va->setup = Setup;
- p_va->get = Get;
- p_va->release = Release;
diff --git a/package/vlc/patches/patch-modules_codec_avcodec_video_c b/package/vlc/patches/patch-modules_codec_avcodec_video_c
deleted file mode 100644
index c9d3fb226..000000000
--- a/package/vlc/patches/patch-modules_codec_avcodec_video_c
+++ /dev/null
@@ -1,51 +0,0 @@
---- vlc-2.2.6.orig/modules/codec/avcodec/video.c 2016-09-27 09:56:26.000000000 +0200
-+++ vlc-2.2.6/modules/codec/avcodec/video.c 2017-06-06 22:52:46.745071498 +0200
-@@ -108,8 +108,8 @@ static int lavc_GetFrame(struct AVCodecC
- static int ffmpeg_GetFrameBuf ( struct AVCodecContext *, AVFrame * );
- static void ffmpeg_ReleaseFrameBuf( struct AVCodecContext *, AVFrame * );
- #endif
--static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *,
-- const enum PixelFormat * );
-+static enum AVPixelFormat ffmpeg_GetFormat( AVCodecContext *,
-+ const enum AVPixelFormat * );
-
- static uint32_t ffmpeg_CodecTag( vlc_fourcc_t fcc )
- {
-@@ -234,7 +234,7 @@ int InitVideoDec( decoder_t *p_dec, AVCo
- p_sys->p_codec = p_codec;
- p_sys->i_codec_id = i_codec_id;
- p_sys->psz_namecodec = psz_namecodec;
-- p_sys->p_ff_pic = avcodec_alloc_frame();
-+ p_sys->p_ff_pic = av_frame_alloc();
- p_sys->b_delayed_open = true;
- p_sys->p_va = NULL;
- vlc_sem_init( &p_sys->sem_mt, 0 );
-@@ -446,7 +446,7 @@ int InitVideoDec( decoder_t *p_dec, AVCo
- if( ffmpeg_OpenCodec( p_dec ) < 0 )
- {
- msg_Err( p_dec, "cannot open codec (%s)", p_sys->psz_namecodec );
-- avcodec_free_frame( &p_sys->p_ff_pic );
-+ av_frame_free( &p_sys->p_ff_pic );
- vlc_sem_destroy( &p_sys->sem_mt );
- free( p_sys );
- return VLC_EGENERIC;
-@@ -847,7 +847,7 @@ void EndVideoDec( decoder_t *p_dec )
- wait_mt( p_sys );
-
- if( p_sys->p_ff_pic )
-- avcodec_free_frame( &p_sys->p_ff_pic );
-+ av_frame_free( &p_sys->p_ff_pic );
-
- if( p_sys->p_va )
- vlc_va_Delete( p_sys->p_va );
-@@ -1334,8 +1334,8 @@ static void ffmpeg_ReleaseFrameBuf( stru
- }
- #endif
-
--static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *p_context,
-- const enum PixelFormat *pi_fmt )
-+static enum AVPixelFormat ffmpeg_GetFormat( AVCodecContext *p_context,
-+ const enum AVPixelFormat *pi_fmt )
- {
- decoder_t *p_dec = p_context->opaque;
- decoder_sys_t *p_sys = p_dec->p_sys;
diff --git a/package/vlc/patches/patch-modules_demux_avformat_demux_c b/package/vlc/patches/patch-modules_demux_avformat_demux_c
deleted file mode 100644
index ca710b26b..000000000
--- a/package/vlc/patches/patch-modules_demux_avformat_demux_c
+++ /dev/null
@@ -1,46 +0,0 @@
---- vlc-2.2.4.orig/modules/demux/avformat/demux.c 2016-01-18 21:49:57.000000000 +0100
-+++ vlc-2.2.4/modules/demux/avformat/demux.c 2016-09-24 20:35:02.681191261 +0200
-@@ -734,14 +734,14 @@ static int Demux( demux_t *p_demux )
- }
- if( pkt.stream_index < 0 || pkt.stream_index >= p_sys->i_tk )
- {
-- av_free_packet( &pkt );
-+ av_packet_unref( &pkt );
- return 1;
- }
- const AVStream *p_stream = p_sys->ic->streams[pkt.stream_index];
- if( p_stream->time_base.den <= 0 )
- {
- msg_Warn( p_demux, "Invalid time base for the stream %d", pkt.stream_index );
-- av_free_packet( &pkt );
-+ av_packet_unref( &pkt );
- return 1;
- }
- if( p_stream->codec->codec_id == AV_CODEC_ID_SSA )
-@@ -749,7 +749,7 @@ static int Demux( demux_t *p_demux )
- p_frame = BuildSsaFrame( &pkt, p_sys->i_ssa_order++ );
- if( !p_frame )
- {
-- av_free_packet( &pkt );
-+ av_packet_unref( &pkt );
- return 1;
- }
- }
-@@ -757,7 +757,7 @@ static int Demux( demux_t *p_demux )
- {
- if( ( p_frame = block_Alloc( pkt.size ) ) == NULL )
- {
-- av_free_packet( &pkt );
-+ av_packet_unref( &pkt );
- return 0;
- }
- memcpy( p_frame->p_buffer, pkt.data, pkt.size );
-@@ -838,7 +838,7 @@ static int Demux( demux_t *p_demux )
- else
- block_Release( p_frame );
-
-- av_free_packet( &pkt );
-+ av_packet_unref( &pkt );
- return 1;
- }
-
diff --git a/package/vlc/patches/patch-src_posix_error_c b/package/vlc/patches/patch-src_posix_error_c
index ef51c996e..413f97f7d 100644
--- a/package/vlc/patches/patch-src_posix_error_c
+++ b/package/vlc/patches/patch-src_posix_error_c
@@ -1,5 +1,5 @@
---- vlc-2.2.4.orig/src/posix/error.c 2015-02-02 20:42:32.000000000 +0100
-+++ vlc-2.2.4/src/posix/error.c 2016-09-24 20:34:45.824539253 +0200
+--- vlc-3.0.20.orig/src/posix/error.c 2017-11-24 16:29:18.000000000 +0100
++++ vlc-3.0.20/src/posix/error.c 2024-03-03 07:55:57.955760063 +0100
@@ -31,6 +31,7 @@
static const char *vlc_strerror_l(int errnum, const char *lname)
@@ -8,15 +8,8 @@
int saved_errno = errno;
locale_t loc = newlocale(LC_MESSAGES_MASK, lname, (locale_t)0);
-@@ -48,9 +49,16 @@ static const char *vlc_strerror_l(int er
- errno = saved_errno;
- }
-
-+#if defined(__UCLIBC__)
-+ const char *buf = strerror_r(errnum, loc, 100);
-+#else
+@@ -51,6 +52,9 @@ static const char *vlc_strerror_l(int er
const char *buf = strerror_l(errnum, loc);
-+#endif
freelocale(loc);
+#else
diff --git a/package/vlc/patches/patch-src_posix_thread_c b/package/vlc/patches/patch-src_posix_thread_c
deleted file mode 100644
index 5c636c164..000000000
--- a/package/vlc/patches/patch-src_posix_thread_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- vlc-2.2.4.orig/src/posix/thread.c 2015-02-02 20:42:32.000000000 +0100
-+++ vlc-2.2.4/src/posix/thread.c 2016-09-24 20:34:51.776769484 +0200
-@@ -85,7 +85,7 @@ static clockid_t vlc_clock_id;
-
- static void vlc_clock_setup_once (void)
- {
--# if (_POSIX_MONOTONIC_CLOCK == 0)
-+# if (_POSIX_MONOTONIC_CLOCK == 0) && (_POSIX_CLOCK_SELECTION > 0)
- long val = sysconf (_SC_MONOTONIC_CLOCK);
- assert (val != 0);
- vlc_clock_id = (val < 0) ? CLOCK_REALTIME : CLOCK_MONOTONIC;
diff --git a/package/vnstat/Makefile b/package/vnstat/Makefile
index cec293741..0ff859b02 100644
--- a/package/vnstat/Makefile
+++ b/package/vnstat/Makefile
@@ -4,9 +4,9 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= vnstat
-PKG_VERSION:= 1.14
+PKG_VERSION:= 2.12
PKG_RELEASE:= 1
-PKG_HASH:= f8462a47d85d0890493dc9eaeafbc725ae631aa5b103fb7f8af4ddb2314e8386
+PKG_HASH:= b7386b12fc1fc6f47fab31f208b12eda61862e63e229e84e95a6fa80406d2852
PKG_DESCR:= console-based network traffic monitor
PKG_SECTION:= net/perf
PKG_SITES:= http://humdi.net/vnstat/
@@ -17,12 +17,10 @@ include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,VNSTAT,vnstat,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-CONFIG_STYLE:= manual
-INSTALL_STYLE:= manual
ALL_TARGET:= vnstat
-do-install:
+vnstat-install:
${INSTALL_DIR} ${IDIR_VNSTAT}/usr/bin
- ${INSTALL_BIN} ${WRKBUILD}/src/vnstat ${IDIR_VNSTAT}/usr/bin/
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/vnstat ${IDIR_VNSTAT}/usr/bin/
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/w3m/Makefile b/package/w3m/Makefile
index bc97defc8..8b553b01b 100644
--- a/package/w3m/Makefile
+++ b/package/w3m/Makefile
@@ -14,6 +14,8 @@ PKG_BUILDDEP:= libgc-host libgc ncurses
PKG_URL:= http://w3m.sourceforge.net/
PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=w3m/}
+PKG_NOPARALLEL:= 1
+
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
include $(ADK_TOPDIR)/mk/package.mk
diff --git a/package/wayland-protocols/Makefile b/package/wayland-protocols/Makefile
new file mode 100644
index 000000000..9c1f8ad1d
--- /dev/null
+++ b/package/wayland-protocols/Makefile
@@ -0,0 +1,33 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= wayland-protocols
+PKG_VERSION:= 1.31
+PKG_RELEASE:= 1
+PKG_HASH:= a07fa722ed87676ec020d867714bc9a2f24c464da73912f39706eeef5219e238
+PKG_DESCR:= wayland protocols
+PKG_SECTION:= x11/libs
+PKG_BUILDDEP:= meson-host wayland-host
+PKG_SITES:= https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/$(PKG_VERSION)/downloads/
+PKG_OPTS:= dev
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,WAYLAND_PROTOCOLS,wayland-protocols,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+MESON_FLAGS+= -Dtests=false
+
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
+
+wayland-protocols-install:
+ $(INSTALL_DIR) $(IDIR_WAYLAND_PROTOCOLS)/usr/share/wayland-protocols
+ $(CP) $(WRKINST)/usr/share/wayland-protocols/* \
+ $(IDIR_WAYLAND_PROTOCOLS)/usr/share/wayland-protocols/
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/wayland-protocols/patches/patch-meson_build b/package/wayland-protocols/patches/patch-meson_build
new file mode 100644
index 000000000..ad075be1c
--- /dev/null
+++ b/package/wayland-protocols/patches/patch-meson_build
@@ -0,0 +1,11 @@
+--- wayland-protocols-1.23.orig/meson.build 2021-09-15 14:52:03.136998200 +0200
++++ wayland-protocols-1.23/meson.build 2021-11-14 04:45:19.472983046 +0100
+@@ -93,7 +93,7 @@ pkgconfig_configuration.set('abs_top_src
+ pkgconfig_configuration.set('PACKAGE', 'wayland-protocols')
+ pkgconfig_configuration.set('WAYLAND_PROTOCOLS_VERSION', wayland_protocols_version)
+
+-pkg_install_dir = join_paths(get_option('datadir'), 'pkgconfig')
++pkg_install_dir = join_paths(get_option('libdir'), 'pkgconfig')
+ configure_file(
+ input: 'wayland-protocols.pc.in',
+ output: 'wayland-protocols.pc',
diff --git a/package/wayland-protocols/patches/patch-wayland-protocols_pc_in b/package/wayland-protocols/patches/patch-wayland-protocols_pc_in
new file mode 100644
index 000000000..ce3da7fb2
--- /dev/null
+++ b/package/wayland-protocols/patches/patch-wayland-protocols_pc_in
@@ -0,0 +1,10 @@
+--- wayland-protocols-1.23.orig/wayland-protocols.pc.in 2021-09-15 14:52:03.145998200 +0200
++++ wayland-protocols-1.23/wayland-protocols.pc.in 2021-11-14 04:59:17.121707638 +0100
+@@ -1,6 +1,6 @@
+ prefix=@prefix@
+ datarootdir=@datarootdir@
+-pkgdatadir=${pc_sysrootdir}${datarootdir}/@PACKAGE@
++pkgdatadir=${datarootdir}/@PACKAGE@
+
+ Name: Wayland Protocols
+ Description: Wayland protocol files
diff --git a/package/wayland/Makefile b/package/wayland/Makefile
new file mode 100644
index 000000000..796af73f6
--- /dev/null
+++ b/package/wayland/Makefile
@@ -0,0 +1,53 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= wayland
+PKG_VERSION:= 1.22.0
+PKG_RELEASE:= 1
+PKG_HASH:= 1540af1ea698a471c2d8e9d288332c7e0fd360c8f1d12936ebb7e7cbc2425842
+PKG_DESCR:= wayland
+PKG_SECTION:= x11/libs
+PKG_BUILDDEP:= wayland-host
+HOST_BUILDDEP:= meson-host expat-host libxml2-host libffi-host
+PKG_SITES:= https://gitlab.freedesktop.org/wayland/wayland/-/releases/$(PKG_VERSION)/downloads/
+PKG_OPTS:= dev
+
+include $(ADK_TOPDIR)/mk/host.mk
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call HOST_template,WAYLAND,wayland,$(PKG_VERSION)-${PKG_RELEASE}))
+$(eval $(call PKG_template,WAYLAND,wayland,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+HOST_MESON_FLAGS+= -Ddocumentation=false \
+ -Dtests=false \
+ -Dscanner=true
+MESON_FLAGS+= -Ddocumentation=false \
+ -Dtests=false \
+ -Dlibraries=true \
+ -Dscanner=false
+
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+HOST_STYLE:= meson
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
+
+hostpost-install:
+ $(INSTALL_DIR) $(STAGING_HOST_DIR)/usr/bin
+ $(INSTALL_BIN) $(WRKBUILD)/src/wayland-scanner \
+ $(STAGING_HOST_DIR)/usr/bin
+ $(INSTALL_DIR) $(STAGING_HOST_DIR)/usr/lib/pkgconfig
+ $(CP) $(WRKBUILD)/meson-private/wayland-scanner.pc \
+ $(STAGING_HOST_DIR)/usr/lib/pkgconfig
+
+
+wayland-install:
+ $(INSTALL_DIR) $(IDIR_WAYLAND)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libwayland*.so* \
+ $(IDIR_WAYLAND)/usr/lib
+
+include ${ADK_TOPDIR}/mk/host-bottom.mk
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/webkitgtk/Makefile b/package/webkitgtk/Makefile
index 4009987c2..b6ad084a5 100644
--- a/package/webkitgtk/Makefile
+++ b/package/webkitgtk/Makefile
@@ -4,18 +4,18 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= webkitgtk
-PKG_VERSION:= 2.18.0
+PKG_VERSION:= 2.34.6
PKG_RELEASE:= 1
-PKG_HASH:= b583e46a3de36a3e80ba33b084ead60512a2046aca01ff61e50e519436e5038d
+PKG_HASH:= 6bc8fd034aad0432a2459ce4fc7ee25ad65a4924c618bf8d93b52b0c1a84c1f6
PKG_DESCR:= web browser engine
PKG_SECTION:= libs/misc
PKG_DEPENDS:= glib icu4c zlib libwebp libgtk3 libsoup
PKG_DEPENDS+= libsecret libxt harfbuzz cairo libgcrypt
-PKG_DEPENDS+= gst-plugins-base gstreamer libnotify
+PKG_DEPENDS+= gstreamer libnotify libwebp gst-plugins-base
PKG_BUILDDEP:= glib icu4c zlib libwebp libgtk3 cmake-host
PKG_BUILDDEP+= libsoup libsecret libXt harfbuzz libnotify
-PKG_BUILDDEP+= gst-plugins-base gstreamer cairo enchant
-PKG_BUILDDEP+= gnutls libgcrypt
+PKG_BUILDDEP+= gstreamer cairo enchant libwebp gst-plugins-base
+PKG_BUILDDEP+= gnutls libgcrypt ruby-host
PKG_URL:= http://www.webkitgtk.org/
PKG_SITES:= http://webkitgtk.org/releases/
PKG_OPTS:= dev
@@ -41,6 +41,14 @@ CMAKE_FLAGS+= -DPORT=GTK \
-DUSE_LIBNOTIFY=OFF \
-DENABLE_JIT=OFF \
-DUSE_LIBHYPHEN=OFF \
+ -DUSE_SOUP2=ON \
+ -DUSE_WPE_RENDERER=OFF \
+ -DENABLE_GAMEPAD=OFF \
+ -DUSE_OPENJPEG=OFF \
+ -DUSE_WOFF2=OFF \
+ -DUSE_SYSTEMD=OFF \
+ -DUSE_LCMS=OFF \
+ -DENABLE_BUBBLEWRAP_SANDBOX=OFF \
-DENABLE_INTROSPECTION=OFF
webkitgtk-install:
diff --git a/package/webkitgtk/patches/patch-Source_PlatformGTK_cmake b/package/webkitgtk/patches/patch-Source_PlatformGTK_cmake
deleted file mode 100644
index 863e86475..000000000
--- a/package/webkitgtk/patches/patch-Source_PlatformGTK_cmake
+++ /dev/null
@@ -1,7 +0,0 @@
---- webkitgtk-2.12.0.orig/Source/PlatformGTK.cmake 2016-03-17 08:51:05.000000000 +0100
-+++ webkitgtk-2.12.0/Source/PlatformGTK.cmake 2016-04-03 10:54:31.244767406 +0200
-@@ -1,4 +1,3 @@
--add_subdirectory(${WEBCORE_DIR}/platform/gtk/po)
-
- # This allows exposing a 'gir' target which builds all GObject introspection files.
- if (ENABLE_INTROSPECTION)
diff --git a/package/weechat/Makefile b/package/weechat/Makefile
index 5b63816e2..ec397bd73 100644
--- a/package/weechat/Makefile
+++ b/package/weechat/Makefile
@@ -4,26 +4,29 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= weechat
-PKG_VERSION:= 1.1.1
+PKG_VERSION:= 4.2.1
PKG_RELEASE:= 1
-PKG_HASH:= a32f7e57d5e834195bacaffa874419b4a9d17cd42883c80d7ecb9fadbf601349
+PKG_HASH:= 253ddf086f6c845031a2dd294b1552851d6b04cc08a2f9da4aedfb3e2f91bdcd
PKG_DESCR:= lightweight irc client
PKG_SECTION:= app/chat
-PKG_DEPENDS:= libncurses zlib libcurl libgcrypt
-PKG_BUILDDEP:= cmake-host ncurses zlib curl libgcrypt
+PKG_DEPENDS:= libncurses zlib libcurl libgcrypt libgnutls
+PKG_BUILDDEP:= cmake-host ncurses zlib curl libgcrypt gnutls
PKG_URL:= http://www.weechat.org/
-PKG_SITES:= http://www.weechat.org/files/src/
-
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
+PKG_SITES:= https://weechat.org/files/src/
include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,WEECHAT,weechat,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
CONFIG_STYLE:= cmake
-CMAKE_FLAGS+= -DENABLE_GNUTLS=OFF \
- -DENABLE_PERL=OFF \
+CMAKE_FLAGS+= -DENABLE_PERL=OFF \
-DENABLE_PYTHON=OFF \
+ -DENABLE_LUA=OFF \
+ -DENABLE_RUBY=OFF \
+ -DENABLE_PHP=OFF \
+ -DENABLE_TCL=OFF \
+ -DENABLE_GUILE=OFF \
+ -DENABLE_SPELL=OFF \
-DENABLE_NLS=OFF \
-DGCRYPT_LDFLAGS="-L$(STAGING_TARGET_DIR)/usr/lib -ltinfo -lgcrypt" \
-DGCRYPT_CFLAGS="-I$(STAGING_TARGET_DIR)/usr/include" \
diff --git a/package/weston/Makefile b/package/weston/Makefile
new file mode 100644
index 000000000..a3d374355
--- /dev/null
+++ b/package/weston/Makefile
@@ -0,0 +1,60 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= weston
+PKG_VERSION:= 11.0.0
+PKG_RELEASE:= 1
+PKG_HASH:= 5816a9e7bd67d03f268553a7af2f0c3430b409f7606244dada65188478f90800
+PKG_DESCR:= wayland compositor
+PKG_SECTION:= x11/drivers
+PKG_DEPENDS:= wayland libxkbcommon libinput libpng libjpeg-turbo libseat
+PKG_DEPENDS+= libwebp pam libxcursor libudev xkeyboard-config cairo libffi
+PKG_BUILDDEP:= wayland libxkbcommon libinput libpng libjpeg-turbo
+PKG_BUILDDEP+= libwebp pam libXcursor eudev cairo libseat libffi
+PKG_SITES:= https://github.com/wayland-project/weston/archive/refs/tags/
+
+PKG_CFLINE_WESTON:= select ADK_PACKAGE_CAIRO_WITH_PNG@
+
+DISTFILES:= $(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,WESTON,weston,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+MESON_FLAGS+= -Dlauncher-logind=false \
+ -Dlauncher-libseat=true \
+ -Dsystemd=false \
+ -Dbackend-drm-screencast-vaapi=false \
+ -Dbackend-rdp=false \
+ -Dcolor-management-lcms=false \
+ -Dremoting=false \
+ -Dpipewire=false \
+ -Ddemo-clients=false
+
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
+
+weston-install:
+ $(INSTALL_DIR) $(IDIR_WESTON)/usr/share
+ $(CP) $(WRKINST)/usr/share/* \
+ $(IDIR_WESTON)/usr/share/
+ $(INSTALL_DIR) $(IDIR_WESTON)/usr/libexec
+ $(CP) $(WRKINST)/usr/libexec/* \
+ $(IDIR_WESTON)/usr/libexec/
+ $(INSTALL_DIR) $(IDIR_WESTON)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/weston \
+ $(IDIR_WESTON)/usr/lib/
+ $(CP) $(WRKINST)/usr/lib/libweston-11 \
+ $(IDIR_WESTON)/usr/lib/
+ $(CP) $(WRKINST)/usr/lib/libweston*so* \
+ $(IDIR_WESTON)/usr/lib/
+ $(INSTALL_DIR) $(IDIR_WESTON)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/weston \
+ $(IDIR_WESTON)/usr/bin
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/wifidog/Makefile b/package/wifidog/Makefile
index 41e73b45b..a3e6e7430 100644
--- a/package/wifidog/Makefile
+++ b/package/wifidog/Makefile
@@ -19,6 +19,7 @@ include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,WIFIDOG,wifidog,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+TARGET_CFLAGS+= -fcommon
CONFIGURE_ENV+= ac_cv_func_memcmp_working=yes \
ac_cv_lib_nsl_main=no \
ac_cv_func_setvbuf_reversed=no
diff --git a/package/wolfssl/Makefile b/package/wolfssl/Makefile
index 4a390a114..738821f65 100644
--- a/package/wolfssl/Makefile
+++ b/package/wolfssl/Makefile
@@ -4,21 +4,23 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= wolfssl
-PKG_VERSION:= 3.13.0
+PKG_VERSION:= 5.6.6
PKG_RELEASE:= 1
-PKG_HASH:= 196a3256a9044ecb89504ce77850342c82e676e7f2cad77f5584be3516b6060e
+PKG_HASH:= 3d2ca672d41c2c2fa667885a80d6fa03c3e91f0f4f72f87aef2bc947e8c87237
PKG_DESCR:= portable embedded ssl library
PKG_SECTION:= libs/crypto
PKG_URL:= http://www.wolfssl.com
-PKG_SITES:= http://distfiles.openadk.org/
+PKG_SITES:= https://github.com/wolfSSL/wolfssl/archive/refs/tags/
PKG_OPTS:= dev
-DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).zip
+DISTFILES:= v$(PKG_VERSION)-stable.tar.gz
+WRKDIST= ${WRKDIR}/${PKG_NAME}-${PKG_VERSION}-stable
include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,WOLFSSL,wolfssl,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+AUTOTOOL_STYLE:= autogen
CONFIGURE_ARGS+= --disable-examples
CONFIGURE_ENV+= C_EXTRA_FLAGS='$(TARGET_CFLAGS)'
diff --git a/package/wpa_supplicant/Makefile b/package/wpa_supplicant/Makefile
index 1cfafb014..873b6f2d3 100644
--- a/package/wpa_supplicant/Makefile
+++ b/package/wpa_supplicant/Makefile
@@ -4,16 +4,16 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= wpa_supplicant
-PKG_VERSION:= 2.5
-PKG_RELEASE:= 1
-PKG_HASH:= cce55bae483b364eae55c35ba567c279be442ed8bab5b80a3c7fb0d057b9b316
+PKG_VERSION:= 2.10
+PKG_RELEASE:= 2
+PKG_HASH:= 20df7ae5154b3830355f8ab4269123a87affdea59fe74fe9292a91d0d7e17b2f
PKG_DESCR:= wpa supplicant
PKG_SECTION:= net/wifi
PKG_DEPENDS:= libnl
PKG_BUILDDEP:= libnl
PKG_NEEDS:= threads
PKG_URL:= http://hostap.epitest.fi/wpa_supplicant/
-PKG_SITES:= http://hostap.epitest.fi/releases/
+PKG_SITES:= http://w1.fi/releases/
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
@@ -21,7 +21,7 @@ PKG_DFLT_WPA_SUPPLICANT:= y if ADK_TARGET_WITH_WIFI
WRKSRC= ${WRKDIST}/${PKG_NAME}
-PKG_CHOICES_WPA_SUPPLICANT:= WITH_LIBRESSL WITH_INTERNAL WITH_GNUTLS
+PKG_CHOICES_WPA_SUPPLICANT:= WITH_INTERNAL WITH_LIBRESSL WITH_GNUTLS
PKGCD_WITH_LIBRESSL:= use libressl for crypto
PKGCS_WITH_LIBRESSL:= libressl
PKGCB_WITH_LIBRESSL:= libressl
diff --git a/package/wput/Makefile b/package/wput/Makefile
index 12f87d61f..3448d6521 100644
--- a/package/wput/Makefile
+++ b/package/wput/Makefile
@@ -17,6 +17,7 @@ include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,WPUT,wput,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+TARGET_CFLAGS+= -fcommon
CONFIGURE_ARGS+= --disable-g-switch \
--without-ssl
diff --git a/package/x11vnc/Makefile b/package/x11vnc/Makefile
index 9fad7e631..7105c928e 100644
--- a/package/x11vnc/Makefile
+++ b/package/x11vnc/Makefile
@@ -4,28 +4,33 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= x11vnc
-PKG_VERSION:= 0.9.13
+PKG_VERSION:= 0.9.16
PKG_RELEASE:= 1
-PKG_HASH:= f6829f2e629667a5284de62b080b13126a0736499fe47cdb447aedb07a59f13b
+PKG_HASH:= 885e5b5f5f25eec6f9e4a1e8be3d0ac71a686331ee1cfb442dba391111bd32bd
PKG_DESCR:= vnc server for x11 displays
PKG_SECTION:= x11/apps
-PKG_BUILDDEP:= libX11 libXtst libjpeg-turbo
+PKG_DEPENDS:= libvncserver libpng libjpeg-turbo zlib liblzo
+PKG_DEPENDS+= libgnutls libxi libxdamage libxtst cairo
+PKG_DEPENDS+= libxfixes libxrandr
+PKG_BUILDDEP:= libX11 libXtst libjpeg-turbo libvncserver
PKG_URL:= http://www.karlrunge.com/x11vnc/
-PKG_SITES:= http://sourceforge.net/projects/libvncserver/files/x11vnc/0.9.13/
-
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
+PKG_SITES:= https://github.com/LibVNC/x11vnc/archive/refs/tags/
+DISTFILES:= ${PKG_VERSION}.tar.gz
include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,X11VNC,x11vnc,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+TARGET_LDFLAGS+= -lssl -lcrypto
ifeq ($(ADK_TARGET_USE_STATIC_LIBS_ONLY),y)
MAKE_FLAGS+= CFLAGS="${TARGET_CFLAGS} -static" \
LIBS="-lxcb -lXau -lXdmcp -ldl -pthread -ljpeg -lz"
endif
-CONFIGURE_ARGS+= --without-ssl
+AUTOTOOL_STYLE:= autoreconf
+CONFIGURE_ARGS+= --without-ssl \
+ --without-crypto
x11vnc-install:
$(INSTALL_DIR) $(IDIR_X11VNC)/usr/bin
diff --git a/package/x11vnc/patches/patch-src_util_c b/package/x11vnc/patches/patch-src_util_c
new file mode 100644
index 000000000..c16d39ae6
--- /dev/null
+++ b/package/x11vnc/patches/patch-src_util_c
@@ -0,0 +1,12 @@
+--- x11vnc-0.9.16.orig/src/util.c 2019-01-05 14:22:11.000000000 +0100
++++ x11vnc-0.9.16/src/util.c 2022-12-30 16:45:15.602697333 +0100
+@@ -47,6 +47,9 @@ int hxl = 0;
+ #ifdef LIBVNCSERVER_HAVE_LIBPTHREAD
+ MUTEX(x11Mutex);
+ MUTEX(scrollMutex);
++MUTEX(clientMutex);
++MUTEX(inputMutex);
++MUTEX(pointerMutex);
+ #endif
+
+ int nfix(int i, int n);
diff --git a/package/x11vnc/patches/patch-src_util_h b/package/x11vnc/patches/patch-src_util_h
new file mode 100644
index 000000000..147534eb2
--- /dev/null
+++ b/package/x11vnc/patches/patch-src_util_h
@@ -0,0 +1,15 @@
+--- x11vnc-0.9.16.orig/src/util.h 2019-01-05 14:22:11.000000000 +0100
++++ x11vnc-0.9.16/src/util.h 2022-12-30 16:45:15.598697256 +0100
+@@ -102,9 +102,9 @@ extern struct timeval _mysleep;
+ #ifdef LIBVNCSERVER_HAVE_LIBPTHREAD
+ extern MUTEX(x11Mutex);
+ extern MUTEX(scrollMutex);
+-MUTEX(clientMutex);
+-MUTEX(inputMutex);
+-MUTEX(pointerMutex);
++extern MUTEX(clientMutex);
++extern MUTEX(inputMutex);
++extern MUTEX(pointerMutex);
+ #endif
+
+ #define X_INIT INIT_MUTEX(x11Mutex)
diff --git a/package/xawtv/Makefile b/package/xawtv/Makefile
index 4c3ba6d31..e459a6f09 100644
--- a/package/xawtv/Makefile
+++ b/package/xawtv/Makefile
@@ -4,19 +4,17 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= xawtv
-PKG_VERSION:= 3.103
+PKG_VERSION:= 47a81c3ca7ac9b4f0989cccb7961dc4bff52364a
PKG_RELEASE:= 1
-PKG_HASH:= 2cf3a91b5d59a094bd86e101684a65c0e3d09225c11a787e060fa01bfbc8dd52
+PKG_GIT:= hash
PKG_DESCR:= video & webcam application
PKG_BUILDDEP:= libXinerama v4l-utils
PKG_DEPENDS:= libxinerama libv4l
PKG_SECTION:= x11/apps
-PKG_SITES:= http://linuxtv.org/downloads/xawtv/
+PKG_SITES:= http://git.linuxtv.org/xawtv3.git
PKG_ARCH_DEPENDS:= x86 x86_64
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
-
include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,XAWTV,xawtv,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
diff --git a/package/xcb-proto/Makefile b/package/xcb-proto/Makefile
index 67947e882..d5639997b 100644
--- a/package/xcb-proto/Makefile
+++ b/package/xcb-proto/Makefile
@@ -4,50 +4,41 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= xcb-proto
-PKG_VERSION:= 1.12
+PKG_VERSION:= 1.16.0
PKG_RELEASE:= 1
-PKG_HASH:= cfa49e65dd390233d560ce4476575e4b76e505a0e0bacdfb5ba6f8d0af53fd59
+PKG_HASH:= a75a1848ad2a89a82d841a51be56ce988ff3c63a8d6bf4383ae3219d8d915119
PKG_DESCR:= xml-xcb protocol descriptions
PKG_SECTION:= dev/header
-HOST_BUILDDEP:= python2-host
-PKG_SITES:= http://xcb.freedesktop.org/dist/
+HOST_BUILDDEP:= python3-host
+PKG_SITES:= https://xorg.freedesktop.org/archive/individual/proto/
PKG_OPTS:= dev devonly
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
-
-PKG_SUBPKGS:= XCB_PROTO XCB_PYTHON
-PKGSC_XCB_PYTHON:= x11/misc
-
include $(ADK_TOPDIR)/mk/host.mk
include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call HOST_template,XCB_PROTO,xcb-proto,$(PKG_VERSION)-${PKG_RELEASE}))
$(eval $(call PKG_template,XCB_PROTO,xcb-proto,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-$(eval $(call PKG_template,XCB_PYTHON,xcb-python,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKGSC_XCB_PYTHON}))
-include $(ADK_TOPDIR)/mk/python.mk
+include $(ADK_TOPDIR)/mk/python3.mk
HOST_STYLE:= auto
CONFIGURE_ENV+= PYTHON=$(PYTHON)
-# pkg-config variables are not fixed up with sysroot
hostpost-install:
- $(SED) 's|^\(xcbincludedir=\)|\1$(STAGING_HOST_DIR)|' \
- $(STAGING_HOST_DIR)/usr/lib/pkgconfig/xcb-proto.pc
+ ${INSTALL_DIR} ${STAGING_HOST_DIR}/usr/share/xcb
+ ${CP} ${WRKBUILD}/src/*.xml ${STAGING_HOST_DIR}/usr/share/xcb
post-build:
${INSTALL_DIR} ${STAGING_TARGET_DIR}/usr/share/xcb
${CP} ${WRKBUILD}/src/*.xml ${STAGING_TARGET_DIR}/usr/share/xcb
- $(SED) 's|^\(xcbincludedir=\)|\1$(STAGING_TARGET_DIR)|' \
- $(WRKBUILD)/xcb-proto.pc
-xcb-python-install:
+xcb-proto-install:
$(INSTALL_DIR) ${STAGING_TARGET_DIR}/usr/lib/python${PYTHON_VERSION}/site-packages/xcbgen
${CP} ${WRKINST}/usr/lib/python${PYTHON_VERSION}/site-packages/xcbgen/*.py \
${STAGING_TARGET_DIR}/usr/lib/python${PYTHON_VERSION}/site-packages/xcbgen
- ${INSTALL_DIR} ${IDIR_XCB_PYTHON}/usr/lib/python${PYTHON_VERSION}/site-packages/xcbgen
+ ${INSTALL_DIR} ${IDIR_XCB_PROTO}/usr/lib/python${PYTHON_VERSION}/site-packages/xcbgen
${CP} ${WRKINST}/usr/lib/python${PYTHON_VERSION}/site-packages/xcbgen/*.py \
- ${IDIR_XCB_PYTHON}/usr/lib/python${PYTHON_VERSION}/site-packages/xcbgen
+ ${IDIR_XCB_PROTO}/usr/lib/python${PYTHON_VERSION}/site-packages/xcbgen
include ${ADK_TOPDIR}/mk/host-bottom.mk
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/xcb-proto/patches/patch-xcb-proto_pc_in b/package/xcb-proto/patches/patch-xcb-proto_pc_in
new file mode 100644
index 000000000..3732f4310
--- /dev/null
+++ b/package/xcb-proto/patches/patch-xcb-proto_pc_in
@@ -0,0 +1,14 @@
+--- xcb-proto-1.16.0.orig/xcb-proto.pc.in 2023-08-16 22:10:21.000000000 +0200
++++ xcb-proto-1.16.0/xcb-proto.pc.in 2024-01-21 13:00:16.488006595 +0100
+@@ -2,9 +2,9 @@ prefix=@prefix@
+ exec_prefix=@exec_prefix@
+ datarootdir=@datarootdir@
+ datadir=@datadir@
+-xcbincludedir=${pc_sysrootdir}@xcbincludedir@
++xcbincludedir=@xcbincludedir@
+ PYTHON_PREFIX=@PYTHON_PREFIX@
+-pythondir=${pc_sysrootdir}@pythondir@
++pythondir=@pythondir@
+
+ Name: XCB Proto
+ Description: X protocol descriptions for XCB
diff --git a/package/xdm/Makefile b/package/xdm/Makefile
index b3e6b53c8..70b0fb235 100644
--- a/package/xdm/Makefile
+++ b/package/xdm/Makefile
@@ -4,13 +4,13 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= xdm
-PKG_VERSION:= 1.1.11
+PKG_VERSION:= 1.1.14
PKG_RELEASE:= 1
-PKG_HASH:= 38c544a986143b1f24566c1a0111486b339b92224b927be78714eeeedca12a14
+PKG_HASH:= bcc543c3c120094d58d9cc9837958d4303693c2116ba342ba3dd9440137b4026
PKG_DESCR:= display manager
PKG_SECTION:= x11/apps
-PKG_BUILDDEP:= pam
-PKG_DEPENDS:= xconsole pam xsm
+PKG_BUILDDEP:= pam libXaw
+PKG_DEPENDS:= xconsole pam xsm libxaw
PKG_URL:= http://xorg.freedesktop.org/
PKG_SITES:= http://www.x.org/releases/individual/app/
@@ -21,6 +21,7 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,XDM,xdm,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
CONFIGURE_ARGS+= --with-random-device=/dev/urandom \
+ --with-appdefaultdir=/usr/share/X11/app-defaults \
--with-utmp-file=/dev/null \
--with-wtmp-file=/dev/null
diff --git a/package/xenomai/Makefile b/package/xenomai/Makefile
deleted file mode 100644
index 5d9b7dfdf..000000000
--- a/package/xenomai/Makefile
+++ /dev/null
@@ -1,49 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(ADK_TOPDIR)/rules.mk
-
-PKG_NAME:= xenomai
-PKG_VERSION:= 3.0.6
-PKG_RELEASE:= 1
-PKG_HASH:= 2c0dd3f0e36e4a10f97e0028989bb873e80f4d1ce212ac55fd3b28857c464f94
-PKG_DESCR:= realtime extension
-PKG_SECTION:= sys/misc
-PKG_URL:= https://xenomai.org/
-PKG_SITES:= https://xenomai.org/downloads/xenomai/stable/
-
-DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.bz2
-
-PKG_CHOICES_XENOMAI:= WITH_MERCURY
-#PKG_CHOICES_XENOMAI:= WITH_MERCURY WITH_COBALT
-PKGCD_WITH_MERCURY:= use mercury
-#PKGCD_WITH_COBALT:= use cobalt
-
-include $(ADK_TOPDIR)/mk/package.mk
-
-$(eval $(call PKG_template,XENOMAI,xenomai,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
-
-XAKE_FLAGS+= SUDO="echo"
-CONFIGURE_ARGS+= --includedir=/usr/include/xenomai/ --disable-doc-install
-
-ifeq (${ADK_PACKAGE_XENOMAI_WITH_MERCURY},y)
-CONFIGURE_ARGS+= --with-core=mercury
-endif
-
-ifeq (${ADK_PACKAGE_XENOMAI_WITH_COBALT},y)
-CONFIGURE_ARGS+= --with-core=cobalt
-endif
-
-xenomai-install:
- $(INSTALL_DIR) $(IDIR_XENOMAI)/usr/bin
- $(INSTALL_DIR) $(IDIR_XENOMAI)/usr/sbin
- $(INSTALL_DIR) $(IDIR_XENOMAI)/usr/lib
- $(CP) $(WRKINST)/usr/bin/* \
- $(IDIR_XENOMAI)/usr/bin
- $(CP) $(WRKINST)/usr/sbin/* \
- $(IDIR_XENOMAI)/usr/sbin
- $(CP) $(WRKINST)/usr/lib/* \
- $(IDIR_XENOMAI)/usr/lib
-
-
-include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/xf86-input-evdev/Makefile b/package/xf86-input-evdev/Makefile
index 5931ff84b..bebc4aac4 100644
--- a/package/xf86-input-evdev/Makefile
+++ b/package/xf86-input-evdev/Makefile
@@ -9,8 +9,8 @@ PKG_RELEASE:= 1
PKG_HASH:= 1a1b69daf41eac965f1cf0be721ebc340b2860c066147cb483f0e8f0ab7dd6a2
PKG_DESCR:= x11 driver for evdev
PKG_SECTION:= x11/drivers
-PKG_DEPENDS:= xorg-server libudev
-PKG_BUILDDEP:= xorg-server eudev
+PKG_DEPENDS:= xorg-server libudev libevdev mtdev
+PKG_BUILDDEP:= xorg-server eudev libevdev mtdev
PKG_SITES:= http://www.x.org/releases/individual/driver/
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
diff --git a/package/xf86-input-mouse/Makefile b/package/xf86-input-mouse/Makefile
index 6bef7daef..3198dbc53 100644
--- a/package/xf86-input-mouse/Makefile
+++ b/package/xf86-input-mouse/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= xf86-input-mouse
-PKG_VERSION:= 1.9.2
+PKG_VERSION:= 1.9.3
PKG_RELEASE:= 1
-PKG_HASH:= 82bb4b01b26853b180e87ab97510316c741af2bded359c994c0d689386947095
+PKG_HASH:= 71f3aa0a18dfe1ca5cb235ec9210f33571cf5fbbd90ac5b55306a954f67aa5c6
PKG_DESCR:= x11 driver for mouse
PKG_SECTION:= x11/drivers
PKG_DEPENDS:= xorg-server
diff --git a/package/xf86-video-modesetting/Makefile b/package/xf86-video-modesetting/Makefile
deleted file mode 100644
index 4cd733739..000000000
--- a/package/xf86-video-modesetting/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(ADK_TOPDIR)/rules.mk
-
-PKG_NAME:= xf86-video-modesetting
-PKG_VERSION:= 0.8.1
-PKG_RELEASE:= 1
-PKG_HASH:= 7cb67bc95e83f195bc5f50b6af0b4ff66b5b9ccd16848613d55d732bc1e5fdb6
-PKG_DESCR:= x11 driver for kms
-PKG_SECTION:= x11/drivers
-PKG_DEPENDS:= xorg-server libudev
-PKG_BUILDDEP:= xorg-server eudev
-PKG_NEEDS:= c++
-PKG_SITES:= http://www.x.org/releases/individual/driver/
-
-PKG_SYSTEM_DEPENDS:= qemu-x86 qemu-x86_64
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
-
-include $(ADK_TOPDIR)/mk/package.mk
-
-$(eval $(call PKG_template,XF86_VIDEO_MODESETTING,xf86-video-modesetting,$(PKG_VERSION)-$(PKG_RELEASE),${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-
-xf86-video-modesetting-install:
- ${INSTALL_DIR} ${IDIR_XF86_VIDEO_MODESETTING}/usr/lib/xorg/modules/drivers
- ${CP} ${WRKINST}/usr/lib/xorg/modules/drivers/modesetting_*.so \
- ${IDIR_XF86_VIDEO_MODESETTING}/usr/lib/xorg/modules/drivers/
-
-include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/xfsprogs/Makefile b/package/xfsprogs/Makefile
index d66c24402..e21801f9f 100644
--- a/package/xfsprogs/Makefile
+++ b/package/xfsprogs/Makefile
@@ -4,13 +4,13 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= xfsprogs
-PKG_VERSION:= 4.13.1
+PKG_VERSION:= 6.6.0
PKG_RELEASE:= 1
-PKG_HASH:= 8c64d349d191e24c84eeb1611be767e4a11b81016bd5b73f3a20a0bf39dd3536
+PKG_HASH:= 50ca2f4676df8fab4cb4c3ef3dd512d5551e6844d40a65a31d5b8e03593d22df
PKG_DESCR:= utilities for xfs filesystems
PKG_SECTION:= sys/fs
-PKG_DEPENDS:= libuuid libblkid libncurses
-PKG_BUILDDEP:= e2fsprogs ncurses
+PKG_DEPENDS:= libuuid libblkid libncurses libinih liburcu
+PKG_BUILDDEP:= e2fsprogs ncurses libinih liburcu
PKG_NEEDS:= threads
PKG_URL:= http://oss.sgi.com/projects/xfs
PKG_SITES:= https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/
@@ -21,7 +21,7 @@ include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,XFSPROGS,xfsprogs,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-TARGET_LDFLAGS+= -lblkid
+TARGET_LDFLAGS+= -lblkid -luuid
INSTALL_STYLE:= manual
CONFIGURE_ARGS+= --enable-gettext=no \
--enable-blkid=yes \
diff --git a/package/xfsprogs/patches/patch-io_Makefile b/package/xfsprogs/patches/patch-io_Makefile
deleted file mode 100644
index e740615b1..000000000
--- a/package/xfsprogs/patches/patch-io_Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
---- xfsprogs-4.11.0.orig/io/Makefile 2017-05-05 20:47:11.000000000 +0200
-+++ xfsprogs-4.11.0/io/Makefile 2017-06-03 20:54:04.368047450 +0200
-@@ -13,8 +13,8 @@ CFILES = init.c \
- getrusage.c imap.c link.c mmap.c open.c parent.c pread.c prealloc.c \
- pwrite.c reflink.c seek.c shutdown.c stat.c sync.c truncate.c utimes.c
-
--LLDLIBS = $(LIBXCMD) $(LIBHANDLE) $(LIBPTHREAD)
--LTDEPENDENCIES = $(LIBXCMD) $(LIBHANDLE)
-+LLDLIBS = $(LIBXFS) $(LIBXCMD) $(LIBHANDLE) $(LIBPTHREAD)
-+LTDEPENDENCIES = $(LIBXFS) $(LIBXCMD) $(LIBHANDLE)
- LLDFLAGS = -static-libtool-libs
-
- ifeq ($(HAVE_FADVISE),yes)
diff --git a/package/xfsprogs/patches/patch-libxfs_Makefile b/package/xfsprogs/patches/patch-libxfs_Makefile
deleted file mode 100644
index 2f38b240f..000000000
--- a/package/xfsprogs/patches/patch-libxfs_Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
---- xfsprogs-4.13.1.orig/libxfs/Makefile 2017-09-09 02:35:35.000000000 +0200
-+++ xfsprogs-4.13.1/libxfs/Makefile 2017-11-25 17:47:45.180739534 +0100
-@@ -118,9 +118,9 @@ LTLIBS = $(LIBPTHREAD) $(LIBRT)
- # don't try linking xfs_repair with a debug libxfs.
- DEBUG = -DNDEBUG
-
--LDIRT = gen_crc32table crc32table.h crc32selftest
-+LDIRT = gen_crc32table crc32table.h
-
--default: crc32selftest ltdepend $(LTLIBRARY)
-+default: ltdepend $(LTLIBRARY)
-
- crc32table.h: gen_crc32table.c crc32defs.h
- @echo " [CC] gen_crc32table"
diff --git a/package/xfsprogs/patches/patch-quota_Makefile b/package/xfsprogs/patches/patch-quota_Makefile
deleted file mode 100644
index 00bc37ef5..000000000
--- a/package/xfsprogs/patches/patch-quota_Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
---- xfsprogs-4.11.0.orig/quota/Makefile 2017-05-05 20:47:11.000000000 +0200
-+++ xfsprogs-4.11.0/quota/Makefile 2017-06-03 20:57:53.306759013 +0200
-@@ -14,8 +14,8 @@ CFILES += $(PKG_PLATFORM).c
- PCFILES = darwin.c freebsd.c irix.c linux.c
- LSRCFILES = $(shell echo $(PCFILES) | sed -e "s/$(PKG_PLATFORM).c//g")
-
--LLDLIBS = $(LIBXCMD)
--LTDEPENDENCIES = $(LIBXCMD)
-+LLDLIBS = $(LIBXFS) $(LIBXCMD)
-+LTDEPENDENCIES = $(LIBXFS) $(LIBXCMD)
- LLDFLAGS = -static
-
- ifeq ($(ENABLE_READLINE),yes)
diff --git a/package/xfsprogs/patches/patch-spaceman_Makefile b/package/xfsprogs/patches/patch-spaceman_Makefile
deleted file mode 100644
index 1bd7da4a7..000000000
--- a/package/xfsprogs/patches/patch-spaceman_Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
---- xfsprogs-4.13.1.orig/spaceman/Makefile 2017-09-09 02:35:35.000000000 +0200
-+++ xfsprogs-4.13.1/spaceman/Makefile 2017-11-25 17:55:33.271558933 +0100
-@@ -9,8 +9,8 @@ LTCOMMAND = xfs_spaceman
- HFILES = init.h space.h
- CFILES = init.c file.c prealloc.c trim.c
-
--LLDLIBS = $(LIBXCMD)
--LTDEPENDENCIES = $(LIBXCMD)
-+LLDLIBS = $(LIBXFS) $(LIBXCMD)
-+LTDEPENDENCIES = $(LIBXFS) $(LIBXCMD)
- LLDFLAGS = -static
-
- ifeq ($(ENABLE_READLINE),yes)
diff --git a/package/xkeyboard-config/Makefile b/package/xkeyboard-config/Makefile
index b6ba0d40f..182812e57 100644
--- a/package/xkeyboard-config/Makefile
+++ b/package/xkeyboard-config/Makefile
@@ -4,21 +4,23 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= xkeyboard-config
-PKG_VERSION:= 2.11
+PKG_VERSION:= 2.37
PKG_RELEASE:= 1
-PKG_HASH:= e7125460892c2b5c3a8d843cb18c24b60c46051e925c2888a61fa672a2f76d76
+PKG_HASH:= eb1383a5ac4b6210d7c7302b9d6fab052abdf51c5d2c9b55f1f779997ba68c6c
PKG_DESCR:= keyboard config
PKG_SECTION:= x11/misc
-PKG_BUILDDEP:= util-macros-host xkbcomp
+PKG_BUILDDEP:= util-macros-host xkbcomp meson-host
PKG_SITES:= http://www.x.org/releases/individual/data/xkeyboard-config/
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
-
include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,XKEYBOARD_CONFIG,xkeyboard-config,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-AUTOTOOL_STYLE:= autoreconf
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
xkeyboard-config-install:
${INSTALL_DIR} ${IDIR_XKEYBOARD_CONFIG}/usr/share/X11/xkb
diff --git a/package/xkeyboard-config/patches/patch-Makefile_am b/package/xkeyboard-config/patches/patch-Makefile_am
deleted file mode 100644
index 91f90f91b..000000000
--- a/package/xkeyboard-config/patches/patch-Makefile_am
+++ /dev/null
@@ -1,10 +0,0 @@
---- xkeyboard-config-2.11.orig/Makefile.am 2013-10-19 18:02:53.000000000 +0200
-+++ xkeyboard-config-2.11/Makefile.am 2014-03-04 14:43:40.000000000 +0100
-@@ -1,6 +1,6 @@
- AUTOMAKE_OPTIONS = foreign
-
--SUBDIRS = compat geometry keycodes po rules symbols types docs man
-+SUBDIRS = compat geometry keycodes rules symbols types
-
- pkgconfigdir = $(datadir)/pkgconfig
- pkgconfig_DATA = xkeyboard-config.pc
diff --git a/package/xkeyboard-config/patches/patch-configure_ac b/package/xkeyboard-config/patches/patch-configure_ac
deleted file mode 100644
index 2cb7cc7db..000000000
--- a/package/xkeyboard-config/patches/patch-configure_ac
+++ /dev/null
@@ -1,13 +0,0 @@
---- xkeyboard-config-2.11.orig/configure.ac 2014-01-29 21:08:27.000000000 +0100
-+++ xkeyboard-config-2.11/configure.ac 2014-03-04 14:43:26.000000000 +0100
-@@ -63,10 +63,6 @@ AM_CONDITIONAL(USE_COMPAT_RULES, test "x
- # ****
- # i18n
- # ****
--AC_PROG_INTLTOOL(0.30)
--
--AM_GNU_GETTEXT_VERSION([0.18.1])
--AM_GNU_GETTEXT([external])
-
- GETTEXT_PACKAGE=xkeyboard-config
- AC_SUBST(GETTEXT_PACKAGE)
diff --git a/package/xkeyboard-config/patches/patch-rules_Makefile_am b/package/xkeyboard-config/patches/patch-rules_Makefile_am
deleted file mode 100644
index ac07e510b..000000000
--- a/package/xkeyboard-config/patches/patch-rules_Makefile_am
+++ /dev/null
@@ -1,10 +0,0 @@
---- xkeyboard-config-2.11.orig/rules/Makefile.am 2013-12-17 23:59:06.000000000 +0100
-+++ xkeyboard-config-2.11/rules/Makefile.am 2014-03-04 14:30:44.000000000 +0100
-@@ -244,4 +244,6 @@ MAINTAINERCLEANFILES = $(srcdir)/evdev.x
- rulesdir = $(xkb_base)/rules
- xmldir = $(rulesdir)
-
--@INTLTOOL_XML_NOMERGE_RULE@
-+# remove intltool-merge dependency
-+%.xml: %.xml.in
-+ cp $< $@
diff --git a/package/xkeyboard-config/patches/patch-rules_base_extras_xml_in b/package/xkeyboard-config/patches/patch-rules_base_extras_xml_in
deleted file mode 100644
index beb2b7a9d..000000000
--- a/package/xkeyboard-config/patches/patch-rules_base_extras_xml_in
+++ /dev/null
@@ -1,855 +0,0 @@
---- xkeyboard-config-2.11.orig/rules/base.extras.xml.in 2013-12-24 00:48:45.000000000 +0100
-+++ xkeyboard-config-2.11/rules/base.extras.xml.in 2014-03-04 14:31:19.000000000 +0100
-@@ -1,4 +1,4 @@
--<?xml version="1.0" encoding="utf-8"?>
-+<?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE xkbConfigRegistry SYSTEM "xkb.dtd">
- <xkbConfigRegistry>
- <modelList/>
-@@ -6,8 +6,8 @@
- <layout>
- <configItem>
- <name>apl</name>
-- <_shortDescription>apl</_shortDescription>
-- <_description>APL keyboard symbols</_description>
-+ <shortDescription>apl</shortDescription>
-+ <description>APL keyboard symbols</description>
- <languageList><iso639Id>eng</iso639Id></languageList>
- </configItem>
- <variantList>
-@@ -58,29 +58,29 @@
- <layout>
- <configItem>
- <name>ca</name>
-- <_shortDescription>fr</_shortDescription>
-- <_description>French (Canada)</_description>
-+ <shortDescription>fr</shortDescription>
-+ <description>French (Canada)</description>
- <languageList><iso639Id>fra</iso639Id></languageList>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>kut</name>
-- <_shortDescription>kut</_shortDescription>
-- <_description>Kutenai</_description>
-+ <shortDescription>kut</shortDescription>
-+ <description>Kutenai</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>shs</name>
-- <_shortDescription>shs</_shortDescription>
-- <_description>Secwepemctsin</_description>
-+ <shortDescription>shs</shortDescription>
-+ <description>Secwepemctsin</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Multilingual (Canada, Sun Type 6/7)</_description>
-+ <description>Multilingual (Canada, Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -88,8 +88,8 @@
- <layout>
- <configItem>
- <name>de</name>
-- <_shortDescription>de</_shortDescription>
-- <_description>German</_description>
-+ <shortDescription>de</shortDescription>
-+ <description>German</description>
- <languageList>
- <iso639Id>ger</iso639Id>
- </languageList>
-@@ -98,7 +98,7 @@
- <variant>
- <configItem>
- <name>us</name>
-- <_description>German (US keyboard with German letters)</_description>
-+ <description>German (US keyboard with German letters)</description>
- <languageList>
- <iso639Id>eng</iso639Id>
- </languageList>
-@@ -107,7 +107,7 @@
- <variant>
- <configItem>
- <name>hu</name>
-- <_description>German (with Hungarian letters and no dead keys)</_description>
-+ <description>German (with Hungarian letters and no dead keys)</description>
- <languageList>
- <iso639Id>ger</iso639Id>
- <iso639Id>hun</iso639Id>
-@@ -117,7 +117,7 @@
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>German (Sun Type 6/7)</_description>
-+ <description>German (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -125,15 +125,15 @@
- <layout>
- <configItem>
- <name>ir</name>
-- <_shortDescription>fa</_shortDescription>
-- <_description>Persian</_description>
-+ <shortDescription>fa</shortDescription>
-+ <description>Persian</description>
- <languageList><iso639Id>per</iso639Id></languageList>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>ave</name>
-- <_description>Avestan</_description>
-+ <description>Avestan</description>
- <languageList><iso639Id>ave</iso639Id></languageList>
- </configItem>
- </variant>
-@@ -142,21 +142,21 @@
- <layout>
- <configItem>
- <name>lt</name>
-- <_shortDescription>lt</_shortDescription>
-- <_description>Lithuanian</_description>
-+ <shortDescription>lt</shortDescription>
-+ <description>Lithuanian</description>
- <languageList><iso639Id>lit</iso639Id></languageList>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>us_dvorak</name>
-- <_description>Lithuanian (US Dvorak with Lithuanian letters)</_description>
-+ <description>Lithuanian (US Dvorak with Lithuanian letters)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Lithuanian (Sun Type 6/7)</_description>
-+ <description>Lithuanian (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -164,8 +164,8 @@
- <layout>
- <configItem>
- <name>lv</name>
-- <_shortDescription>lv</_shortDescription>
-- <_description>Latvian</_description>
-+ <shortDescription>lv</shortDescription>
-+ <description>Latvian</description>
- <languageList>
- <iso639Id>lav</iso639Id>
- </languageList>
-@@ -174,55 +174,55 @@
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>Latvian (US Dvorak)</_description>
-+ <description>Latvian (US Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ykeydvorak</name>
-- <_description>Latvian (US Dvorak, Y variant)</_description>
-+ <description>Latvian (US Dvorak, Y variant)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>minuskeydvorak</name>
-- <_description>Latvian (US Dvorak, minus variant)</_description>
-+ <description>Latvian (US Dvorak, minus variant)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorakprogr</name>
-- <_description>Latvian (programmer US Dvorak)</_description>
-+ <description>Latvian (programmer US Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ykeydvorakprogr</name>
-- <_description>Latvian (programmer US Dvorak, Y variant)</_description>
-+ <description>Latvian (programmer US Dvorak, Y variant)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>minuskeydvorakprogr</name>
-- <_description>Latvian (programmer US Dvorak, minus variant)</_description>
-+ <description>Latvian (programmer US Dvorak, minus variant)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>colemak</name>
-- <_description>Latvian (US Colemak)</_description>
-+ <description>Latvian (US Colemak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>apostrophecolemak</name>
-- <_description>Latvian (US Colemak, apostrophe variant)</_description>
-+ <description>Latvian (US Colemak, apostrophe variant)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Latvian (Sun Type 6/7)</_description>
-+ <description>Latvian (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -230,34 +230,34 @@
- <layout>
- <configItem>
- <name>us</name>
-- <_shortDescription>en</_shortDescription>
-- <_description>English (US)</_description>
-+ <shortDescription>en</shortDescription>
-+ <description>English (US)</description>
- <languageList><iso639Id>eng</iso639Id></languageList>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>intl-unicode</name>
-- <_description>English (US, international AltGr Unicode combining)</_description>
-+ <description>English (US, international AltGr Unicode combining)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>alt-intl-unicode</name>
-- <_description>English (US, international AltGr Unicode combining, alternative)</_description>
-+ <description>English (US, international AltGr Unicode combining, alternative)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ats</name>
-- <_description>Atsina</_description>
-- <!-- No ISO code in ISO639-2, only draft ISO693-3 -->
-+ <description>Atsina</description>
-+
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>crd</name>
-- <_description>Coeur d'Alene Salish</_description>
-+ <description>Coeur d'Alene Salish</description>
- <languageList><iso639Id>crd</iso639Id></languageList>
- </configItem>
- </variant>
-@@ -274,13 +274,13 @@
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>English (US, Sun Type 6/7)</_description>
-+ <description>English (US, Sun Type 6/7)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>norman</name>
-- <_description>English (Norman)</_description>
-+ <description>English (Norman)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -288,27 +288,27 @@
- <layout>
- <configItem>
- <name>pl</name>
-- <_shortDescription>pl</_shortDescription>
-- <_description>Polish</_description>
-+ <shortDescription>pl</shortDescription>
-+ <description>Polish</description>
- <languageList><iso639Id>pol</iso639Id></languageList>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>intl</name>
-- <_description>Polish (international with dead keys)</_description>
-+ <description>Polish (international with dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>colemak</name>
-- <_description>Polish (Colemak)</_description>
-+ <description>Polish (Colemak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Polish (Sun Type 6/7)</_description>
-+ <description>Polish (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -316,16 +316,16 @@
- <layout>
- <configItem>
- <name>ro</name>
-- <_shortDescription>ro</_shortDescription>
-- <_description>Romanian</_description>
-+ <shortDescription>ro</shortDescription>
-+ <description>Romanian</description>
- <languageList><iso639Id>rum</iso639Id></languageList>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>crh_dobruja</name>
-- <_shortDescription>crh</_shortDescription>
-- <_description>Crimean Tatar (Dobruja Q)</_description>
-+ <shortDescription>crh</shortDescription>
-+ <description>Crimean Tatar (Dobruja Q)</description>
- <languageList>
- <iso639Id>crh</iso639Id>
- </languageList>
-@@ -334,13 +334,13 @@
- <variant>
- <configItem>
- <name>ergonomic</name>
-- <_description>Romanian (ergonomic Touchtype)</_description>
-+ <description>Romanian (ergonomic Touchtype)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Romanian (Sun Type 6/7)</_description>
-+ <description>Romanian (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -348,15 +348,15 @@
- <layout>
- <configItem>
- <name>rs</name>
-- <_shortDescription>sr</_shortDescription>
-- <_description>Serbian</_description>
-+ <shortDescription>sr</shortDescription>
-+ <description>Serbian</description>
- <languageList><iso639Id>srp</iso639Id></languageList>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>combiningkeys</name>
-- <_description>Serbian (combining accents instead of dead keys)</_description>
-+ <description>Serbian (combining accents instead of dead keys)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -364,8 +364,8 @@
- <layout>
- <configItem>
- <name>ru</name>
-- <_shortDescription>ru</_shortDescription>
-- <_description>Russian</_description>
-+ <shortDescription>ru</shortDescription>
-+ <description>Russian</description>
- </configItem>
- <variantList>
- <variant>
-@@ -378,8 +378,8 @@
- <variant>
- <configItem>
- <name>ruu</name>
-- <_shortDescription>ru</_shortDescription>
-- <_description>Russian (with Ukrainian-Belorussian layout)</_description>
-+ <shortDescription>ru</shortDescription>
-+ <description>Russian (with Ukrainian-Belorussian layout)</description>
- <languageList><iso639Id>rus</iso639Id>
- <iso639Id>ukr</iso639Id>
- <iso639Id>bel</iso639Id></languageList>
-@@ -388,7 +388,7 @@
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Russian (Sun Type 6/7)</_description>
-+ <description>Russian (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -396,8 +396,8 @@
- <layout>
- <configItem>
- <name>am</name>
-- <_shortDescription>hy</_shortDescription>
-- <_description>Armenian</_description>
-+ <shortDescription>hy</shortDescription>
-+ <description>Armenian</description>
- <languageList>
- <iso639Id>hye</iso639Id>
- </languageList>
-@@ -406,7 +406,7 @@
- <variant>
- <configItem>
- <name>olpc-phonetic</name>
-- <_description>Armenian (OLPC phonetic)</_description>
-+ <description>Armenian (OLPC phonetic)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -414,15 +414,15 @@
- <layout>
- <configItem>
- <name>il</name>
-- <_shortDescription>he</_shortDescription>
-- <_description>Hebrew</_description>
-+ <shortDescription>he</shortDescription>
-+ <description>Hebrew</description>
- <languageList><iso639Id>heb</iso639Id></languageList>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>biblicalSIL</name>
-- <_description>Hebrew (Biblical, SIL phonetic)</_description>
-+ <description>Hebrew (Biblical, SIL phonetic)</description>
- <languageList><iso639Id>heb</iso639Id></languageList>
- </configItem>
- </variant>
-@@ -431,14 +431,14 @@
- <layout>
- <configItem>
- <name>ara</name>
-- <_shortDescription>ar</_shortDescription>
-- <_description>Arabic</_description>
-+ <shortDescription>ar</shortDescription>
-+ <description>Arabic</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Arabic (Sun Type 6/7)</_description>
-+ <description>Arabic (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -446,14 +446,14 @@
- <layout>
- <configItem>
- <name>be</name>
-- <_shortDescription>be</_shortDescription>
-- <_description>Belgian</_description>
-+ <shortDescription>be</shortDescription>
-+ <description>Belgian</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Belgian (Sun Type 6/7)</_description>
-+ <description>Belgian (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -461,14 +461,14 @@
- <layout>
- <configItem>
- <name>br</name>
-- <_shortDescription>pt</_shortDescription>
-- <_description>Portuguese (Brazil)</_description>
-+ <shortDescription>pt</shortDescription>
-+ <description>Portuguese (Brazil)</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Portuguese (Brazil, Sun Type 6/7)</_description>
-+ <description>Portuguese (Brazil, Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -476,14 +476,14 @@
- <layout>
- <configItem>
- <name>cz</name>
-- <_shortDescription>cs</_shortDescription>
-- <_description>Czech</_description>
-+ <shortDescription>cs</shortDescription>
-+ <description>Czech</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Czech (Sun Type 6/7)</_description>
-+ <description>Czech (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -491,14 +491,14 @@
- <layout>
- <configItem>
- <name>dk</name>
-- <_shortDescription>da</_shortDescription>
-- <_description>Danish</_description>
-+ <shortDescription>da</shortDescription>
-+ <description>Danish</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Danish (Sun Type 6/7)</_description>
-+ <description>Danish (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -506,14 +506,14 @@
- <layout>
- <configItem>
- <name>nl</name>
-- <_shortDescription>nl</_shortDescription>
-- <_description>Dutch</_description>
-+ <shortDescription>nl</shortDescription>
-+ <description>Dutch</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Dutch (Sun Type 6/7)</_description>
-+ <description>Dutch (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -521,14 +521,14 @@
- <layout>
- <configItem>
- <name>ee</name>
-- <_shortDescription>et</_shortDescription>
-- <_description>Estonian</_description>
-+ <shortDescription>et</shortDescription>
-+ <description>Estonian</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Estonian (Sun Type 6/7)</_description>
-+ <description>Estonian (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -536,14 +536,14 @@
- <layout>
- <configItem>
- <name>fi</name>
-- <_shortDescription>fi</_shortDescription>
-- <_description>Finnish</_description>
-+ <shortDescription>fi</shortDescription>
-+ <description>Finnish</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Finnish (Sun Type 6/7)</_description>
-+ <description>Finnish (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -551,14 +551,14 @@
- <layout>
- <configItem>
- <name>fr</name>
-- <_shortDescription>fr</_shortDescription>
-- <_description>French</_description>
-+ <shortDescription>fr</shortDescription>
-+ <description>French</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>French (Sun Type 6/7)</_description>
-+ <description>French (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -566,14 +566,14 @@
- <layout>
- <configItem>
- <name>gr</name>
-- <_shortDescription>gr</_shortDescription>
-- <_description>Greek</_description>
-+ <shortDescription>gr</shortDescription>
-+ <description>Greek</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Greek (Sun Type 6/7)</_description>
-+ <description>Greek (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -581,14 +581,14 @@
- <layout>
- <configItem>
- <name>it</name>
-- <_shortDescription>it</_shortDescription>
-- <_description>Italian</_description>
-+ <shortDescription>it</shortDescription>
-+ <description>Italian</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Italian (Sun Type 6/7)</_description>
-+ <description>Italian (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -596,26 +596,26 @@
- <layout>
- <configItem>
- <name>jp</name>
-- <_shortDescription>ja</_shortDescription>
-- <_description>Japanese</_description>
-+ <shortDescription>ja</shortDescription>
-+ <description>Japanese</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Japanese (Sun Type 6)</_description>
-+ <description>Japanese (Sun Type 6)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sun_type7</name>
-- <_description>Japanese (Sun Type 7 - pc compatible)</_description>
-+ <description>Japanese (Sun Type 7 - pc compatible)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sun_type7_suncompat</name>
-- <_description>Japanese (Sun Type 7 - sun compatible)</_description>
-+ <description>Japanese (Sun Type 7 - sun compatible)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -623,14 +623,14 @@
- <layout>
- <configItem>
- <name>no</name>
-- <_shortDescription>no</_shortDescription>
-- <_description>Norwegian</_description>
-+ <shortDescription>no</shortDescription>
-+ <description>Norwegian</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Norwegian (Sun Type 6/7)</_description>
-+ <description>Norwegian (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -638,14 +638,14 @@
- <layout>
- <configItem>
- <name>pt</name>
-- <_shortDescription>pt</_shortDescription>
-- <_description>Portuguese</_description>
-+ <shortDescription>pt</shortDescription>
-+ <description>Portuguese</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Portuguese (Sun Type 6/7)</_description>
-+ <description>Portuguese (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -653,14 +653,14 @@
- <layout>
- <configItem>
- <name>sk</name>
-- <_shortDescription>sk</_shortDescription>
-- <_description>Slovak</_description>
-+ <shortDescription>sk</shortDescription>
-+ <description>Slovak</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Slovak (Sun Type 6/7)</_description>
-+ <description>Slovak (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -668,14 +668,14 @@
- <layout>
- <configItem>
- <name>es</name>
-- <_shortDescription>es</_shortDescription>
-- <_description>Spanish</_description>
-+ <shortDescription>es</shortDescription>
-+ <description>Spanish</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Spanish (Sun Type 6/7)</_description>
-+ <description>Spanish (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -683,14 +683,14 @@
- <layout>
- <configItem>
- <name>se</name>
-- <_shortDescription>sv</_shortDescription>
-- <_description>Swedish</_description>
-+ <shortDescription>sv</shortDescription>
-+ <description>Swedish</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Swedish (Sun Type 6/7)</_description>
-+ <description>Swedish (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -698,20 +698,20 @@
- <layout>
- <configItem>
- <name>ch</name>
-- <_shortDescription>de</_shortDescription>
-- <_description>German (Switzerland)</_description>
-+ <shortDescription>de</shortDescription>
-+ <description>German (Switzerland)</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6_de</name>
-- <_description>German (Switzerland, Sun Type 6/7)</_description>
-+ <description>German (Switzerland, Sun Type 6/7)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sun_type6_fr</name>
-- <_description>French (Switzerland, Sun Type 6/7)</_description>
-+ <description>French (Switzerland, Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -719,14 +719,14 @@
- <layout>
- <configItem>
- <name>tr</name>
-- <_shortDescription>tr</_shortDescription>
-- <_description>Turkish</_description>
-+ <shortDescription>tr</shortDescription>
-+ <description>Turkish</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Turkish (Sun Type 6/7)</_description>
-+ <description>Turkish (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -734,14 +734,14 @@
- <layout>
- <configItem>
- <name>ua</name>
-- <_shortDescription>uk</_shortDescription>
-- <_description>Ukrainian</_description>
-+ <shortDescription>uk</shortDescription>
-+ <description>Ukrainian</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Ukrainian (Sun Type 6/7)</_description>
-+ <description>Ukrainian (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -749,14 +749,14 @@
- <layout>
- <configItem>
- <name>gb</name>
-- <_shortDescription>en</_shortDescription>
-- <_description>English (UK)</_description>
-+ <shortDescription>en</shortDescription>
-+ <description>English (UK)</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>English (UK, Sun Type 6/7)</_description>
-+ <description>English (UK, Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -764,18 +764,18 @@
- <layout>
- <configItem>
- <name>kr</name>
-- <_shortDescription>ko</_shortDescription>
-- <_description>Korean</_description>
-+ <shortDescription>ko</shortDescription>
-+ <description>Korean</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Korean (Sun Type 6/7)</_description>
-+ <description>Korean (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
- </layout>
- </layoutList>
- <optionList/>
--</xkbConfigRegistry>
-+</xkbConfigRegistry>
-\ No newline at end of file
diff --git a/package/xkeyboard-config/patches/patch-rules_base_xml_in b/package/xkeyboard-config/patches/patch-rules_base_xml_in
deleted file mode 100644
index 5249ade99..000000000
--- a/package/xkeyboard-config/patches/patch-rules_base_xml_in
+++ /dev/null
@@ -1,7654 +0,0 @@
---- xkeyboard-config-2.11.orig/rules/base.xml.in 2014-01-15 02:02:39.000000000 +0100
-+++ xkeyboard-config-2.11/rules/base.xml.in 2014-03-04 14:31:12.000000000 +0100
-@@ -5,627 +5,627 @@
- <model>
- <configItem>
- <name>pc101</name>
-- <_description>Generic 101-key PC</_description>
-+ <description>Generic 101-key PC</description>
- <vendor>Generic</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>pc102</name>
-- <_description>Generic 102-key (Intl) PC</_description>
-+ <description>Generic 102-key (Intl) PC</description>
- <vendor>Generic</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>pc104</name>
-- <_description>Generic 104-key PC</_description>
-+ <description>Generic 104-key PC</description>
- <vendor>Generic</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>pc105</name>
-- <_description>Generic 105-key (Intl) PC</_description>
-+ <description>Generic 105-key (Intl) PC</description>
- <vendor>Generic</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>dell101</name>
-- <_description>Dell 101-key PC</_description>
-+ <description>Dell 101-key PC</description>
- <vendor>Dell</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>latitude</name>
-- <_description>Dell Latitude series laptop</_description>
-+ <description>Dell Latitude series laptop</description>
- <vendor>Dell</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>dellm65</name>
-- <_description>Dell Precision M65</_description>
-+ <description>Dell Precision M65</description>
- <vendor>Dell</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>everex</name>
-- <_description>Everex STEPnote</_description>
-+ <description>Everex STEPnote</description>
- <vendor>Everex</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>flexpro</name>
-- <_description>Keytronic FlexPro</_description>
-+ <description>Keytronic FlexPro</description>
- <vendor>Keytronic</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>microsoft</name>
-- <_description>Microsoft Natural</_description>
-+ <description>Microsoft Natural</description>
- <vendor>Microsoft Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>omnikey101</name>
-- <_description>Northgate OmniKey 101</_description>
-+ <description>Northgate OmniKey 101</description>
- <vendor>Northgate</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>winbook</name>
-- <_description>Winbook Model XP5</_description>
-+ <description>Winbook Model XP5</description>
- <vendor>Generic</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>pc98</name>
-- <_description>PC-98xx Series</_description>
-+ <description>PC-98xx Series</description>
- <vendor>Generic</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>a4techKB21</name>
-- <_description>A4Tech KB-21</_description>
-+ <description>A4Tech KB-21</description>
- <vendor>A4Tech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>a4techKBS8</name>
-- <_description>A4Tech KBS-8</_description>
-+ <description>A4Tech KBS-8</description>
- <vendor>A4Tech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>a4_rfkb23</name>
-- <_description>A4Tech Wireless Desktop RFKB-23</_description>
-+ <description>A4Tech Wireless Desktop RFKB-23</description>
- <vendor>A4Tech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>airkey</name>
-- <_description>Acer AirKey V</_description>
-+ <description>Acer AirKey V</description>
- <vendor>Acer</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>azonaRF2300</name>
-- <_description>Azona RF2300 wireless Internet Keyboard</_description>
-+ <description>Azona RF2300 wireless Internet Keyboard</description>
- <vendor>Azona</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>scorpius</name>
-- <_description>Advance Scorpius KI</_description>
-+ <description>Advance Scorpius KI</description>
- <vendor>Scorpius</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>brother</name>
-- <_description>Brother Internet Keyboard</_description>
-+ <description>Brother Internet Keyboard</description>
- <vendor>Brother</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>btc5113rf</name>
-- <_description>BTC 5113RF Multimedia</_description>
-+ <description>BTC 5113RF Multimedia</description>
- <vendor>BTC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>btc5126t</name>
-- <_description>BTC 5126T</_description>
-+ <description>BTC 5126T</description>
- <vendor>BTC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>btc6301urf</name>
-- <_description>BTC 6301URF</_description>
-+ <description>BTC 6301URF</description>
- <vendor>BTC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>btc9000</name>
-- <_description>BTC 9000</_description>
-+ <description>BTC 9000</description>
- <vendor>BTC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>btc9000a</name>
-- <_description>BTC 9000A</_description>
-+ <description>BTC 9000A</description>
- <vendor>BTC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>btc9001ah</name>
-- <_description>BTC 9001AH</_description>
-+ <description>BTC 9001AH</description>
- <vendor>BTC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>btc5090</name>
-- <_description>BTC 5090</_description>
-+ <description>BTC 5090</description>
- <vendor>BTC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>btc9019u</name>
-- <_description>BTC 9019U</_description>
-+ <description>BTC 9019U</description>
- <vendor>BTC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>btc9116u</name>
-- <_description>BTC 9116U Mini Wireless Internet and Gaming</_description>
-+ <description>BTC 9116U Mini Wireless Internet and Gaming</description>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>cherryblue</name>
-- <_description>Cherry Blue Line CyBo@rd</_description>
-+ <description>Cherry Blue Line CyBo@rd</description>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>cherryblueb</name>
-- <_description>Cherry CyMotion Master XPress</_description>
-+ <description>Cherry CyMotion Master XPress</description>
- <vendor>Cherry</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>cherrybluea</name>
-- <_description>Cherry Blue Line CyBo@rd (alternate option)</_description>
-+ <description>Cherry Blue Line CyBo@rd (alternate option)</description>
- <vendor>Cherry</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>cherrycyboard</name>
-- <_description>Cherry CyBo@rd USB-Hub</_description>
-+ <description>Cherry CyBo@rd USB-Hub</description>
- <vendor>Cherry</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>cherrycmexpert</name>
-- <_description>Cherry CyMotion Expert</_description>
-+ <description>Cherry CyMotion Expert</description>
- <vendor>Cherry</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>cherrybunlim</name>
-- <_description>Cherry B.UNLIMITED</_description>
-+ <description>Cherry B.UNLIMITED</description>
- <vendor>Cherry</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>chicony</name>
-- <_description>Chicony Internet Keyboard</_description>
-+ <description>Chicony Internet Keyboard</description>
- <vendor>Chicony</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>chicony0108</name>
-- <_description>Chicony KU-0108</_description>
-+ <description>Chicony KU-0108</description>
- <vendor>Chicony</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>chicony0420</name>
-- <_description>Chicony KU-0420</_description>
-+ <description>Chicony KU-0420</description>
- <vendor>Chicony</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>chicony9885</name>
-- <_description>Chicony KB-9885</_description>
-+ <description>Chicony KB-9885</description>
- <vendor>Chicony</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>compaqeak8</name>
-- <_description>Compaq Easy Access Keyboard</_description>
-+ <description>Compaq Easy Access Keyboard</description>
- <vendor>Compaq</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>compaqik7</name>
-- <_description>Compaq Internet Keyboard (7 keys)</_description>
-+ <description>Compaq Internet Keyboard (7 keys)</description>
- <vendor>Compaq</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>compaqik13</name>
-- <_description>Compaq Internet Keyboard (13 keys)</_description>
-+ <description>Compaq Internet Keyboard (13 keys)</description>
- <vendor>Compaq</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>compaqik18</name>
-- <_description>Compaq Internet Keyboard (18 keys)</_description>
-+ <description>Compaq Internet Keyboard (18 keys)</description>
- <vendor>Compaq</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>cymotionlinux</name>
-- <_description>Cherry CyMotion Master Linux</_description>
-+ <description>Cherry CyMotion Master Linux</description>
- <vendor>Cherry</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>armada</name>
-- <_description>Laptop/notebook Compaq (eg. Armada) Laptop Keyboard</_description>
-+ <description>Laptop/notebook Compaq (eg. Armada) Laptop Keyboard</description>
- <vendor>Compaq</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>presario</name>
-- <_description>Laptop/notebook Compaq (eg. Presario) Internet Keyboard</_description>
-+ <description>Laptop/notebook Compaq (eg. Presario) Internet Keyboard</description>
- <vendor>Compaq</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>ipaq</name>
-- <_description>Compaq iPaq Keyboard</_description>
-+ <description>Compaq iPaq Keyboard</description>
- <vendor>Compaq</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>dell</name>
-- <_description>Dell</_description>
-+ <description>Dell</description>
- <vendor>Dell</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>dellsk8125</name>
-- <_description>Dell SK-8125</_description>
-+ <description>Dell SK-8125</description>
- <vendor>Dell</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>dellsk8135</name>
-- <_description>Dell SK-8135</_description>
-+ <description>Dell SK-8135</description>
- <vendor>Dell</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>dellusbmm</name>
-- <_description>Dell USB Multimedia Keyboard</_description>
-+ <description>Dell USB Multimedia Keyboard</description>
- <vendor>Dell</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>inspiron</name>
-- <_description>Dell Laptop/notebook Inspiron 6xxx/8xxx</_description>
-+ <description>Dell Laptop/notebook Inspiron 6xxx/8xxx</description>
- <vendor>Dell</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>precision_m</name>
-- <_description>Dell Laptop/notebook Precision M series</_description>
-+ <description>Dell Laptop/notebook Precision M series</description>
- <vendor>Dell</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>dexxa</name>
-- <_description>Dexxa Wireless Desktop Keyboard</_description>
-+ <description>Dexxa Wireless Desktop Keyboard</description>
- <vendor>Dexxa</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>diamond</name>
-- <_description>Diamond 9801 / 9802 series</_description>
-+ <description>Diamond 9801 / 9802 series</description>
- <vendor>Diamond</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>dtk2000</name>
-- <_description>DTK2000</_description>
-+ <description>DTK2000</description>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>ennyah_dkb1008</name>
-- <_description>Ennyah DKB-1008</_description>
-+ <description>Ennyah DKB-1008</description>
- <vendor>Ennyah</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>fscaa1667g</name>
-- <_description>Fujitsu-Siemens Computers AMILO laptop</_description>
-+ <description>Fujitsu-Siemens Computers AMILO laptop</description>
- <vendor>Fujitsu-Siemens</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>genius</name>
-- <_description>Genius Comfy KB-16M / Genius MM Keyboard KWD-910</_description>
-+ <description>Genius Comfy KB-16M / Genius MM Keyboard KWD-910</description>
- <vendor>Genius</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>geniuscomfy</name>
-- <_description>Genius Comfy KB-12e</_description>
-+ <description>Genius Comfy KB-12e</description>
- <vendor>Genius</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>geniuscomfy2</name>
-- <_description>Genius Comfy KB-21e-Scroll</_description>
-+ <description>Genius Comfy KB-21e-Scroll</description>
- <vendor>Genius</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>geniuskb19e</name>
-- <_description>Genius KB-19e NB</_description>
-+ <description>Genius KB-19e NB</description>
- <vendor>Genius</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>geniuskkb2050hs</name>
-- <_description>Genius KKB-2050HS</_description>
-+ <description>Genius KKB-2050HS</description>
- <vendor>Genius</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>gyration</name>
-- <_description>Gyration</_description>
-+ <description>Gyration</description>
- <vendor>Gyration</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>htcdream</name>
-- <_description>HTC Dream</_description>
-+ <description>HTC Dream</description>
- <vendor>HTC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>kinesis</name>
-- <_description>Kinesis</_description>
-+ <description>Kinesis</description>
- <vendor>Kinesis</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logitech_base</name>
-- <_description>Logitech Generic Keyboard</_description>
-+ <description>Logitech Generic Keyboard</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logitech_g15</name>
-- <_description>Logitech G15 extra keys via G15daemon</_description>
-+ <description>Logitech G15 extra keys via G15daemon</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>hpi6</name>
-- <_description>Hewlett-Packard Internet Keyboard</_description>
-+ <description>Hewlett-Packard Internet Keyboard</description>
- <vendor>Hewlett-Packard</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>hp250x</name>
-- <_description>Hewlett-Packard SK-250x Multimedia Keyboard</_description>
-+ <description>Hewlett-Packard SK-250x Multimedia Keyboard</description>
- <vendor>Hewlett-Packard</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>hpxe3gc</name>
-- <_description>Hewlett-Packard Omnibook XE3 GC</_description>
-+ <description>Hewlett-Packard Omnibook XE3 GC</description>
- <vendor>Hewlett-Packard</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>hpxe3gf</name>
-- <_description>Hewlett-Packard Omnibook XE3 GF</_description>
-+ <description>Hewlett-Packard Omnibook XE3 GF</description>
- <vendor>Hewlett-Packard</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>hpxt1000</name>
-- <_description>Hewlett-Packard Omnibook XT1000</_description>
-+ <description>Hewlett-Packard Omnibook XT1000</description>
- <vendor>Hewlett-Packard</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>hpdv5</name>
-- <_description>Hewlett-Packard Pavilion dv5</_description>
-+ <description>Hewlett-Packard Pavilion dv5</description>
- <vendor>Hewlett-Packard</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>hpzt11xx</name>
-- <_description>Hewlett-Packard Pavilion ZT11xx</_description>
-+ <description>Hewlett-Packard Pavilion ZT11xx</description>
- <vendor>Hewlett-Packard</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>hp500fa</name>
-- <_description>Hewlett-Packard Omnibook 500 FA</_description>
-+ <description>Hewlett-Packard Omnibook 500 FA</description>
- <vendor>Hewlett-Packard</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>hp5xx</name>
-- <_description>Hewlett-Packard Omnibook 5xx</_description>
-+ <description>Hewlett-Packard Omnibook 5xx</description>
- <vendor>Hewlett-Packard</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>hpnx9020</name>
-- <_description>Hewlett-Packard nx9020</_description>
-+ <description>Hewlett-Packard nx9020</description>
- <vendor>Hewlett-Packard</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>hp6000</name>
-- <_description>Hewlett-Packard Omnibook 6000/6100</_description>
-+ <description>Hewlett-Packard Omnibook 6000/6100</description>
- <vendor>Hewlett-Packard</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>honeywell_euroboard</name>
-- <_description>Honeywell Euroboard</_description>
-+ <description>Honeywell Euroboard</description>
- <vendor>Hewlett-Packard</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>hpmini110</name>
-- <_description>Hewlett-Packard Mini 110 Notebook</_description>
-+ <description>Hewlett-Packard Mini 110 Notebook</description>
- <vendor>Hewlett-Packard</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>rapidaccess</name>
-- <_description>IBM Rapid Access</_description>
-+ <description>IBM Rapid Access</description>
- <vendor>Lenovo (previously IBM)</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>rapidaccess2</name>
-- <_description>IBM Rapid Access II</_description>
-+ <description>IBM Rapid Access II</description>
- <vendor>Lenovo (previously IBM)</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>thinkpad</name>
-- <_description>IBM ThinkPad 560Z/600/600E/A22E</_description>
-+ <description>IBM ThinkPad 560Z/600/600E/A22E</description>
- <vendor>Lenovo (previously IBM)</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>thinkpad60</name>
-- <_description>IBM ThinkPad R60/T60/R61/T61</_description>
-+ <description>IBM ThinkPad R60/T60/R61/T61</description>
- <vendor>Lenovo (previously IBM)</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>thinkpadz60</name>
-- <_description>IBM ThinkPad Z60m/Z60t/Z61m/Z61t</_description>
-+ <description>IBM ThinkPad Z60m/Z60t/Z61m/Z61t</description>
- <vendor>Lenovo (previously IBM)</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>ibm_spacesaver</name>
-- <_description>IBM Space Saver</_description>
-+ <description>IBM Space Saver</description>
- <vendor>Lenovo (previously IBM)</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logiaccess</name>
-- <_description>Logitech Access Keyboard</_description>
-+ <description>Logitech Access Keyboard</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logiclx300</name>
-- <_description>Logitech Cordless Desktop LX-300</_description>
-+ <description>Logitech Cordless Desktop LX-300</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logii350</name>
-- <_description>Logitech Internet 350 Keyboard</_description>
-+ <description>Logitech Internet 350 Keyboard</description>
- <vendor>Logitech</vendor>
- <hwList> <hwId>046d:c313</hwId></hwList>
- </configItem>
-@@ -633,665 +633,665 @@
- <model>
- <configItem>
- <name>logimel</name>
-- <_description>Logitech Media Elite Keyboard</_description>
-+ <description>Logitech Media Elite Keyboard</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logicd</name>
-- <_description>Logitech Cordless Desktop</_description>
-+ <description>Logitech Cordless Desktop</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logicd_it</name>
-- <_description>Logitech Cordless Desktop iTouch</_description>
-+ <description>Logitech Cordless Desktop iTouch</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logicd_nav</name>
-- <_description>Logitech Cordless Desktop Navigator</_description>
-+ <description>Logitech Cordless Desktop Navigator</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logicd_opt</name>
-- <_description>Logitech Cordless Desktop Optical</_description>
-+ <description>Logitech Cordless Desktop Optical</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logicda</name>
-- <_description>Logitech Cordless Desktop (alternate option)</_description>
-+ <description>Logitech Cordless Desktop (alternate option)</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logicdpa2</name>
-- <_description>Logitech Cordless Desktop Pro (alternate option 2)</_description>
-+ <description>Logitech Cordless Desktop Pro (alternate option 2)</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logicfn</name>
-- <_description>Logitech Cordless Freedom/Desktop Navigator</_description>
-+ <description>Logitech Cordless Freedom/Desktop Navigator</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logicdn</name>
-- <_description>Logitech Cordless Desktop Navigator</_description>
-+ <description>Logitech Cordless Desktop Navigator</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logiitc</name>
-- <_description>Logitech iTouch Cordless Keyboard (model Y-RB6)</_description>
-+ <description>Logitech iTouch Cordless Keyboard (model Y-RB6)</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logiik</name>
-- <_description>Logitech Internet Keyboard</_description>
-+ <description>Logitech Internet Keyboard</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>itouch</name>
-- <_description>Logitech iTouch</_description>
-+ <description>Logitech iTouch</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logicink</name>
-- <_description>Logitech Internet Navigator Keyboard</_description>
-+ <description>Logitech Internet Navigator Keyboard</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logiex110</name>
-- <_description>Logitech Cordless Desktop EX110</_description>
-+ <description>Logitech Cordless Desktop EX110</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logiinkse</name>
-- <_description>Logitech iTouch Internet Navigator Keyboard SE</_description>
-+ <description>Logitech iTouch Internet Navigator Keyboard SE</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logiinkseusb</name>
-- <_description>Logitech iTouch Internet Navigator Keyboard SE (USB)</_description>
-+ <description>Logitech iTouch Internet Navigator Keyboard SE (USB)</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logiultrax</name>
-- <_description>Logitech Ultra-X Keyboard</_description>
-+ <description>Logitech Ultra-X Keyboard</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logiultraxc</name>
-- <_description>Logitech Ultra-X Cordless Media Desktop Keyboard</_description>
-+ <description>Logitech Ultra-X Cordless Media Desktop Keyboard</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logidinovo</name>
-- <_description>Logitech diNovo Keyboard</_description>
-+ <description>Logitech diNovo Keyboard</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logidinovoedge</name>
-- <_description>Logitech diNovo Edge Keyboard</_description>
-+ <description>Logitech diNovo Edge Keyboard</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>mx1998</name>
-- <_description>Memorex MX1998</_description>
-+ <description>Memorex MX1998</description>
- <vendor>Memorex</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>mx2500</name>
-- <_description>Memorex MX2500 EZ-Access Keyboard</_description>
-+ <description>Memorex MX2500 EZ-Access Keyboard</description>
- <vendor>Memorex</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>mx2750</name>
-- <_description>Memorex MX2750</_description>
-+ <description>Memorex MX2750</description>
- <vendor>Memorex</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>microsoft4000</name>
-- <_description>Microsoft Natural Wireless Ergonomic Keyboard 4000</_description>
-+ <description>Microsoft Natural Wireless Ergonomic Keyboard 4000</description>
- <vendor>Microsoft Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>microsoft7000</name>
-- <_description>Microsoft Natural Wireless Ergonomic Keyboard 7000</_description>
-+ <description>Microsoft Natural Wireless Ergonomic Keyboard 7000</description>
- <vendor>Microsoft Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>microsoftinet</name>
-- <_description>Microsoft Internet Keyboard</_description>
-+ <description>Microsoft Internet Keyboard</description>
- <vendor>Microsoft Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>microsoftpro</name>
-- <_description>Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro</_description>
-+ <description>Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro</description>
- <vendor>Microsoft Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>microsoftprousb</name>
-- <_description>Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro</_description>
-+ <description>Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro</description>
- <vendor>Microsoft Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>microsoftprooem</name>
-- <_description>Microsoft Natural Keyboard Pro OEM</_description>
-+ <description>Microsoft Natural Keyboard Pro OEM</description>
- <vendor>Microsoft Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>vsonku306</name>
-- <_description>ViewSonic KU-306 Internet Keyboard</_description>
-+ <description>ViewSonic KU-306 Internet Keyboard</description>
- <vendor>ViewSonic</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>microsoftprose</name>
-- <_description>Microsoft Internet Keyboard Pro, Swedish</_description>
-+ <description>Microsoft Internet Keyboard Pro, Swedish</description>
- <vendor>Microsoft Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>microsoftoffice</name>
-- <_description>Microsoft Office Keyboard</_description>
-+ <description>Microsoft Office Keyboard</description>
- <vendor>Microsoft Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>microsoftmult</name>
-- <_description>Microsoft Wireless Multimedia Keyboard 1.0A</_description>
-+ <description>Microsoft Wireless Multimedia Keyboard 1.0A</description>
- <vendor>Microsoft Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>microsoftelite</name>
-- <_description>Microsoft Natural Keyboard Elite</_description>
-+ <description>Microsoft Natural Keyboard Elite</description>
- <vendor>Microsoft Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>microsoftccurve2k</name>
-- <_description>Microsoft Comfort Curve Keyboard 2000</_description>
-+ <description>Microsoft Comfort Curve Keyboard 2000</description>
- <vendor>Microsoft Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>oretec</name>
-- <_description>Ortek MCK-800 MM/Internet keyboard</_description>
-+ <description>Ortek MCK-800 MM/Internet keyboard</description>
- <vendor>Ortek</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>propeller</name>
-- <_description>Propeller Voyager (KTEZ-1000)</_description>
-+ <description>Propeller Voyager (KTEZ-1000)</description>
- <vendor>KeyTronic</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>qtronix</name>
-- <_description>QTronix Scorpius 98N+</_description>
-+ <description>QTronix Scorpius 98N+</description>
- <vendor>QTronix</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>samsung4500</name>
-- <_description>Samsung SDM 4500P</_description>
-+ <description>Samsung SDM 4500P</description>
- <vendor>Samsung</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>samsung4510</name>
-- <_description>Samsung SDM 4510P</_description>
-+ <description>Samsung SDM 4510P</description>
- <vendor>Samsung</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sanwaskbkg3</name>
-- <_description>Sanwa Supply SKB-KG3</_description>
-+ <description>Sanwa Supply SKB-KG3</description>
- <vendor>Sanwa Supply Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sk1300</name>
-- <_description>SK-1300</_description>
-+ <description>SK-1300</description>
- <vendor>NEC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sk2500</name>
-- <_description>SK-2500</_description>
-+ <description>SK-2500</description>
- <vendor>NEC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sk6200</name>
-- <_description>SK-6200</_description>
-+ <description>SK-6200</description>
- <vendor>NEC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sk7100</name>
-- <_description>SK-7100</_description>
-+ <description>SK-7100</description>
- <vendor>NEC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sp_inet</name>
-- <_description>Super Power Multimedia Keyboard</_description>
-+ <description>Super Power Multimedia Keyboard</description>
- <vendor>Generic</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sven</name>
-- <_description>SVEN Ergonomic 2500</_description>
-+ <description>SVEN Ergonomic 2500</description>
- <vendor>SVEN</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sven303</name>
-- <_description>SVEN Slim 303</_description>
-+ <description>SVEN Slim 303</description>
- <vendor>SVEN</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>symplon</name>
-- <_description>Symplon PaceBook (tablet PC)</_description>
-+ <description>Symplon PaceBook (tablet PC)</description>
- <vendor>Symplon</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>toshiba_s3000</name>
-- <_description>Toshiba Satellite S3000</_description>
-+ <description>Toshiba Satellite S3000</description>
- <vendor>Toshiba</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>trust</name>
-- <_description>Trust Wireless Keyboard Classic</_description>
-+ <description>Trust Wireless Keyboard Classic</description>
- <vendor>Trust</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>trustda</name>
-- <_description>Trust Direct Access Keyboard</_description>
-+ <description>Trust Direct Access Keyboard</description>
- <vendor>Trust</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>trust_slimline</name>
-- <_description>Trust Slimline</_description>
-+ <description>Trust Slimline</description>
- <vendor>Trust</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>tm2020</name>
-- <_description>TypeMatrix EZ-Reach 2020</_description>
-+ <description>TypeMatrix EZ-Reach 2020</description>
- <vendor>TypeMatrix</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>tm2030PS2</name>
-- <_description>TypeMatrix EZ-Reach 2030 PS2</_description>
-+ <description>TypeMatrix EZ-Reach 2030 PS2</description>
- <vendor>TypeMatrix</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>tm2030USB</name>
-- <_description>TypeMatrix EZ-Reach 2030 USB</_description>
-+ <description>TypeMatrix EZ-Reach 2030 USB</description>
- <vendor>TypeMatrix</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>tm2030USB-102</name>
-- <_description>TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)</_description>
-+ <description>TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)</description>
- <vendor>TypeMatrix</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>tm2030USB-106</name>
-- <_description>TypeMatrix EZ-Reach 2030 USB (106:JP mode)</_description>
-+ <description>TypeMatrix EZ-Reach 2030 USB (106:JP mode)</description>
- <vendor>TypeMatrix</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>yahoo</name>
-- <_description>Yahoo! Internet Keyboard</_description>
-+ <description>Yahoo! Internet Keyboard</description>
- <vendor>Yahoo!</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>macbook78</name>
-- <_description>MacBook/MacBook Pro</_description>
-+ <description>MacBook/MacBook Pro</description>
- <vendor>Apple</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>macbook79</name>
-- <_description>MacBook/MacBook Pro (Intl)</_description>
-+ <description>MacBook/MacBook Pro (Intl)</description>
- <vendor>Apple</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>macintosh</name>
-- <_description>Macintosh</_description>
-+ <description>Macintosh</description>
- <vendor>Apple</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>macintosh_old</name>
-- <_description>Macintosh Old</_description>
-+ <description>Macintosh Old</description>
- <vendor>Apple</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>macintosh_hhk</name>
-- <_description>Happy Hacking Keyboard for Mac</_description>
-+ <description>Happy Hacking Keyboard for Mac</description>
- <vendor>Fujitsu</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>acer_c300</name>
-- <_description>Acer C300</_description>
-+ <description>Acer C300</description>
- <vendor>Acer</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>acer_ferrari4k</name>
-- <_description>Acer Ferrari 4000</_description>
-+ <description>Acer Ferrari 4000</description>
- <vendor>Acer</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>acer_laptop</name>
-- <_description>Acer Laptop</_description>
-+ <description>Acer Laptop</description>
- <vendor>Acer</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>asus_laptop</name>
-- <_description>Asus Laptop</_description>
-+ <description>Asus Laptop</description>
- <vendor>Asus</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>apple</name>
-- <_description>Apple</_description>
-+ <description>Apple</description>
- <vendor>Apple</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>apple_laptop</name>
-- <_description>Apple Laptop</_description>
-+ <description>Apple Laptop</description>
- <vendor>Apple</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>applealu_ansi</name>
-- <_description>Apple Aluminium Keyboard (ANSI)</_description>
-+ <description>Apple Aluminium Keyboard (ANSI)</description>
- <vendor>Apple</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>applealu_iso</name>
-- <_description>Apple Aluminium Keyboard (ISO)</_description>
-+ <description>Apple Aluminium Keyboard (ISO)</description>
- <vendor>Apple</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>applealu_jis</name>
-- <_description>Apple Aluminium Keyboard (JIS)</_description>
-+ <description>Apple Aluminium Keyboard (JIS)</description>
- <vendor>Apple</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>silvercrest</name>
-- <_description>SILVERCREST Multimedia Wireless Keyboard</_description>
-+ <description>SILVERCREST Multimedia Wireless Keyboard</description>
- <vendor>Silvercrest</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>emachines</name>
-- <_description>Laptop/notebook eMachines m68xx</_description>
-+ <description>Laptop/notebook eMachines m68xx</description>
- <vendor>eMachines</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>benqx</name>
-- <_description>BenQ X-Touch</_description>
-+ <description>BenQ X-Touch</description>
- <vendor>BenQ</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>benqx730</name>
-- <_description>BenQ X-Touch 730</_description>
-+ <description>BenQ X-Touch 730</description>
- <vendor>BenQ</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>benqx800</name>
-- <_description>BenQ X-Touch 800</_description>
-+ <description>BenQ X-Touch 800</description>
- <vendor>BenQ</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>hhk</name>
-- <_description>Happy Hacking Keyboard</_description>
-+ <description>Happy Hacking Keyboard</description>
- <vendor>Fujitsu</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>classmate</name>
-- <_description>Classmate PC</_description>
-+ <description>Classmate PC</description>
- <vendor>Intel</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>olpc</name>
-- <_description>OLPC</_description>
-+ <description>OLPC</description>
- <vendor>OLPC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sun_type7_usb</name>
-- <_description>Sun Type 7 USB</_description>
-+ <description>Sun Type 7 USB</description>
- <vendor>Sun Microsystems</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sun_type7_euro_usb</name>
-- <_description>Sun Type 7 USB (European layout)</_description>
-+ <description>Sun Type 7 USB (European layout)</description>
- <vendor>Sun Microsystems</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sun_type7_unix_usb</name>
-- <_description>Sun Type 7 USB (Unix layout)</_description>
-+ <description>Sun Type 7 USB (Unix layout)</description>
- <vendor>Sun Microsystems</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sun_type7_jp_usb</name>
-- <_description>Sun Type 7 USB (Japanese layout) / Japanese 106-key</_description>
-+ <description>Sun Type 7 USB (Japanese layout) / Japanese 106-key</description>
- <vendor>Sun Microsystems</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sun_type6_usb</name>
-- <_description>Sun Type 6/7 USB</_description>
-+ <description>Sun Type 6/7 USB</description>
- <vendor>Sun Microsystems</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sun_type6_euro_usb</name>
-- <_description>Sun Type 6/7 USB (European layout)</_description>
-+ <description>Sun Type 6/7 USB (European layout)</description>
- <vendor>Sun Microsystems</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sun_type6_unix_usb</name>
-- <_description>Sun Type 6 USB (Unix layout)</_description>
-+ <description>Sun Type 6 USB (Unix layout)</description>
- <vendor>Sun Microsystems</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sun_type6_jp_usb</name>
-- <_description>Sun Type 6 USB (Japanese layout)</_description>
-+ <description>Sun Type 6 USB (Japanese layout)</description>
- <vendor>Sun Microsystems</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sun_type6_jp</name>
-- <_description>Sun Type 6 (Japanese layout)</_description>
-+ <description>Sun Type 6 (Japanese layout)</description>
- <vendor>Sun Microsystems</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>targa_v811</name>
-- <_description>Targa Visionary 811</_description>
-+ <description>Targa Visionary 811</description>
- <vendor>Targa</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>unitekkb1925</name>
-- <_description>Unitek KB-1925</_description>
-+ <description>Unitek KB-1925</description>
- <vendor>Unitek Group</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>compalfl90</name>
-- <_description>FL90</_description>
-+ <description>FL90</description>
- <vendor>Compal Electronics Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>creativedw7000</name>
-- <_description>Creative Desktop Wireless 7000</_description>
-+ <description>Creative Desktop Wireless 7000</description>
- <vendor>Creative</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>htcdream</name>
-- <_description>Htc Dream phone</_description>
-+ <description>Htc Dream phone</description>
- <vendor>htc</vendor>
- </configItem>
- </model>
-@@ -1300,9 +1300,9 @@
- <layout>
- <configItem>
- <name>us</name>
-- <!-- Keyboard indicator for English layouts -->
-- <_shortDescription>en</_shortDescription>
-- <_description>English (US)</_description>
-+
-+ <shortDescription>en</shortDescription>
-+ <description>English (US)</description>
- <languageList>
- <iso639Id>eng</iso639Id>
- </languageList>
-@@ -1311,9 +1311,9 @@
- <variant>
- <configItem>
- <name>chr</name>
-- <!-- Keyboard indicator for Cherokee layouts -->
-- <_shortDescription>chr</_shortDescription>
-- <_description>Cherokee</_description>
-+
-+ <shortDescription>chr</shortDescription>
-+ <description>Cherokee</description>
- <languageList>
- <iso639Id>chr</iso639Id>
- </languageList>
-@@ -1322,75 +1322,75 @@
- <variant>
- <configItem>
- <name>euro</name>
-- <_description>English (US, with euro on 5)</_description>
-+ <description>English (US, with euro on 5)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>intl</name>
-- <_description>English (US, international with dead keys)</_description>
-+ <description>English (US, international with dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>alt-intl</name>
-- <_description>English (US, alternative international)</_description>
-+ <description>English (US, alternative international)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>colemak</name>
-- <_description>English (Colemak)</_description>
-+ <description>English (Colemak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>English (Dvorak)</_description>
-+ <description>English (Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak-intl</name>
-- <_description>English (Dvorak, international with dead keys)</_description>
-+ <description>English (Dvorak, international with dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak-alt-intl</name>
-- <_description>English (Dvorak alternative international no dead keys)</_description>
-+ <description>English (Dvorak alternative international no dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak-l</name>
-- <_description>English (left handed Dvorak)</_description>
-+ <description>English (left handed Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak-r</name>
-- <_description>English (right handed Dvorak)</_description>
-+ <description>English (right handed Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak-classic</name>
-- <_description>English (classic Dvorak)</_description>
-+ <description>English (classic Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvp</name>
-- <_description>English (programmer Dvorak)</_description>
-+ <description>English (programmer Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>rus</name>
-- <!-- Keyboard indicator for Russian layouts -->
-- <_shortDescription>ru</_shortDescription>
-- <_description>Russian (US, phonetic)</_description>
-+
-+ <shortDescription>ru</shortDescription>
-+ <description>Russian (US, phonetic)</description>
- <languageList>
- <iso639Id>rus</iso639Id>
- </languageList>
-@@ -1399,13 +1399,13 @@
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>English (Macintosh)</_description>
-+ <description>English (Macintosh)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>altgr-intl</name>
-- <_description>English (international AltGr dead keys)</_description>
-+ <description>English (international AltGr dead keys)</description>
- <languageList><iso639Id>eng</iso639Id>
- <iso639Id>fra</iso639Id>
- <iso639Id>ger</iso639Id></languageList>
-@@ -1414,13 +1414,13 @@
- <variant>
- <configItem>
- <name>olpc2</name>
-- <_description>English (the divide/multiply keys toggle the layout)</_description>
-+ <description>English (the divide/multiply keys toggle the layout)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>hbs</name>
-- <_description>Serbo-Croatian (US)</_description>
-+ <description>Serbo-Croatian (US)</description>
- <languageList><iso639Id>eng</iso639Id>
- <iso639Id>bos</iso639Id>
- <iso639Id>hbs</iso639Id>
-@@ -1431,13 +1431,13 @@
- <variant>
- <configItem>
- <name>workman</name>
-- <_description>English (Workman)</_description>
-+ <description>English (Workman)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>workman-intl</name>
-- <_description>English (Workman, international with dead keys)</_description>
-+ <description>English (Workman, international with dead keys)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -1445,17 +1445,17 @@
- <layout>
- <configItem>
- <name>af</name>
-- <!-- Keyboard indicator for Afghani layouts -->
-- <_shortDescription>fa</_shortDescription>
-- <_description>Afghani</_description>
-+
-+ <shortDescription>fa</shortDescription>
-+ <description>Afghani</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>ps</name>
-- <!-- Keyboard indicator for Pashto layouts -->
-- <_shortDescription>ps</_shortDescription>
-- <_description>Pashto</_description>
-+
-+ <shortDescription>ps</shortDescription>
-+ <description>Pashto</description>
- <languageList>
- <iso639Id>pus</iso639Id>
- </languageList>
-@@ -1464,9 +1464,9 @@
- <variant>
- <configItem>
- <name>uz</name>
-- <!-- Keyboard indicator for Uzbek layouts -->
-- <_shortDescription>uz</_shortDescription>
-- <_description>Uzbek (Afghanistan)</_description>
-+
-+ <shortDescription>uz</shortDescription>
-+ <description>Uzbek (Afghanistan)</description>
- <languageList>
- <iso639Id>uzb</iso639Id>
- </languageList>
-@@ -1475,9 +1475,9 @@
- <variant>
- <configItem>
- <name>olpc-ps</name>
-- <!-- Keyboard indicator for Pashto layouts -->
-- <_shortDescription>ps</_shortDescription>
-- <_description>Pashto (Afghanistan, OLPC)</_description>
-+
-+ <shortDescription>ps</shortDescription>
-+ <description>Pashto (Afghanistan, OLPC)</description>
- <languageList>
- <iso639Id>pus</iso639Id>
- </languageList>
-@@ -1486,17 +1486,17 @@
- <variant>
- <configItem>
- <name>fa-olpc</name>
-- <!-- Keyboard indicator for Persian layouts -->
-- <_shortDescription>fa</_shortDescription>
-- <_description>Persian (Afghanistan, Dari OLPC)</_description>
-+
-+ <shortDescription>fa</shortDescription>
-+ <description>Persian (Afghanistan, Dari OLPC)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>uz-olpc</name>
-- <!-- Keyboard indicator for Uzbek layouts -->
-- <_shortDescription>uz</_shortDescription>
-- <_description>Uzbek (Afghanistan, OLPC)</_description>
-+
-+ <shortDescription>uz</shortDescription>
-+ <description>Uzbek (Afghanistan, OLPC)</description>
- <languageList>
- <iso639Id>uzb</iso639Id>
- </languageList>
-@@ -1507,9 +1507,9 @@
- <layout>
- <configItem>
- <name>ara</name>
-- <!-- Keyboard indicator for Arabic layouts -->
-- <_shortDescription>ar</_shortDescription>
-- <_description>Arabic</_description>
-+
-+ <shortDescription>ar</shortDescription>
-+ <description>Arabic</description>
- <countryList>
- <iso3166Id>AE</iso3166Id>
- <iso3166Id>BH</iso3166Id>
-@@ -1539,37 +1539,37 @@
- <variant>
- <configItem>
- <name>azerty</name>
-- <_description>Arabic (azerty)</_description>
-+ <description>Arabic (azerty)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>azerty_digits</name>
-- <_description>Arabic (azerty/digits)</_description>
-+ <description>Arabic (azerty/digits)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>digits</name>
-- <_description>Arabic (digits)</_description>
-+ <description>Arabic (digits)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>qwerty</name>
-- <_description>Arabic (qwerty)</_description>
-+ <description>Arabic (qwerty)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>qwerty_digits</name>
-- <_description>Arabic (qwerty/digits)</_description>
-+ <description>Arabic (qwerty/digits)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>buckwalter</name>
-- <_description>Arabic (Buckwalter)</_description>
-+ <description>Arabic (Buckwalter)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -1577,9 +1577,9 @@
- <layout>
- <configItem>
- <name>al</name>
-- <!-- Keyboard indicator for Albanian layouts -->
-- <_shortDescription>sq</_shortDescription>
-- <_description>Albanian</_description>
-+
-+ <shortDescription>sq</shortDescription>
-+ <description>Albanian</description>
- <languageList>
- <iso639Id>alb</iso639Id>
- </languageList>
-@@ -1589,9 +1589,9 @@
- <layout>
- <configItem>
- <name>am</name>
-- <!-- Keyboard indicator for Armenian layouts -->
-- <_shortDescription>hy</_shortDescription>
-- <_description>Armenian</_description>
-+
-+ <shortDescription>hy</shortDescription>
-+ <description>Armenian</description>
- <languageList>
- <iso639Id>hye</iso639Id>
- </languageList>
-@@ -1600,31 +1600,31 @@
- <variant>
- <configItem>
- <name>phonetic</name>
-- <_description>Armenian (phonetic)</_description>
-+ <description>Armenian (phonetic)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>phonetic-alt</name>
-- <_description>Armenian (alternative phonetic)</_description>
-+ <description>Armenian (alternative phonetic)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>eastern</name>
-- <_description>Armenian (eastern)</_description>
-+ <description>Armenian (eastern)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>western</name>
-- <_description>Armenian (western)</_description>
-+ <description>Armenian (western)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>eastern-alt</name>
-- <_description>Armenian (alternative eastern)</_description>
-+ <description>Armenian (alternative eastern)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -1632,9 +1632,9 @@
- <layout>
- <configItem>
- <name>at</name>
-- <!-- Keyboard indicator for German layouts -->
-- <_shortDescription>de</_shortDescription>
-- <_description>German (Austria)</_description>
-+
-+ <shortDescription>de</shortDescription>
-+ <description>German (Austria)</description>
- <languageList>
- <iso639Id>ger</iso639Id>
- </languageList>
-@@ -1643,19 +1643,19 @@
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>German (Austria, eliminate dead keys)</_description>
-+ <description>German (Austria, eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sundeadkeys</name>
-- <_description>German (Austria, Sun dead keys)</_description>
-+ <description>German (Austria, Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>German (Austria, Macintosh)</_description>
-+ <description>German (Austria, Macintosh)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -1663,9 +1663,9 @@
- <layout>
- <configItem>
- <name>az</name>
-- <!-- Keyboard indicator for Azerbaijani layouts -->
-- <_shortDescription>az</_shortDescription>
-- <_description>Azerbaijani</_description>
-+
-+ <shortDescription>az</shortDescription>
-+ <description>Azerbaijani</description>
- <languageList>
- <iso639Id>aze</iso639Id>
- </languageList>
-@@ -1674,7 +1674,7 @@
- <variant>
- <configItem>
- <name>cyrillic</name>
-- <_description>Azerbaijani (Cyrillic)</_description>
-+ <description>Azerbaijani (Cyrillic)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -1682,9 +1682,9 @@
- <layout>
- <configItem>
- <name>by</name>
-- <!-- Keyboard indicator for Belarusian layouts -->
-- <_shortDescription>by</_shortDescription>
-- <_description>Belarusian</_description>
-+
-+ <shortDescription>by</shortDescription>
-+ <description>Belarusian</description>
- <languageList>
- <iso639Id>bel</iso639Id>
- </languageList>
-@@ -1693,13 +1693,13 @@
- <variant>
- <configItem>
- <name>legacy</name>
-- <_description>Belarusian (legacy)</_description>
-+ <description>Belarusian (legacy)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>latin</name>
-- <_description>Belarusian (Latin)</_description>
-+ <description>Belarusian (Latin)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -1707,9 +1707,9 @@
- <layout>
- <configItem>
- <name>be</name>
-- <!-- Keyboard indicator for Belgian layouts -->
-- <_shortDescription>be</_shortDescription>
-- <_description>Belgian</_description>
-+
-+ <shortDescription>be</shortDescription>
-+ <description>Belgian</description>
- <languageList><iso639Id>ger</iso639Id>
- <iso639Id>nld</iso639Id>
- <iso639Id>fra</iso639Id></languageList>
-@@ -1718,43 +1718,43 @@
- <variant>
- <configItem>
- <name>oss</name>
-- <_description>Belgian (alternative)</_description>
-+ <description>Belgian (alternative)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>oss_latin9</name>
-- <_description>Belgian (alternative, Latin-9 only)</_description>
-+ <description>Belgian (alternative, Latin-9 only)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>oss_sundeadkeys</name>
-- <_description>Belgian (alternative, Sun dead keys)</_description>
-+ <description>Belgian (alternative, Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>iso-alternate</name>
-- <_description>Belgian (ISO alternate)</_description>
-+ <description>Belgian (ISO alternate)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Belgian (eliminate dead keys)</_description>
-+ <description>Belgian (eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sundeadkeys</name>
-- <_description>Belgian (Sun dead keys)</_description>
-+ <description>Belgian (Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>wang</name>
-- <_description>Belgian (Wang model 724 azerty)</_description>
-+ <description>Belgian (Wang model 724 azerty)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -1762,9 +1762,9 @@
- <layout>
- <configItem>
- <name>bd</name>
-- <!-- Keyboard indicator for Bangla layouts -->
-- <_shortDescription>bn</_shortDescription>
-- <_description>Bangla</_description>
-+
-+ <shortDescription>bn</shortDescription>
-+ <description>Bangla</description>
- <languageList>
- <iso639Id>ben</iso639Id>
- </languageList>
-@@ -1773,7 +1773,7 @@
- <variant>
- <configItem>
- <name>probhat</name>
-- <_description>Bangla (Probhat)</_description>
-+ <description>Bangla (Probhat)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -1781,17 +1781,17 @@
- <layout>
- <configItem>
- <name>in</name>
-- <!-- Keyboard indicator for Indian layouts -->
-- <_shortDescription>in</_shortDescription>
-- <_description>Indian</_description>
-+
-+ <shortDescription>in</shortDescription>
-+ <description>Indian</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>ben</name>
-- <!-- Keyboard indicator for Bangla layouts -->
-- <_shortDescription>bn</_shortDescription>
-- <_description>Bangla (India)</_description>
-+
-+ <shortDescription>bn</shortDescription>
-+ <description>Bangla (India)</description>
- <languageList>
- <iso639Id>ben</iso639Id>
- </languageList>
-@@ -1800,9 +1800,9 @@
- <variant>
- <configItem>
- <name>ben_probhat</name>
-- <!-- Keyboard indicator for Bangla layouts -->
-- <_shortDescription>bn</_shortDescription>
-- <_description>Bangla (India, Probhat)</_description>
-+
-+ <shortDescription>bn</shortDescription>
-+ <description>Bangla (India, Probhat)</description>
- <languageList>
- <iso639Id>ben</iso639Id>
- </languageList>
-@@ -1811,28 +1811,28 @@
- <variant>
- <configItem>
- <name>ben_baishakhi</name>
-- <_description>Bangla (India, Baishakhi)</_description>
-+ <description>Bangla (India, Baishakhi)</description>
- <languageList><iso639Id>ben</iso639Id></languageList>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ben_bornona</name>
-- <_description>Bangla (India, Bornona)</_description>
-+ <description>Bangla (India, Bornona)</description>
- <languageList><iso639Id>ben</iso639Id></languageList>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ben_gitanjali</name>
-- <_description>Bangla (India, Uni Gitanjali)</_description>
-+ <description>Bangla (India, Uni Gitanjali)</description>
- <languageList><iso639Id>ben</iso639Id></languageList>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ben_inscript</name>
-- <_description>Bangla (India, Baishakhi Inscript)</_description>
-+ <description>Bangla (India, Baishakhi Inscript)</description>
- <languageList><iso639Id>ben</iso639Id></languageList>
- </configItem>
- </variant>
-@@ -1846,9 +1846,9 @@
- <variant>
- <configItem>
- <name>guj</name>
-- <!-- Keyboard indicator for Gujarati layouts -->
-- <_shortDescription>gu</_shortDescription>
-- <_description>Gujarati</_description>
-+
-+ <shortDescription>gu</shortDescription>
-+ <description>Gujarati</description>
- <languageList>
- <iso639Id>guj</iso639Id>
- </languageList>
-@@ -1857,9 +1857,9 @@
- <variant>
- <configItem>
- <name>guru</name>
-- <!-- Keyboard indicator for Punjabi layouts -->
-- <_shortDescription>pa</_shortDescription>
-- <_description>Punjabi (Gurmukhi)</_description>
-+
-+ <shortDescription>pa</shortDescription>
-+ <description>Punjabi (Gurmukhi)</description>
- <languageList>
- <iso639Id>pan</iso639Id>
- </languageList>
-@@ -1868,9 +1868,9 @@
- <variant>
- <configItem>
- <name>jhelum</name>
-- <!-- Keyboard indicator for Punjabi layouts -->
-- <_shortDescription>pa</_shortDescription>
-- <_description>Punjabi (Gurmukhi Jhelum)</_description>
-+
-+ <shortDescription>pa</shortDescription>
-+ <description>Punjabi (Gurmukhi Jhelum)</description>
- <languageList>
- <iso639Id>pan</iso639Id>
- </languageList>
-@@ -1879,9 +1879,9 @@
- <variant>
- <configItem>
- <name>kan</name>
-- <!-- Keyboard indicator for Kannada layouts -->
-- <_shortDescription>kn</_shortDescription>
-- <_description>Kannada</_description>
-+
-+ <shortDescription>kn</shortDescription>
-+ <description>Kannada</description>
- <languageList>
- <iso639Id>kan</iso639Id>
- </languageList>
-@@ -1890,9 +1890,9 @@
- <variant>
- <configItem>
- <name>kan-kagapa</name>
-- <!-- Keyboard indicator for Kannada layouts -->
-- <_shortDescription>kn</_shortDescription>
-- <_description>Kannada (KaGaPa phonetic)</_description>
-+
-+ <shortDescription>kn</shortDescription>
-+ <description>Kannada (KaGaPa phonetic)</description>
- <languageList>
- <iso639Id>kan</iso639Id>
- </languageList>
-@@ -1901,9 +1901,9 @@
- <variant>
- <configItem>
- <name>mal</name>
-- <!-- Keyboard indicator for Malayalam layouts -->
-- <_shortDescription>ml</_shortDescription>
-- <_description>Malayalam</_description>
-+
-+ <shortDescription>ml</shortDescription>
-+ <description>Malayalam</description>
- <languageList>
- <iso639Id>mal</iso639Id>
- </languageList>
-@@ -1912,9 +1912,9 @@
- <variant>
- <configItem>
- <name>mal_lalitha</name>
-- <!-- Keyboard indicator for Malayalam layouts -->
-- <_shortDescription>ml</_shortDescription>
-- <_description>Malayalam (Lalitha)</_description>
-+
-+ <shortDescription>ml</shortDescription>
-+ <description>Malayalam (Lalitha)</description>
- <languageList>
- <iso639Id>mal</iso639Id>
- </languageList>
-@@ -1923,18 +1923,18 @@
- <variant>
- <configItem>
- <name>mal_enhanced</name>
-- <!-- Keyboard indicator for Malayalam layouts -->
-- <_shortDescription>ml</_shortDescription>
-- <_description>Malayalam (enhanced Inscript with Rupee Sign)</_description>
-+
-+ <shortDescription>ml</shortDescription>
-+ <description>Malayalam (enhanced Inscript with Rupee Sign)</description>
- <languageList><iso639Id>mal</iso639Id></languageList>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ori</name>
-- <!-- Keyboard indicator for Oriya layouts -->
-- <_shortDescription>or</_shortDescription>
-- <_description>Oriya</_description>
-+
-+ <shortDescription>or</shortDescription>
-+ <description>Oriya</description>
- <languageList>
- <iso639Id>ori</iso639Id>
- </languageList>
-@@ -1943,9 +1943,9 @@
- <variant>
- <configItem>
- <name>tam_unicode</name>
-- <!-- Keyboard indicator for Tamil layouts -->
-- <_shortDescription>ta</_shortDescription>
-- <_description>Tamil (Unicode)</_description>
-+
-+ <shortDescription>ta</shortDescription>
-+ <description>Tamil (Unicode)</description>
- <languageList>
- <iso639Id>tam</iso639Id>
- </languageList>
-@@ -1954,9 +1954,9 @@
- <variant>
- <configItem>
- <name>tam_keyboard_with_numerals</name>
-- <!-- Keyboard indicator for Tamil layouts -->
-- <_shortDescription>ta</_shortDescription>
-- <_description>Tamil (keyboard with numerals)</_description>
-+
-+ <shortDescription>ta</shortDescription>
-+ <description>Tamil (keyboard with numerals)</description>
- <languageList>
- <iso639Id>tam</iso639Id>
- </languageList>
-@@ -1965,9 +1965,9 @@
- <variant>
- <configItem>
- <name>tam_TAB</name>
-- <!-- Keyboard indicator for Tamil layouts -->
-- <_shortDescription>ta</_shortDescription>
-- <_description>Tamil (TAB typewriter)</_description>
-+
-+ <shortDescription>ta</shortDescription>
-+ <description>Tamil (TAB typewriter)</description>
- <languageList>
- <iso639Id>tam</iso639Id>
- </languageList>
-@@ -1976,9 +1976,9 @@
- <variant>
- <configItem>
- <name>tam_TSCII</name>
-- <!-- Keyboard indicator for Tamil layouts -->
-- <_shortDescription>ta</_shortDescription>
-- <_description>Tamil (TSCII typewriter)</_description>
-+
-+ <shortDescription>ta</shortDescription>
-+ <description>Tamil (TSCII typewriter)</description>
- <languageList>
- <iso639Id>tam</iso639Id>
- </languageList>
-@@ -1987,9 +1987,9 @@
- <variant>
- <configItem>
- <name>tam</name>
-- <!-- Keyboard indicator for Tamil layouts -->
-- <_shortDescription>ta</_shortDescription>
-- <_description>Tamil</_description>
-+
-+ <shortDescription>ta</shortDescription>
-+ <description>Tamil</description>
- <languageList>
- <iso639Id>tam</iso639Id>
- </languageList>
-@@ -1998,9 +1998,9 @@
- <variant>
- <configItem>
- <name>tel</name>
-- <!-- Keyboard indicator for Telugu layouts -->
-- <_shortDescription>te</_shortDescription>
-- <_description>Telugu</_description>
-+
-+ <shortDescription>te</shortDescription>
-+ <description>Telugu</description>
- <languageList>
- <iso639Id>tel</iso639Id>
- </languageList>
-@@ -2009,9 +2009,9 @@
- <variant>
- <configItem>
- <name>tel-kagapa</name>
-- <!-- Keyboard indicator for Telugu layouts -->
-- <_shortDescription>te</_shortDescription>
-- <_description>Telugu (KaGaPa phonetic)</_description>
-+
-+ <shortDescription>te</shortDescription>
-+ <description>Telugu (KaGaPa phonetic)</description>
- <languageList>
- <iso639Id>tel</iso639Id>
- </languageList>
-@@ -2020,9 +2020,9 @@
- <variant>
- <configItem>
- <name>urd-phonetic</name>
-- <!-- Keyboard indicator for Urdu layouts -->
-- <_shortDescription>ur</_shortDescription>
-- <_description>Urdu (phonetic)</_description>
-+
-+ <shortDescription>ur</shortDescription>
-+ <description>Urdu (phonetic)</description>
- <languageList>
- <iso639Id>urd</iso639Id>
- </languageList>
-@@ -2031,9 +2031,9 @@
- <variant>
- <configItem>
- <name>urd-phonetic3</name>
-- <!-- Keyboard indicator for Urdu layouts -->
-- <_shortDescription>ur</_shortDescription>
-- <_description>Urdu (alternative phonetic)</_description>
-+
-+ <shortDescription>ur</shortDescription>
-+ <description>Urdu (alternative phonetic)</description>
- <languageList>
- <iso639Id>urd</iso639Id>
- </languageList>
-@@ -2042,9 +2042,9 @@
- <variant>
- <configItem>
- <name>urd-winkeys</name>
-- <!-- Keyboard indicator for Urdu layouts -->
-- <_shortDescription>ur</_shortDescription>
-- <_description>Urdu (WinKeys)</_description>
-+
-+ <shortDescription>ur</shortDescription>
-+ <description>Urdu (WinKeys)</description>
- <languageList>
- <iso639Id>urd</iso639Id>
- </languageList>
-@@ -2053,9 +2053,9 @@
- <variant>
- <configItem>
- <name>bolnagri</name>
-- <!-- Keyboard indicator for Hindi layouts -->
-- <_shortDescription>hi</_shortDescription>
-- <_description>Hindi (Bolnagri)</_description>
-+
-+ <shortDescription>hi</shortDescription>
-+ <description>Hindi (Bolnagri)</description>
- <languageList>
- <iso639Id>hin</iso639Id>
- </languageList>
-@@ -2064,9 +2064,9 @@
- <variant>
- <configItem>
- <name>hin-wx</name>
-- <!-- Keyboard indicator for Hindi layouts -->
-- <_shortDescription>hi</_shortDescription>
-- <_description>Hindi (Wx)</_description>
-+
-+ <shortDescription>hi</shortDescription>
-+ <description>Hindi (Wx)</description>
- <languageList>
- <iso639Id>hin</iso639Id>
- </languageList>
-@@ -2075,9 +2075,9 @@
- <variant>
- <configItem>
- <name>hin-kagapa</name>
-- <!-- Keyboard indicator for Hindi layouts -->
-- <_shortDescription>hi</_shortDescription>
-- <_description>Hindi (KaGaPa phonetic)</_description>
-+
-+ <shortDescription>hi</shortDescription>
-+ <description>Hindi (KaGaPa phonetic)</description>
- <languageList>
- <iso639Id>hin</iso639Id>
- </languageList>
-@@ -2086,9 +2086,9 @@
- <variant>
- <configItem>
- <name>san-kagapa</name>
-- <!-- Keyboard indicator for Sanskrit layouts -->
-- <_shortDescription>sa</_shortDescription>
-- <_description>Sanskrit (KaGaPa phonetic)</_description>
-+
-+ <shortDescription>sa</shortDescription>
-+ <description>Sanskrit (KaGaPa phonetic)</description>
- <languageList>
- <iso639Id>san</iso639Id>
- </languageList>
-@@ -2097,9 +2097,9 @@
- <variant>
- <configItem>
- <name>mar-kagapa</name>
-- <!-- Keyboard indicator for Marathi layouts -->
-- <_shortDescription>mr</_shortDescription>
-- <_description>Marathi (KaGaPa phonetic)</_description>
-+
-+ <shortDescription>mr</shortDescription>
-+ <description>Marathi (KaGaPa phonetic)</description>
- <languageList>
- <iso639Id>mar</iso639Id>
- </languageList>
-@@ -2108,9 +2108,9 @@
- <variant>
- <configItem>
- <name>eng</name>
-- <!-- Keyboard indicator for English layouts -->
-- <_shortDescription>en</_shortDescription>
-- <_description>English (India, with RupeeSign)</_description>
-+
-+ <shortDescription>en</shortDescription>
-+ <description>English (India, with RupeeSign)</description>
- <languageList>
- <iso639Id>eng</iso639Id>
- </languageList>
-@@ -2121,9 +2121,9 @@
- <layout>
- <configItem>
- <name>ba</name>
-- <!-- Keyboard indicator for Bosnian layouts -->
-- <_shortDescription>bs</_shortDescription>
-- <_description>Bosnian</_description>
-+
-+ <shortDescription>bs</shortDescription>
-+ <description>Bosnian</description>
- <languageList>
- <iso639Id>bos</iso639Id>
- </languageList>
-@@ -2132,25 +2132,25 @@
- <variant>
- <configItem>
- <name>alternatequotes</name>
-- <_description>Bosnian (use guillemets for quotes)</_description>
-+ <description>Bosnian (use guillemets for quotes)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>unicode</name>
-- <_description>Bosnian (use Bosnian digraphs)</_description>
-+ <description>Bosnian (use Bosnian digraphs)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>unicodeus</name>
-- <_description>Bosnian (US keyboard with Bosnian digraphs)</_description>
-+ <description>Bosnian (US keyboard with Bosnian digraphs)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>us</name>
-- <_description>Bosnian (US keyboard with Bosnian letters)</_description>
-+ <description>Bosnian (US keyboard with Bosnian letters)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -2158,9 +2158,9 @@
- <layout>
- <configItem>
- <name>br</name>
-- <!-- Keyboard indicator for Portuguese layouts -->
-- <_shortDescription>pt</_shortDescription>
-- <_description>Portuguese (Brazil)</_description>
-+
-+ <shortDescription>pt</shortDescription>
-+ <description>Portuguese (Brazil)</description>
- <languageList>
- <iso639Id>por</iso639Id>
- </languageList>
-@@ -2169,31 +2169,31 @@
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Portuguese (Brazil, eliminate dead keys)</_description>
-+ <description>Portuguese (Brazil, eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>Portuguese (Brazil, Dvorak)</_description>
-+ <description>Portuguese (Brazil, Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>nativo</name>
-- <_description>Portuguese (Brazil, Nativo)</_description>
-+ <description>Portuguese (Brazil, Nativo)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>nativo-us</name>
-- <_description>Portuguese (Brazil, Nativo for US keyboards)</_description>
-+ <description>Portuguese (Brazil, Nativo for US keyboards)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>nativo-epo</name>
-- <_description>Esperanto (Brazil, Nativo)</_description>
-+ <description>Esperanto (Brazil, Nativo)</description>
- <languageList>
- <iso639Id>epo</iso639Id>
- </languageList>
-@@ -2204,9 +2204,9 @@
- <layout>
- <configItem>
- <name>bg</name>
-- <!-- Keyboard indicator for Bulgarian layouts -->
-- <_shortDescription>bg</_shortDescription>
-- <_description>Bulgarian</_description>
-+
-+ <shortDescription>bg</shortDescription>
-+ <description>Bulgarian</description>
- <languageList>
- <iso639Id>bul</iso639Id>
- </languageList>
-@@ -2215,13 +2215,13 @@
- <variant>
- <configItem>
- <name>phonetic</name>
-- <_description>Bulgarian (traditional phonetic)</_description>
-+ <description>Bulgarian (traditional phonetic)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>bas_phonetic</name>
-- <_description>Bulgarian (new phonetic)</_description>
-+ <description>Bulgarian (new phonetic)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -2229,17 +2229,17 @@
- <layout>
- <configItem>
- <name>ma</name>
-- <!-- Keyboard indicator for Arabic layouts -->
-- <_shortDescription>ar</_shortDescription>
-- <_description>Arabic (Morocco)</_description>
-+
-+ <shortDescription>ar</shortDescription>
-+ <description>Arabic (Morocco)</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>french</name>
-- <!-- Keyboard indicator for French layouts -->
-- <_shortDescription>fr</_shortDescription>
-- <_description>French (Morocco)</_description>
-+
-+ <shortDescription>fr</shortDescription>
-+ <description>French (Morocco)</description>
- <languageList>
- <iso639Id>fra</iso639Id>
- </languageList>
-@@ -2248,9 +2248,9 @@
- <variant>
- <configItem>
- <name>tifinagh</name>
-- <!-- Keyboard indicator for Berber layouts -->
-- <_shortDescription>ber</_shortDescription>
-- <_description>Berber (Morocco, Tifinagh)</_description>
-+
-+ <shortDescription>ber</shortDescription>
-+ <description>Berber (Morocco, Tifinagh)</description>
- <languageList>
- <iso639Id>ber</iso639Id>
- </languageList>
-@@ -2259,9 +2259,9 @@
- <variant>
- <configItem>
- <name>tifinagh-alt</name>
-- <!-- Keyboard indicator for Berber layouts -->
-- <_shortDescription>ber</_shortDescription>
-- <_description>Berber (Morocco, Tifinagh alternative)</_description>
-+
-+ <shortDescription>ber</shortDescription>
-+ <description>Berber (Morocco, Tifinagh alternative)</description>
- <languageList>
- <iso639Id>ber</iso639Id>
- </languageList>
-@@ -2270,9 +2270,9 @@
- <variant>
- <configItem>
- <name>tifinagh-alt-phonetic</name>
-- <!-- Keyboard indicator for Berber layouts -->
-- <_shortDescription>ber</_shortDescription>
-- <_description>Berber (Morocco, Tifinagh alternative phonetic)</_description>
-+
-+ <shortDescription>ber</shortDescription>
-+ <description>Berber (Morocco, Tifinagh alternative phonetic)</description>
- <languageList>
- <iso639Id>ber</iso639Id>
- </languageList>
-@@ -2281,9 +2281,9 @@
- <variant>
- <configItem>
- <name>tifinagh-extended</name>
-- <!-- Keyboard indicator for Berber layouts -->
-- <_shortDescription>ber</_shortDescription>
-- <_description>Berber (Morocco, Tifinagh extended)</_description>
-+
-+ <shortDescription>ber</shortDescription>
-+ <description>Berber (Morocco, Tifinagh extended)</description>
- <languageList>
- <iso639Id>ber</iso639Id>
- </languageList>
-@@ -2292,9 +2292,9 @@
- <variant>
- <configItem>
- <name>tifinagh-phonetic</name>
-- <!-- Keyboard indicator for Berber layouts -->
-- <_shortDescription>ber</_shortDescription>
-- <_description>Berber (Morocco, Tifinagh phonetic)</_description>
-+
-+ <shortDescription>ber</shortDescription>
-+ <description>Berber (Morocco, Tifinagh phonetic)</description>
- <languageList>
- <iso639Id>ber</iso639Id>
- </languageList>
-@@ -2303,9 +2303,9 @@
- <variant>
- <configItem>
- <name>tifinagh-extended-phonetic</name>
-- <!-- Keyboard indicator for Berber layouts -->
-- <_shortDescription>ber</_shortDescription>
-- <_description>Berber (Morocco, Tifinagh extended phonetic)</_description>
-+
-+ <shortDescription>ber</shortDescription>
-+ <description>Berber (Morocco, Tifinagh extended phonetic)</description>
- <languageList>
- <iso639Id>ber</iso639Id>
- </languageList>
-@@ -2316,23 +2316,23 @@
- <layout>
- <configItem>
- <name>cm</name>
-- <!-- Keyboard indicator for Cameroon layouts -->
-- <_shortDescription>cm</_shortDescription>
-- <_description>English (Cameroon)</_description>
-+
-+ <shortDescription>cm</shortDescription>
-+ <description>English (Cameroon)</description>
- <languageList><iso639Id>eng</iso639Id></languageList>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>french</name>
-- <_description>French (Cameroon)</_description>
-+ <description>French (Cameroon)</description>
- <languageList><iso639Id>fra</iso639Id></languageList>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>qwerty</name>
-- <_description>Cameroon Multilingual (qwerty)</_description>
-+ <description>Cameroon Multilingual (qwerty)</description>
- <languageList>
- <iso639Id>eng</iso639Id>
- <iso639Id>bas</iso639Id>
-@@ -2369,7 +2369,7 @@
- <variant>
- <configItem>
- <name>azerty</name>
-- <_description>Cameroon Multilingual (azerty)</_description>
-+ <description>Cameroon Multilingual (azerty)</description>
- <languageList>
- <iso639Id>fra</iso639Id>
- <iso639Id>bas</iso639Id>
-@@ -2406,7 +2406,7 @@
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>Cameroon Multilingual (Dvorak)</_description>
-+ <description>Cameroon Multilingual (Dvorak)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -2414,9 +2414,9 @@
- <layout>
- <configItem>
- <name>mm</name>
-- <!-- Keyboard indicator for Burmese layouts -->
-- <_shortDescription>my</_shortDescription>
-- <_description>Burmese</_description>
-+
-+ <shortDescription>my</shortDescription>
-+ <description>Burmese</description>
- <languageList>
- <iso639Id>mya</iso639Id>
- </languageList>
-@@ -2426,9 +2426,9 @@
- <layout>
- <configItem>
- <name>ca</name>
-- <!-- Keyboard indicator for French layouts -->
-- <_shortDescription>fr</_shortDescription>
-- <_description>French (Canada)</_description>
-+
-+ <shortDescription>fr</shortDescription>
-+ <description>French (Canada)</description>
- <languageList>
- <iso639Id>fra</iso639Id>
- </languageList>
-@@ -2437,43 +2437,43 @@
- <variant>
- <configItem>
- <name>fr-dvorak</name>
-- <!-- Keyboard indicator for French layouts -->
-- <_shortDescription>fr</_shortDescription>
-- <_description>French (Canada, Dvorak)</_description>
-+
-+ <shortDescription>fr</shortDescription>
-+ <description>French (Canada, Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>fr-legacy</name>
-- <!-- Keyboard indicator for French layouts -->
-- <_shortDescription>fr</_shortDescription>
-- <_description>French (Canada, legacy)</_description>
-+
-+ <shortDescription>fr</shortDescription>
-+ <description>French (Canada, legacy)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>multix</name>
-- <_description>Canadian Multilingual</_description>
-+ <description>Canadian Multilingual</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>multi</name>
-- <_description>Canadian Multilingual (first part)</_description>
-+ <description>Canadian Multilingual (first part)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>multi-2gr</name>
-- <_description>Canadian Multilingual (second part)</_description>
-+ <description>Canadian Multilingual (second part)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ike</name>
-- <!-- Keyboard indicator for Inuktikut layouts -->
-- <_shortDescription>ike</_shortDescription>
-- <_description>Inuktitut</_description>
-+
-+ <shortDescription>ike</shortDescription>
-+ <description>Inuktitut</description>
- <languageList>
- <iso639Id>iku</iso639Id>
- </languageList>
-@@ -2482,9 +2482,9 @@
- <variant>
- <configItem>
- <name>eng</name>
-- <!-- Keyboard indicator for English layouts -->
-- <_shortDescription>en</_shortDescription>
-- <_description>English (Canada)</_description>
-+
-+ <shortDescription>en</shortDescription>
-+ <description>English (Canada)</description>
- <languageList>
- <iso639Id>eng</iso639Id>
- </languageList>
-@@ -2495,9 +2495,9 @@
- <layout>
- <configItem>
- <name>cd</name>
-- <!-- Keyboard indicator for French layouts -->
-- <_shortDescription>fr</_shortDescription>
-- <_description>French (Democratic Republic of the Congo)</_description>
-+
-+ <shortDescription>fr</shortDescription>
-+ <description>French (Democratic Republic of the Congo)</description>
- <languageList>
- <iso639Id>fra</iso639Id>
- </languageList>
-@@ -2507,9 +2507,9 @@
- <layout>
- <configItem>
- <name>cn</name>
-- <!-- Keyboard indicator for Chinese layouts -->
-- <_shortDescription>zh</_shortDescription>
-- <_description>Chinese</_description>
-+
-+ <shortDescription>zh</shortDescription>
-+ <description>Chinese</description>
- <languageList>
- <iso639Id>chi</iso639Id>
- </languageList>
-@@ -2518,7 +2518,7 @@
- <variant>
- <configItem>
- <name>tib</name>
-- <_description>Tibetan</_description>
-+ <description>Tibetan</description>
- <languageList>
- <iso639Id>tib</iso639Id>
- </languageList>
-@@ -2527,7 +2527,7 @@
- <variant>
- <configItem>
- <name>tib_asciinum</name>
-- <_description>Tibetan (with ASCII numerals)</_description>
-+ <description>Tibetan (with ASCII numerals)</description>
- <languageList>
- <iso639Id>tib</iso639Id>
- </languageList>
-@@ -2536,8 +2536,8 @@
- <variant>
- <configItem>
- <name>ug</name>
-- <_shortDescription>ug</_shortDescription>
-- <_description>Uyghur</_description>
-+ <shortDescription>ug</shortDescription>
-+ <description>Uyghur</description>
- <languageList>
- <iso639Id>ug</iso639Id>
- </languageList>
-@@ -2548,9 +2548,9 @@
- <layout>
- <configItem>
- <name>hr</name>
-- <!-- Keyboard indicator for Croatian layouts -->
-- <_shortDescription>hr</_shortDescription>
-- <_description>Croatian</_description>
-+
-+ <shortDescription>hr</shortDescription>
-+ <description>Croatian</description>
- <languageList>
- <iso639Id>hrv</iso639Id>
- </languageList>
-@@ -2559,25 +2559,25 @@
- <variant>
- <configItem>
- <name>alternatequotes</name>
-- <_description>Croatian (use guillemets for quotes)</_description>
-+ <description>Croatian (use guillemets for quotes)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>unicode</name>
-- <_description>Croatian (use Croatian digraphs)</_description>
-+ <description>Croatian (use Croatian digraphs)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>unicodeus</name>
-- <_description>Croatian (US keyboard with Croatian digraphs)</_description>
-+ <description>Croatian (US keyboard with Croatian digraphs)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>us</name>
-- <_description>Croatian (US keyboard with Croatian letters)</_description>
-+ <description>Croatian (US keyboard with Croatian letters)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -2585,9 +2585,9 @@
- <layout>
- <configItem>
- <name>cz</name>
-- <!-- Keyboard indicator for Chech layouts -->
-- <_shortDescription>cs</_shortDescription>
-- <_description>Czech</_description>
-+
-+ <shortDescription>cs</shortDescription>
-+ <description>Czech</description>
- <languageList>
- <iso639Id>cze</iso639Id>
- </languageList>
-@@ -2596,31 +2596,31 @@
- <variant>
- <configItem>
- <name>bksl</name>
-- <_description>Czech (with &lt;\|&gt; key)</_description>
-+ <description>Czech (with &lt;\|&gt; key)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>qwerty</name>
-- <_description>Czech (qwerty)</_description>
-+ <description>Czech (qwerty)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>qwerty_bksl</name>
-- <_description>Czech (qwerty, extended Backslash)</_description>
-+ <description>Czech (qwerty, extended Backslash)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ucw</name>
-- <_description>Czech (UCW layout, accented letters only)</_description>
-+ <description>Czech (UCW layout, accented letters only)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak-ucw</name>
-- <_description>Czech (US Dvorak with CZ UCW support)</_description>
-+ <description>Czech (US Dvorak with CZ UCW support)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -2628,9 +2628,9 @@
- <layout>
- <configItem>
- <name>dk</name>
-- <!-- Keyboard indicator for Danish layouts -->
-- <_shortDescription>da</_shortDescription>
-- <_description>Danish</_description>
-+
-+ <shortDescription>da</shortDescription>
-+ <description>Danish</description>
- <languageList>
- <iso639Id>dan</iso639Id>
- </languageList>
-@@ -2639,25 +2639,25 @@
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Danish (eliminate dead keys)</_description>
-+ <description>Danish (eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>Danish (Macintosh)</_description>
-+ <description>Danish (Macintosh)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac_nodeadkeys</name>
-- <_description>Danish (Macintosh, eliminate dead keys)</_description>
-+ <description>Danish (Macintosh, eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>Danish (Dvorak)</_description>
-+ <description>Danish (Dvorak)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -2665,9 +2665,9 @@
- <layout>
- <configItem>
- <name>nl</name>
-- <!-- Keyboard indicator for Dutch layouts -->
-- <_shortDescription>nl</_shortDescription>
-- <_description>Dutch</_description>
-+
-+ <shortDescription>nl</shortDescription>
-+ <description>Dutch</description>
- <languageList>
- <iso639Id>nld</iso639Id>
- </languageList>
-@@ -2676,19 +2676,19 @@
- <variant>
- <configItem>
- <name>sundeadkeys</name>
-- <_description>Dutch (Sun dead keys)</_description>
-+ <description>Dutch (Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>Dutch (Macintosh)</_description>
-+ <description>Dutch (Macintosh)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>std</name>
-- <_description>Dutch (standard)</_description>
-+ <description>Dutch (standard)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -2696,9 +2696,9 @@
- <layout>
- <configItem>
- <name>bt</name>
-- <!-- Keyboard indicator for Dzongkha layouts -->
-- <_shortDescription>dz</_shortDescription>
-- <_description>Dzongkha</_description>
-+
-+ <shortDescription>dz</shortDescription>
-+ <description>Dzongkha</description>
- <languageList>
- <iso639Id>dzo</iso639Id>
- </languageList>
-@@ -2707,9 +2707,9 @@
- <layout>
- <configItem>
- <name>ee</name>
-- <!-- Keyboard indicator for Estonian layouts -->
-- <_shortDescription>et</_shortDescription>
-- <_description>Estonian</_description>
-+
-+ <shortDescription>et</shortDescription>
-+ <description>Estonian</description>
- <languageList>
- <iso639Id>est</iso639Id>
- </languageList>
-@@ -2718,19 +2718,19 @@
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Estonian (eliminate dead keys)</_description>
-+ <description>Estonian (eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>Estonian (Dvorak)</_description>
-+ <description>Estonian (Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>us</name>
-- <_description>Estonian (US keyboard with Estonian letters)</_description>
-+ <description>Estonian (US keyboard with Estonian letters)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -2738,9 +2738,9 @@
- <layout>
- <configItem>
- <name>ir</name>
-- <!-- Keyboard indicator for Persian layouts -->
-- <_shortDescription>fa</_shortDescription>
-- <_description>Persian</_description>
-+
-+ <shortDescription>fa</shortDescription>
-+ <description>Persian</description>
- <languageList>
- <iso639Id>per</iso639Id>
- </languageList>
-@@ -2749,15 +2749,15 @@
- <variant>
- <configItem>
- <name>pes_keypad</name>
-- <_description>Persian (with Persian Keypad)</_description>
-+ <description>Persian (with Persian Keypad)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ku</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Iran, Latin Q)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Iran, Latin Q)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -2766,9 +2766,9 @@
- <variant>
- <configItem>
- <name>ku_f</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Iran, F)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Iran, F)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -2777,9 +2777,9 @@
- <variant>
- <configItem>
- <name>ku_alt</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Iran, Latin Alt-Q)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Iran, Latin Alt-Q)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -2788,9 +2788,9 @@
- <variant>
- <configItem>
- <name>ku_ara</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Iran, Arabic-Latin)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Iran, Arabic-Latin)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -2801,9 +2801,9 @@
- <layout>
- <configItem>
- <name>iq</name>
-- <!-- Keyboard indicator for Iraqi layouts -->
-- <_shortDescription>ar</_shortDescription>
-- <_description>Iraqi</_description>
-+
-+ <shortDescription>ar</shortDescription>
-+ <description>Iraqi</description>
- <languageList><iso639Id>ara</iso639Id>
- <iso639Id>kur</iso639Id></languageList>
- </configItem>
-@@ -2811,9 +2811,9 @@
- <variant>
- <configItem>
- <name>ku</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Iraq, Latin Q)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Iraq, Latin Q)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -2822,9 +2822,9 @@
- <variant>
- <configItem>
- <name>ku_f</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Iraq, F)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Iraq, F)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -2833,9 +2833,9 @@
- <variant>
- <configItem>
- <name>ku_alt</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Iraq, Latin Alt-Q)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Iraq, Latin Alt-Q)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -2844,9 +2844,9 @@
- <variant>
- <configItem>
- <name>ku_ara</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Iraq, Arabic-Latin)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Iraq, Arabic-Latin)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -2857,9 +2857,9 @@
- <layout>
- <configItem>
- <name>fo</name>
-- <!-- Keyboard indicator for Faroese layouts -->
-- <_shortDescription>fo</_shortDescription>
-- <_description>Faroese</_description>
-+
-+ <shortDescription>fo</shortDescription>
-+ <description>Faroese</description>
- <languageList>
- <iso639Id>fao</iso639Id>
- </languageList>
-@@ -2868,7 +2868,7 @@
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Faroese (eliminate dead keys)</_description>
-+ <description>Faroese (eliminate dead keys)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -2876,9 +2876,9 @@
- <layout>
- <configItem>
- <name>fi</name>
-- <!-- Keyboard indicator for Finnish layouts -->
-- <_shortDescription>fi</_shortDescription>
-- <_description>Finnish</_description>
-+
-+ <shortDescription>fi</shortDescription>
-+ <description>Finnish</description>
- <languageList>
- <iso639Id>fin</iso639Id>
- </languageList>
-@@ -2887,26 +2887,26 @@
- <variant>
- <configItem>
- <name>classic</name>
-- <_description>Finnish (classic)</_description>
-+ <description>Finnish (classic)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Finnish (classic, eliminate dead keys)</_description>
-+ <description>Finnish (classic, eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>smi</name>
-- <_description>Northern Saami (Finland)</_description>
-+ <description>Northern Saami (Finland)</description>
- <languageList><iso639Id>sme</iso639Id></languageList>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>Finnish (Macintosh)</_description>
-+ <description>Finnish (Macintosh)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -2914,9 +2914,9 @@
- <layout>
- <configItem>
- <name>fr</name>
-- <!-- Keyboard indicator for French layouts -->
-- <_shortDescription>fr</_shortDescription>
-- <_description>French</_description>
-+
-+ <shortDescription>fr</shortDescription>
-+ <description>French</description>
- <languageList>
- <iso639Id>fra</iso639Id>
- </languageList>
-@@ -2925,91 +2925,91 @@
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>French (eliminate dead keys)</_description>
-+ <description>French (eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sundeadkeys</name>
-- <_description>French (Sun dead keys)</_description>
-+ <description>French (Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>oss</name>
-- <_description>French (alternative)</_description>
-+ <description>French (alternative)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>oss_latin9</name>
-- <_description>French (alternative, Latin-9 only)</_description>
-+ <description>French (alternative, Latin-9 only)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>oss_nodeadkeys</name>
-- <_description>French (alternative, eliminate dead keys)</_description>
-+ <description>French (alternative, eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>oss_sundeadkeys</name>
-- <_description>French (alternative, Sun dead keys)</_description>
-+ <description>French (alternative, Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>latin9</name>
-- <_description>French (legacy, alternative)</_description>
-+ <description>French (legacy, alternative)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>latin9_nodeadkeys</name>
-- <_description>French (legacy, alternative, eliminate dead keys)</_description>
-+ <description>French (legacy, alternative, eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>latin9_sundeadkeys</name>
-- <_description>French (legacy, alternative, Sun dead keys)</_description>
-+ <description>French (legacy, alternative, Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>bepo</name>
-- <_description>French (Bepo, ergonomic, Dvorak way)</_description>
-+ <description>French (Bepo, ergonomic, Dvorak way)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>bepo_latin9</name>
-- <_description>French (Bepo, ergonomic, Dvorak way, Latin-9 only)</_description>
-+ <description>French (Bepo, ergonomic, Dvorak way, Latin-9 only)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>French (Dvorak)</_description>
-+ <description>French (Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>French (Macintosh)</_description>
-+ <description>French (Macintosh)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>bre</name>
-- <_description>French (Breton)</_description>
-+ <description>French (Breton)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>oci</name>
-- <_description>Occitan</_description>
-+ <description>Occitan</description>
- <languageList>
- <iso639Id>oci</iso639Id>
- </languageList>
-@@ -3018,7 +3018,7 @@
- <variant>
- <configItem>
- <name>geo</name>
-- <_description>Georgian (France, AZERTY Tskapo)</_description>
-+ <description>Georgian (France, AZERTY Tskapo)</description>
- <languageList>
- <iso639Id>geo</iso639Id>
- </languageList>
-@@ -3029,9 +3029,9 @@
- <layout>
- <configItem>
- <name>gh</name>
-- <!-- Keyboard indicator for English layouts -->
-- <_shortDescription>en</_shortDescription>
-- <_description>English (Ghana)</_description>
-+
-+ <shortDescription>en</shortDescription>
-+ <description>English (Ghana)</description>
- <languageList>
- <iso639Id>eng</iso639Id>
- </languageList>
-@@ -3040,15 +3040,15 @@
- <variant>
- <configItem>
- <name>generic</name>
-- <_description>English (Ghana, multilingual)</_description>
-+ <description>English (Ghana, multilingual)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>akan</name>
-- <!-- Keyboard indicator for Akan layouts -->
-- <_shortDescription>ak</_shortDescription>
-- <_description>Akan</_description>
-+
-+ <shortDescription>ak</shortDescription>
-+ <description>Akan</description>
- <languageList>
- <iso639Id>aka</iso639Id>
- </languageList>
-@@ -3057,9 +3057,9 @@
- <variant>
- <configItem>
- <name>ewe</name>
-- <!-- Keyboard indicator for Ewe layouts -->
-- <_shortDescription>ee</_shortDescription>
-- <_description>Ewe</_description>
-+
-+ <shortDescription>ee</shortDescription>
-+ <description>Ewe</description>
- <languageList>
- <iso639Id>ewe</iso639Id>
- </languageList>
-@@ -3068,9 +3068,9 @@
- <variant>
- <configItem>
- <name>fula</name>
-- <!-- Keyboard indicator for Fula layouts -->
-- <_shortDescription>ff</_shortDescription>
-- <_description>Fula</_description>
-+
-+ <shortDescription>ff</shortDescription>
-+ <description>Fula</description>
- <languageList>
- <iso639Id>ful</iso639Id>
- </languageList>
-@@ -3079,9 +3079,9 @@
- <variant>
- <configItem>
- <name>ga</name>
-- <!-- Keyboard indicator for Ga layouts -->
-- <_shortDescription>gaa</_shortDescription>
-- <_description>Ga</_description>
-+
-+ <shortDescription>gaa</shortDescription>
-+ <description>Ga</description>
- <languageList>
- <iso639Id>gaa</iso639Id>
- </languageList>
-@@ -3090,9 +3090,9 @@
- <variant>
- <configItem>
- <name>hausa</name>
-- <!-- Keyboard indicator for Hausa layouts -->
-- <_shortDescription>ha</_shortDescription>
-- <_description>Hausa</_description>
-+
-+ <shortDescription>ha</shortDescription>
-+ <description>Hausa</description>
- <languageList>
- <iso639Id>hau</iso639Id>
- </languageList>
-@@ -3101,9 +3101,9 @@
- <variant>
- <configItem>
- <name>avn</name>
-- <!-- Keyboard indicator for Avatime layouts -->
-- <_shortDescription>avn</_shortDescription>
-- <_description>Avatime</_description>
-+
-+ <shortDescription>avn</shortDescription>
-+ <description>Avatime</description>
- <languageList>
- <iso639Id>avn</iso639Id>
- </languageList>
-@@ -3112,7 +3112,7 @@
- <variant>
- <configItem>
- <name>gillbt</name>
-- <_description>English (Ghana, GILLBT)</_description>
-+ <description>English (Ghana, GILLBT)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3120,9 +3120,9 @@
- <layout>
- <configItem>
- <name>gn</name>
-- <!-- Keyboard indicator for French layouts -->
-- <_shortDescription>fr</_shortDescription>
-- <_description>French (Guinea)</_description>
-+
-+ <shortDescription>fr</shortDescription>
-+ <description>French (Guinea)</description>
- <languageList>
- <iso639Id>fra</iso639Id>
- </languageList>
-@@ -3132,9 +3132,9 @@
- <layout>
- <configItem>
- <name>ge</name>
-- <!-- Keyboard indicator for Georgian layouts -->
-- <_shortDescription>ka</_shortDescription>
-- <_description>Georgian</_description>
-+
-+ <shortDescription>ka</shortDescription>
-+ <description>Georgian</description>
- <languageList>
- <iso639Id>geo</iso639Id>
- </languageList>
-@@ -3143,21 +3143,21 @@
- <variant>
- <configItem>
- <name>ergonomic</name>
-- <_description>Georgian (ergonomic)</_description>
-+ <description>Georgian (ergonomic)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mess</name>
-- <_description>Georgian (MESS)</_description>
-+ <description>Georgian (MESS)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ru</name>
-- <!-- Keyboard indicator for Russian layouts -->
-- <_shortDescription>ru</_shortDescription>
-- <_description>Russian (Georgia)</_description>
-+
-+ <shortDescription>ru</shortDescription>
-+ <description>Russian (Georgia)</description>
- <languageList>
- <iso639Id>rus</iso639Id>
- </languageList>
-@@ -3166,7 +3166,7 @@
- <variant>
- <configItem>
- <name>os</name>
-- <_description>Ossetian (Georgia)</_description>
-+ <description>Ossetian (Georgia)</description>
- <languageList>
- <iso639Id>oss</iso639Id>
- </languageList>
-@@ -3177,9 +3177,9 @@
- <layout>
- <configItem>
- <name>de</name>
-- <!-- Keyboard indicator for German layouts -->
-- <_shortDescription>de</_shortDescription>
-- <_description>German</_description>
-+
-+ <shortDescription>de</shortDescription>
-+ <description>German</description>
- <languageList>
- <iso639Id>ger</iso639Id>
- </languageList>
-@@ -3188,75 +3188,75 @@
- <variant>
- <configItem>
- <name>deadacute</name>
-- <_description>German (dead acute)</_description>
-+ <description>German (dead acute)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>deadgraveacute</name>
-- <_description>German (dead grave acute)</_description>
-+ <description>German (dead grave acute)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>German (eliminate dead keys)</_description>
-+ <description>German (eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>T3</name>
-- <_description>German (T3)</_description>
-+ <description>German (T3)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ro</name>
-- <_description>Romanian (Germany)</_description>
-+ <description>Romanian (Germany)</description>
- <languageList><iso639Id>rum</iso639Id></languageList>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ro_nodeadkeys</name>
-- <_description>Romanian (Germany, eliminate dead keys)</_description>
-+ <description>Romanian (Germany, eliminate dead keys)</description>
- <languageList><iso639Id>rum</iso639Id></languageList>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>German (Dvorak)</_description>
-+ <description>German (Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sundeadkeys</name>
-- <_description>German (Sun dead keys)</_description>
-+ <description>German (Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>neo</name>
-- <_description>German (Neo 2)</_description>
-+ <description>German (Neo 2)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>German (Macintosh)</_description>
-+ <description>German (Macintosh)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac_nodeadkeys</name>
-- <_description>German (Macintosh, eliminate dead keys)</_description>
-+ <description>German (Macintosh, eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dsb</name>
-- <_description>Lower Sorbian</_description>
-+ <description>Lower Sorbian</description>
- <languageList>
- <iso639Id>dsb</iso639Id>
- </languageList>
-@@ -3265,7 +3265,7 @@
- <variant>
- <configItem>
- <name>dsb_qwertz</name>
-- <_description>Lower Sorbian (qwertz)</_description>
-+ <description>Lower Sorbian (qwertz)</description>
- <languageList>
- <iso639Id>dsb</iso639Id>
- </languageList>
-@@ -3274,15 +3274,15 @@
- <variant>
- <configItem>
- <name>qwerty</name>
-- <_description>German (qwerty)</_description>
-+ <description>German (qwerty)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ru</name>
-- <!-- Keyboard indicator for Russian layouts -->
-- <_shortDescription>ru</_shortDescription>
-- <_description>Russian (Germany, phonetic)</_description>
-+
-+ <shortDescription>ru</shortDescription>
-+ <description>Russian (Germany, phonetic)</description>
- <languageList>
- <iso639Id>rus</iso639Id>
- </languageList>
-@@ -3291,7 +3291,7 @@
- <variant>
- <configItem>
- <name>legacy</name>
-- <_description>German (legacy)</_description>
-+ <description>German (legacy)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3299,9 +3299,9 @@
- <layout>
- <configItem>
- <name>gr</name>
-- <!-- Keyboard indicator for Greek layouts -->
-- <_shortDescription>gr</_shortDescription>
-- <_description>Greek</_description>
-+
-+ <shortDescription>gr</shortDescription>
-+ <description>Greek</description>
- <languageList>
- <iso639Id>gre</iso639Id>
- </languageList>
-@@ -3310,25 +3310,25 @@
- <variant>
- <configItem>
- <name>simple</name>
-- <_description>Greek (simple)</_description>
-+ <description>Greek (simple)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>extended</name>
-- <_description>Greek (extended)</_description>
-+ <description>Greek (extended)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Greek (eliminate dead keys)</_description>
-+ <description>Greek (eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>polytonic</name>
-- <_description>Greek (polytonic)</_description>
-+ <description>Greek (polytonic)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3336,9 +3336,9 @@
- <layout>
- <configItem>
- <name>hu</name>
-- <!-- Keyboard indicator for Hungarian layouts -->
-- <_shortDescription>hu</_shortDescription>
-- <_description>Hungarian</_description>
-+
-+ <shortDescription>hu</shortDescription>
-+ <description>Hungarian</description>
- <languageList>
- <iso639Id>hun</iso639Id>
- </languageList>
-@@ -3347,115 +3347,115 @@
- <variant>
- <configItem>
- <name>standard</name>
-- <_description>Hungarian (standard)</_description>
-+ <description>Hungarian (standard)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Hungarian (eliminate dead keys)</_description>
-+ <description>Hungarian (eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>qwerty</name>
-- <_description>Hungarian (qwerty)</_description>
-+ <description>Hungarian (qwerty)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>101_qwertz_comma_dead</name>
-- <_description>Hungarian (101/qwertz/comma/dead keys)</_description>
-+ <description>Hungarian (101/qwertz/comma/dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>101_qwertz_comma_nodead</name>
-- <_description>Hungarian (101/qwertz/comma/eliminate dead keys)</_description>
-+ <description>Hungarian (101/qwertz/comma/eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>101_qwertz_dot_dead</name>
-- <_description>Hungarian (101/qwertz/dot/dead keys)</_description>
-+ <description>Hungarian (101/qwertz/dot/dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>101_qwertz_dot_nodead</name>
-- <_description>Hungarian (101/qwertz/dot/eliminate dead keys)</_description>
-+ <description>Hungarian (101/qwertz/dot/eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>101_qwerty_comma_dead</name>
-- <_description>Hungarian (101/qwerty/comma/dead keys)</_description>
-+ <description>Hungarian (101/qwerty/comma/dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>101_qwerty_comma_nodead</name>
-- <_description>Hungarian (101/qwerty/comma/eliminate dead keys)</_description>
-+ <description>Hungarian (101/qwerty/comma/eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>101_qwerty_dot_dead</name>
-- <_description>Hungarian (101/qwerty/dot/dead keys)</_description>
-+ <description>Hungarian (101/qwerty/dot/dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>101_qwerty_dot_nodead</name>
-- <_description>Hungarian (101/qwerty/dot/eliminate dead keys)</_description>
-+ <description>Hungarian (101/qwerty/dot/eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>102_qwertz_comma_dead</name>
-- <_description>Hungarian (102/qwertz/comma/dead keys)</_description>
-+ <description>Hungarian (102/qwertz/comma/dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>102_qwertz_comma_nodead</name>
-- <_description>Hungarian (102/qwertz/comma/eliminate dead keys)</_description>
-+ <description>Hungarian (102/qwertz/comma/eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>102_qwertz_dot_dead</name>
-- <_description>Hungarian (102/qwertz/dot/dead keys)</_description>
-+ <description>Hungarian (102/qwertz/dot/dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>102_qwertz_dot_nodead</name>
-- <_description>Hungarian (102/qwertz/dot/eliminate dead keys)</_description>
-+ <description>Hungarian (102/qwertz/dot/eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>102_qwerty_comma_dead</name>
-- <_description>Hungarian (102/qwerty/comma/dead keys)</_description>
-+ <description>Hungarian (102/qwerty/comma/dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>102_qwerty_comma_nodead</name>
-- <_description>Hungarian (102/qwerty/comma/eliminate dead keys)</_description>
-+ <description>Hungarian (102/qwerty/comma/eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>102_qwerty_dot_dead</name>
-- <_description>Hungarian (102/qwerty/dot/dead keys)</_description>
-+ <description>Hungarian (102/qwerty/dot/dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>102_qwerty_dot_nodead</name>
-- <_description>Hungarian (102/qwerty/dot/eliminate dead keys)</_description>
-+ <description>Hungarian (102/qwerty/dot/eliminate dead keys)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3463,9 +3463,9 @@
- <layout>
- <configItem>
- <name>is</name>
-- <!-- Keyboard indicator for Icelandic layouts -->
-- <_shortDescription>is</_shortDescription>
-- <_description>Icelandic</_description>
-+
-+ <shortDescription>is</shortDescription>
-+ <description>Icelandic</description>
- <languageList>
- <iso639Id>ice</iso639Id>
- </languageList>
-@@ -3474,25 +3474,25 @@
- <variant>
- <configItem>
- <name>Sundeadkeys</name>
-- <_description>Icelandic (Sun dead keys)</_description>
-+ <description>Icelandic (Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Icelandic (eliminate dead keys)</_description>
-+ <description>Icelandic (eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>Icelandic (Macintosh)</_description>
-+ <description>Icelandic (Macintosh)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>Icelandic (Dvorak)</_description>
-+ <description>Icelandic (Dvorak)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3500,9 +3500,9 @@
- <layout>
- <configItem>
- <name>il</name>
-- <!-- Keyboard indicator for Hebrew layouts -->
-- <_shortDescription>he</_shortDescription>
-- <_description>Hebrew</_description>
-+
-+ <shortDescription>he</shortDescription>
-+ <description>Hebrew</description>
- <languageList>
- <iso639Id>heb</iso639Id>
- </languageList>
-@@ -3511,19 +3511,19 @@
- <variant>
- <configItem>
- <name>lyx</name>
-- <_description>Hebrew (lyx)</_description>
-+ <description>Hebrew (lyx)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>phonetic</name>
-- <_description>Hebrew (phonetic)</_description>
-+ <description>Hebrew (phonetic)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>biblical</name>
-- <_description>Hebrew (Biblical, Tiro)</_description>
-+ <description>Hebrew (Biblical, Tiro)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3531,9 +3531,9 @@
- <layout>
- <configItem>
- <name>it</name>
-- <!-- Keyboard indicator for Italian layouts -->
-- <_shortDescription>it</_shortDescription>
-- <_description>Italian</_description>
-+
-+ <shortDescription>it</shortDescription>
-+ <description>Italian</description>
- <languageList>
- <iso639Id>ita</iso639Id>
- </languageList>
-@@ -3542,25 +3542,25 @@
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Italian (eliminate dead keys)</_description>
-+ <description>Italian (eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>Italian (Macintosh)</_description>
-+ <description>Italian (Macintosh)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>us</name>
-- <_description>Italian (US keyboard with Italian letters)</_description>
-+ <description>Italian (US keyboard with Italian letters)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>geo</name>
-- <_description>Georgian (Italy)</_description>
-+ <description>Georgian (Italy)</description>
- <languageList>
- <iso639Id>geo</iso639Id>
- </languageList>
-@@ -3569,7 +3569,7 @@
- <variant>
- <configItem>
- <name>ibm</name>
-- <_description>Italian (IBM 142)</_description>
-+ <description>Italian (IBM 142)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3577,9 +3577,9 @@
- <layout>
- <configItem>
- <name>jp</name>
-- <!-- Keyboard indicator for Japanese layouts -->
-- <_shortDescription>ja</_shortDescription>
-- <_description>Japanese</_description>
-+
-+ <shortDescription>ja</shortDescription>
-+ <description>Japanese</description>
- <languageList>
- <iso639Id>jpn</iso639Id>
- </languageList>
-@@ -3588,31 +3588,31 @@
- <variant>
- <configItem>
- <name>kana</name>
-- <_description>Japanese (Kana)</_description>
-+ <description>Japanese (Kana)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>kana86</name>
-- <_description>Japanese (Kana 86)</_description>
-+ <description>Japanese (Kana 86)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>OADG109A</name>
-- <_description>Japanese (OADG 109A)</_description>
-+ <description>Japanese (OADG 109A)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>Japanese (Macintosh)</_description>
-+ <description>Japanese (Macintosh)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>Japanese (Dvorak)</_description>
-+ <description>Japanese (Dvorak)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3620,9 +3620,9 @@
- <layout>
- <configItem>
- <name>kg</name>
-- <!-- Keyboard indicator for Kyrgyz layouts -->
-- <_shortDescription>ki</_shortDescription>
-- <_description>Kyrgyz</_description>
-+
-+ <shortDescription>ki</shortDescription>
-+ <description>Kyrgyz</description>
- <languageList>
- <iso639Id>kir</iso639Id>
- </languageList>
-@@ -3631,7 +3631,7 @@
- <variant>
- <configItem>
- <name>phonetic</name>
-- <_description>Kyrgyz (phonetic)</_description>
-+ <description>Kyrgyz (phonetic)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3639,9 +3639,9 @@
- <layout>
- <configItem>
- <name>kh</name>
-- <!-- Keyboard indicator for Khmer layouts -->
-- <_shortDescription>km</_shortDescription>
-- <_description>Khmer (Cambodia)</_description>
-+
-+ <shortDescription>km</shortDescription>
-+ <description>Khmer (Cambodia)</description>
- <languageList>
- <iso639Id>khm</iso639Id>
- </languageList>
-@@ -3651,9 +3651,9 @@
- <layout>
- <configItem>
- <name>kz</name>
-- <!-- Keyboard indicator for Kazakh layouts -->
-- <_shortDescription>kk</_shortDescription>
-- <_description>Kazakh</_description>
-+
-+ <shortDescription>kk</shortDescription>
-+ <description>Kazakh</description>
- <languageList>
- <iso639Id>kaz</iso639Id>
- </languageList>
-@@ -3662,9 +3662,9 @@
- <variant>
- <configItem>
- <name>ruskaz</name>
-- <!-- Keyboard indicator for Russian layouts -->
-- <_shortDescription>ru</_shortDescription>
-- <_description>Russian (Kazakhstan, with Kazakh)</_description>
-+
-+ <shortDescription>ru</shortDescription>
-+ <description>Russian (Kazakhstan, with Kazakh)</description>
- <languageList><iso639Id>kaz</iso639Id>
- <iso639Id>rus</iso639Id></languageList>
- </configItem>
-@@ -3672,7 +3672,7 @@
- <variant>
- <configItem>
- <name>kazrus</name>
-- <_description>Kazakh (with Russian)</_description>
-+ <description>Kazakh (with Russian)</description>
- <languageList><iso639Id>kaz</iso639Id>
- <iso639Id>rus</iso639Id></languageList>
- </configItem>
-@@ -3682,9 +3682,9 @@
- <layout>
- <configItem>
- <name>la</name>
-- <!-- Keyboard indicator for Lao layouts -->
-- <_shortDescription>lo</_shortDescription>
-- <_description>Lao</_description>
-+
-+ <shortDescription>lo</shortDescription>
-+ <description>Lao</description>
- <languageList>
- <iso639Id>lao</iso639Id>
- </languageList>
-@@ -3693,7 +3693,7 @@
- <variant>
- <configItem>
- <name>stea</name>
-- <_description>Lao (STEA proposed standard layout)</_description>
-+ <description>Lao (STEA proposed standard layout)</description>
- <languageList><iso639Id>lao</iso639Id>
- </languageList>
- </configItem>
-@@ -3703,9 +3703,9 @@
- <layout>
- <configItem>
- <name>latam</name>
-- <!-- Keyboard indicator for Spanish layouts -->
-- <_shortDescription>es</_shortDescription>
-- <_description>Spanish (Latin American)</_description>
-+
-+ <shortDescription>es</shortDescription>
-+ <description>Spanish (Latin American)</description>
- <countryList>
- <iso3166Id>AR</iso3166Id>
- <iso3166Id>BO</iso3166Id>
-@@ -3737,19 +3737,19 @@
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Spanish (Latin American, eliminate dead keys)</_description>
-+ <description>Spanish (Latin American, eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>deadtilde</name>
-- <_description>Spanish (Latin American, include dead tilde)</_description>
-+ <description>Spanish (Latin American, include dead tilde)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sundeadkeys</name>
-- <_description>Spanish (Latin American, Sun dead keys)</_description>
-+ <description>Spanish (Latin American, Sun dead keys)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3757,9 +3757,9 @@
- <layout>
- <configItem>
- <name>lt</name>
-- <!-- Keyboard indicator for Lithuanian layouts -->
-- <_shortDescription>lt</_shortDescription>
-- <_description>Lithuanian</_description>
-+
-+ <shortDescription>lt</shortDescription>
-+ <description>Lithuanian</description>
- <languageList>
- <iso639Id>lit</iso639Id>
- </languageList>
-@@ -3768,31 +3768,31 @@
- <variant>
- <configItem>
- <name>std</name>
-- <_description>Lithuanian (standard)</_description>
-+ <description>Lithuanian (standard)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>us</name>
-- <_description>Lithuanian (US keyboard with Lithuanian letters)</_description>
-+ <description>Lithuanian (US keyboard with Lithuanian letters)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ibm</name>
-- <_description>Lithuanian (IBM LST 1205-92)</_description>
-+ <description>Lithuanian (IBM LST 1205-92)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>lekp</name>
-- <_description>Lithuanian (LEKP)</_description>
-+ <description>Lithuanian (LEKP)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>lekpa</name>
-- <_description>Lithuanian (LEKPa)</_description>
-+ <description>Lithuanian (LEKPa)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3800,9 +3800,9 @@
- <layout>
- <configItem>
- <name>lv</name>
-- <!-- Keyboard indicator for Latvian layouts -->
-- <_shortDescription>lv</_shortDescription>
-- <_description>Latvian</_description>
-+
-+ <shortDescription>lv</shortDescription>
-+ <description>Latvian</description>
- <languageList>
- <iso639Id>lav</iso639Id>
- </languageList>
-@@ -3811,37 +3811,37 @@
- <variant>
- <configItem>
- <name>apostrophe</name>
-- <_description>Latvian (apostrophe variant)</_description>
-+ <description>Latvian (apostrophe variant)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>tilde</name>
-- <_description>Latvian (tilde variant)</_description>
-+ <description>Latvian (tilde variant)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>fkey</name>
-- <_description>Latvian (F variant)</_description>
-+ <description>Latvian (F variant)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>modern</name>
-- <_description>Latvian (modern)</_description>
-+ <description>Latvian (modern)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ergonomic</name>
-- <_description>Latvian (ergonomic, ŪGJRMV)</_description>
-+ <description>Latvian (ergonomic, ŪGJRMV)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>adapted</name>
-- <_description>Latvian (adapted)</_description>
-+ <description>Latvian (adapted)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3849,9 +3849,9 @@
- <layout>
- <configItem>
- <name>mao</name>
-- <!-- Keyboard indicator for Maori layouts -->
-- <_shortDescription>mi</_shortDescription>
-- <_description>Maori</_description>
-+
-+ <shortDescription>mi</shortDescription>
-+ <description>Maori</description>
- <languageList>
- <iso639Id>mao</iso639Id>
- </languageList>
-@@ -3861,9 +3861,9 @@
- <layout>
- <configItem>
- <name>me</name>
-- <!-- Keyboard indicator for Montenegrin layouts -->
-- <_shortDescription>sr</_shortDescription>
-- <_description>Montenegrin</_description>
-+
-+ <shortDescription>sr</shortDescription>
-+ <description>Montenegrin</description>
- <languageList>
- <iso639Id>srp</iso639Id>
- </languageList>
-@@ -3872,43 +3872,43 @@
- <variant>
- <configItem>
- <name>cyrillic</name>
-- <_description>Montenegrin (Cyrillic)</_description>
-+ <description>Montenegrin (Cyrillic)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>cyrillicyz</name>
-- <_description>Montenegrin (Cyrillic, Z and ZHE swapped)</_description>
-+ <description>Montenegrin (Cyrillic, Z and ZHE swapped)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>latinunicode</name>
-- <_description>Montenegrin (Latin Unicode)</_description>
-+ <description>Montenegrin (Latin Unicode)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>latinyz</name>
-- <_description>Montenegrin (Latin qwerty)</_description>
-+ <description>Montenegrin (Latin qwerty)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>latinunicodeyz</name>
-- <_description>Montenegrin (Latin Unicode qwerty)</_description>
-+ <description>Montenegrin (Latin Unicode qwerty)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>cyrillicalternatequotes</name>
-- <_description>Montenegrin (Cyrillic with guillemets)</_description>
-+ <description>Montenegrin (Cyrillic with guillemets)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>latinalternatequotes</name>
-- <_description>Montenegrin (Latin with guillemets)</_description>
-+ <description>Montenegrin (Latin with guillemets)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3916,9 +3916,9 @@
- <layout>
- <configItem>
- <name>mk</name>
-- <!-- Keyboard indicator for Macedonian layouts -->
-- <_shortDescription>mk</_shortDescription>
-- <_description>Macedonian</_description>
-+
-+ <shortDescription>mk</shortDescription>
-+ <description>Macedonian</description>
- <languageList>
- <iso639Id>mkd</iso639Id>
- </languageList>
-@@ -3927,7 +3927,7 @@
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Macedonian (eliminate dead keys)</_description>
-+ <description>Macedonian (eliminate dead keys)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3935,9 +3935,9 @@
- <layout>
- <configItem>
- <name>mt</name>
-- <!-- Keyboard indicator for Maltese layouts -->
-- <_shortDescription>mt</_shortDescription>
-- <_description>Maltese</_description>
-+
-+ <shortDescription>mt</shortDescription>
-+ <description>Maltese</description>
- <languageList>
- <iso639Id>mlt</iso639Id>
- </languageList>
-@@ -3946,7 +3946,7 @@
- <variant>
- <configItem>
- <name>us</name>
-- <_description>Maltese (with US layout)</_description>
-+ <description>Maltese (with US layout)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3954,9 +3954,9 @@
- <layout>
- <configItem>
- <name>mn</name>
-- <!-- Keyboard indicator for Mongolian layouts -->
-- <_shortDescription>mn</_shortDescription>
-- <_description>Mongolian</_description>
-+
-+ <shortDescription>mn</shortDescription>
-+ <description>Mongolian</description>
- <languageList>
- <iso639Id>mon</iso639Id>
- </languageList>
-@@ -3966,9 +3966,9 @@
- <layout>
- <configItem>
- <name>no</name>
-- <!-- Keyboard indicator for Norwegian layouts -->
-- <_shortDescription>no</_shortDescription>
-- <_description>Norwegian</_description>
-+
-+ <shortDescription>no</shortDescription>
-+ <description>Norwegian</description>
- <languageList>
- <iso639Id>nor</iso639Id>
- <iso639Id>nob</iso639Id>
-@@ -3979,19 +3979,19 @@
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Norwegian (eliminate dead keys)</_description>
-+ <description>Norwegian (eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>Norwegian (Dvorak)</_description>
-+ <description>Norwegian (Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>smi</name>
-- <_description>Northern Saami (Norway)</_description>
-+ <description>Northern Saami (Norway)</description>
- <languageList>
- <iso639Id>sme</iso639Id>
- </languageList>
-@@ -4000,7 +4000,7 @@
- <variant>
- <configItem>
- <name>smi_nodeadkeys</name>
-- <_description>Northern Saami (Norway, eliminate dead keys)</_description>
-+ <description>Northern Saami (Norway, eliminate dead keys)</description>
- <languageList>
- <iso639Id>sme</iso639Id>
- </languageList>
-@@ -4009,19 +4009,19 @@
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>Norwegian (Macintosh)</_description>
-+ <description>Norwegian (Macintosh)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac_nodeadkeys</name>
-- <_description>Norwegian (Macintosh, eliminate dead keys)</_description>
-+ <description>Norwegian (Macintosh, eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>colemak</name>
-- <_description>Norwegian (Colemak)</_description>
-+ <description>Norwegian (Colemak)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -4029,9 +4029,9 @@
- <layout>
- <configItem>
- <name>pl</name>
-- <!-- Keyboard indicator for Polish layouts -->
-- <_shortDescription>pl</_shortDescription>
-- <_description>Polish</_description>
-+
-+ <shortDescription>pl</shortDescription>
-+ <description>Polish</description>
- <languageList>
- <iso639Id>pol</iso639Id>
- </languageList>
-@@ -4040,37 +4040,37 @@
- <variant>
- <configItem>
- <name>legacy</name>
-- <_description>Polish (legacy)</_description>
-+ <description>Polish (legacy)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>qwertz</name>
-- <_description>Polish (qwertz)</_description>
-+ <description>Polish (qwertz)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>Polish (Dvorak)</_description>
-+ <description>Polish (Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak_quotes</name>
-- <_description>Polish (Dvorak, Polish quotes on quotemark key)</_description>
-+ <description>Polish (Dvorak, Polish quotes on quotemark key)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak_altquotes</name>
-- <_description>Polish (Dvorak, Polish quotes on key 1)</_description>
-+ <description>Polish (Dvorak, Polish quotes on key 1)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>csb</name>
-- <_description>Kashubian</_description>
-+ <description>Kashubian</description>
- <languageList>
- <iso639Id>csb</iso639Id>
- </languageList>
-@@ -4086,9 +4086,9 @@
- <variant>
- <configItem>
- <name>ru_phonetic_dvorak</name>
-- <!-- Keyboard indicator for Russian layouts -->
-- <_shortDescription>ru</_shortDescription>
-- <_description>Russian (Poland, phonetic Dvorak)</_description>
-+
-+ <shortDescription>ru</shortDescription>
-+ <description>Russian (Poland, phonetic Dvorak)</description>
- <languageList>
- <iso639Id>rus</iso639Id>
- </languageList>
-@@ -4097,7 +4097,7 @@
- <variant>
- <configItem>
- <name>dvp</name>
-- <_description>Polish (programmer Dvorak)</_description>
-+ <description>Polish (programmer Dvorak)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -4105,9 +4105,9 @@
- <layout>
- <configItem>
- <name>pt</name>
-- <!-- Keyboard indicator for Portuguese layouts -->
-- <_shortDescription>pt</_shortDescription>
-- <_description>Portuguese</_description>
-+
-+ <shortDescription>pt</shortDescription>
-+ <description>Portuguese</description>
- <languageList>
- <iso639Id>por</iso639Id>
- </languageList>
-@@ -4116,49 +4116,49 @@
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Portuguese (eliminate dead keys)</_description>
-+ <description>Portuguese (eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sundeadkeys</name>
-- <_description>Portuguese (Sun dead keys)</_description>
-+ <description>Portuguese (Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>Portuguese (Macintosh)</_description>
-+ <description>Portuguese (Macintosh)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac_nodeadkeys</name>
-- <_description>Portuguese (Macintosh, eliminate dead keys)</_description>
-+ <description>Portuguese (Macintosh, eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac_sundeadkeys</name>
-- <_description>Portuguese (Macintosh, Sun dead keys)</_description>
-+ <description>Portuguese (Macintosh, Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>nativo</name>
-- <_description>Portuguese (Nativo)</_description>
-+ <description>Portuguese (Nativo)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>nativo-us</name>
-- <_description>Portuguese (Nativo for US keyboards)</_description>
-+ <description>Portuguese (Nativo for US keyboards)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>nativo-epo</name>
-- <_description>Esperanto (Portugal, Nativo)</_description>
-+ <description>Esperanto (Portugal, Nativo)</description>
- <languageList>
- <iso639Id>epo</iso639Id>
- </languageList>
-@@ -4169,9 +4169,9 @@
- <layout>
- <configItem>
- <name>ro</name>
-- <!-- Keyboard indicator for Romanian layouts -->
-- <_shortDescription>ro</_shortDescription>
-- <_description>Romanian</_description>
-+
-+ <shortDescription>ro</shortDescription>
-+ <description>Romanian</description>
- <languageList>
- <iso639Id>rum</iso639Id>
- </languageList>
-@@ -4180,25 +4180,25 @@
- <variant>
- <configItem>
- <name>cedilla</name>
-- <_description>Romanian (cedilla)</_description>
-+ <description>Romanian (cedilla)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>std</name>
-- <_description>Romanian (standard)</_description>
-+ <description>Romanian (standard)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>std_cedilla</name>
-- <_description>Romanian (standard cedilla)</_description>
-+ <description>Romanian (standard cedilla)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>winkeys</name>
-- <_description>Romanian (WinKeys)</_description>
-+ <description>Romanian (WinKeys)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -4206,9 +4206,9 @@
- <layout>
- <configItem>
- <name>ru</name>
-- <!-- Keyboard indicator for Russian layouts -->
-- <_shortDescription>ru</_shortDescription>
-- <_description>Russian</_description>
-+
-+ <shortDescription>ru</shortDescription>
-+ <description>Russian</description>
- <languageList>
- <iso639Id>rus</iso639Id>
- </languageList>
-@@ -4217,37 +4217,37 @@
- <variant>
- <configItem>
- <name>phonetic</name>
-- <_description>Russian (phonetic)</_description>
-+ <description>Russian (phonetic)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>phonetic_winkeys</name>
-- <_description>Russian (phonetic WinKeys)</_description>
-+ <description>Russian (phonetic WinKeys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>typewriter</name>
-- <_description>Russian (typewriter)</_description>
-+ <description>Russian (typewriter)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>legacy</name>
-- <_description>Russian (legacy)</_description>
-+ <description>Russian (legacy)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>typewriter-legacy</name>
-- <_description>Russian (typewriter, legacy)</_description>
-+ <description>Russian (typewriter, legacy)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>tt</name>
-- <_description>Tatar</_description>
-+ <description>Tatar</description>
- <languageList>
- <iso639Id>tat</iso639Id>
- </languageList>
-@@ -4256,7 +4256,7 @@
- <variant>
- <configItem>
- <name>os_legacy</name>
-- <_description>Ossetian (legacy)</_description>
-+ <description>Ossetian (legacy)</description>
- <languageList>
- <iso639Id>oss</iso639Id>
- </languageList>
-@@ -4265,7 +4265,7 @@
- <variant>
- <configItem>
- <name>os_winkeys</name>
-- <_description>Ossetian (WinKeys)</_description>
-+ <description>Ossetian (WinKeys)</description>
- <languageList>
- <iso639Id>oss</iso639Id>
- </languageList>
-@@ -4274,7 +4274,7 @@
- <variant>
- <configItem>
- <name>cv</name>
-- <_description>Chuvash</_description>
-+ <description>Chuvash</description>
- <languageList>
- <iso639Id>chv</iso639Id>
- </languageList>
-@@ -4283,7 +4283,7 @@
- <variant>
- <configItem>
- <name>cv_latin</name>
-- <_description>Chuvash (Latin)</_description>
-+ <description>Chuvash (Latin)</description>
- <languageList>
- <iso639Id>chv</iso639Id>
- </languageList>
-@@ -4292,7 +4292,7 @@
- <variant>
- <configItem>
- <name>udm</name>
-- <_description>Udmurt</_description>
-+ <description>Udmurt</description>
- <languageList>
- <iso639Id>udm</iso639Id>
- </languageList>
-@@ -4301,7 +4301,7 @@
- <variant>
- <configItem>
- <name>kom</name>
-- <_description>Komi</_description>
-+ <description>Komi</description>
- <languageList>
- <iso639Id>kom</iso639Id>
- </languageList>
-@@ -4310,7 +4310,7 @@
- <variant>
- <configItem>
- <name>sah</name>
-- <_description>Yakut</_description>
-+ <description>Yakut</description>
- <languageList>
- <iso639Id>sah</iso639Id>
- </languageList>
-@@ -4319,7 +4319,7 @@
- <variant>
- <configItem>
- <name>xal</name>
-- <_description>Kalmyk</_description>
-+ <description>Kalmyk</description>
- <languageList>
- <iso639Id>xal</iso639Id>
- </languageList>
-@@ -4328,19 +4328,19 @@
- <variant>
- <configItem>
- <name>dos</name>
-- <_description>Russian (DOS)</_description>
-+ <description>Russian (DOS)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>Russian (Macintosh)</_description>
-+ <description>Russian (Macintosh)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>srp</name>
-- <_description>Serbian (Russia)</_description>
-+ <description>Serbian (Russia)</description>
- <languageList><iso639Id>rus</iso639Id>
- <iso639Id>srp</iso639Id></languageList>
- </configItem>
-@@ -4348,7 +4348,7 @@
- <variant>
- <configItem>
- <name>bak</name>
-- <_description>Bashkirian</_description>
-+ <description>Bashkirian</description>
- <languageList>
- <iso639Id>bak</iso639Id>
- </languageList>
-@@ -4357,7 +4357,7 @@
- <variant>
- <configItem>
- <name>chm</name>
-- <_description>Mari</_description>
-+ <description>Mari</description>
- <languageList>
- <iso639Id>chm</iso639Id>
- </languageList>
-@@ -4368,9 +4368,9 @@
- <layout>
- <configItem>
- <name>rs</name>
-- <!-- Keyboard indicator for Serbian layouts -->
-- <_shortDescription>sr</_shortDescription>
-- <_description>Serbian</_description>
-+
-+ <shortDescription>sr</shortDescription>
-+ <description>Serbian</description>
- <languageList>
- <iso639Id>srp</iso639Id>
- </languageList>
-@@ -4379,49 +4379,49 @@
- <variant>
- <configItem>
- <name>yz</name>
-- <_description>Serbian (Cyrillic, Z and ZHE swapped)</_description>
-+ <description>Serbian (Cyrillic, Z and ZHE swapped)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>latin</name>
-- <_description>Serbian (Latin)</_description>
-+ <description>Serbian (Latin)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>latinunicode</name>
-- <_description>Serbian (Latin Unicode)</_description>
-+ <description>Serbian (Latin Unicode)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>latinyz</name>
-- <_description>Serbian (Latin qwerty)</_description>
-+ <description>Serbian (Latin qwerty)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>latinunicodeyz</name>
-- <_description>Serbian (Latin Unicode qwerty)</_description>
-+ <description>Serbian (Latin Unicode qwerty)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>alternatequotes</name>
-- <_description>Serbian (Cyrillic with guillemets)</_description>
-+ <description>Serbian (Cyrillic with guillemets)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>latinalternatequotes</name>
-- <_description>Serbian (Latin with guillemets)</_description>
-+ <description>Serbian (Latin with guillemets)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>rue</name>
-- <_description>Pannonian Rusyn</_description>
-+ <description>Pannonian Rusyn</description>
- <languageList>
- <iso639Id>rue</iso639Id>
- </languageList>
-@@ -4432,9 +4432,9 @@
- <layout>
- <configItem>
- <name>si</name>
-- <!-- Keyboard indicator for Slovenian layouts -->
-- <_shortDescription>sl</_shortDescription>
-- <_description>Slovenian</_description>
-+
-+ <shortDescription>sl</shortDescription>
-+ <description>Slovenian</description>
- <languageList>
- <iso639Id>slv</iso639Id>
- </languageList>
-@@ -4443,13 +4443,13 @@
- <variant>
- <configItem>
- <name>alternatequotes</name>
-- <_description>Slovenian (use guillemets for quotes)</_description>
-+ <description>Slovenian (use guillemets for quotes)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>us</name>
-- <_description>Slovenian (US keyboard with Slovenian letters)</_description>
-+ <description>Slovenian (US keyboard with Slovenian letters)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -4457,9 +4457,9 @@
- <layout>
- <configItem>
- <name>sk</name>
-- <!-- Keyboard indicator for Slovak layouts -->
-- <_shortDescription>sk</_shortDescription>
-- <_description>Slovak</_description>
-+
-+ <shortDescription>sk</shortDescription>
-+ <description>Slovak</description>
- <languageList>
- <iso639Id>slo</iso639Id>
- </languageList>
-@@ -4468,19 +4468,19 @@
- <variant>
- <configItem>
- <name>bksl</name>
-- <_description>Slovak (extended Backslash)</_description>
-+ <description>Slovak (extended Backslash)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>qwerty</name>
-- <_description>Slovak (qwerty)</_description>
-+ <description>Slovak (qwerty)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>qwerty_bksl</name>
-- <_description>Slovak (qwerty, extended Backslash)</_description>
-+ <description>Slovak (qwerty, extended Backslash)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -4488,9 +4488,9 @@
- <layout>
- <configItem>
- <name>es</name>
-- <!-- Keyboard indicator for Spanish layouts -->
-- <_shortDescription>es</_shortDescription>
-- <_description>Spanish</_description>
-+
-+ <shortDescription>es</shortDescription>
-+ <description>Spanish</description>
- <languageList>
- <iso639Id>spa</iso639Id>
- </languageList>
-@@ -4499,31 +4499,31 @@
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Spanish (eliminate dead keys)</_description>
-+ <description>Spanish (eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>deadtilde</name>
-- <_description>Spanish (include dead tilde)</_description>
-+ <description>Spanish (include dead tilde)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sundeadkeys</name>
-- <_description>Spanish (Sun dead keys)</_description>
-+ <description>Spanish (Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>Spanish (Dvorak)</_description>
-+ <description>Spanish (Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ast</name>
-- <_description>Asturian (Spain, with bottom-dot H and bottom-dot L)</_description>
-+ <description>Asturian (Spain, with bottom-dot H and bottom-dot L)</description>
- <languageList>
- <iso639Id>ast</iso639Id>
- </languageList>
-@@ -4532,7 +4532,7 @@
- <variant>
- <configItem>
- <name>cat</name>
-- <_description>Catalan (Spain, with middle-dot L)</_description>
-+ <description>Catalan (Spain, with middle-dot L)</description>
- <languageList>
- <iso639Id>cat</iso639Id>
- </languageList>
-@@ -4541,7 +4541,7 @@
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>Spanish (Macintosh)</_description>
-+ <description>Spanish (Macintosh)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -4549,9 +4549,9 @@
- <layout>
- <configItem>
- <name>se</name>
-- <!-- Keyboard indicator for Swedish layouts -->
-- <_shortDescription>sv</_shortDescription>
-- <_description>Swedish</_description>
-+
-+ <shortDescription>sv</shortDescription>
-+ <description>Swedish</description>
- <languageList>
- <iso639Id>swe</iso639Id>
- </languageList>
-@@ -4560,21 +4560,21 @@
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Swedish (eliminate dead keys)</_description>
-+ <description>Swedish (eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>Swedish (Dvorak)</_description>
-+ <description>Swedish (Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>rus</name>
-- <!-- Keyboard indicator for Russian layouts -->
-- <_shortDescription>ru</_shortDescription>
-- <_description>Russian (Sweden, phonetic)</_description>
-+
-+ <shortDescription>ru</shortDescription>
-+ <description>Russian (Sweden, phonetic)</description>
- <languageList>
- <iso639Id>rus</iso639Id>
- </languageList>
-@@ -4583,9 +4583,9 @@
- <variant>
- <configItem>
- <name>rus_nodeadkeys</name>
-- <!-- Keyboard indicator for Russian layouts -->
-- <_shortDescription>ru</_shortDescription>
-- <_description>Russian (Sweden, phonetic, eliminate dead keys)</_description>
-+
-+ <shortDescription>ru</shortDescription>
-+ <description>Russian (Sweden, phonetic, eliminate dead keys)</description>
- <languageList>
- <iso639Id>rus</iso639Id>
- </languageList>
-@@ -4594,7 +4594,7 @@
- <variant>
- <configItem>
- <name>smi</name>
-- <_description>Northern Saami (Sweden)</_description>
-+ <description>Northern Saami (Sweden)</description>
- <languageList>
- <iso639Id>sme</iso639Id>
- </languageList>
-@@ -4603,19 +4603,19 @@
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>Swedish (Macintosh)</_description>
-+ <description>Swedish (Macintosh)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>svdvorak</name>
-- <_description>Swedish (Svdvorak)</_description>
-+ <description>Swedish (Svdvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>swl</name>
-- <_description>Swedish Sign Language</_description>
-+ <description>Swedish Sign Language</description>
- <languageList><iso639Id>swl</iso639Id></languageList>
- </configItem>
- </variant>
-@@ -4624,9 +4624,9 @@
- <layout>
- <configItem>
- <name>ch</name>
-- <!-- Keyboard indicator for German layouts -->
-- <_shortDescription>de</_shortDescription>
-- <_description>German (Switzerland)</_description>
-+
-+ <shortDescription>de</shortDescription>
-+ <description>German (Switzerland)</description>
- <languageList><iso639Id>ger</iso639Id>
- <iso639Id>gsw</iso639Id></languageList>
- </configItem>
-@@ -4634,31 +4634,31 @@
- <variant>
- <configItem>
- <name>legacy</name>
-- <_description>German (Switzerland, legacy)</_description>
-+ <description>German (Switzerland, legacy)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>de_nodeadkeys</name>
-- <!-- Keyboard indicator for German layouts -->
-- <_shortDescription>de</_shortDescription>
-- <_description>German (Switzerland, eliminate dead keys)</_description>
-+
-+ <shortDescription>de</shortDescription>
-+ <description>German (Switzerland, eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>de_sundeadkeys</name>
-- <!-- Keyboard indicator for German layouts -->
-- <_shortDescription>de</_shortDescription>
-- <_description>German (Switzerland, Sun dead keys)</_description>
-+
-+ <shortDescription>de</shortDescription>
-+ <description>German (Switzerland, Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>fr</name>
-- <!-- Keyboard indicator for French layouts -->
-- <_shortDescription>fr</_shortDescription>
-- <_description>French (Switzerland)</_description>
-+
-+ <shortDescription>fr</shortDescription>
-+ <description>French (Switzerland)</description>
- <languageList>
- <iso639Id>fra</iso639Id>
- </languageList>
-@@ -4667,9 +4667,9 @@
- <variant>
- <configItem>
- <name>fr_nodeadkeys</name>
-- <!-- Keyboard indicator for French layouts -->
-- <_shortDescription>fr</_shortDescription>
-- <_description>French (Switzerland, eliminate dead keys)</_description>
-+
-+ <shortDescription>fr</shortDescription>
-+ <description>French (Switzerland, eliminate dead keys)</description>
- <languageList>
- <iso639Id>fra</iso639Id>
- </languageList>
-@@ -4678,9 +4678,9 @@
- <variant>
- <configItem>
- <name>fr_sundeadkeys</name>
-- <!-- Keyboard indicator for French layouts -->
-- <_shortDescription>fr</_shortDescription>
-- <_description>French (Switzerland, Sun dead keys)</_description>
-+
-+ <shortDescription>fr</shortDescription>
-+ <description>French (Switzerland, Sun dead keys)</description>
- <languageList>
- <iso639Id>fra</iso639Id>
- </languageList>
-@@ -4689,9 +4689,9 @@
- <variant>
- <configItem>
- <name>fr_mac</name>
-- <!-- Keyboard indicator for French layouts -->
-- <_shortDescription>fr</_shortDescription>
-- <_description>French (Switzerland, Macintosh)</_description>
-+
-+ <shortDescription>fr</shortDescription>
-+ <description>French (Switzerland, Macintosh)</description>
- <languageList>
- <iso639Id>fra</iso639Id>
- </languageList>
-@@ -4700,9 +4700,9 @@
- <variant>
- <configItem>
- <name>de_mac</name>
-- <!-- Keyboard indicator for German layouts -->
-- <_shortDescription>de</_shortDescription>
-- <_description>German (Switzerland, Macintosh)</_description>
-+
-+ <shortDescription>de</shortDescription>
-+ <description>German (Switzerland, Macintosh)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -4710,9 +4710,9 @@
- <layout>
- <configItem>
- <name>sy</name>
-- <!-- Keyboard indicator for Arabic layouts -->
-- <_shortDescription>ar</_shortDescription>
-- <_description>Arabic (Syria)</_description>
-+
-+ <shortDescription>ar</shortDescription>
-+ <description>Arabic (Syria)</description>
- <languageList>
- <iso639Id>syr</iso639Id>
- </languageList>
-@@ -4721,25 +4721,25 @@
- <variant>
- <configItem>
- <name>syc</name>
-- <!-- Keyboard indicator for Syriac layouts -->
-- <_shortDescription>syc</_shortDescription>
-- <_description>Syriac</_description>
-+
-+ <shortDescription>syc</shortDescription>
-+ <description>Syriac</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>syc_phonetic</name>
-- <!-- Keyboard indicator for Syriac layouts -->
-- <_shortDescription>syc</_shortDescription>
-- <_description>Syriac (phonetic)</_description>
-+
-+ <shortDescription>syc</shortDescription>
-+ <description>Syriac (phonetic)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ku</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Syria, Latin Q)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Syria, Latin Q)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -4748,9 +4748,9 @@
- <variant>
- <configItem>
- <name>ku_f</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Syria, F)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Syria, F)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -4759,9 +4759,9 @@
- <variant>
- <configItem>
- <name>ku_alt</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Syria, Latin Alt-Q)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Syria, Latin Alt-Q)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -4772,9 +4772,9 @@
- <layout>
- <configItem>
- <name>tj</name>
-- <!-- Keyboard indicator for Tajik layouts -->
-- <_shortDescription>tg</_shortDescription>
-- <_description>Tajik</_description>
-+
-+ <shortDescription>tg</shortDescription>
-+ <description>Tajik</description>
- <languageList>
- <iso639Id>tgk</iso639Id>
- </languageList>
-@@ -4783,7 +4783,7 @@
- <variant>
- <configItem>
- <name>legacy</name>
-- <_description>Tajik (legacy)</_description>
-+ <description>Tajik (legacy)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -4791,9 +4791,9 @@
- <layout>
- <configItem>
- <name>lk</name>
-- <!-- Keyboard indicator for Sinhala layouts -->
-- <_shortDescription>si</_shortDescription>
-- <_description>Sinhala (phonetic)</_description>
-+
-+ <shortDescription>si</shortDescription>
-+ <description>Sinhala (phonetic)</description>
- <languageList>
- <iso639Id>sin</iso639Id>
- </languageList>
-@@ -4802,9 +4802,9 @@
- <variant>
- <configItem>
- <name>tam_unicode</name>
-- <!-- Keyboard indicator for Tamil layouts -->
-- <_shortDescription>ta</_shortDescription>
-- <_description>Tamil (Sri Lanka, Unicode)</_description>
-+
-+ <shortDescription>ta</shortDescription>
-+ <description>Tamil (Sri Lanka, Unicode)</description>
- <languageList>
- <iso639Id>tam</iso639Id>
- </languageList>
-@@ -4813,7 +4813,7 @@
- <variant>
- <configItem>
- <name>tam_TAB</name>
-- <_description>Tamil (Sri Lanka, TAB Typewriter)</_description>
-+ <description>Tamil (Sri Lanka, TAB Typewriter)</description>
- <languageList>
- <iso639Id>tam</iso639Id>
- </languageList>
-@@ -4824,9 +4824,9 @@
- <layout>
- <configItem>
- <name>th</name>
-- <!-- Keyboard indicator for Thai layouts -->
-- <_shortDescription>th</_shortDescription>
-- <_description>Thai</_description>
-+
-+ <shortDescription>th</shortDescription>
-+ <description>Thai</description>
- <languageList>
- <iso639Id>tha</iso639Id>
- </languageList>
-@@ -4835,13 +4835,13 @@
- <variant>
- <configItem>
- <name>tis</name>
-- <_description>Thai (TIS-820.2538)</_description>
-+ <description>Thai (TIS-820.2538)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>pat</name>
-- <_description>Thai (Pattachote)</_description>
-+ <description>Thai (Pattachote)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -4849,9 +4849,9 @@
- <layout>
- <configItem>
- <name>tr</name>
-- <!-- Keyboard indicator for Turkish layouts -->
-- <_shortDescription>tr</_shortDescription>
-- <_description>Turkish</_description>
-+
-+ <shortDescription>tr</shortDescription>
-+ <description>Turkish</description>
- <languageList>
- <iso639Id>tur</iso639Id>
- </languageList>
-@@ -4860,27 +4860,27 @@
- <variant>
- <configItem>
- <name>f</name>
-- <_description>Turkish (F)</_description>
-+ <description>Turkish (F)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>alt</name>
-- <_description>Turkish (Alt-Q)</_description>
-+ <description>Turkish (Alt-Q)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sundeadkeys</name>
-- <_description>Turkish (Sun dead keys)</_description>
-+ <description>Turkish (Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ku</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Turkey, Latin Q)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Turkey, Latin Q)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -4889,9 +4889,9 @@
- <variant>
- <configItem>
- <name>ku_f</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Turkey, F)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Turkey, F)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -4900,9 +4900,9 @@
- <variant>
- <configItem>
- <name>ku_alt</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Turkey, Latin Alt-Q)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Turkey, Latin Alt-Q)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -4911,15 +4911,15 @@
- <variant>
- <configItem>
- <name>intl</name>
-- <_description>Turkish (international with dead keys)</_description>
-+ <description>Turkish (international with dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>crh</name>
-- <!-- Keyboard indicator for Crimean Tatar layouts -->
-- <_shortDescription>crh</_shortDescription>
-- <_description>Crimean Tatar (Turkish Q)</_description>
-+
-+ <shortDescription>crh</shortDescription>
-+ <description>Crimean Tatar (Turkish Q)</description>
- <languageList>
- <iso639Id>crh</iso639Id>
- </languageList>
-@@ -4928,9 +4928,9 @@
- <variant>
- <configItem>
- <name>crh_f</name>
-- <!-- Keyboard indicator for Crimean Tatar layouts -->
-- <_shortDescription>crh</_shortDescription>
-- <_description>Crimean Tatar (Turkish F)</_description>
-+
-+ <shortDescription>crh</shortDescription>
-+ <description>Crimean Tatar (Turkish F)</description>
- <languageList>
- <iso639Id>crh</iso639Id>
- </languageList>
-@@ -4939,9 +4939,9 @@
- <variant>
- <configItem>
- <name>crh_alt</name>
-- <!-- Keyboard indicator for Crimean Tatar layouts -->
-- <_shortDescription>crh</_shortDescription>
-- <_description>Crimean Tatar (Turkish Alt-Q)</_description>
-+
-+ <shortDescription>crh</shortDescription>
-+ <description>Crimean Tatar (Turkish Alt-Q)</description>
- <languageList>
- <iso639Id>crh</iso639Id>
- </languageList>
-@@ -4952,9 +4952,9 @@
- <layout>
- <configItem>
- <name>tw</name>
-- <!-- Keyboard indicator for Taiwanese layouts -->
-- <_shortDescription>zh</_shortDescription>
-- <_description>Taiwanese</_description>
-+
-+ <shortDescription>zh</shortDescription>
-+ <description>Taiwanese</description>
- <languageList>
- <iso639Id>fox</iso639Id>
- </languageList>
-@@ -4963,7 +4963,7 @@
- <variant>
- <configItem>
- <name>indigenous</name>
-- <_description>Taiwanese (indigenous)</_description>
-+ <description>Taiwanese (indigenous)</description>
- <languageList>
- <iso639Id>ami</iso639Id>
- <iso639Id>tay</iso639Id>
-@@ -4987,9 +4987,9 @@
- <variant>
- <configItem>
- <name>saisiyat</name>
-- <!-- Keyboard indicator for Saisiyat layouts -->
-- <_shortDescription>xsy</_shortDescription>
-- <_description>Saisiyat (Taiwan)</_description>
-+
-+ <shortDescription>xsy</shortDescription>
-+ <description>Saisiyat (Taiwan)</description>
- <languageList>
- <iso639Id>xsy</iso639Id>
- </languageList>
-@@ -5000,9 +5000,9 @@
- <layout>
- <configItem>
- <name>ua</name>
-- <!-- Keyboard indicator for Ukranian layouts -->
-- <_shortDescription>uk</_shortDescription>
-- <_description>Ukrainian</_description>
-+
-+ <shortDescription>uk</shortDescription>
-+ <description>Ukrainian</description>
- <languageList>
- <iso639Id>ukr</iso639Id>
- </languageList>
-@@ -5011,43 +5011,43 @@
- <variant>
- <configItem>
- <name>phonetic</name>
-- <_description>Ukrainian (phonetic)</_description>
-+ <description>Ukrainian (phonetic)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>typewriter</name>
-- <_description>Ukrainian (typewriter)</_description>
-+ <description>Ukrainian (typewriter)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>winkeys</name>
-- <_description>Ukrainian (WinKeys)</_description>
-+ <description>Ukrainian (WinKeys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>legacy</name>
-- <_description>Ukrainian (legacy)</_description>
-+ <description>Ukrainian (legacy)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>rstu</name>
-- <_description>Ukrainian (standard RSTU)</_description>
-+ <description>Ukrainian (standard RSTU)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>rstu_ru</name>
-- <_description>Russian (Ukraine, standard RSTU)</_description>
-+ <description>Russian (Ukraine, standard RSTU)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>homophonic</name>
-- <_description>Ukrainian (homophonic)</_description>
-+ <description>Ukrainian (homophonic)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -5055,9 +5055,9 @@
- <layout>
- <configItem>
- <name>gb</name>
-- <!-- Keyboard indicator for English layouts -->
-- <_shortDescription>en</_shortDescription>
-- <_description>English (UK)</_description>
-+
-+ <shortDescription>en</shortDescription>
-+ <description>English (UK)</description>
- <languageList>
- <iso639Id>eng</iso639Id>
- </languageList>
-@@ -5066,43 +5066,43 @@
- <variant>
- <configItem>
- <name>extd</name>
-- <_description>English (UK, extended WinKeys)</_description>
-+ <description>English (UK, extended WinKeys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>intl</name>
-- <_description>English (UK, international with dead keys)</_description>
-+ <description>English (UK, international with dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>English (UK, Dvorak)</_description>
-+ <description>English (UK, Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorakukp</name>
-- <_description>English (UK, Dvorak with UK punctuation)</_description>
-+ <description>English (UK, Dvorak with UK punctuation)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>English (UK, Macintosh)</_description>
-+ <description>English (UK, Macintosh)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac_intl</name>
-- <_description>English (UK, Macintosh international)</_description>
-+ <description>English (UK, Macintosh international)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>colemak</name>
-- <_description>English (UK, Colemak)</_description>
-+ <description>English (UK, Colemak)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -5110,9 +5110,9 @@
- <layout>
- <configItem>
- <name>uz</name>
-- <!-- Keyboard indicator for Uzbek layouts -->
-- <_shortDescription>uz</_shortDescription>
-- <_description>Uzbek</_description>
-+
-+ <shortDescription>uz</shortDescription>
-+ <description>Uzbek</description>
- <languageList>
- <iso639Id>uzb</iso639Id>
- </languageList>
-@@ -5121,7 +5121,7 @@
- <variant>
- <configItem>
- <name>latin</name>
-- <_description>Uzbek (Latin)</_description>
-+ <description>Uzbek (Latin)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -5129,9 +5129,9 @@
- <layout>
- <configItem>
- <name>vn</name>
-- <!-- Keyboard indicator for Vietnamese layouts -->
-- <_shortDescription>vi</_shortDescription>
-- <_description>Vietnamese</_description>
-+
-+ <shortDescription>vi</shortDescription>
-+ <description>Vietnamese</description>
- <languageList>
- <iso639Id>vie</iso639Id>
- </languageList>
-@@ -5141,9 +5141,9 @@
- <layout>
- <configItem>
- <name>kr</name>
-- <!-- Keyboard indicator for Korean layouts -->
-- <_shortDescription>ko</_shortDescription>
-- <_description>Korean</_description>
-+
-+ <shortDescription>ko</shortDescription>
-+ <description>Korean</description>
- <languageList>
- <iso639Id>kor</iso639Id>
- </languageList>
-@@ -5152,7 +5152,7 @@
- <variant>
- <configItem>
- <name>kr104</name>
-- <_description>Korean (101/104 key compatible)</_description>
-+ <description>Korean (101/104 key compatible)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -5160,9 +5160,9 @@
- <layout>
- <configItem>
- <name>nec_vndr/jp</name>
-- <!-- Keyboard indicator for Japanese layouts -->
-- <_shortDescription>ja</_shortDescription>
-- <_description>Japanese (PC-98xx Series)</_description>
-+
-+ <shortDescription>ja</shortDescription>
-+ <description>Japanese (PC-98xx Series)</description>
- <countryList>
- <iso3166Id>JP</iso3166Id>
- </countryList>
-@@ -5175,9 +5175,9 @@
- <layout>
- <configItem>
- <name>ie</name>
-- <!-- Keyboard indicator for Irish layouts -->
-- <_shortDescription>ie</_shortDescription>
-- <_description>Irish</_description>
-+
-+ <shortDescription>ie</shortDescription>
-+ <description>Irish</description>
- <languageList>
- <iso639Id>eng</iso639Id>
- </languageList>
-@@ -5186,7 +5186,7 @@
- <variant>
- <configItem>
- <name>CloGaelach</name>
-- <_description>CloGaelach</_description>
-+ <description>CloGaelach</description>
- <languageList>
- <iso639Id>gle</iso639Id>
- </languageList>
-@@ -5195,13 +5195,13 @@
- <variant>
- <configItem>
- <name>UnicodeExpert</name>
-- <_description>Irish (UnicodeExpert)</_description>
-+ <description>Irish (UnicodeExpert)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ogam</name>
-- <_description>Ogham</_description>
-+ <description>Ogham</description>
- <languageList>
- <iso639Id>sga</iso639Id>
- </languageList>
-@@ -5210,7 +5210,7 @@
- <variant>
- <configItem>
- <name>ogam_is434</name>
-- <_description>Ogham (IS434)</_description>
-+ <description>Ogham (IS434)</description>
- <languageList>
- <iso639Id>sga</iso639Id>
- </languageList>
-@@ -5221,9 +5221,9 @@
- <layout>
- <configItem>
- <name>pk</name>
-- <!-- Keyboard indicator for Urdu layouts -->
-- <_shortDescription>ur</_shortDescription>
-- <_description>Urdu (Pakistan)</_description>
-+
-+ <shortDescription>ur</shortDescription>
-+ <description>Urdu (Pakistan)</description>
- <languageList>
- <iso639Id>urd</iso639Id>
- </languageList>
-@@ -5232,20 +5232,20 @@
- <variant>
- <configItem>
- <name>urd-crulp</name>
-- <_description>Urdu (Pakistan, CRULP)</_description>
-+ <description>Urdu (Pakistan, CRULP)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>urd-nla</name>
-- <_description>Urdu (Pakistan, NLA)</_description>
-+ <description>Urdu (Pakistan, NLA)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ara</name>
-- <_shortDescription>ar</_shortDescription>
-- <_description>Arabic (Pakistan)</_description>
-+ <shortDescription>ar</shortDescription>
-+ <description>Arabic (Pakistan)</description>
- <languageList>
- <iso639Id>ara</iso639Id>
- </languageList>
-@@ -5254,9 +5254,9 @@
- <variant>
- <configItem>
- <name>snd</name>
-- <!-- Keyboard indicator for Sindhi layouts -->
-- <_shortDescription>sd</_shortDescription>
-- <_description>Sindhi</_description>
-+
-+ <shortDescription>sd</shortDescription>
-+ <description>Sindhi</description>
- <languageList>
- <iso639Id>snd</iso639Id>
- </languageList>
-@@ -5267,9 +5267,9 @@
- <layout>
- <configItem>
- <name>mv</name>
-- <!-- Keyboard indicator for Dhivehi layouts -->
-- <_shortDescription>dv</_shortDescription>
-- <_description>Dhivehi</_description>
-+
-+ <shortDescription>dv</shortDescription>
-+ <description>Dhivehi</description>
- <languageList>
- <iso639Id>div</iso639Id>
- </languageList>
-@@ -5279,9 +5279,9 @@
- <layout>
- <configItem>
- <name>za</name>
-- <!-- Keyboard indicator for English layouts -->
-- <_shortDescription>en</_shortDescription>
-- <_description>English (South Africa)</_description>
-+
-+ <shortDescription>en</shortDescription>
-+ <description>English (South Africa)</description>
- <languageList>
- <iso639Id>eng</iso639Id>
- </languageList>
-@@ -5290,9 +5290,9 @@
- <layout>
- <configItem>
- <name>epo</name>
-- <!-- Keyboard indicator for Esperanto layouts -->
-- <_shortDescription>eo</_shortDescription>
-- <_description>Esperanto</_description>
-+
-+ <shortDescription>eo</shortDescription>
-+ <description>Esperanto</description>
- <languageList>
- <iso639Id>epo</iso639Id>
- </languageList>
-@@ -5301,7 +5301,7 @@
- <variant>
- <configItem>
- <name>legacy</name>
-- <_description>Esperanto (displaced semicolon and quote, obsolete)</_description>
-+ <description>Esperanto (displaced semicolon and quote, obsolete)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -5309,9 +5309,9 @@
- <layout>
- <configItem>
- <name>np</name>
-- <!-- Keyboard indicator for Nepali layouts -->
-- <_shortDescription>ne</_shortDescription>
-- <_description>Nepali</_description>
-+
-+ <shortDescription>ne</shortDescription>
-+ <description>Nepali</description>
- <languageList>
- <iso639Id>nep</iso639Id>
- </languageList>
-@@ -5320,9 +5320,9 @@
- <layout>
- <configItem>
- <name>ng</name>
-- <!-- Keyboard indicator for English layouts -->
-- <_shortDescription>en</_shortDescription>
-- <_description>English (Nigeria)</_description>
-+
-+ <shortDescription>en</shortDescription>
-+ <description>English (Nigeria)</description>
- <languageList>
- <iso639Id>eng</iso639Id>
- </languageList>
-@@ -5331,9 +5331,9 @@
- <variant>
- <configItem>
- <name>igbo</name>
-- <!-- Keyboard indicator for Igbo layouts -->
-- <_shortDescription>ig</_shortDescription>
-- <_description>Igbo</_description>
-+
-+ <shortDescription>ig</shortDescription>
-+ <description>Igbo</description>
- <languageList>
- <iso639Id>ibo</iso639Id>
- </languageList>
-@@ -5342,9 +5342,9 @@
- <variant>
- <configItem>
- <name>yoruba</name>
-- <!-- Keyboard indicator for Yoruba layouts -->
-- <_shortDescription>yo</_shortDescription>
-- <_description>Yoruba</_description>
-+
-+ <shortDescription>yo</shortDescription>
-+ <description>Yoruba</description>
- <languageList>
- <iso639Id>yor</iso639Id>
- </languageList>
-@@ -5353,9 +5353,9 @@
- <variant>
- <configItem>
- <name>hausa</name>
-- <!-- Keyboard indicator for Hausa layouts -->
-- <_shortDescription>ha</_shortDescription>
-- <_description>Hausa</_description>
-+
-+ <shortDescription>ha</shortDescription>
-+ <description>Hausa</description>
- <languageList>
- <iso639Id>hau</iso639Id>
- </languageList>
-@@ -5366,9 +5366,9 @@
- <layout>
- <configItem>
- <name>et</name>
-- <!-- Keyboard indicator for Amharic layouts -->
-- <_shortDescription>am</_shortDescription>
-- <_description>Amharic</_description>
-+
-+ <shortDescription>am</shortDescription>
-+ <description>Amharic</description>
- <languageList>
- <iso639Id>amh</iso639Id>
- </languageList>
-@@ -5378,9 +5378,9 @@
- <layout>
- <configItem>
- <name>sn</name>
-- <!-- Keyboard indicator for Wolof layouts -->
-- <_shortDescription>wo</_shortDescription>
-- <_description>Wolof</_description>
-+
-+ <shortDescription>wo</shortDescription>
-+ <description>Wolof</description>
- <languageList>
- <iso639Id>wol</iso639Id>
- </languageList>
-@@ -5390,21 +5390,21 @@
- <layout>
- <configItem>
- <name>brai</name>
-- <!-- Keyboard indicator for Braille layouts -->
-- <_shortDescription>brl</_shortDescription>
-- <_description>Braille</_description>
-+
-+ <shortDescription>brl</shortDescription>
-+ <description>Braille</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>left_hand</name>
-- <_description>Braille (left hand)</_description>
-+ <description>Braille (left hand)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>right_hand</name>
-- <_description>Braille (right hand)</_description>
-+ <description>Braille (right hand)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -5412,9 +5412,9 @@
- <layout>
- <configItem>
- <name>tm</name>
-- <!-- Keyboard indicator for Turkmen layouts -->
-- <_shortDescription>tk</_shortDescription>
-- <_description>Turkmen</_description>
-+
-+ <shortDescription>tk</shortDescription>
-+ <description>Turkmen</description>
- <languageList>
- <iso639Id>tuk</iso639Id>
- </languageList>
-@@ -5423,7 +5423,7 @@
- <variant>
- <configItem>
- <name>alt</name>
-- <_description>Turkmen (Alt-Q)</_description>
-+ <description>Turkmen (Alt-Q)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -5431,9 +5431,9 @@
- <layout>
- <configItem>
- <name>ml</name>
-- <!-- Keyboard indicator for Bambara layouts -->
-- <_shortDescription>bm</_shortDescription>
-- <_description>Bambara</_description>
-+
-+ <shortDescription>bm</shortDescription>
-+ <description>Bambara</description>
- <languageList>
- <iso639Id>bam</iso639Id>
- </languageList>
-@@ -5442,9 +5442,9 @@
- <variant>
- <configItem>
- <name>fr-oss</name>
-- <!-- Keyboard indicator for French layouts -->
-- <_shortDescription>fr</_shortDescription>
-- <_description>French (Mali, alternative)</_description>
-+
-+ <shortDescription>fr</shortDescription>
-+ <description>French (Mali, alternative)</description>
- <languageList>
- <iso639Id>fra</iso639Id>
- </languageList>
-@@ -5453,9 +5453,9 @@
- <variant>
- <configItem>
- <name>us-mac</name>
-- <!-- Keyboard indicator for English layouts -->
-- <_shortDescription>en</_shortDescription>
-- <_description>English (Mali, US Macintosh)</_description>
-+
-+ <shortDescription>en</shortDescription>
-+ <description>English (Mali, US Macintosh)</description>
- <languageList>
- <iso639Id>eng</iso639Id>
- </languageList>
-@@ -5464,9 +5464,9 @@
- <variant>
- <configItem>
- <name>us-intl</name>
-- <!-- Keyboard indicator for English layouts -->
-- <_shortDescription>en</_shortDescription>
-- <_description>English (Mali, US international)</_description>
-+
-+ <shortDescription>en</shortDescription>
-+ <description>English (Mali, US international)</description>
- <languageList>
- <iso639Id>eng</iso639Id>
- </languageList>
-@@ -5477,9 +5477,9 @@
- <layout>
- <configItem>
- <name>tz</name>
-- <!-- Keyboard indicator for Swahili layouts -->
-- <_shortDescription>sw</_shortDescription>
-- <_description>Swahili (Tanzania)</_description>
-+
-+ <shortDescription>sw</shortDescription>
-+ <description>Swahili (Tanzania)</description>
- <languageList>
- <iso639Id>swa</iso639Id>
- </languageList>
-@@ -5488,9 +5488,9 @@
- <layout>
- <configItem>
- <name>ke</name>
-- <!-- Keyboard indicator for Swahili layouts -->
-- <_shortDescription>sw</_shortDescription>
-- <_description>Swahili (Kenya)</_description>
-+
-+ <shortDescription>sw</shortDescription>
-+ <description>Swahili (Kenya)</description>
- <languageList>
- <iso639Id>swa</iso639Id>
- </languageList>
-@@ -5499,9 +5499,9 @@
- <variant>
- <configItem>
- <name>kik</name>
-- <!-- Keyboard indicator for Kikuyu layouts -->
-- <_shortDescription>ki</_shortDescription>
-- <_description>Kikuyu</_description>
-+
-+ <shortDescription>ki</shortDescription>
-+ <description>Kikuyu</description>
- <languageList>
- <iso639Id>kik</iso639Id>
- </languageList>
-@@ -5512,9 +5512,9 @@
- <layout>
- <configItem>
- <name>bw</name>
-- <!-- Keyboard indicator for Tswana layouts -->
-- <_shortDescription>tn</_shortDescription>
-- <_description>Tswana</_description>
-+
-+ <shortDescription>tn</shortDescription>
-+ <description>Tswana</description>
- <languageList>
- <iso639Id>tsn</iso639Id>
- </languageList>
-@@ -5523,9 +5523,9 @@
- <layout>
- <configItem>
- <name>ph</name>
-- <!-- Keyboard indicator for Filipino layouts -->
-- <_shortDescription>ph</_shortDescription>
-- <_description>Filipino</_description>
-+
-+ <shortDescription>ph</shortDescription>
-+ <description>Filipino</description>
- <languageList><iso639Id>eng</iso639Id>
- <iso639Id>bik</iso639Id>
- <iso639Id>ceb</iso639Id>
-@@ -5542,7 +5542,7 @@
- <variant>
- <configItem>
- <name>qwerty-bay</name>
-- <_description>Filipino (QWERTY Baybayin)</_description>
-+ <description>Filipino (QWERTY Baybayin)</description>
- <languageList><iso639Id>bik</iso639Id>
- <iso639Id>ceb</iso639Id>
- <iso639Id>fil</iso639Id>
-@@ -5558,13 +5558,13 @@
- <variant>
- <configItem>
- <name>capewell-dvorak</name>
-- <_description>Filipino (Capewell-Dvorak Latin)</_description>
-+ <description>Filipino (Capewell-Dvorak Latin)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>capewell-dvorak-bay</name>
-- <_description>Filipino (Capewell-Dvorak Baybayin)</_description>
-+ <description>Filipino (Capewell-Dvorak Baybayin)</description>
- <languageList><iso639Id>bik</iso639Id>
- <iso639Id>ceb</iso639Id>
- <iso639Id>fil</iso639Id>
-@@ -5580,13 +5580,13 @@
- <variant>
- <configItem>
- <name>capewell-qwerf2k6</name>
-- <_description>Filipino (Capewell-QWERF 2006 Latin)</_description>
-+ <description>Filipino (Capewell-QWERF 2006 Latin)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>capewell-qwerf2k6-bay</name>
-- <_description>Filipino (Capewell-QWERF 2006 Baybayin)</_description>
-+ <description>Filipino (Capewell-QWERF 2006 Baybayin)</description>
- <languageList><iso639Id>bik</iso639Id>
- <iso639Id>ceb</iso639Id>
- <iso639Id>fil</iso639Id>
-@@ -5602,13 +5602,13 @@
- <variant>
- <configItem>
- <name>colemak</name>
-- <_description>Filipino (Colemak Latin)</_description>
-+ <description>Filipino (Colemak Latin)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>colemak-bay</name>
-- <_description>Filipino (Colemak Baybayin)</_description>
-+ <description>Filipino (Colemak Baybayin)</description>
- <languageList><iso639Id>bik</iso639Id>
- <iso639Id>ceb</iso639Id>
- <iso639Id>fil</iso639Id>
-@@ -5624,13 +5624,13 @@
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>Filipino (Dvorak Latin)</_description>
-+ <description>Filipino (Dvorak Latin)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak-bay</name>
-- <_description>Filipino (Dvorak Baybayin)</_description>
-+ <description>Filipino (Dvorak Baybayin)</description>
- <languageList><iso639Id>bik</iso639Id>
- <iso639Id>ceb</iso639Id>
- <iso639Id>fil</iso639Id>
-@@ -5648,16 +5648,16 @@
- <layout>
- <configItem>
- <name>md</name>
-- <_shortDescription>md</_shortDescription>
-- <_description>Moldavian</_description>
-+ <shortDescription>md</shortDescription>
-+ <description>Moldavian</description>
- <languageList><iso639Id>rum</iso639Id></languageList>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>gag</name>
-- <_shortDescription>gag</_shortDescription>
-- <_description>Moldavian (Gagauz)</_description>
-+ <shortDescription>gag</shortDescription>
-+ <description>Moldavian (Gagauz)</description>
- <languageList><iso639Id>gag</iso639Id></languageList>
- </configItem>
- </variant>
-@@ -5666,1183 +5666,1142 @@
- </layoutList>
- <optionList>
- <group allowMultipleSelection="true">
-- <!-- The key combination used to switch between groups -->
-+
- <configItem>
- <name>grp</name>
-- <_description>Switching to another layout</_description>
-+ <description>Switching to another layout</description>
- </configItem>
- <option>
- <configItem>
- <name>grp:switch</name>
-- <_description>Right Alt (while pressed)</_description>
-+ <description>Right Alt (while pressed)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:lswitch</name>
-- <_description>Left Alt (while pressed)</_description>
-+ <description>Left Alt (while pressed)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:lwin_switch</name>
-- <_description>Left Win (while pressed)</_description>
-+ <description>Left Win (while pressed)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:rwin_switch</name>
-- <_description>Right Win (while pressed)</_description>
-+ <description>Right Win (while pressed)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:win_switch</name>
-- <_description>Any Win key (while pressed)</_description>
-+ <description>Any Win key (while pressed)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:caps_switch</name>
-- <_description>Caps Lock (while pressed), Alt+Caps Lock does the original capslock action</_description>
-+ <description>Caps Lock (while pressed), Alt+Caps Lock does the original capslock action</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:rctrl_switch</name>
-- <_description>Right Ctrl (while pressed)</_description>
-+ <description>Right Ctrl (while pressed)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:toggle</name>
-- <_description>Right Alt</_description>
-+ <description>Right Alt</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:lalt_toggle</name>
-- <_description>Left Alt</_description>
-+ <description>Left Alt</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:caps_toggle</name>
-- <_description>Caps Lock</_description>
-+ <description>Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:shift_caps_toggle</name>
-- <_description>Shift+Caps Lock</_description>
-+ <description>Shift+Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:shift_caps_switch</name>
-- <_description>Caps Lock (to first layout), Shift+Caps Lock (to last layout)</_description>
-+ <description>Caps Lock (to first layout), Shift+Caps Lock (to last layout)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:win_menu_switch</name>
-- <_description>Left Win (to first layout), Right Win/Menu (to last layout)</_description>
-+ <description>Left Win (to first layout), Right Win/Menu (to last layout)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:lctrl_rctrl_switch</name>
-- <_description>Left Ctrl (to first layout), Right Ctrl (to last layout)</_description>
-+ <description>Left Ctrl (to first layout), Right Ctrl (to last layout)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:alt_caps_toggle</name>
-- <_description>Alt+Caps Lock</_description>
-+ <description>Alt+Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:shifts_toggle</name>
-- <_description>Both Shift keys together</_description>
-+ <description>Both Shift keys together</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:alts_toggle</name>
-- <_description>Both Alt keys together</_description>
-+ <description>Both Alt keys together</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:ctrls_toggle</name>
-- <_description>Both Ctrl keys together</_description>
-+ <description>Both Ctrl keys together</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:ctrl_shift_toggle</name>
-- <_description>Ctrl+Shift</_description>
-+ <description>Ctrl+Shift</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:lctrl_lshift_toggle</name>
-- <_description>Left Ctrl+Left Shift</_description>
-+ <description>Left Ctrl+Left Shift</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:rctrl_rshift_toggle</name>
-- <_description>Right Ctrl+Right Shift</_description>
-+ <description>Right Ctrl+Right Shift</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:ctrl_alt_toggle</name>
-- <_description>Alt+Ctrl</_description>
-+ <description>Alt+Ctrl</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:alt_shift_toggle</name>
-- <_description>Alt+Shift</_description>
-+ <description>Alt+Shift</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:lalt_lshift_toggle</name>
-- <_description>Left Alt+Left Shift</_description>
-+ <description>Left Alt+Left Shift</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:alt_space_toggle</name>
-- <_description>Alt+Space</_description>
-+ <description>Alt+Space</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:menu_toggle</name>
-- <_description>Menu</_description>
-+ <description>Menu</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:lwin_toggle</name>
-- <_description>Left Win</_description>
-+ <description>Left Win</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:rwin_toggle</name>
-- <_description>Right Win</_description>
-+ <description>Right Win</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:lshift_toggle</name>
-- <_description>Left Shift</_description>
-+ <description>Left Shift</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:rshift_toggle</name>
-- <_description>Right Shift</_description>
-+ <description>Right Shift</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:lctrl_toggle</name>
-- <_description>Left Ctrl</_description>
-+ <description>Left Ctrl</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:rctrl_toggle</name>
-- <_description>Right Ctrl</_description>
-+ <description>Right Ctrl</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:sclk_toggle</name>
-- <_description>Scroll Lock</_description>
-+ <description>Scroll Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:lctrl_lwin_rctrl_menu</name>
-- <_description>LeftCtrl+LeftWin (to first layout), RightCtrl+Menu (to second layout)</_description>
-+ <description>LeftCtrl+LeftWin (to first layout), RightCtrl+Menu (to second layout)</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="true">
-- <!-- The key combination used to choose the 3rd (and 4th, together with Shift)
-- level of symbols -->
-+
- <configItem>
- <name>lv3</name>
-- <_description>Key to choose 3rd level</_description>
-+ <description>Key to choose 3rd level</description>
- </configItem>
- <option>
- <configItem>
- <name>lv3:switch</name>
-- <_description>Right Ctrl</_description>
-+ <description>Right Ctrl</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:menu_switch</name>
-- <_description>Menu</_description>
-+ <description>Menu</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:win_switch</name>
-- <_description>Any Win key</_description>
-+ <description>Any Win key</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:lwin_switch</name>
-- <_description>Left Win</_description>
-+ <description>Left Win</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:rwin_switch</name>
-- <_description>Right Win</_description>
-+ <description>Right Win</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:alt_switch</name>
-- <_description>Any Alt key</_description>
-+ <description>Any Alt key</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:lalt_switch</name>
-- <_description>Left Alt</_description>
-+ <description>Left Alt</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:ralt_switch</name>
-- <_description>Right Alt</_description>
-+ <description>Right Alt</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:ralt_switch_multikey</name>
-- <_description>Right Alt, Shift+Right Alt key is Compose</_description>
-+ <description>Right Alt, Shift+Right Alt key is Compose</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:ralt_alt</name>
-- <_description>Right Alt key never chooses 3rd level</_description>
-+ <description>Right Alt key never chooses 3rd level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:enter_switch</name>
-- <_description>Enter on keypad</_description>
-+ <description>Enter on keypad</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:caps_switch</name>
-- <_description>Caps Lock</_description>
-+ <description>Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:bksl_switch</name>
-- <_description>Backslash</_description>
-+ <description>Backslash</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:lsgt_switch</name>
-- <_description>&lt;Less/Greater&gt;</_description>
-+ <description>&lt;Less/Greater&gt;</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:caps_switch_latch</name>
-- <_description>Caps Lock chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser</_description>
-+ <description>Caps Lock chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:bksl_switch_latch</name>
-- <_description>Backslash chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser</_description>
-+ <description>Backslash chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:lsgt_switch_latch</name>
-- <_description>&lt;Less/Greater&gt; chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser</_description>
-+ <description>&lt;Less/Greater&gt; chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="true">
-- <!-- Tweaking the position of the "Ctrl" key -->
-+
- <configItem>
- <name>ctrl</name>
-- <_description>Ctrl key position</_description>
-+ <description>Ctrl key position</description>
- </configItem>
- <option>
- <configItem>
- <name>ctrl:nocaps</name>
-- <_description>Caps Lock as Ctrl</_description>
-+ <description>Caps Lock as Ctrl</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>ctrl:lctrl_meta</name>
-- <_description>Left Ctrl as Meta</_description>
-+ <description>Left Ctrl as Meta</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>ctrl:swapcaps</name>
-- <_description>Swap Ctrl and Caps Lock</_description>
-+ <description>Swap Ctrl and Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>ctrl:ac_ctrl</name>
-- <_description>At left of 'A'</_description>
-+ <description>At left of 'A'</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>ctrl:aa_ctrl</name>
-- <_description>At bottom left</_description>
-+ <description>At bottom left</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>ctrl:rctrl_ralt</name>
-- <_description>Right Ctrl as Right Alt</_description>
-+ <description>Right Ctrl as Right Alt</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>ctrl:menu_rctrl</name>
-- <_description>Menu as Right Ctrl</_description>
-+ <description>Menu as Right Ctrl</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>ctrl:ctrl_ralt</name>
-- <_description>Right Alt as Right Ctrl</_description>
-+ <description>Right Alt as Right Ctrl</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>ctrl:swap_lalt_lctl</name>
-- <_description>Swap Left Alt key with Left Ctrl key</_description>
-+ <description>Swap Left Alt key with Left Ctrl key</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>ctrl:swap_lwin_lctl</name>
-- <_description>Swap Left Win key with Left Ctrl key</_description>
-+ <description>Swap Left Win key with Left Ctrl key</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>ctrl:swap_lalt_lctl_lwin</name>
-- <_description>Left Alt as Ctrl, Left Ctrl as Win, Left Win as Alt</_description>
-+ <description>Left Alt as Ctrl, Left Ctrl as Win, Left Win as Alt</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="true">
-- <!-- Using startard LEDs to indicate the alternative (not first) group(s) -->
-+
- <configItem>
- <name>grp_led</name>
-- <_description>Use keyboard LED to show alternative layout</_description>
-+ <description>Use keyboard LED to show alternative layout</description>
- </configItem>
- <option>
- <configItem>
- <name>grp_led:num</name>
-- <_description>Num Lock</_description>
-+ <description>Num Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp_led:caps</name>
-- <_description>Caps Lock</_description>
-+ <description>Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp_led:scroll</name>
-- <_description>Scroll Lock</_description>
-+ <description>Scroll Lock</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="false">
-- <!-- Select a keypad type -->
-+
- <configItem>
- <name>keypad</name>
-- <_description>Layout of numeric keypad</_description>
-+ <description>Layout of numeric keypad</description>
- </configItem>
- <option>
- <configItem>
- <name>keypad:legacy</name>
-- <_description>Legacy</_description>
-+ <description>Legacy</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>keypad:oss</name>
-- <_description>Unicode additions (arrows and math operators)</_description>
-+ <description>Unicode additions (arrows and math operators)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>keypad:future</name>
-- <_description>Unicode additions (arrows and math operators; math operators on default level)</_description>
-+ <description>Unicode additions (arrows and math operators; math operators on default level)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>keypad:legacy_wang</name>
-- <_description>Legacy Wang 724</_description>
-+ <description>Legacy Wang 724</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>keypad:oss_wang</name>
-- <_description>Wang 724 keypad with Unicode additions (arrows and math operators)</_description>
-+ <description>Wang 724 keypad with Unicode additions (arrows and math operators)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>keypad:future_wang</name>
-- <_description>Wang 724 keypad with Unicode additions (arrows and math operators; math operators on default level)</_description>
-+ <description>Wang 724 keypad with Unicode additions (arrows and math operators; math operators on default level)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>keypad:hex</name>
-- <_description>Hexadecimal</_description>
-+ <description>Hexadecimal</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>keypad:atm</name>
-- <_description>ATM/phone-style</_description>
-+ <description>ATM/phone-style</description>
- </configItem>
- </option>
- </group>
-- <!-- This option should override the KPDL key defined in keypad; I hope it's declared in the right place -->
-+
- <group allowMultipleSelection="false">
-- <!-- Select a keypad KPDL variant -->
-+
- <configItem>
- <name>kpdl</name>
-- <_description>Numeric keypad delete key behaviour</_description>
-+ <description>Numeric keypad delete key behaviour</description>
- </configItem>
- <option>
- <configItem>
-- <!-- Actually, with KP_DECIMAL, as the old keypad(dot) -->
-+
- <name>kpdl:dot</name>
-- <_description>Legacy key with dot</_description>
-+ <description>Legacy key with dot</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>kpdl:comma</name>
-- <!-- Actually, with KP_SEPARATOR, as the old keypad(comma) -->
-- <_description>Legacy key with comma</_description>
-+
-+ <description>Legacy key with comma</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>kpdl:dotoss</name>
-- <_description>Four-level key with dot</_description>
-+ <description>Four-level key with dot</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>kpdl:dotoss_latin9</name>
-- <_description>Four-level key with dot, Latin-9 only</_description>
-+ <description>Four-level key with dot, Latin-9 only</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>kpdl:commaoss</name>
-- <_description>Four-level key with comma</_description>
-+ <description>Four-level key with comma</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>kpdl:momayyezoss</name>
-- <_description>Four-level key with momayyez</_description>
-+ <description>Four-level key with momayyez</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>kpdl:kposs</name>
-- <!-- This assumes the KP_ abstract symbols are actually useful for some apps
-- The description needs to be rewritten -->
-- <_description>Four-level key with abstract separators</_description>
-+
-+ <description>Four-level key with abstract separators</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>kpdl:semi</name>
-- <_description>Semicolon on third level</_description>
-+ <description>Semicolon on third level</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="false">
-- <!-- Caps Lock tweaks.
-- "Internal" capitalization means capitalization using some internal tables.
-- Otherwise "as Shift" - means using next group. -->
-+
- <configItem>
- <name>caps</name>
-- <_description>Caps Lock key behavior</_description>
-+ <description>Caps Lock key behavior</description>
- </configItem>
- <option>
- <configItem>
- <name>caps:internal</name>
-- <_description>Caps Lock uses internal capitalization; Shift "pauses" Caps Lock</_description>
-+ <description>Caps Lock uses internal capitalization; Shift "pauses" Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>caps:internal_nocancel</name>
-- <_description>Caps Lock uses internal capitalization; Shift doesn't affect Caps Lock</_description>
-+ <description>Caps Lock uses internal capitalization; Shift doesn't affect Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>caps:shift</name>
-- <_description>Caps Lock acts as Shift with locking; Shift "pauses" Caps Lock</_description>
-+ <description>Caps Lock acts as Shift with locking; Shift "pauses" Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>caps:shift_nocancel</name>
-- <_description>Caps Lock acts as Shift with locking; Shift doesn't affect Caps Lock</_description>
-+ <description>Caps Lock acts as Shift with locking; Shift doesn't affect Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>caps:capslock</name>
-- <_description>Caps Lock toggles normal capitalization of alphabetic characters</_description>
-+ <description>Caps Lock toggles normal capitalization of alphabetic characters</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>caps:numlock</name>
-- <_description>Make Caps Lock an additional Num Lock</_description>
-+ <description>Make Caps Lock an additional Num Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>caps:swapescape</name>
-- <_description>Swap ESC and Caps Lock</_description>
-+ <description>Swap ESC and Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>caps:escape</name>
-- <_description>Make Caps Lock an additional ESC</_description>
-+ <description>Make Caps Lock an additional ESC</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>caps:backspace</name>
-- <_description>Make Caps Lock an additional Backspace</_description>
-+ <description>Make Caps Lock an additional Backspace</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>caps:super</name>
-- <_description>Make Caps Lock an additional Super</_description>
-+ <description>Make Caps Lock an additional Super</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>caps:hyper</name>
-- <_description>Make Caps Lock an additional Hyper</_description>
-+ <description>Make Caps Lock an additional Hyper</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>caps:shiftlock</name>
-- <_description>Caps Lock toggles ShiftLock (affects all keys)</_description>
-+ <description>Caps Lock toggles ShiftLock (affects all keys)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>caps:none</name>
-- <_description>Caps Lock is disabled</_description>
-+ <description>Caps Lock is disabled</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>caps:ctrl_modifier</name>
-- <_description>Make Caps Lock an additional Ctrl</_description>
-+ <description>Make Caps Lock an additional Ctrl</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="false">
-- <!-- Using special PC keys (Win, Menu) to work as standard X keys (Super, Hyper, etc.) -->
-+
- <configItem>
- <name>altwin</name>
-- <_description>Alt/Win key behavior</_description>
-+ <description>Alt/Win key behavior</description>
- </configItem>
- <option>
- <configItem>
- <name>altwin:menu</name>
-- <_description>Add the standard behavior to Menu key</_description>
-+ <description>Add the standard behavior to Menu key</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>altwin:meta_alt</name>
-- <_description>Alt and Meta are on Alt keys</_description>
-+ <description>Alt and Meta are on Alt keys</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>altwin:alt_win</name>
-- <_description>Alt is mapped to Win keys (and the usual Alt keys)</_description>
-+ <description>Alt is mapped to Win keys (and the usual Alt keys)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>altwin:ctrl_win</name>
-- <_description>Ctrl is mapped to Win keys (and the usual Ctrl keys)</_description>
-+ <description>Ctrl is mapped to Win keys (and the usual Ctrl keys)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>altwin:ctrl_alt_win</name>
-- <_description>Ctrl is mapped to Alt keys, Alt is mapped to Win keys</_description>
-+ <description>Ctrl is mapped to Alt keys, Alt is mapped to Win keys</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>altwin:meta_win</name>
-- <_description>Meta is mapped to Win keys</_description>
-+ <description>Meta is mapped to Win keys</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>altwin:left_meta_win</name>
-- <_description>Meta is mapped to Left Win</_description>
-+ <description>Meta is mapped to Left Win</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>altwin:hyper_win</name>
-- <_description>Hyper is mapped to Win-keys</_description>
-+ <description>Hyper is mapped to Win-keys</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>altwin:alt_super_win</name>
-- <_description>Alt is mapped to Right Win, Super to Menu</_description>
-+ <description>Alt is mapped to Right Win, Super to Menu</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>altwin:swap_alt_win</name>
-- <_description>Alt is swapped with Win</_description>
-+ <description>Alt is swapped with Win</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="true">
-- <!-- Tweaking the position of the "Compose" key: mapping to existing PC keys -->
-+
- <configItem>
- <name>Compose key</name>
-- <_description>Position of Compose key</_description>
-+ <description>Position of Compose key</description>
- </configItem>
- <option>
- <configItem>
- <name>compose:ralt</name>
-- <_description>Right Alt</_description>
-+ <description>Right Alt</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:lwin</name>
-- <_description>Left Win</_description>
-+ <description>Left Win</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:lwin-altgr</name>
-- <_description>3rd level of Left Win</_description>
-+ <description>3rd level of Left Win</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:rwin</name>
-- <_description>Right Win</_description>
-+ <description>Right Win</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:rwin-altgr</name>
-- <_description>3rd level of Right Win</_description>
-+ <description>3rd level of Right Win</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:menu</name>
-- <_description>Menu</_description>
-+ <description>Menu</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:menu-altgr</name>
-- <_description>3rd level of Menu</_description>
-+ <description>3rd level of Menu</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:lctrl</name>
-- <_description>Left Ctrl</_description>
-+ <description>Left Ctrl</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:lctrl-altgr</name>
-- <_description>3rd level of Left Ctrl</_description>
-+ <description>3rd level of Left Ctrl</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:rctrl</name>
-- <_description>Right Ctrl</_description>
-+ <description>Right Ctrl</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:rctrl-altgr</name>
-- <_description>3rd level of Right Ctrl</_description>
-+ <description>3rd level of Right Ctrl</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:caps</name>
-- <_description>Caps Lock</_description>
-+ <description>Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:caps-altgr</name>
-- <_description>3rd level of Caps Lock</_description>
-+ <description>3rd level of Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:102</name>
-- <_description>&lt;Less/Greater&gt;</_description>
-+ <description>&lt;Less/Greater&gt;</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:102-altgr</name>
-- <_description>3rd level of &lt;Less/Greater&gt;</_description>
-+ <description>3rd level of &lt;Less/Greater&gt;</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:paus</name>
-- <_description>Pause</_description>
-+ <description>Pause</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:prsc</name>
-- <_description>PrtSc</_description>
-+ <description>PrtSc</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:sclk</name>
-- <_description>Scroll Lock</_description>
-+ <description>Scroll Lock</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="true">
- <configItem>
- <name>compat</name>
-- <_description>Miscellaneous compatibility options</_description>
-+ <description>Miscellaneous compatibility options</description>
- </configItem>
- <option>
- <configItem>
- <name>numpad:pc</name>
-- <_description>Default numeric keypad keys</_description>
-+ <description>Default numeric keypad keys</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>numpad:mac</name>
-- <_description>Numeric keypad keys always enter digits (as in Mac OS)</_description>
-+ <description>Numeric keypad keys always enter digits (as in Mac OS)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>numpad:microsoft</name>
-- <_description>Shift with numeric keypad keys works as in MS Windows</_description>
-+ <description>Shift with numeric keypad keys works as in MS Windows</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>numpad:shift3</name>
-- <_description>Shift does not cancel Num Lock, chooses 3rd level instead</_description>
-+ <description>Shift does not cancel Num Lock, chooses 3rd level instead</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>srvrkeys:none</name>
-- <_description>Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server</_description>
-+ <description>Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>apple:alupckeys</name>
-- <_description>Apple Aluminium Keyboard: emulate PC keys (Print, Scroll Lock, Pause, Num Lock)</_description>
-+ <description>Apple Aluminium Keyboard: emulate PC keys (Print, Scroll Lock, Pause, Num Lock)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>shift:breaks_caps</name>
-- <_description>Shift cancels Caps Lock</_description>
-+ <description>Shift cancels Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>misc:typo</name>
-- <_description>Enable extra typographic characters</_description>
-+ <description>Enable extra typographic characters</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>shift:both_capslock</name>
-- <_description>Both Shift keys together toggle Caps Lock</_description>
-+ <description>Both Shift keys together toggle Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>shift:both_capslock_cancel</name>
-- <_description>Both Shift keys together activate Caps Lock, one Shift key deactivates</_description>
-+ <description>Both Shift keys together activate Caps Lock, one Shift key deactivates</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>shift:both_shiftlock</name>
-- <_description>Both Shift keys together toggle ShiftLock</_description>
-+ <description>Both Shift keys together toggle ShiftLock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>keypad:pointerkeys</name>
-- <_description>Shift + NumLock toggles PointerKeys</_description>
-+ <description>Shift + NumLock toggles PointerKeys</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grab:break_actions</name>
-- <_description>Allow breaking grabs with keyboard actions (warning: security risk)</_description>
-+ <description>Allow breaking grabs with keyboard actions (warning: security risk)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grab:debug_actions</name>
-- <_description>Allow grab and window tree logging</_description>
-+ <description>Allow grab and window tree logging</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="true">
-- <!-- Special shortcuts for the Euro character -->
-+
- <configItem>
- <name>currencysign</name>
-- <_description>Adding currency signs to certain keys</_description>
-+ <description>Adding currency signs to certain keys</description>
- </configItem>
- <option>
- <configItem>
- <name>eurosign:e</name>
-- <_description>Euro on E</_description>
-+ <description>Euro on E</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>eurosign:2</name>
-- <_description>Euro on 2</_description>
-+ <description>Euro on 2</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>eurosign:4</name>
-- <_description>Euro on 4</_description>
-+ <description>Euro on 4</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>eurosign:5</name>
-- <_description>Euro on 5</_description>
-+ <description>Euro on 5</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>rupeesign:4</name>
-- <_description>Rupee on 4</_description>
-+ <description>Rupee on 4</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="true">
- <configItem>
- <name>lv5</name>
-- <_description>Key to choose 5th level</_description>
-+ <description>Key to choose 5th level</description>
- </configItem>
- <option>
- <configItem>
- <name>lv5:lsgt_switch_lock</name>
-- <_description>&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser</_description>
-+ <description>&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv5:ralt_switch_lock</name>
-- <_description>Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser</_description>
-+ <description>Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv5:lwin_switch_lock</name>
-- <_description>Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser</_description>
-+ <description>Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv5:rwin_switch_lock</name>
-- <_description>Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser</_description>
-- </configItem>
-- </option>
--<!--
-- <option>
-- <configItem>
-- <name>lv5:lsgt_switch_lock_cancel</name>
-- <_description>&lt;Less/Greater&gt; chooses 5th level, acts as onetime lock when pressed together with another 5th-level-chooser</_description>
-- </configItem>
-- </option>
-- <option>
-- <configItem>
-- <name>lv5:ralt_switch_lock_cancel</name>
-- <_description>Right Alt chooses 5th level, acts as onetime lock when pressed together with another 5th-level-chooser</_description>
-- </configItem>
-- </option>
-- <option>
-- <configItem>
-- <name>lv5:lwin_switch_lock_cancel</name>
-- <_description>Left Win chooses 5th level, acts as onetime lock when pressed together with another 5th-level-chooser</_description>
-- </configItem>
-- </option>
-- <option>
-- <configItem>
-- <name>lv5:rwin_switch_lock_cancel</name>
-- <_description>Right Win chooses 5th level, acts as onetime lock when pressed together with another 5th-level-chooser</_description>
-- </configItem>
-- </option>
-- <option>
-- <configItem>
-- <name>lv5:lsgt_switch_lock_cancel</name>
-- <_description>&lt;Less/Greater&gt; chooses 5th level, acts as onetime lock lock when pressed together with another 5th-level-chooser</_description>
-- </configItem>
-- </option>
-- <option>
-- <configItem>
-- <name>lv5:ralt_switch_lock_cancel</name>
-- <_description>Right Alt chooses 5th level, acts as onetime lock when pressed together with another 5th-level-chooser</_description>
-+ <description>Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser</description>
- </configItem>
- </option>
---->
-+
- </group>
- <group allowMultipleSelection="false">
-- <!-- Let space output NBSP, NNBSP, ZWNJ, and ZWJ for the desired level -->
-+
- <configItem>
- <name>nbsp</name>
-- <_description>Using space key to input non-breakable space character</_description>
-+ <description>Using space key to input non-breakable space character</description>
- </configItem>
- <option>
- <configItem>
- <name>nbsp:none</name>
-- <_description>Usual space at any level</_description>
-+ <description>Usual space at any level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:level2</name>
-- <_description>Non-breakable space character at second level</_description>
-+ <description>Non-breakable space character at second level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:level3</name>
-- <_description>Non-breakable space character at third level</_description>
-+ <description>Non-breakable space character at third level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:level3s</name>
-- <_description>Non-breakable space character at third level, nothing at fourth level</_description>
-+ <description>Non-breakable space character at third level, nothing at fourth level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:level3n</name>
-- <_description>Non-breakable space character at third level, thin non-breakable space character at fourth level</_description>
-+ <description>Non-breakable space character at third level, thin non-breakable space character at fourth level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:level4</name>
-- <_description>Non-breakable space character at fourth level</_description>
-+ <description>Non-breakable space character at fourth level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:level4n</name>
-- <_description>Non-breakable space character at fourth level, thin non-breakable space character at sixth level</_description>
-+ <description>Non-breakable space character at fourth level, thin non-breakable space character at sixth level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:level4nl</name>
-- <_description>Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)</_description>
-+ <description>Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:zwnj2</name>
-- <_description>Zero-width non-joiner character at second level</_description>
-+ <description>Zero-width non-joiner character at second level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:zwnj2zwj3</name>
-- <_description>Zero-width non-joiner character at second level, zero-width joiner character at third level</_description>
-+ <description>Zero-width non-joiner character at second level, zero-width joiner character at third level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:zwnj2zwj3nb4</name>
-- <_description>Zero-width non-joiner character at second level, zero-width joiner character at third level, non-breakable space character at fourth level</_description>
-+ <description>Zero-width non-joiner character at second level, zero-width joiner character at third level, non-breakable space character at fourth level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:zwnj2nb3</name>
-- <_description>Zero-width non-joiner character at second level, non-breakable space character at third level</_description>
-+ <description>Zero-width non-joiner character at second level, non-breakable space character at third level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:zwnj2nb3s</name>
-- <_description>Zero-width non-joiner character at second level, non-breakable space character at third level, nothing at fourth level</_description>
-+ <description>Zero-width non-joiner character at second level, non-breakable space character at third level, nothing at fourth level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:zwnj2nb3zwj4</name>
-- <_description>Zero-width non-joiner character at second level, non-breakable space character at third level, zero-width joiner at fourth level</_description>
-+ <description>Zero-width non-joiner character at second level, non-breakable space character at third level, zero-width joiner at fourth level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:zwnj2nb3nnb4</name>
-- <_description>Zero-width non-joiner character at second level, non-breakable space character at third level, thin non-breakable space at fourth level</_description>
-+ <description>Zero-width non-joiner character at second level, non-breakable space character at third level, thin non-breakable space at fourth level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:zwnj3zwj4</name>
-- <_description>Zero-width non-joiner character at third level, zero-width joiner at fourth level</_description>
-+ <description>Zero-width non-joiner character at third level, zero-width joiner at fourth level</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="true">
- <configItem>
- <name>japan</name>
-- <_description>Japanese keyboard options</_description>
-+ <description>Japanese keyboard options</description>
- </configItem>
- <option>
- <configItem>
- <name>japan:kana_lock</name>
-- <_description>Kana Lock key is locking</_description>
-+ <description>Kana Lock key is locking</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>japan:nicola_f_bs</name>
-- <_description>NICOLA-F style Backspace</_description>
-+ <description>NICOLA-F style Backspace</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>japan:hztg_escape</name>
-- <_description>Make Zenkaku Hankaku an additional ESC</_description>
-+ <description>Make Zenkaku Hankaku an additional ESC</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="false">
- <configItem>
- <name>esperanto</name>
-- <_description>Adding Esperanto supersigned letters</_description>
-+ <description>Adding Esperanto supersigned letters</description>
- </configItem>
- <option>
- <configItem>
- <name>esperanto:qwerty</name>
-- <_description>To the corresponding key in a Qwerty layout</_description>
-+ <description>To the corresponding key in a Qwerty layout</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>esperanto:dvorak</name>
-- <_description>To the corresponding key in a Dvorak layout</_description>
-+ <description>To the corresponding key in a Dvorak layout</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>esperanto:colemak</name>
-- <_description>To the corresponding key in a Colemak layout</_description>
-+ <description>To the corresponding key in a Colemak layout</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="true">
- <configItem>
- <name>solaris</name>
-- <_description>Maintain key compatibility with old Solaris keycodes</_description>
-+ <description>Maintain key compatibility with old Solaris keycodes</description>
- </configItem>
- <option>
- <configItem>
- <name>solaris:sun_compat</name>
-- <_description>Sun Key compatibility</_description>
-+ <description>Sun Key compatibility</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="true">
- <configItem>
- <name>terminate</name>
-- <_description>Key sequence to kill the X server</_description>
-+ <description>Key sequence to kill the X server</description>
- </configItem>
- <option>
- <configItem>
- <name>terminate:ctrl_alt_bksp</name>
-- <_description>Ctrl + Alt + Backspace</_description>
-+ <description>Ctrl + Alt + Backspace</description>
- </configItem>
- </option>
- </group>
- </optionList>
--</xkbConfigRegistry>
-+</xkbConfigRegistry>
-\ No newline at end of file
diff --git a/package/xkeyboard-config/patches/patch-rules_evdev_extras_xml_in b/package/xkeyboard-config/patches/patch-rules_evdev_extras_xml_in
deleted file mode 100644
index 185ded7f8..000000000
--- a/package/xkeyboard-config/patches/patch-rules_evdev_extras_xml_in
+++ /dev/null
@@ -1,855 +0,0 @@
---- xkeyboard-config-2.11.orig/rules/evdev.extras.xml.in 2013-12-24 00:49:09.000000000 +0100
-+++ xkeyboard-config-2.11/rules/evdev.extras.xml.in 2014-03-04 14:31:30.000000000 +0100
-@@ -1,4 +1,4 @@
--<?xml version="1.0" encoding="utf-8"?>
-+<?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE xkbConfigRegistry SYSTEM "xkb.dtd">
- <xkbConfigRegistry>
- <modelList/>
-@@ -6,8 +6,8 @@
- <layout>
- <configItem>
- <name>apl</name>
-- <_shortDescription>apl</_shortDescription>
-- <_description>APL keyboard symbols</_description>
-+ <shortDescription>apl</shortDescription>
-+ <description>APL keyboard symbols</description>
- <languageList><iso639Id>eng</iso639Id></languageList>
- </configItem>
- <variantList>
-@@ -58,29 +58,29 @@
- <layout>
- <configItem>
- <name>ca</name>
-- <_shortDescription>fr</_shortDescription>
-- <_description>French (Canada)</_description>
-+ <shortDescription>fr</shortDescription>
-+ <description>French (Canada)</description>
- <languageList><iso639Id>fra</iso639Id></languageList>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>kut</name>
-- <_shortDescription>kut</_shortDescription>
-- <_description>Kutenai</_description>
-+ <shortDescription>kut</shortDescription>
-+ <description>Kutenai</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>shs</name>
-- <_shortDescription>shs</_shortDescription>
-- <_description>Secwepemctsin</_description>
-+ <shortDescription>shs</shortDescription>
-+ <description>Secwepemctsin</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Multilingual (Canada, Sun Type 6/7)</_description>
-+ <description>Multilingual (Canada, Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -88,8 +88,8 @@
- <layout>
- <configItem>
- <name>de</name>
-- <_shortDescription>de</_shortDescription>
-- <_description>German</_description>
-+ <shortDescription>de</shortDescription>
-+ <description>German</description>
- <languageList>
- <iso639Id>ger</iso639Id>
- </languageList>
-@@ -98,7 +98,7 @@
- <variant>
- <configItem>
- <name>us</name>
-- <_description>German (US keyboard with German letters)</_description>
-+ <description>German (US keyboard with German letters)</description>
- <languageList>
- <iso639Id>eng</iso639Id>
- </languageList>
-@@ -107,7 +107,7 @@
- <variant>
- <configItem>
- <name>hu</name>
-- <_description>German (with Hungarian letters and no dead keys)</_description>
-+ <description>German (with Hungarian letters and no dead keys)</description>
- <languageList>
- <iso639Id>ger</iso639Id>
- <iso639Id>hun</iso639Id>
-@@ -117,7 +117,7 @@
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>German (Sun Type 6/7)</_description>
-+ <description>German (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -125,15 +125,15 @@
- <layout>
- <configItem>
- <name>ir</name>
-- <_shortDescription>fa</_shortDescription>
-- <_description>Persian</_description>
-+ <shortDescription>fa</shortDescription>
-+ <description>Persian</description>
- <languageList><iso639Id>per</iso639Id></languageList>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>ave</name>
-- <_description>Avestan</_description>
-+ <description>Avestan</description>
- <languageList><iso639Id>ave</iso639Id></languageList>
- </configItem>
- </variant>
-@@ -142,21 +142,21 @@
- <layout>
- <configItem>
- <name>lt</name>
-- <_shortDescription>lt</_shortDescription>
-- <_description>Lithuanian</_description>
-+ <shortDescription>lt</shortDescription>
-+ <description>Lithuanian</description>
- <languageList><iso639Id>lit</iso639Id></languageList>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>us_dvorak</name>
-- <_description>Lithuanian (US Dvorak with Lithuanian letters)</_description>
-+ <description>Lithuanian (US Dvorak with Lithuanian letters)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Lithuanian (Sun Type 6/7)</_description>
-+ <description>Lithuanian (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -164,8 +164,8 @@
- <layout>
- <configItem>
- <name>lv</name>
-- <_shortDescription>lv</_shortDescription>
-- <_description>Latvian</_description>
-+ <shortDescription>lv</shortDescription>
-+ <description>Latvian</description>
- <languageList>
- <iso639Id>lav</iso639Id>
- </languageList>
-@@ -174,55 +174,55 @@
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>Latvian (US Dvorak)</_description>
-+ <description>Latvian (US Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ykeydvorak</name>
-- <_description>Latvian (US Dvorak, Y variant)</_description>
-+ <description>Latvian (US Dvorak, Y variant)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>minuskeydvorak</name>
-- <_description>Latvian (US Dvorak, minus variant)</_description>
-+ <description>Latvian (US Dvorak, minus variant)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorakprogr</name>
-- <_description>Latvian (programmer US Dvorak)</_description>
-+ <description>Latvian (programmer US Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ykeydvorakprogr</name>
-- <_description>Latvian (programmer US Dvorak, Y variant)</_description>
-+ <description>Latvian (programmer US Dvorak, Y variant)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>minuskeydvorakprogr</name>
-- <_description>Latvian (programmer US Dvorak, minus variant)</_description>
-+ <description>Latvian (programmer US Dvorak, minus variant)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>colemak</name>
-- <_description>Latvian (US Colemak)</_description>
-+ <description>Latvian (US Colemak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>apostrophecolemak</name>
-- <_description>Latvian (US Colemak, apostrophe variant)</_description>
-+ <description>Latvian (US Colemak, apostrophe variant)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Latvian (Sun Type 6/7)</_description>
-+ <description>Latvian (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -230,34 +230,34 @@
- <layout>
- <configItem>
- <name>us</name>
-- <_shortDescription>en</_shortDescription>
-- <_description>English (US)</_description>
-+ <shortDescription>en</shortDescription>
-+ <description>English (US)</description>
- <languageList><iso639Id>eng</iso639Id></languageList>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>intl-unicode</name>
-- <_description>English (US, international AltGr Unicode combining)</_description>
-+ <description>English (US, international AltGr Unicode combining)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>alt-intl-unicode</name>
-- <_description>English (US, international AltGr Unicode combining, alternative)</_description>
-+ <description>English (US, international AltGr Unicode combining, alternative)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ats</name>
-- <_description>Atsina</_description>
-- <!-- No ISO code in ISO639-2, only draft ISO693-3 -->
-+ <description>Atsina</description>
-+
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>crd</name>
-- <_description>Coeur d'Alene Salish</_description>
-+ <description>Coeur d'Alene Salish</description>
- <languageList><iso639Id>crd</iso639Id></languageList>
- </configItem>
- </variant>
-@@ -274,13 +274,13 @@
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>English (US, Sun Type 6/7)</_description>
-+ <description>English (US, Sun Type 6/7)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>norman</name>
-- <_description>English (Norman)</_description>
-+ <description>English (Norman)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -288,27 +288,27 @@
- <layout>
- <configItem>
- <name>pl</name>
-- <_shortDescription>pl</_shortDescription>
-- <_description>Polish</_description>
-+ <shortDescription>pl</shortDescription>
-+ <description>Polish</description>
- <languageList><iso639Id>pol</iso639Id></languageList>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>intl</name>
-- <_description>Polish (international with dead keys)</_description>
-+ <description>Polish (international with dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>colemak</name>
-- <_description>Polish (Colemak)</_description>
-+ <description>Polish (Colemak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Polish (Sun Type 6/7)</_description>
-+ <description>Polish (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -316,16 +316,16 @@
- <layout>
- <configItem>
- <name>ro</name>
-- <_shortDescription>ro</_shortDescription>
-- <_description>Romanian</_description>
-+ <shortDescription>ro</shortDescription>
-+ <description>Romanian</description>
- <languageList><iso639Id>rum</iso639Id></languageList>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>crh_dobruja</name>
-- <_shortDescription>crh</_shortDescription>
-- <_description>Crimean Tatar (Dobruja Q)</_description>
-+ <shortDescription>crh</shortDescription>
-+ <description>Crimean Tatar (Dobruja Q)</description>
- <languageList>
- <iso639Id>crh</iso639Id>
- </languageList>
-@@ -334,13 +334,13 @@
- <variant>
- <configItem>
- <name>ergonomic</name>
-- <_description>Romanian (ergonomic Touchtype)</_description>
-+ <description>Romanian (ergonomic Touchtype)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Romanian (Sun Type 6/7)</_description>
-+ <description>Romanian (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -348,15 +348,15 @@
- <layout>
- <configItem>
- <name>rs</name>
-- <_shortDescription>sr</_shortDescription>
-- <_description>Serbian</_description>
-+ <shortDescription>sr</shortDescription>
-+ <description>Serbian</description>
- <languageList><iso639Id>srp</iso639Id></languageList>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>combiningkeys</name>
-- <_description>Serbian (combining accents instead of dead keys)</_description>
-+ <description>Serbian (combining accents instead of dead keys)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -364,8 +364,8 @@
- <layout>
- <configItem>
- <name>ru</name>
-- <_shortDescription>ru</_shortDescription>
-- <_description>Russian</_description>
-+ <shortDescription>ru</shortDescription>
-+ <description>Russian</description>
- </configItem>
- <variantList>
- <variant>
-@@ -378,8 +378,8 @@
- <variant>
- <configItem>
- <name>ruu</name>
-- <_shortDescription>ru</_shortDescription>
-- <_description>Russian (with Ukrainian-Belorussian layout)</_description>
-+ <shortDescription>ru</shortDescription>
-+ <description>Russian (with Ukrainian-Belorussian layout)</description>
- <languageList><iso639Id>rus</iso639Id>
- <iso639Id>ukr</iso639Id>
- <iso639Id>bel</iso639Id></languageList>
-@@ -388,7 +388,7 @@
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Russian (Sun Type 6/7)</_description>
-+ <description>Russian (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -396,8 +396,8 @@
- <layout>
- <configItem>
- <name>am</name>
-- <_shortDescription>hy</_shortDescription>
-- <_description>Armenian</_description>
-+ <shortDescription>hy</shortDescription>
-+ <description>Armenian</description>
- <languageList>
- <iso639Id>hye</iso639Id>
- </languageList>
-@@ -406,7 +406,7 @@
- <variant>
- <configItem>
- <name>olpc-phonetic</name>
-- <_description>Armenian (OLPC phonetic)</_description>
-+ <description>Armenian (OLPC phonetic)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -414,15 +414,15 @@
- <layout>
- <configItem>
- <name>il</name>
-- <_shortDescription>he</_shortDescription>
-- <_description>Hebrew</_description>
-+ <shortDescription>he</shortDescription>
-+ <description>Hebrew</description>
- <languageList><iso639Id>heb</iso639Id></languageList>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>biblicalSIL</name>
-- <_description>Hebrew (Biblical, SIL phonetic)</_description>
-+ <description>Hebrew (Biblical, SIL phonetic)</description>
- <languageList><iso639Id>heb</iso639Id></languageList>
- </configItem>
- </variant>
-@@ -431,14 +431,14 @@
- <layout>
- <configItem>
- <name>ara</name>
-- <_shortDescription>ar</_shortDescription>
-- <_description>Arabic</_description>
-+ <shortDescription>ar</shortDescription>
-+ <description>Arabic</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Arabic (Sun Type 6/7)</_description>
-+ <description>Arabic (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -446,14 +446,14 @@
- <layout>
- <configItem>
- <name>be</name>
-- <_shortDescription>be</_shortDescription>
-- <_description>Belgian</_description>
-+ <shortDescription>be</shortDescription>
-+ <description>Belgian</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Belgian (Sun Type 6/7)</_description>
-+ <description>Belgian (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -461,14 +461,14 @@
- <layout>
- <configItem>
- <name>br</name>
-- <_shortDescription>pt</_shortDescription>
-- <_description>Portuguese (Brazil)</_description>
-+ <shortDescription>pt</shortDescription>
-+ <description>Portuguese (Brazil)</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Portuguese (Brazil, Sun Type 6/7)</_description>
-+ <description>Portuguese (Brazil, Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -476,14 +476,14 @@
- <layout>
- <configItem>
- <name>cz</name>
-- <_shortDescription>cs</_shortDescription>
-- <_description>Czech</_description>
-+ <shortDescription>cs</shortDescription>
-+ <description>Czech</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Czech (Sun Type 6/7)</_description>
-+ <description>Czech (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -491,14 +491,14 @@
- <layout>
- <configItem>
- <name>dk</name>
-- <_shortDescription>da</_shortDescription>
-- <_description>Danish</_description>
-+ <shortDescription>da</shortDescription>
-+ <description>Danish</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Danish (Sun Type 6/7)</_description>
-+ <description>Danish (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -506,14 +506,14 @@
- <layout>
- <configItem>
- <name>nl</name>
-- <_shortDescription>nl</_shortDescription>
-- <_description>Dutch</_description>
-+ <shortDescription>nl</shortDescription>
-+ <description>Dutch</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Dutch (Sun Type 6/7)</_description>
-+ <description>Dutch (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -521,14 +521,14 @@
- <layout>
- <configItem>
- <name>ee</name>
-- <_shortDescription>et</_shortDescription>
-- <_description>Estonian</_description>
-+ <shortDescription>et</shortDescription>
-+ <description>Estonian</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Estonian (Sun Type 6/7)</_description>
-+ <description>Estonian (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -536,14 +536,14 @@
- <layout>
- <configItem>
- <name>fi</name>
-- <_shortDescription>fi</_shortDescription>
-- <_description>Finnish</_description>
-+ <shortDescription>fi</shortDescription>
-+ <description>Finnish</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Finnish (Sun Type 6/7)</_description>
-+ <description>Finnish (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -551,14 +551,14 @@
- <layout>
- <configItem>
- <name>fr</name>
-- <_shortDescription>fr</_shortDescription>
-- <_description>French</_description>
-+ <shortDescription>fr</shortDescription>
-+ <description>French</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>French (Sun Type 6/7)</_description>
-+ <description>French (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -566,14 +566,14 @@
- <layout>
- <configItem>
- <name>gr</name>
-- <_shortDescription>gr</_shortDescription>
-- <_description>Greek</_description>
-+ <shortDescription>gr</shortDescription>
-+ <description>Greek</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Greek (Sun Type 6/7)</_description>
-+ <description>Greek (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -581,14 +581,14 @@
- <layout>
- <configItem>
- <name>it</name>
-- <_shortDescription>it</_shortDescription>
-- <_description>Italian</_description>
-+ <shortDescription>it</shortDescription>
-+ <description>Italian</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Italian (Sun Type 6/7)</_description>
-+ <description>Italian (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -596,26 +596,26 @@
- <layout>
- <configItem>
- <name>jp</name>
-- <_shortDescription>ja</_shortDescription>
-- <_description>Japanese</_description>
-+ <shortDescription>ja</shortDescription>
-+ <description>Japanese</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Japanese (Sun Type 6)</_description>
-+ <description>Japanese (Sun Type 6)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sun_type7</name>
-- <_description>Japanese (Sun Type 7 - pc compatible)</_description>
-+ <description>Japanese (Sun Type 7 - pc compatible)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sun_type7_suncompat</name>
-- <_description>Japanese (Sun Type 7 - sun compatible)</_description>
-+ <description>Japanese (Sun Type 7 - sun compatible)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -623,14 +623,14 @@
- <layout>
- <configItem>
- <name>no</name>
-- <_shortDescription>no</_shortDescription>
-- <_description>Norwegian</_description>
-+ <shortDescription>no</shortDescription>
-+ <description>Norwegian</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Norwegian (Sun Type 6/7)</_description>
-+ <description>Norwegian (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -638,14 +638,14 @@
- <layout>
- <configItem>
- <name>pt</name>
-- <_shortDescription>pt</_shortDescription>
-- <_description>Portuguese</_description>
-+ <shortDescription>pt</shortDescription>
-+ <description>Portuguese</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Portuguese (Sun Type 6/7)</_description>
-+ <description>Portuguese (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -653,14 +653,14 @@
- <layout>
- <configItem>
- <name>sk</name>
-- <_shortDescription>sk</_shortDescription>
-- <_description>Slovak</_description>
-+ <shortDescription>sk</shortDescription>
-+ <description>Slovak</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Slovak (Sun Type 6/7)</_description>
-+ <description>Slovak (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -668,14 +668,14 @@
- <layout>
- <configItem>
- <name>es</name>
-- <_shortDescription>es</_shortDescription>
-- <_description>Spanish</_description>
-+ <shortDescription>es</shortDescription>
-+ <description>Spanish</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Spanish (Sun Type 6/7)</_description>
-+ <description>Spanish (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -683,14 +683,14 @@
- <layout>
- <configItem>
- <name>se</name>
-- <_shortDescription>sv</_shortDescription>
-- <_description>Swedish</_description>
-+ <shortDescription>sv</shortDescription>
-+ <description>Swedish</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Swedish (Sun Type 6/7)</_description>
-+ <description>Swedish (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -698,20 +698,20 @@
- <layout>
- <configItem>
- <name>ch</name>
-- <_shortDescription>de</_shortDescription>
-- <_description>German (Switzerland)</_description>
-+ <shortDescription>de</shortDescription>
-+ <description>German (Switzerland)</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6_de</name>
-- <_description>German (Switzerland, Sun Type 6/7)</_description>
-+ <description>German (Switzerland, Sun Type 6/7)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sun_type6_fr</name>
-- <_description>French (Switzerland, Sun Type 6/7)</_description>
-+ <description>French (Switzerland, Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -719,14 +719,14 @@
- <layout>
- <configItem>
- <name>tr</name>
-- <_shortDescription>tr</_shortDescription>
-- <_description>Turkish</_description>
-+ <shortDescription>tr</shortDescription>
-+ <description>Turkish</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Turkish (Sun Type 6/7)</_description>
-+ <description>Turkish (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -734,14 +734,14 @@
- <layout>
- <configItem>
- <name>ua</name>
-- <_shortDescription>uk</_shortDescription>
-- <_description>Ukrainian</_description>
-+ <shortDescription>uk</shortDescription>
-+ <description>Ukrainian</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Ukrainian (Sun Type 6/7)</_description>
-+ <description>Ukrainian (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -749,14 +749,14 @@
- <layout>
- <configItem>
- <name>gb</name>
-- <_shortDescription>en</_shortDescription>
-- <_description>English (UK)</_description>
-+ <shortDescription>en</shortDescription>
-+ <description>English (UK)</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>English (UK, Sun Type 6/7)</_description>
-+ <description>English (UK, Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -764,18 +764,18 @@
- <layout>
- <configItem>
- <name>kr</name>
-- <_shortDescription>ko</_shortDescription>
-- <_description>Korean</_description>
-+ <shortDescription>ko</shortDescription>
-+ <description>Korean</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>sun_type6</name>
-- <_description>Korean (Sun Type 6/7)</_description>
-+ <description>Korean (Sun Type 6/7)</description>
- </configItem>
- </variant>
- </variantList>
- </layout>
- </layoutList>
- <optionList/>
--</xkbConfigRegistry>
-+</xkbConfigRegistry>
-\ No newline at end of file
diff --git a/package/xkeyboard-config/patches/patch-rules_evdev_xml_in b/package/xkeyboard-config/patches/patch-rules_evdev_xml_in
deleted file mode 100644
index 57eb6df34..000000000
--- a/package/xkeyboard-config/patches/patch-rules_evdev_xml_in
+++ /dev/null
@@ -1,7654 +0,0 @@
---- xkeyboard-config-2.11.orig/rules/evdev.xml.in 2014-01-15 02:05:04.000000000 +0100
-+++ xkeyboard-config-2.11/rules/evdev.xml.in 2014-03-04 14:30:54.000000000 +0100
-@@ -5,627 +5,627 @@
- <model>
- <configItem>
- <name>pc101</name>
-- <_description>Generic 101-key PC</_description>
-+ <description>Generic 101-key PC</description>
- <vendor>Generic</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>pc102</name>
-- <_description>Generic 102-key (Intl) PC</_description>
-+ <description>Generic 102-key (Intl) PC</description>
- <vendor>Generic</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>pc104</name>
-- <_description>Generic 104-key PC</_description>
-+ <description>Generic 104-key PC</description>
- <vendor>Generic</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>pc105</name>
-- <_description>Generic 105-key (Intl) PC</_description>
-+ <description>Generic 105-key (Intl) PC</description>
- <vendor>Generic</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>dell101</name>
-- <_description>Dell 101-key PC</_description>
-+ <description>Dell 101-key PC</description>
- <vendor>Dell</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>latitude</name>
-- <_description>Dell Latitude series laptop</_description>
-+ <description>Dell Latitude series laptop</description>
- <vendor>Dell</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>dellm65</name>
-- <_description>Dell Precision M65</_description>
-+ <description>Dell Precision M65</description>
- <vendor>Dell</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>everex</name>
-- <_description>Everex STEPnote</_description>
-+ <description>Everex STEPnote</description>
- <vendor>Everex</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>flexpro</name>
-- <_description>Keytronic FlexPro</_description>
-+ <description>Keytronic FlexPro</description>
- <vendor>Keytronic</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>microsoft</name>
-- <_description>Microsoft Natural</_description>
-+ <description>Microsoft Natural</description>
- <vendor>Microsoft Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>omnikey101</name>
-- <_description>Northgate OmniKey 101</_description>
-+ <description>Northgate OmniKey 101</description>
- <vendor>Northgate</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>winbook</name>
-- <_description>Winbook Model XP5</_description>
-+ <description>Winbook Model XP5</description>
- <vendor>Generic</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>pc98</name>
-- <_description>PC-98xx Series</_description>
-+ <description>PC-98xx Series</description>
- <vendor>Generic</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>a4techKB21</name>
-- <_description>A4Tech KB-21</_description>
-+ <description>A4Tech KB-21</description>
- <vendor>A4Tech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>a4techKBS8</name>
-- <_description>A4Tech KBS-8</_description>
-+ <description>A4Tech KBS-8</description>
- <vendor>A4Tech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>a4_rfkb23</name>
-- <_description>A4Tech Wireless Desktop RFKB-23</_description>
-+ <description>A4Tech Wireless Desktop RFKB-23</description>
- <vendor>A4Tech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>airkey</name>
-- <_description>Acer AirKey V</_description>
-+ <description>Acer AirKey V</description>
- <vendor>Acer</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>azonaRF2300</name>
-- <_description>Azona RF2300 wireless Internet Keyboard</_description>
-+ <description>Azona RF2300 wireless Internet Keyboard</description>
- <vendor>Azona</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>scorpius</name>
-- <_description>Advance Scorpius KI</_description>
-+ <description>Advance Scorpius KI</description>
- <vendor>Scorpius</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>brother</name>
-- <_description>Brother Internet Keyboard</_description>
-+ <description>Brother Internet Keyboard</description>
- <vendor>Brother</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>btc5113rf</name>
-- <_description>BTC 5113RF Multimedia</_description>
-+ <description>BTC 5113RF Multimedia</description>
- <vendor>BTC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>btc5126t</name>
-- <_description>BTC 5126T</_description>
-+ <description>BTC 5126T</description>
- <vendor>BTC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>btc6301urf</name>
-- <_description>BTC 6301URF</_description>
-+ <description>BTC 6301URF</description>
- <vendor>BTC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>btc9000</name>
-- <_description>BTC 9000</_description>
-+ <description>BTC 9000</description>
- <vendor>BTC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>btc9000a</name>
-- <_description>BTC 9000A</_description>
-+ <description>BTC 9000A</description>
- <vendor>BTC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>btc9001ah</name>
-- <_description>BTC 9001AH</_description>
-+ <description>BTC 9001AH</description>
- <vendor>BTC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>btc5090</name>
-- <_description>BTC 5090</_description>
-+ <description>BTC 5090</description>
- <vendor>BTC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>btc9019u</name>
-- <_description>BTC 9019U</_description>
-+ <description>BTC 9019U</description>
- <vendor>BTC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>btc9116u</name>
-- <_description>BTC 9116U Mini Wireless Internet and Gaming</_description>
-+ <description>BTC 9116U Mini Wireless Internet and Gaming</description>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>cherryblue</name>
-- <_description>Cherry Blue Line CyBo@rd</_description>
-+ <description>Cherry Blue Line CyBo@rd</description>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>cherryblueb</name>
-- <_description>Cherry CyMotion Master XPress</_description>
-+ <description>Cherry CyMotion Master XPress</description>
- <vendor>Cherry</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>cherrybluea</name>
-- <_description>Cherry Blue Line CyBo@rd (alternate option)</_description>
-+ <description>Cherry Blue Line CyBo@rd (alternate option)</description>
- <vendor>Cherry</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>cherrycyboard</name>
-- <_description>Cherry CyBo@rd USB-Hub</_description>
-+ <description>Cherry CyBo@rd USB-Hub</description>
- <vendor>Cherry</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>cherrycmexpert</name>
-- <_description>Cherry CyMotion Expert</_description>
-+ <description>Cherry CyMotion Expert</description>
- <vendor>Cherry</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>cherrybunlim</name>
-- <_description>Cherry B.UNLIMITED</_description>
-+ <description>Cherry B.UNLIMITED</description>
- <vendor>Cherry</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>chicony</name>
-- <_description>Chicony Internet Keyboard</_description>
-+ <description>Chicony Internet Keyboard</description>
- <vendor>Chicony</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>chicony0108</name>
-- <_description>Chicony KU-0108</_description>
-+ <description>Chicony KU-0108</description>
- <vendor>Chicony</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>chicony0420</name>
-- <_description>Chicony KU-0420</_description>
-+ <description>Chicony KU-0420</description>
- <vendor>Chicony</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>chicony9885</name>
-- <_description>Chicony KB-9885</_description>
-+ <description>Chicony KB-9885</description>
- <vendor>Chicony</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>compaqeak8</name>
-- <_description>Compaq Easy Access Keyboard</_description>
-+ <description>Compaq Easy Access Keyboard</description>
- <vendor>Compaq</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>compaqik7</name>
-- <_description>Compaq Internet Keyboard (7 keys)</_description>
-+ <description>Compaq Internet Keyboard (7 keys)</description>
- <vendor>Compaq</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>compaqik13</name>
-- <_description>Compaq Internet Keyboard (13 keys)</_description>
-+ <description>Compaq Internet Keyboard (13 keys)</description>
- <vendor>Compaq</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>compaqik18</name>
-- <_description>Compaq Internet Keyboard (18 keys)</_description>
-+ <description>Compaq Internet Keyboard (18 keys)</description>
- <vendor>Compaq</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>cymotionlinux</name>
-- <_description>Cherry CyMotion Master Linux</_description>
-+ <description>Cherry CyMotion Master Linux</description>
- <vendor>Cherry</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>armada</name>
-- <_description>Laptop/notebook Compaq (eg. Armada) Laptop Keyboard</_description>
-+ <description>Laptop/notebook Compaq (eg. Armada) Laptop Keyboard</description>
- <vendor>Compaq</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>presario</name>
-- <_description>Laptop/notebook Compaq (eg. Presario) Internet Keyboard</_description>
-+ <description>Laptop/notebook Compaq (eg. Presario) Internet Keyboard</description>
- <vendor>Compaq</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>ipaq</name>
-- <_description>Compaq iPaq Keyboard</_description>
-+ <description>Compaq iPaq Keyboard</description>
- <vendor>Compaq</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>dell</name>
-- <_description>Dell</_description>
-+ <description>Dell</description>
- <vendor>Dell</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>dellsk8125</name>
-- <_description>Dell SK-8125</_description>
-+ <description>Dell SK-8125</description>
- <vendor>Dell</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>dellsk8135</name>
-- <_description>Dell SK-8135</_description>
-+ <description>Dell SK-8135</description>
- <vendor>Dell</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>dellusbmm</name>
-- <_description>Dell USB Multimedia Keyboard</_description>
-+ <description>Dell USB Multimedia Keyboard</description>
- <vendor>Dell</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>inspiron</name>
-- <_description>Dell Laptop/notebook Inspiron 6xxx/8xxx</_description>
-+ <description>Dell Laptop/notebook Inspiron 6xxx/8xxx</description>
- <vendor>Dell</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>precision_m</name>
-- <_description>Dell Laptop/notebook Precision M series</_description>
-+ <description>Dell Laptop/notebook Precision M series</description>
- <vendor>Dell</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>dexxa</name>
-- <_description>Dexxa Wireless Desktop Keyboard</_description>
-+ <description>Dexxa Wireless Desktop Keyboard</description>
- <vendor>Dexxa</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>diamond</name>
-- <_description>Diamond 9801 / 9802 series</_description>
-+ <description>Diamond 9801 / 9802 series</description>
- <vendor>Diamond</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>dtk2000</name>
-- <_description>DTK2000</_description>
-+ <description>DTK2000</description>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>ennyah_dkb1008</name>
-- <_description>Ennyah DKB-1008</_description>
-+ <description>Ennyah DKB-1008</description>
- <vendor>Ennyah</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>fscaa1667g</name>
-- <_description>Fujitsu-Siemens Computers AMILO laptop</_description>
-+ <description>Fujitsu-Siemens Computers AMILO laptop</description>
- <vendor>Fujitsu-Siemens</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>genius</name>
-- <_description>Genius Comfy KB-16M / Genius MM Keyboard KWD-910</_description>
-+ <description>Genius Comfy KB-16M / Genius MM Keyboard KWD-910</description>
- <vendor>Genius</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>geniuscomfy</name>
-- <_description>Genius Comfy KB-12e</_description>
-+ <description>Genius Comfy KB-12e</description>
- <vendor>Genius</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>geniuscomfy2</name>
-- <_description>Genius Comfy KB-21e-Scroll</_description>
-+ <description>Genius Comfy KB-21e-Scroll</description>
- <vendor>Genius</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>geniuskb19e</name>
-- <_description>Genius KB-19e NB</_description>
-+ <description>Genius KB-19e NB</description>
- <vendor>Genius</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>geniuskkb2050hs</name>
-- <_description>Genius KKB-2050HS</_description>
-+ <description>Genius KKB-2050HS</description>
- <vendor>Genius</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>gyration</name>
-- <_description>Gyration</_description>
-+ <description>Gyration</description>
- <vendor>Gyration</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>htcdream</name>
-- <_description>HTC Dream</_description>
-+ <description>HTC Dream</description>
- <vendor>HTC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>kinesis</name>
-- <_description>Kinesis</_description>
-+ <description>Kinesis</description>
- <vendor>Kinesis</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logitech_base</name>
-- <_description>Logitech Generic Keyboard</_description>
-+ <description>Logitech Generic Keyboard</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logitech_g15</name>
-- <_description>Logitech G15 extra keys via G15daemon</_description>
-+ <description>Logitech G15 extra keys via G15daemon</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>hpi6</name>
-- <_description>Hewlett-Packard Internet Keyboard</_description>
-+ <description>Hewlett-Packard Internet Keyboard</description>
- <vendor>Hewlett-Packard</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>hp250x</name>
-- <_description>Hewlett-Packard SK-250x Multimedia Keyboard</_description>
-+ <description>Hewlett-Packard SK-250x Multimedia Keyboard</description>
- <vendor>Hewlett-Packard</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>hpxe3gc</name>
-- <_description>Hewlett-Packard Omnibook XE3 GC</_description>
-+ <description>Hewlett-Packard Omnibook XE3 GC</description>
- <vendor>Hewlett-Packard</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>hpxe3gf</name>
-- <_description>Hewlett-Packard Omnibook XE3 GF</_description>
-+ <description>Hewlett-Packard Omnibook XE3 GF</description>
- <vendor>Hewlett-Packard</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>hpxt1000</name>
-- <_description>Hewlett-Packard Omnibook XT1000</_description>
-+ <description>Hewlett-Packard Omnibook XT1000</description>
- <vendor>Hewlett-Packard</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>hpdv5</name>
-- <_description>Hewlett-Packard Pavilion dv5</_description>
-+ <description>Hewlett-Packard Pavilion dv5</description>
- <vendor>Hewlett-Packard</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>hpzt11xx</name>
-- <_description>Hewlett-Packard Pavilion ZT11xx</_description>
-+ <description>Hewlett-Packard Pavilion ZT11xx</description>
- <vendor>Hewlett-Packard</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>hp500fa</name>
-- <_description>Hewlett-Packard Omnibook 500 FA</_description>
-+ <description>Hewlett-Packard Omnibook 500 FA</description>
- <vendor>Hewlett-Packard</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>hp5xx</name>
-- <_description>Hewlett-Packard Omnibook 5xx</_description>
-+ <description>Hewlett-Packard Omnibook 5xx</description>
- <vendor>Hewlett-Packard</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>hpnx9020</name>
-- <_description>Hewlett-Packard nx9020</_description>
-+ <description>Hewlett-Packard nx9020</description>
- <vendor>Hewlett-Packard</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>hp6000</name>
-- <_description>Hewlett-Packard Omnibook 6000/6100</_description>
-+ <description>Hewlett-Packard Omnibook 6000/6100</description>
- <vendor>Hewlett-Packard</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>honeywell_euroboard</name>
-- <_description>Honeywell Euroboard</_description>
-+ <description>Honeywell Euroboard</description>
- <vendor>Hewlett-Packard</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>hpmini110</name>
-- <_description>Hewlett-Packard Mini 110 Notebook</_description>
-+ <description>Hewlett-Packard Mini 110 Notebook</description>
- <vendor>Hewlett-Packard</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>rapidaccess</name>
-- <_description>IBM Rapid Access</_description>
-+ <description>IBM Rapid Access</description>
- <vendor>Lenovo (previously IBM)</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>rapidaccess2</name>
-- <_description>IBM Rapid Access II</_description>
-+ <description>IBM Rapid Access II</description>
- <vendor>Lenovo (previously IBM)</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>thinkpad</name>
-- <_description>IBM ThinkPad 560Z/600/600E/A22E</_description>
-+ <description>IBM ThinkPad 560Z/600/600E/A22E</description>
- <vendor>Lenovo (previously IBM)</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>thinkpad60</name>
-- <_description>IBM ThinkPad R60/T60/R61/T61</_description>
-+ <description>IBM ThinkPad R60/T60/R61/T61</description>
- <vendor>Lenovo (previously IBM)</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>thinkpadz60</name>
-- <_description>IBM ThinkPad Z60m/Z60t/Z61m/Z61t</_description>
-+ <description>IBM ThinkPad Z60m/Z60t/Z61m/Z61t</description>
- <vendor>Lenovo (previously IBM)</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>ibm_spacesaver</name>
-- <_description>IBM Space Saver</_description>
-+ <description>IBM Space Saver</description>
- <vendor>Lenovo (previously IBM)</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logiaccess</name>
-- <_description>Logitech Access Keyboard</_description>
-+ <description>Logitech Access Keyboard</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logiclx300</name>
-- <_description>Logitech Cordless Desktop LX-300</_description>
-+ <description>Logitech Cordless Desktop LX-300</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logii350</name>
-- <_description>Logitech Internet 350 Keyboard</_description>
-+ <description>Logitech Internet 350 Keyboard</description>
- <vendor>Logitech</vendor>
- <hwList> <hwId>046d:c313</hwId></hwList>
- </configItem>
-@@ -633,665 +633,665 @@
- <model>
- <configItem>
- <name>logimel</name>
-- <_description>Logitech Media Elite Keyboard</_description>
-+ <description>Logitech Media Elite Keyboard</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logicd</name>
-- <_description>Logitech Cordless Desktop</_description>
-+ <description>Logitech Cordless Desktop</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logicd_it</name>
-- <_description>Logitech Cordless Desktop iTouch</_description>
-+ <description>Logitech Cordless Desktop iTouch</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logicd_nav</name>
-- <_description>Logitech Cordless Desktop Navigator</_description>
-+ <description>Logitech Cordless Desktop Navigator</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logicd_opt</name>
-- <_description>Logitech Cordless Desktop Optical</_description>
-+ <description>Logitech Cordless Desktop Optical</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logicda</name>
-- <_description>Logitech Cordless Desktop (alternate option)</_description>
-+ <description>Logitech Cordless Desktop (alternate option)</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logicdpa2</name>
-- <_description>Logitech Cordless Desktop Pro (alternate option 2)</_description>
-+ <description>Logitech Cordless Desktop Pro (alternate option 2)</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logicfn</name>
-- <_description>Logitech Cordless Freedom/Desktop Navigator</_description>
-+ <description>Logitech Cordless Freedom/Desktop Navigator</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logicdn</name>
-- <_description>Logitech Cordless Desktop Navigator</_description>
-+ <description>Logitech Cordless Desktop Navigator</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logiitc</name>
-- <_description>Logitech iTouch Cordless Keyboard (model Y-RB6)</_description>
-+ <description>Logitech iTouch Cordless Keyboard (model Y-RB6)</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logiik</name>
-- <_description>Logitech Internet Keyboard</_description>
-+ <description>Logitech Internet Keyboard</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>itouch</name>
-- <_description>Logitech iTouch</_description>
-+ <description>Logitech iTouch</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logicink</name>
-- <_description>Logitech Internet Navigator Keyboard</_description>
-+ <description>Logitech Internet Navigator Keyboard</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logiex110</name>
-- <_description>Logitech Cordless Desktop EX110</_description>
-+ <description>Logitech Cordless Desktop EX110</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logiinkse</name>
-- <_description>Logitech iTouch Internet Navigator Keyboard SE</_description>
-+ <description>Logitech iTouch Internet Navigator Keyboard SE</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logiinkseusb</name>
-- <_description>Logitech iTouch Internet Navigator Keyboard SE (USB)</_description>
-+ <description>Logitech iTouch Internet Navigator Keyboard SE (USB)</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logiultrax</name>
-- <_description>Logitech Ultra-X Keyboard</_description>
-+ <description>Logitech Ultra-X Keyboard</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logiultraxc</name>
-- <_description>Logitech Ultra-X Cordless Media Desktop Keyboard</_description>
-+ <description>Logitech Ultra-X Cordless Media Desktop Keyboard</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logidinovo</name>
-- <_description>Logitech diNovo Keyboard</_description>
-+ <description>Logitech diNovo Keyboard</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>logidinovoedge</name>
-- <_description>Logitech diNovo Edge Keyboard</_description>
-+ <description>Logitech diNovo Edge Keyboard</description>
- <vendor>Logitech</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>mx1998</name>
-- <_description>Memorex MX1998</_description>
-+ <description>Memorex MX1998</description>
- <vendor>Memorex</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>mx2500</name>
-- <_description>Memorex MX2500 EZ-Access Keyboard</_description>
-+ <description>Memorex MX2500 EZ-Access Keyboard</description>
- <vendor>Memorex</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>mx2750</name>
-- <_description>Memorex MX2750</_description>
-+ <description>Memorex MX2750</description>
- <vendor>Memorex</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>microsoft4000</name>
-- <_description>Microsoft Natural Wireless Ergonomic Keyboard 4000</_description>
-+ <description>Microsoft Natural Wireless Ergonomic Keyboard 4000</description>
- <vendor>Microsoft Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>microsoft7000</name>
-- <_description>Microsoft Natural Wireless Ergonomic Keyboard 7000</_description>
-+ <description>Microsoft Natural Wireless Ergonomic Keyboard 7000</description>
- <vendor>Microsoft Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>microsoftinet</name>
-- <_description>Microsoft Internet Keyboard</_description>
-+ <description>Microsoft Internet Keyboard</description>
- <vendor>Microsoft Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>microsoftpro</name>
-- <_description>Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro</_description>
-+ <description>Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro</description>
- <vendor>Microsoft Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>microsoftprousb</name>
-- <_description>Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro</_description>
-+ <description>Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro</description>
- <vendor>Microsoft Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>microsoftprooem</name>
-- <_description>Microsoft Natural Keyboard Pro OEM</_description>
-+ <description>Microsoft Natural Keyboard Pro OEM</description>
- <vendor>Microsoft Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>vsonku306</name>
-- <_description>ViewSonic KU-306 Internet Keyboard</_description>
-+ <description>ViewSonic KU-306 Internet Keyboard</description>
- <vendor>ViewSonic</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>microsoftprose</name>
-- <_description>Microsoft Internet Keyboard Pro, Swedish</_description>
-+ <description>Microsoft Internet Keyboard Pro, Swedish</description>
- <vendor>Microsoft Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>microsoftoffice</name>
-- <_description>Microsoft Office Keyboard</_description>
-+ <description>Microsoft Office Keyboard</description>
- <vendor>Microsoft Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>microsoftmult</name>
-- <_description>Microsoft Wireless Multimedia Keyboard 1.0A</_description>
-+ <description>Microsoft Wireless Multimedia Keyboard 1.0A</description>
- <vendor>Microsoft Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>microsoftelite</name>
-- <_description>Microsoft Natural Keyboard Elite</_description>
-+ <description>Microsoft Natural Keyboard Elite</description>
- <vendor>Microsoft Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>microsoftccurve2k</name>
-- <_description>Microsoft Comfort Curve Keyboard 2000</_description>
-+ <description>Microsoft Comfort Curve Keyboard 2000</description>
- <vendor>Microsoft Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>oretec</name>
-- <_description>Ortek MCK-800 MM/Internet keyboard</_description>
-+ <description>Ortek MCK-800 MM/Internet keyboard</description>
- <vendor>Ortek</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>propeller</name>
-- <_description>Propeller Voyager (KTEZ-1000)</_description>
-+ <description>Propeller Voyager (KTEZ-1000)</description>
- <vendor>KeyTronic</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>qtronix</name>
-- <_description>QTronix Scorpius 98N+</_description>
-+ <description>QTronix Scorpius 98N+</description>
- <vendor>QTronix</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>samsung4500</name>
-- <_description>Samsung SDM 4500P</_description>
-+ <description>Samsung SDM 4500P</description>
- <vendor>Samsung</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>samsung4510</name>
-- <_description>Samsung SDM 4510P</_description>
-+ <description>Samsung SDM 4510P</description>
- <vendor>Samsung</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sanwaskbkg3</name>
-- <_description>Sanwa Supply SKB-KG3</_description>
-+ <description>Sanwa Supply SKB-KG3</description>
- <vendor>Sanwa Supply Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sk1300</name>
-- <_description>SK-1300</_description>
-+ <description>SK-1300</description>
- <vendor>NEC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sk2500</name>
-- <_description>SK-2500</_description>
-+ <description>SK-2500</description>
- <vendor>NEC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sk6200</name>
-- <_description>SK-6200</_description>
-+ <description>SK-6200</description>
- <vendor>NEC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sk7100</name>
-- <_description>SK-7100</_description>
-+ <description>SK-7100</description>
- <vendor>NEC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sp_inet</name>
-- <_description>Super Power Multimedia Keyboard</_description>
-+ <description>Super Power Multimedia Keyboard</description>
- <vendor>Generic</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sven</name>
-- <_description>SVEN Ergonomic 2500</_description>
-+ <description>SVEN Ergonomic 2500</description>
- <vendor>SVEN</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sven303</name>
-- <_description>SVEN Slim 303</_description>
-+ <description>SVEN Slim 303</description>
- <vendor>SVEN</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>symplon</name>
-- <_description>Symplon PaceBook (tablet PC)</_description>
-+ <description>Symplon PaceBook (tablet PC)</description>
- <vendor>Symplon</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>toshiba_s3000</name>
-- <_description>Toshiba Satellite S3000</_description>
-+ <description>Toshiba Satellite S3000</description>
- <vendor>Toshiba</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>trust</name>
-- <_description>Trust Wireless Keyboard Classic</_description>
-+ <description>Trust Wireless Keyboard Classic</description>
- <vendor>Trust</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>trustda</name>
-- <_description>Trust Direct Access Keyboard</_description>
-+ <description>Trust Direct Access Keyboard</description>
- <vendor>Trust</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>trust_slimline</name>
-- <_description>Trust Slimline</_description>
-+ <description>Trust Slimline</description>
- <vendor>Trust</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>tm2020</name>
-- <_description>TypeMatrix EZ-Reach 2020</_description>
-+ <description>TypeMatrix EZ-Reach 2020</description>
- <vendor>TypeMatrix</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>tm2030PS2</name>
-- <_description>TypeMatrix EZ-Reach 2030 PS2</_description>
-+ <description>TypeMatrix EZ-Reach 2030 PS2</description>
- <vendor>TypeMatrix</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>tm2030USB</name>
-- <_description>TypeMatrix EZ-Reach 2030 USB</_description>
-+ <description>TypeMatrix EZ-Reach 2030 USB</description>
- <vendor>TypeMatrix</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>tm2030USB-102</name>
-- <_description>TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)</_description>
-+ <description>TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)</description>
- <vendor>TypeMatrix</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>tm2030USB-106</name>
-- <_description>TypeMatrix EZ-Reach 2030 USB (106:JP mode)</_description>
-+ <description>TypeMatrix EZ-Reach 2030 USB (106:JP mode)</description>
- <vendor>TypeMatrix</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>yahoo</name>
-- <_description>Yahoo! Internet Keyboard</_description>
-+ <description>Yahoo! Internet Keyboard</description>
- <vendor>Yahoo!</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>macbook78</name>
-- <_description>MacBook/MacBook Pro</_description>
-+ <description>MacBook/MacBook Pro</description>
- <vendor>Apple</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>macbook79</name>
-- <_description>MacBook/MacBook Pro (Intl)</_description>
-+ <description>MacBook/MacBook Pro (Intl)</description>
- <vendor>Apple</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>macintosh</name>
-- <_description>Macintosh</_description>
-+ <description>Macintosh</description>
- <vendor>Apple</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>macintosh_old</name>
-- <_description>Macintosh Old</_description>
-+ <description>Macintosh Old</description>
- <vendor>Apple</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>macintosh_hhk</name>
-- <_description>Happy Hacking Keyboard for Mac</_description>
-+ <description>Happy Hacking Keyboard for Mac</description>
- <vendor>Fujitsu</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>acer_c300</name>
-- <_description>Acer C300</_description>
-+ <description>Acer C300</description>
- <vendor>Acer</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>acer_ferrari4k</name>
-- <_description>Acer Ferrari 4000</_description>
-+ <description>Acer Ferrari 4000</description>
- <vendor>Acer</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>acer_laptop</name>
-- <_description>Acer Laptop</_description>
-+ <description>Acer Laptop</description>
- <vendor>Acer</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>asus_laptop</name>
-- <_description>Asus Laptop</_description>
-+ <description>Asus Laptop</description>
- <vendor>Asus</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>apple</name>
-- <_description>Apple</_description>
-+ <description>Apple</description>
- <vendor>Apple</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>apple_laptop</name>
-- <_description>Apple Laptop</_description>
-+ <description>Apple Laptop</description>
- <vendor>Apple</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>applealu_ansi</name>
-- <_description>Apple Aluminium Keyboard (ANSI)</_description>
-+ <description>Apple Aluminium Keyboard (ANSI)</description>
- <vendor>Apple</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>applealu_iso</name>
-- <_description>Apple Aluminium Keyboard (ISO)</_description>
-+ <description>Apple Aluminium Keyboard (ISO)</description>
- <vendor>Apple</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>applealu_jis</name>
-- <_description>Apple Aluminium Keyboard (JIS)</_description>
-+ <description>Apple Aluminium Keyboard (JIS)</description>
- <vendor>Apple</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>silvercrest</name>
-- <_description>SILVERCREST Multimedia Wireless Keyboard</_description>
-+ <description>SILVERCREST Multimedia Wireless Keyboard</description>
- <vendor>Silvercrest</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>emachines</name>
-- <_description>Laptop/notebook eMachines m68xx</_description>
-+ <description>Laptop/notebook eMachines m68xx</description>
- <vendor>eMachines</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>benqx</name>
-- <_description>BenQ X-Touch</_description>
-+ <description>BenQ X-Touch</description>
- <vendor>BenQ</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>benqx730</name>
-- <_description>BenQ X-Touch 730</_description>
-+ <description>BenQ X-Touch 730</description>
- <vendor>BenQ</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>benqx800</name>
-- <_description>BenQ X-Touch 800</_description>
-+ <description>BenQ X-Touch 800</description>
- <vendor>BenQ</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>hhk</name>
-- <_description>Happy Hacking Keyboard</_description>
-+ <description>Happy Hacking Keyboard</description>
- <vendor>Fujitsu</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>classmate</name>
-- <_description>Classmate PC</_description>
-+ <description>Classmate PC</description>
- <vendor>Intel</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>olpc</name>
-- <_description>OLPC</_description>
-+ <description>OLPC</description>
- <vendor>OLPC</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sun_type7_usb</name>
-- <_description>Sun Type 7 USB</_description>
-+ <description>Sun Type 7 USB</description>
- <vendor>Sun Microsystems</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sun_type7_euro_usb</name>
-- <_description>Sun Type 7 USB (European layout)</_description>
-+ <description>Sun Type 7 USB (European layout)</description>
- <vendor>Sun Microsystems</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sun_type7_unix_usb</name>
-- <_description>Sun Type 7 USB (Unix layout)</_description>
-+ <description>Sun Type 7 USB (Unix layout)</description>
- <vendor>Sun Microsystems</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sun_type7_jp_usb</name>
-- <_description>Sun Type 7 USB (Japanese layout) / Japanese 106-key</_description>
-+ <description>Sun Type 7 USB (Japanese layout) / Japanese 106-key</description>
- <vendor>Sun Microsystems</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sun_type6_usb</name>
-- <_description>Sun Type 6/7 USB</_description>
-+ <description>Sun Type 6/7 USB</description>
- <vendor>Sun Microsystems</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sun_type6_euro_usb</name>
-- <_description>Sun Type 6/7 USB (European layout)</_description>
-+ <description>Sun Type 6/7 USB (European layout)</description>
- <vendor>Sun Microsystems</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sun_type6_unix_usb</name>
-- <_description>Sun Type 6 USB (Unix layout)</_description>
-+ <description>Sun Type 6 USB (Unix layout)</description>
- <vendor>Sun Microsystems</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sun_type6_jp_usb</name>
-- <_description>Sun Type 6 USB (Japanese layout)</_description>
-+ <description>Sun Type 6 USB (Japanese layout)</description>
- <vendor>Sun Microsystems</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>sun_type6_jp</name>
-- <_description>Sun Type 6 (Japanese layout)</_description>
-+ <description>Sun Type 6 (Japanese layout)</description>
- <vendor>Sun Microsystems</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>targa_v811</name>
-- <_description>Targa Visionary 811</_description>
-+ <description>Targa Visionary 811</description>
- <vendor>Targa</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>unitekkb1925</name>
-- <_description>Unitek KB-1925</_description>
-+ <description>Unitek KB-1925</description>
- <vendor>Unitek Group</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>compalfl90</name>
-- <_description>FL90</_description>
-+ <description>FL90</description>
- <vendor>Compal Electronics Inc.</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>creativedw7000</name>
-- <_description>Creative Desktop Wireless 7000</_description>
-+ <description>Creative Desktop Wireless 7000</description>
- <vendor>Creative</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
- <name>htcdream</name>
-- <_description>Htc Dream phone</_description>
-+ <description>Htc Dream phone</description>
- <vendor>htc</vendor>
- </configItem>
- </model>
-@@ -1300,9 +1300,9 @@
- <layout>
- <configItem>
- <name>us</name>
-- <!-- Keyboard indicator for English layouts -->
-- <_shortDescription>en</_shortDescription>
-- <_description>English (US)</_description>
-+
-+ <shortDescription>en</shortDescription>
-+ <description>English (US)</description>
- <languageList>
- <iso639Id>eng</iso639Id>
- </languageList>
-@@ -1311,9 +1311,9 @@
- <variant>
- <configItem>
- <name>chr</name>
-- <!-- Keyboard indicator for Cherokee layouts -->
-- <_shortDescription>chr</_shortDescription>
-- <_description>Cherokee</_description>
-+
-+ <shortDescription>chr</shortDescription>
-+ <description>Cherokee</description>
- <languageList>
- <iso639Id>chr</iso639Id>
- </languageList>
-@@ -1322,75 +1322,75 @@
- <variant>
- <configItem>
- <name>euro</name>
-- <_description>English (US, with euro on 5)</_description>
-+ <description>English (US, with euro on 5)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>intl</name>
-- <_description>English (US, international with dead keys)</_description>
-+ <description>English (US, international with dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>alt-intl</name>
-- <_description>English (US, alternative international)</_description>
-+ <description>English (US, alternative international)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>colemak</name>
-- <_description>English (Colemak)</_description>
-+ <description>English (Colemak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>English (Dvorak)</_description>
-+ <description>English (Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak-intl</name>
-- <_description>English (Dvorak, international with dead keys)</_description>
-+ <description>English (Dvorak, international with dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak-alt-intl</name>
-- <_description>English (Dvorak alternative international no dead keys)</_description>
-+ <description>English (Dvorak alternative international no dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak-l</name>
-- <_description>English (left handed Dvorak)</_description>
-+ <description>English (left handed Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak-r</name>
-- <_description>English (right handed Dvorak)</_description>
-+ <description>English (right handed Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak-classic</name>
-- <_description>English (classic Dvorak)</_description>
-+ <description>English (classic Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvp</name>
-- <_description>English (programmer Dvorak)</_description>
-+ <description>English (programmer Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>rus</name>
-- <!-- Keyboard indicator for Russian layouts -->
-- <_shortDescription>ru</_shortDescription>
-- <_description>Russian (US, phonetic)</_description>
-+
-+ <shortDescription>ru</shortDescription>
-+ <description>Russian (US, phonetic)</description>
- <languageList>
- <iso639Id>rus</iso639Id>
- </languageList>
-@@ -1399,13 +1399,13 @@
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>English (Macintosh)</_description>
-+ <description>English (Macintosh)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>altgr-intl</name>
-- <_description>English (international AltGr dead keys)</_description>
-+ <description>English (international AltGr dead keys)</description>
- <languageList><iso639Id>eng</iso639Id>
- <iso639Id>fra</iso639Id>
- <iso639Id>ger</iso639Id></languageList>
-@@ -1414,13 +1414,13 @@
- <variant>
- <configItem>
- <name>olpc2</name>
-- <_description>English (the divide/multiply keys toggle the layout)</_description>
-+ <description>English (the divide/multiply keys toggle the layout)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>hbs</name>
-- <_description>Serbo-Croatian (US)</_description>
-+ <description>Serbo-Croatian (US)</description>
- <languageList><iso639Id>eng</iso639Id>
- <iso639Id>bos</iso639Id>
- <iso639Id>hbs</iso639Id>
-@@ -1431,13 +1431,13 @@
- <variant>
- <configItem>
- <name>workman</name>
-- <_description>English (Workman)</_description>
-+ <description>English (Workman)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>workman-intl</name>
-- <_description>English (Workman, international with dead keys)</_description>
-+ <description>English (Workman, international with dead keys)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -1445,17 +1445,17 @@
- <layout>
- <configItem>
- <name>af</name>
-- <!-- Keyboard indicator for Afghani layouts -->
-- <_shortDescription>fa</_shortDescription>
-- <_description>Afghani</_description>
-+
-+ <shortDescription>fa</shortDescription>
-+ <description>Afghani</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>ps</name>
-- <!-- Keyboard indicator for Pashto layouts -->
-- <_shortDescription>ps</_shortDescription>
-- <_description>Pashto</_description>
-+
-+ <shortDescription>ps</shortDescription>
-+ <description>Pashto</description>
- <languageList>
- <iso639Id>pus</iso639Id>
- </languageList>
-@@ -1464,9 +1464,9 @@
- <variant>
- <configItem>
- <name>uz</name>
-- <!-- Keyboard indicator for Uzbek layouts -->
-- <_shortDescription>uz</_shortDescription>
-- <_description>Uzbek (Afghanistan)</_description>
-+
-+ <shortDescription>uz</shortDescription>
-+ <description>Uzbek (Afghanistan)</description>
- <languageList>
- <iso639Id>uzb</iso639Id>
- </languageList>
-@@ -1475,9 +1475,9 @@
- <variant>
- <configItem>
- <name>olpc-ps</name>
-- <!-- Keyboard indicator for Pashto layouts -->
-- <_shortDescription>ps</_shortDescription>
-- <_description>Pashto (Afghanistan, OLPC)</_description>
-+
-+ <shortDescription>ps</shortDescription>
-+ <description>Pashto (Afghanistan, OLPC)</description>
- <languageList>
- <iso639Id>pus</iso639Id>
- </languageList>
-@@ -1486,17 +1486,17 @@
- <variant>
- <configItem>
- <name>fa-olpc</name>
-- <!-- Keyboard indicator for Persian layouts -->
-- <_shortDescription>fa</_shortDescription>
-- <_description>Persian (Afghanistan, Dari OLPC)</_description>
-+
-+ <shortDescription>fa</shortDescription>
-+ <description>Persian (Afghanistan, Dari OLPC)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>uz-olpc</name>
-- <!-- Keyboard indicator for Uzbek layouts -->
-- <_shortDescription>uz</_shortDescription>
-- <_description>Uzbek (Afghanistan, OLPC)</_description>
-+
-+ <shortDescription>uz</shortDescription>
-+ <description>Uzbek (Afghanistan, OLPC)</description>
- <languageList>
- <iso639Id>uzb</iso639Id>
- </languageList>
-@@ -1507,9 +1507,9 @@
- <layout>
- <configItem>
- <name>ara</name>
-- <!-- Keyboard indicator for Arabic layouts -->
-- <_shortDescription>ar</_shortDescription>
-- <_description>Arabic</_description>
-+
-+ <shortDescription>ar</shortDescription>
-+ <description>Arabic</description>
- <countryList>
- <iso3166Id>AE</iso3166Id>
- <iso3166Id>BH</iso3166Id>
-@@ -1539,37 +1539,37 @@
- <variant>
- <configItem>
- <name>azerty</name>
-- <_description>Arabic (azerty)</_description>
-+ <description>Arabic (azerty)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>azerty_digits</name>
-- <_description>Arabic (azerty/digits)</_description>
-+ <description>Arabic (azerty/digits)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>digits</name>
-- <_description>Arabic (digits)</_description>
-+ <description>Arabic (digits)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>qwerty</name>
-- <_description>Arabic (qwerty)</_description>
-+ <description>Arabic (qwerty)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>qwerty_digits</name>
-- <_description>Arabic (qwerty/digits)</_description>
-+ <description>Arabic (qwerty/digits)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>buckwalter</name>
-- <_description>Arabic (Buckwalter)</_description>
-+ <description>Arabic (Buckwalter)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -1577,9 +1577,9 @@
- <layout>
- <configItem>
- <name>al</name>
-- <!-- Keyboard indicator for Albanian layouts -->
-- <_shortDescription>sq</_shortDescription>
-- <_description>Albanian</_description>
-+
-+ <shortDescription>sq</shortDescription>
-+ <description>Albanian</description>
- <languageList>
- <iso639Id>alb</iso639Id>
- </languageList>
-@@ -1589,9 +1589,9 @@
- <layout>
- <configItem>
- <name>am</name>
-- <!-- Keyboard indicator for Armenian layouts -->
-- <_shortDescription>hy</_shortDescription>
-- <_description>Armenian</_description>
-+
-+ <shortDescription>hy</shortDescription>
-+ <description>Armenian</description>
- <languageList>
- <iso639Id>hye</iso639Id>
- </languageList>
-@@ -1600,31 +1600,31 @@
- <variant>
- <configItem>
- <name>phonetic</name>
-- <_description>Armenian (phonetic)</_description>
-+ <description>Armenian (phonetic)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>phonetic-alt</name>
-- <_description>Armenian (alternative phonetic)</_description>
-+ <description>Armenian (alternative phonetic)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>eastern</name>
-- <_description>Armenian (eastern)</_description>
-+ <description>Armenian (eastern)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>western</name>
-- <_description>Armenian (western)</_description>
-+ <description>Armenian (western)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>eastern-alt</name>
-- <_description>Armenian (alternative eastern)</_description>
-+ <description>Armenian (alternative eastern)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -1632,9 +1632,9 @@
- <layout>
- <configItem>
- <name>at</name>
-- <!-- Keyboard indicator for German layouts -->
-- <_shortDescription>de</_shortDescription>
-- <_description>German (Austria)</_description>
-+
-+ <shortDescription>de</shortDescription>
-+ <description>German (Austria)</description>
- <languageList>
- <iso639Id>ger</iso639Id>
- </languageList>
-@@ -1643,19 +1643,19 @@
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>German (Austria, eliminate dead keys)</_description>
-+ <description>German (Austria, eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sundeadkeys</name>
-- <_description>German (Austria, Sun dead keys)</_description>
-+ <description>German (Austria, Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>German (Austria, Macintosh)</_description>
-+ <description>German (Austria, Macintosh)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -1663,9 +1663,9 @@
- <layout>
- <configItem>
- <name>az</name>
-- <!-- Keyboard indicator for Azerbaijani layouts -->
-- <_shortDescription>az</_shortDescription>
-- <_description>Azerbaijani</_description>
-+
-+ <shortDescription>az</shortDescription>
-+ <description>Azerbaijani</description>
- <languageList>
- <iso639Id>aze</iso639Id>
- </languageList>
-@@ -1674,7 +1674,7 @@
- <variant>
- <configItem>
- <name>cyrillic</name>
-- <_description>Azerbaijani (Cyrillic)</_description>
-+ <description>Azerbaijani (Cyrillic)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -1682,9 +1682,9 @@
- <layout>
- <configItem>
- <name>by</name>
-- <!-- Keyboard indicator for Belarusian layouts -->
-- <_shortDescription>by</_shortDescription>
-- <_description>Belarusian</_description>
-+
-+ <shortDescription>by</shortDescription>
-+ <description>Belarusian</description>
- <languageList>
- <iso639Id>bel</iso639Id>
- </languageList>
-@@ -1693,13 +1693,13 @@
- <variant>
- <configItem>
- <name>legacy</name>
-- <_description>Belarusian (legacy)</_description>
-+ <description>Belarusian (legacy)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>latin</name>
-- <_description>Belarusian (Latin)</_description>
-+ <description>Belarusian (Latin)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -1707,9 +1707,9 @@
- <layout>
- <configItem>
- <name>be</name>
-- <!-- Keyboard indicator for Belgian layouts -->
-- <_shortDescription>be</_shortDescription>
-- <_description>Belgian</_description>
-+
-+ <shortDescription>be</shortDescription>
-+ <description>Belgian</description>
- <languageList><iso639Id>ger</iso639Id>
- <iso639Id>nld</iso639Id>
- <iso639Id>fra</iso639Id></languageList>
-@@ -1718,43 +1718,43 @@
- <variant>
- <configItem>
- <name>oss</name>
-- <_description>Belgian (alternative)</_description>
-+ <description>Belgian (alternative)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>oss_latin9</name>
-- <_description>Belgian (alternative, Latin-9 only)</_description>
-+ <description>Belgian (alternative, Latin-9 only)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>oss_sundeadkeys</name>
-- <_description>Belgian (alternative, Sun dead keys)</_description>
-+ <description>Belgian (alternative, Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>iso-alternate</name>
-- <_description>Belgian (ISO alternate)</_description>
-+ <description>Belgian (ISO alternate)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Belgian (eliminate dead keys)</_description>
-+ <description>Belgian (eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sundeadkeys</name>
-- <_description>Belgian (Sun dead keys)</_description>
-+ <description>Belgian (Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>wang</name>
-- <_description>Belgian (Wang model 724 azerty)</_description>
-+ <description>Belgian (Wang model 724 azerty)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -1762,9 +1762,9 @@
- <layout>
- <configItem>
- <name>bd</name>
-- <!-- Keyboard indicator for Bangla layouts -->
-- <_shortDescription>bn</_shortDescription>
-- <_description>Bangla</_description>
-+
-+ <shortDescription>bn</shortDescription>
-+ <description>Bangla</description>
- <languageList>
- <iso639Id>ben</iso639Id>
- </languageList>
-@@ -1773,7 +1773,7 @@
- <variant>
- <configItem>
- <name>probhat</name>
-- <_description>Bangla (Probhat)</_description>
-+ <description>Bangla (Probhat)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -1781,17 +1781,17 @@
- <layout>
- <configItem>
- <name>in</name>
-- <!-- Keyboard indicator for Indian layouts -->
-- <_shortDescription>in</_shortDescription>
-- <_description>Indian</_description>
-+
-+ <shortDescription>in</shortDescription>
-+ <description>Indian</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>ben</name>
-- <!-- Keyboard indicator for Bangla layouts -->
-- <_shortDescription>bn</_shortDescription>
-- <_description>Bangla (India)</_description>
-+
-+ <shortDescription>bn</shortDescription>
-+ <description>Bangla (India)</description>
- <languageList>
- <iso639Id>ben</iso639Id>
- </languageList>
-@@ -1800,9 +1800,9 @@
- <variant>
- <configItem>
- <name>ben_probhat</name>
-- <!-- Keyboard indicator for Bangla layouts -->
-- <_shortDescription>bn</_shortDescription>
-- <_description>Bangla (India, Probhat)</_description>
-+
-+ <shortDescription>bn</shortDescription>
-+ <description>Bangla (India, Probhat)</description>
- <languageList>
- <iso639Id>ben</iso639Id>
- </languageList>
-@@ -1811,28 +1811,28 @@
- <variant>
- <configItem>
- <name>ben_baishakhi</name>
-- <_description>Bangla (India, Baishakhi)</_description>
-+ <description>Bangla (India, Baishakhi)</description>
- <languageList><iso639Id>ben</iso639Id></languageList>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ben_bornona</name>
-- <_description>Bangla (India, Bornona)</_description>
-+ <description>Bangla (India, Bornona)</description>
- <languageList><iso639Id>ben</iso639Id></languageList>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ben_gitanjali</name>
-- <_description>Bangla (India, Uni Gitanjali)</_description>
-+ <description>Bangla (India, Uni Gitanjali)</description>
- <languageList><iso639Id>ben</iso639Id></languageList>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ben_inscript</name>
-- <_description>Bangla (India, Baishakhi Inscript)</_description>
-+ <description>Bangla (India, Baishakhi Inscript)</description>
- <languageList><iso639Id>ben</iso639Id></languageList>
- </configItem>
- </variant>
-@@ -1846,9 +1846,9 @@
- <variant>
- <configItem>
- <name>guj</name>
-- <!-- Keyboard indicator for Gujarati layouts -->
-- <_shortDescription>gu</_shortDescription>
-- <_description>Gujarati</_description>
-+
-+ <shortDescription>gu</shortDescription>
-+ <description>Gujarati</description>
- <languageList>
- <iso639Id>guj</iso639Id>
- </languageList>
-@@ -1857,9 +1857,9 @@
- <variant>
- <configItem>
- <name>guru</name>
-- <!-- Keyboard indicator for Punjabi layouts -->
-- <_shortDescription>pa</_shortDescription>
-- <_description>Punjabi (Gurmukhi)</_description>
-+
-+ <shortDescription>pa</shortDescription>
-+ <description>Punjabi (Gurmukhi)</description>
- <languageList>
- <iso639Id>pan</iso639Id>
- </languageList>
-@@ -1868,9 +1868,9 @@
- <variant>
- <configItem>
- <name>jhelum</name>
-- <!-- Keyboard indicator for Punjabi layouts -->
-- <_shortDescription>pa</_shortDescription>
-- <_description>Punjabi (Gurmukhi Jhelum)</_description>
-+
-+ <shortDescription>pa</shortDescription>
-+ <description>Punjabi (Gurmukhi Jhelum)</description>
- <languageList>
- <iso639Id>pan</iso639Id>
- </languageList>
-@@ -1879,9 +1879,9 @@
- <variant>
- <configItem>
- <name>kan</name>
-- <!-- Keyboard indicator for Kannada layouts -->
-- <_shortDescription>kn</_shortDescription>
-- <_description>Kannada</_description>
-+
-+ <shortDescription>kn</shortDescription>
-+ <description>Kannada</description>
- <languageList>
- <iso639Id>kan</iso639Id>
- </languageList>
-@@ -1890,9 +1890,9 @@
- <variant>
- <configItem>
- <name>kan-kagapa</name>
-- <!-- Keyboard indicator for Kannada layouts -->
-- <_shortDescription>kn</_shortDescription>
-- <_description>Kannada (KaGaPa phonetic)</_description>
-+
-+ <shortDescription>kn</shortDescription>
-+ <description>Kannada (KaGaPa phonetic)</description>
- <languageList>
- <iso639Id>kan</iso639Id>
- </languageList>
-@@ -1901,9 +1901,9 @@
- <variant>
- <configItem>
- <name>mal</name>
-- <!-- Keyboard indicator for Malayalam layouts -->
-- <_shortDescription>ml</_shortDescription>
-- <_description>Malayalam</_description>
-+
-+ <shortDescription>ml</shortDescription>
-+ <description>Malayalam</description>
- <languageList>
- <iso639Id>mal</iso639Id>
- </languageList>
-@@ -1912,9 +1912,9 @@
- <variant>
- <configItem>
- <name>mal_lalitha</name>
-- <!-- Keyboard indicator for Malayalam layouts -->
-- <_shortDescription>ml</_shortDescription>
-- <_description>Malayalam (Lalitha)</_description>
-+
-+ <shortDescription>ml</shortDescription>
-+ <description>Malayalam (Lalitha)</description>
- <languageList>
- <iso639Id>mal</iso639Id>
- </languageList>
-@@ -1923,18 +1923,18 @@
- <variant>
- <configItem>
- <name>mal_enhanced</name>
-- <!-- Keyboard indicator for Malayalam layouts -->
-- <_shortDescription>ml</_shortDescription>
-- <_description>Malayalam (enhanced Inscript with Rupee Sign)</_description>
-+
-+ <shortDescription>ml</shortDescription>
-+ <description>Malayalam (enhanced Inscript with Rupee Sign)</description>
- <languageList><iso639Id>mal</iso639Id></languageList>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ori</name>
-- <!-- Keyboard indicator for Oriya layouts -->
-- <_shortDescription>or</_shortDescription>
-- <_description>Oriya</_description>
-+
-+ <shortDescription>or</shortDescription>
-+ <description>Oriya</description>
- <languageList>
- <iso639Id>ori</iso639Id>
- </languageList>
-@@ -1943,9 +1943,9 @@
- <variant>
- <configItem>
- <name>tam_unicode</name>
-- <!-- Keyboard indicator for Tamil layouts -->
-- <_shortDescription>ta</_shortDescription>
-- <_description>Tamil (Unicode)</_description>
-+
-+ <shortDescription>ta</shortDescription>
-+ <description>Tamil (Unicode)</description>
- <languageList>
- <iso639Id>tam</iso639Id>
- </languageList>
-@@ -1954,9 +1954,9 @@
- <variant>
- <configItem>
- <name>tam_keyboard_with_numerals</name>
-- <!-- Keyboard indicator for Tamil layouts -->
-- <_shortDescription>ta</_shortDescription>
-- <_description>Tamil (keyboard with numerals)</_description>
-+
-+ <shortDescription>ta</shortDescription>
-+ <description>Tamil (keyboard with numerals)</description>
- <languageList>
- <iso639Id>tam</iso639Id>
- </languageList>
-@@ -1965,9 +1965,9 @@
- <variant>
- <configItem>
- <name>tam_TAB</name>
-- <!-- Keyboard indicator for Tamil layouts -->
-- <_shortDescription>ta</_shortDescription>
-- <_description>Tamil (TAB typewriter)</_description>
-+
-+ <shortDescription>ta</shortDescription>
-+ <description>Tamil (TAB typewriter)</description>
- <languageList>
- <iso639Id>tam</iso639Id>
- </languageList>
-@@ -1976,9 +1976,9 @@
- <variant>
- <configItem>
- <name>tam_TSCII</name>
-- <!-- Keyboard indicator for Tamil layouts -->
-- <_shortDescription>ta</_shortDescription>
-- <_description>Tamil (TSCII typewriter)</_description>
-+
-+ <shortDescription>ta</shortDescription>
-+ <description>Tamil (TSCII typewriter)</description>
- <languageList>
- <iso639Id>tam</iso639Id>
- </languageList>
-@@ -1987,9 +1987,9 @@
- <variant>
- <configItem>
- <name>tam</name>
-- <!-- Keyboard indicator for Tamil layouts -->
-- <_shortDescription>ta</_shortDescription>
-- <_description>Tamil</_description>
-+
-+ <shortDescription>ta</shortDescription>
-+ <description>Tamil</description>
- <languageList>
- <iso639Id>tam</iso639Id>
- </languageList>
-@@ -1998,9 +1998,9 @@
- <variant>
- <configItem>
- <name>tel</name>
-- <!-- Keyboard indicator for Telugu layouts -->
-- <_shortDescription>te</_shortDescription>
-- <_description>Telugu</_description>
-+
-+ <shortDescription>te</shortDescription>
-+ <description>Telugu</description>
- <languageList>
- <iso639Id>tel</iso639Id>
- </languageList>
-@@ -2009,9 +2009,9 @@
- <variant>
- <configItem>
- <name>tel-kagapa</name>
-- <!-- Keyboard indicator for Telugu layouts -->
-- <_shortDescription>te</_shortDescription>
-- <_description>Telugu (KaGaPa phonetic)</_description>
-+
-+ <shortDescription>te</shortDescription>
-+ <description>Telugu (KaGaPa phonetic)</description>
- <languageList>
- <iso639Id>tel</iso639Id>
- </languageList>
-@@ -2020,9 +2020,9 @@
- <variant>
- <configItem>
- <name>urd-phonetic</name>
-- <!-- Keyboard indicator for Urdu layouts -->
-- <_shortDescription>ur</_shortDescription>
-- <_description>Urdu (phonetic)</_description>
-+
-+ <shortDescription>ur</shortDescription>
-+ <description>Urdu (phonetic)</description>
- <languageList>
- <iso639Id>urd</iso639Id>
- </languageList>
-@@ -2031,9 +2031,9 @@
- <variant>
- <configItem>
- <name>urd-phonetic3</name>
-- <!-- Keyboard indicator for Urdu layouts -->
-- <_shortDescription>ur</_shortDescription>
-- <_description>Urdu (alternative phonetic)</_description>
-+
-+ <shortDescription>ur</shortDescription>
-+ <description>Urdu (alternative phonetic)</description>
- <languageList>
- <iso639Id>urd</iso639Id>
- </languageList>
-@@ -2042,9 +2042,9 @@
- <variant>
- <configItem>
- <name>urd-winkeys</name>
-- <!-- Keyboard indicator for Urdu layouts -->
-- <_shortDescription>ur</_shortDescription>
-- <_description>Urdu (WinKeys)</_description>
-+
-+ <shortDescription>ur</shortDescription>
-+ <description>Urdu (WinKeys)</description>
- <languageList>
- <iso639Id>urd</iso639Id>
- </languageList>
-@@ -2053,9 +2053,9 @@
- <variant>
- <configItem>
- <name>bolnagri</name>
-- <!-- Keyboard indicator for Hindi layouts -->
-- <_shortDescription>hi</_shortDescription>
-- <_description>Hindi (Bolnagri)</_description>
-+
-+ <shortDescription>hi</shortDescription>
-+ <description>Hindi (Bolnagri)</description>
- <languageList>
- <iso639Id>hin</iso639Id>
- </languageList>
-@@ -2064,9 +2064,9 @@
- <variant>
- <configItem>
- <name>hin-wx</name>
-- <!-- Keyboard indicator for Hindi layouts -->
-- <_shortDescription>hi</_shortDescription>
-- <_description>Hindi (Wx)</_description>
-+
-+ <shortDescription>hi</shortDescription>
-+ <description>Hindi (Wx)</description>
- <languageList>
- <iso639Id>hin</iso639Id>
- </languageList>
-@@ -2075,9 +2075,9 @@
- <variant>
- <configItem>
- <name>hin-kagapa</name>
-- <!-- Keyboard indicator for Hindi layouts -->
-- <_shortDescription>hi</_shortDescription>
-- <_description>Hindi (KaGaPa phonetic)</_description>
-+
-+ <shortDescription>hi</shortDescription>
-+ <description>Hindi (KaGaPa phonetic)</description>
- <languageList>
- <iso639Id>hin</iso639Id>
- </languageList>
-@@ -2086,9 +2086,9 @@
- <variant>
- <configItem>
- <name>san-kagapa</name>
-- <!-- Keyboard indicator for Sanskrit layouts -->
-- <_shortDescription>sa</_shortDescription>
-- <_description>Sanskrit (KaGaPa phonetic)</_description>
-+
-+ <shortDescription>sa</shortDescription>
-+ <description>Sanskrit (KaGaPa phonetic)</description>
- <languageList>
- <iso639Id>san</iso639Id>
- </languageList>
-@@ -2097,9 +2097,9 @@
- <variant>
- <configItem>
- <name>mar-kagapa</name>
-- <!-- Keyboard indicator for Marathi layouts -->
-- <_shortDescription>mr</_shortDescription>
-- <_description>Marathi (KaGaPa phonetic)</_description>
-+
-+ <shortDescription>mr</shortDescription>
-+ <description>Marathi (KaGaPa phonetic)</description>
- <languageList>
- <iso639Id>mar</iso639Id>
- </languageList>
-@@ -2108,9 +2108,9 @@
- <variant>
- <configItem>
- <name>eng</name>
-- <!-- Keyboard indicator for English layouts -->
-- <_shortDescription>en</_shortDescription>
-- <_description>English (India, with RupeeSign)</_description>
-+
-+ <shortDescription>en</shortDescription>
-+ <description>English (India, with RupeeSign)</description>
- <languageList>
- <iso639Id>eng</iso639Id>
- </languageList>
-@@ -2121,9 +2121,9 @@
- <layout>
- <configItem>
- <name>ba</name>
-- <!-- Keyboard indicator for Bosnian layouts -->
-- <_shortDescription>bs</_shortDescription>
-- <_description>Bosnian</_description>
-+
-+ <shortDescription>bs</shortDescription>
-+ <description>Bosnian</description>
- <languageList>
- <iso639Id>bos</iso639Id>
- </languageList>
-@@ -2132,25 +2132,25 @@
- <variant>
- <configItem>
- <name>alternatequotes</name>
-- <_description>Bosnian (use guillemets for quotes)</_description>
-+ <description>Bosnian (use guillemets for quotes)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>unicode</name>
-- <_description>Bosnian (use Bosnian digraphs)</_description>
-+ <description>Bosnian (use Bosnian digraphs)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>unicodeus</name>
-- <_description>Bosnian (US keyboard with Bosnian digraphs)</_description>
-+ <description>Bosnian (US keyboard with Bosnian digraphs)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>us</name>
-- <_description>Bosnian (US keyboard with Bosnian letters)</_description>
-+ <description>Bosnian (US keyboard with Bosnian letters)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -2158,9 +2158,9 @@
- <layout>
- <configItem>
- <name>br</name>
-- <!-- Keyboard indicator for Portuguese layouts -->
-- <_shortDescription>pt</_shortDescription>
-- <_description>Portuguese (Brazil)</_description>
-+
-+ <shortDescription>pt</shortDescription>
-+ <description>Portuguese (Brazil)</description>
- <languageList>
- <iso639Id>por</iso639Id>
- </languageList>
-@@ -2169,31 +2169,31 @@
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Portuguese (Brazil, eliminate dead keys)</_description>
-+ <description>Portuguese (Brazil, eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>Portuguese (Brazil, Dvorak)</_description>
-+ <description>Portuguese (Brazil, Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>nativo</name>
-- <_description>Portuguese (Brazil, Nativo)</_description>
-+ <description>Portuguese (Brazil, Nativo)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>nativo-us</name>
-- <_description>Portuguese (Brazil, Nativo for US keyboards)</_description>
-+ <description>Portuguese (Brazil, Nativo for US keyboards)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>nativo-epo</name>
-- <_description>Esperanto (Brazil, Nativo)</_description>
-+ <description>Esperanto (Brazil, Nativo)</description>
- <languageList>
- <iso639Id>epo</iso639Id>
- </languageList>
-@@ -2204,9 +2204,9 @@
- <layout>
- <configItem>
- <name>bg</name>
-- <!-- Keyboard indicator for Bulgarian layouts -->
-- <_shortDescription>bg</_shortDescription>
-- <_description>Bulgarian</_description>
-+
-+ <shortDescription>bg</shortDescription>
-+ <description>Bulgarian</description>
- <languageList>
- <iso639Id>bul</iso639Id>
- </languageList>
-@@ -2215,13 +2215,13 @@
- <variant>
- <configItem>
- <name>phonetic</name>
-- <_description>Bulgarian (traditional phonetic)</_description>
-+ <description>Bulgarian (traditional phonetic)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>bas_phonetic</name>
-- <_description>Bulgarian (new phonetic)</_description>
-+ <description>Bulgarian (new phonetic)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -2229,17 +2229,17 @@
- <layout>
- <configItem>
- <name>ma</name>
-- <!-- Keyboard indicator for Arabic layouts -->
-- <_shortDescription>ar</_shortDescription>
-- <_description>Arabic (Morocco)</_description>
-+
-+ <shortDescription>ar</shortDescription>
-+ <description>Arabic (Morocco)</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>french</name>
-- <!-- Keyboard indicator for French layouts -->
-- <_shortDescription>fr</_shortDescription>
-- <_description>French (Morocco)</_description>
-+
-+ <shortDescription>fr</shortDescription>
-+ <description>French (Morocco)</description>
- <languageList>
- <iso639Id>fra</iso639Id>
- </languageList>
-@@ -2248,9 +2248,9 @@
- <variant>
- <configItem>
- <name>tifinagh</name>
-- <!-- Keyboard indicator for Berber layouts -->
-- <_shortDescription>ber</_shortDescription>
-- <_description>Berber (Morocco, Tifinagh)</_description>
-+
-+ <shortDescription>ber</shortDescription>
-+ <description>Berber (Morocco, Tifinagh)</description>
- <languageList>
- <iso639Id>ber</iso639Id>
- </languageList>
-@@ -2259,9 +2259,9 @@
- <variant>
- <configItem>
- <name>tifinagh-alt</name>
-- <!-- Keyboard indicator for Berber layouts -->
-- <_shortDescription>ber</_shortDescription>
-- <_description>Berber (Morocco, Tifinagh alternative)</_description>
-+
-+ <shortDescription>ber</shortDescription>
-+ <description>Berber (Morocco, Tifinagh alternative)</description>
- <languageList>
- <iso639Id>ber</iso639Id>
- </languageList>
-@@ -2270,9 +2270,9 @@
- <variant>
- <configItem>
- <name>tifinagh-alt-phonetic</name>
-- <!-- Keyboard indicator for Berber layouts -->
-- <_shortDescription>ber</_shortDescription>
-- <_description>Berber (Morocco, Tifinagh alternative phonetic)</_description>
-+
-+ <shortDescription>ber</shortDescription>
-+ <description>Berber (Morocco, Tifinagh alternative phonetic)</description>
- <languageList>
- <iso639Id>ber</iso639Id>
- </languageList>
-@@ -2281,9 +2281,9 @@
- <variant>
- <configItem>
- <name>tifinagh-extended</name>
-- <!-- Keyboard indicator for Berber layouts -->
-- <_shortDescription>ber</_shortDescription>
-- <_description>Berber (Morocco, Tifinagh extended)</_description>
-+
-+ <shortDescription>ber</shortDescription>
-+ <description>Berber (Morocco, Tifinagh extended)</description>
- <languageList>
- <iso639Id>ber</iso639Id>
- </languageList>
-@@ -2292,9 +2292,9 @@
- <variant>
- <configItem>
- <name>tifinagh-phonetic</name>
-- <!-- Keyboard indicator for Berber layouts -->
-- <_shortDescription>ber</_shortDescription>
-- <_description>Berber (Morocco, Tifinagh phonetic)</_description>
-+
-+ <shortDescription>ber</shortDescription>
-+ <description>Berber (Morocco, Tifinagh phonetic)</description>
- <languageList>
- <iso639Id>ber</iso639Id>
- </languageList>
-@@ -2303,9 +2303,9 @@
- <variant>
- <configItem>
- <name>tifinagh-extended-phonetic</name>
-- <!-- Keyboard indicator for Berber layouts -->
-- <_shortDescription>ber</_shortDescription>
-- <_description>Berber (Morocco, Tifinagh extended phonetic)</_description>
-+
-+ <shortDescription>ber</shortDescription>
-+ <description>Berber (Morocco, Tifinagh extended phonetic)</description>
- <languageList>
- <iso639Id>ber</iso639Id>
- </languageList>
-@@ -2316,23 +2316,23 @@
- <layout>
- <configItem>
- <name>cm</name>
-- <!-- Keyboard indicator for Cameroon layouts -->
-- <_shortDescription>cm</_shortDescription>
-- <_description>English (Cameroon)</_description>
-+
-+ <shortDescription>cm</shortDescription>
-+ <description>English (Cameroon)</description>
- <languageList><iso639Id>eng</iso639Id></languageList>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>french</name>
-- <_description>French (Cameroon)</_description>
-+ <description>French (Cameroon)</description>
- <languageList><iso639Id>fra</iso639Id></languageList>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>qwerty</name>
-- <_description>Cameroon Multilingual (qwerty)</_description>
-+ <description>Cameroon Multilingual (qwerty)</description>
- <languageList>
- <iso639Id>eng</iso639Id>
- <iso639Id>bas</iso639Id>
-@@ -2369,7 +2369,7 @@
- <variant>
- <configItem>
- <name>azerty</name>
-- <_description>Cameroon Multilingual (azerty)</_description>
-+ <description>Cameroon Multilingual (azerty)</description>
- <languageList>
- <iso639Id>fra</iso639Id>
- <iso639Id>bas</iso639Id>
-@@ -2406,7 +2406,7 @@
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>Cameroon Multilingual (Dvorak)</_description>
-+ <description>Cameroon Multilingual (Dvorak)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -2414,9 +2414,9 @@
- <layout>
- <configItem>
- <name>mm</name>
-- <!-- Keyboard indicator for Burmese layouts -->
-- <_shortDescription>my</_shortDescription>
-- <_description>Burmese</_description>
-+
-+ <shortDescription>my</shortDescription>
-+ <description>Burmese</description>
- <languageList>
- <iso639Id>mya</iso639Id>
- </languageList>
-@@ -2426,9 +2426,9 @@
- <layout>
- <configItem>
- <name>ca</name>
-- <!-- Keyboard indicator for French layouts -->
-- <_shortDescription>fr</_shortDescription>
-- <_description>French (Canada)</_description>
-+
-+ <shortDescription>fr</shortDescription>
-+ <description>French (Canada)</description>
- <languageList>
- <iso639Id>fra</iso639Id>
- </languageList>
-@@ -2437,43 +2437,43 @@
- <variant>
- <configItem>
- <name>fr-dvorak</name>
-- <!-- Keyboard indicator for French layouts -->
-- <_shortDescription>fr</_shortDescription>
-- <_description>French (Canada, Dvorak)</_description>
-+
-+ <shortDescription>fr</shortDescription>
-+ <description>French (Canada, Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>fr-legacy</name>
-- <!-- Keyboard indicator for French layouts -->
-- <_shortDescription>fr</_shortDescription>
-- <_description>French (Canada, legacy)</_description>
-+
-+ <shortDescription>fr</shortDescription>
-+ <description>French (Canada, legacy)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>multix</name>
-- <_description>Canadian Multilingual</_description>
-+ <description>Canadian Multilingual</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>multi</name>
-- <_description>Canadian Multilingual (first part)</_description>
-+ <description>Canadian Multilingual (first part)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>multi-2gr</name>
-- <_description>Canadian Multilingual (second part)</_description>
-+ <description>Canadian Multilingual (second part)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ike</name>
-- <!-- Keyboard indicator for Inuktikut layouts -->
-- <_shortDescription>ike</_shortDescription>
-- <_description>Inuktitut</_description>
-+
-+ <shortDescription>ike</shortDescription>
-+ <description>Inuktitut</description>
- <languageList>
- <iso639Id>iku</iso639Id>
- </languageList>
-@@ -2482,9 +2482,9 @@
- <variant>
- <configItem>
- <name>eng</name>
-- <!-- Keyboard indicator for English layouts -->
-- <_shortDescription>en</_shortDescription>
-- <_description>English (Canada)</_description>
-+
-+ <shortDescription>en</shortDescription>
-+ <description>English (Canada)</description>
- <languageList>
- <iso639Id>eng</iso639Id>
- </languageList>
-@@ -2495,9 +2495,9 @@
- <layout>
- <configItem>
- <name>cd</name>
-- <!-- Keyboard indicator for French layouts -->
-- <_shortDescription>fr</_shortDescription>
-- <_description>French (Democratic Republic of the Congo)</_description>
-+
-+ <shortDescription>fr</shortDescription>
-+ <description>French (Democratic Republic of the Congo)</description>
- <languageList>
- <iso639Id>fra</iso639Id>
- </languageList>
-@@ -2507,9 +2507,9 @@
- <layout>
- <configItem>
- <name>cn</name>
-- <!-- Keyboard indicator for Chinese layouts -->
-- <_shortDescription>zh</_shortDescription>
-- <_description>Chinese</_description>
-+
-+ <shortDescription>zh</shortDescription>
-+ <description>Chinese</description>
- <languageList>
- <iso639Id>chi</iso639Id>
- </languageList>
-@@ -2518,7 +2518,7 @@
- <variant>
- <configItem>
- <name>tib</name>
-- <_description>Tibetan</_description>
-+ <description>Tibetan</description>
- <languageList>
- <iso639Id>tib</iso639Id>
- </languageList>
-@@ -2527,7 +2527,7 @@
- <variant>
- <configItem>
- <name>tib_asciinum</name>
-- <_description>Tibetan (with ASCII numerals)</_description>
-+ <description>Tibetan (with ASCII numerals)</description>
- <languageList>
- <iso639Id>tib</iso639Id>
- </languageList>
-@@ -2536,8 +2536,8 @@
- <variant>
- <configItem>
- <name>ug</name>
-- <_shortDescription>ug</_shortDescription>
-- <_description>Uyghur</_description>
-+ <shortDescription>ug</shortDescription>
-+ <description>Uyghur</description>
- <languageList>
- <iso639Id>ug</iso639Id>
- </languageList>
-@@ -2548,9 +2548,9 @@
- <layout>
- <configItem>
- <name>hr</name>
-- <!-- Keyboard indicator for Croatian layouts -->
-- <_shortDescription>hr</_shortDescription>
-- <_description>Croatian</_description>
-+
-+ <shortDescription>hr</shortDescription>
-+ <description>Croatian</description>
- <languageList>
- <iso639Id>hrv</iso639Id>
- </languageList>
-@@ -2559,25 +2559,25 @@
- <variant>
- <configItem>
- <name>alternatequotes</name>
-- <_description>Croatian (use guillemets for quotes)</_description>
-+ <description>Croatian (use guillemets for quotes)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>unicode</name>
-- <_description>Croatian (use Croatian digraphs)</_description>
-+ <description>Croatian (use Croatian digraphs)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>unicodeus</name>
-- <_description>Croatian (US keyboard with Croatian digraphs)</_description>
-+ <description>Croatian (US keyboard with Croatian digraphs)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>us</name>
-- <_description>Croatian (US keyboard with Croatian letters)</_description>
-+ <description>Croatian (US keyboard with Croatian letters)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -2585,9 +2585,9 @@
- <layout>
- <configItem>
- <name>cz</name>
-- <!-- Keyboard indicator for Chech layouts -->
-- <_shortDescription>cs</_shortDescription>
-- <_description>Czech</_description>
-+
-+ <shortDescription>cs</shortDescription>
-+ <description>Czech</description>
- <languageList>
- <iso639Id>cze</iso639Id>
- </languageList>
-@@ -2596,31 +2596,31 @@
- <variant>
- <configItem>
- <name>bksl</name>
-- <_description>Czech (with &lt;\|&gt; key)</_description>
-+ <description>Czech (with &lt;\|&gt; key)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>qwerty</name>
-- <_description>Czech (qwerty)</_description>
-+ <description>Czech (qwerty)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>qwerty_bksl</name>
-- <_description>Czech (qwerty, extended Backslash)</_description>
-+ <description>Czech (qwerty, extended Backslash)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ucw</name>
-- <_description>Czech (UCW layout, accented letters only)</_description>
-+ <description>Czech (UCW layout, accented letters only)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak-ucw</name>
-- <_description>Czech (US Dvorak with CZ UCW support)</_description>
-+ <description>Czech (US Dvorak with CZ UCW support)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -2628,9 +2628,9 @@
- <layout>
- <configItem>
- <name>dk</name>
-- <!-- Keyboard indicator for Danish layouts -->
-- <_shortDescription>da</_shortDescription>
-- <_description>Danish</_description>
-+
-+ <shortDescription>da</shortDescription>
-+ <description>Danish</description>
- <languageList>
- <iso639Id>dan</iso639Id>
- </languageList>
-@@ -2639,25 +2639,25 @@
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Danish (eliminate dead keys)</_description>
-+ <description>Danish (eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>Danish (Macintosh)</_description>
-+ <description>Danish (Macintosh)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac_nodeadkeys</name>
-- <_description>Danish (Macintosh, eliminate dead keys)</_description>
-+ <description>Danish (Macintosh, eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>Danish (Dvorak)</_description>
-+ <description>Danish (Dvorak)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -2665,9 +2665,9 @@
- <layout>
- <configItem>
- <name>nl</name>
-- <!-- Keyboard indicator for Dutch layouts -->
-- <_shortDescription>nl</_shortDescription>
-- <_description>Dutch</_description>
-+
-+ <shortDescription>nl</shortDescription>
-+ <description>Dutch</description>
- <languageList>
- <iso639Id>nld</iso639Id>
- </languageList>
-@@ -2676,19 +2676,19 @@
- <variant>
- <configItem>
- <name>sundeadkeys</name>
-- <_description>Dutch (Sun dead keys)</_description>
-+ <description>Dutch (Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>Dutch (Macintosh)</_description>
-+ <description>Dutch (Macintosh)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>std</name>
-- <_description>Dutch (standard)</_description>
-+ <description>Dutch (standard)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -2696,9 +2696,9 @@
- <layout>
- <configItem>
- <name>bt</name>
-- <!-- Keyboard indicator for Dzongkha layouts -->
-- <_shortDescription>dz</_shortDescription>
-- <_description>Dzongkha</_description>
-+
-+ <shortDescription>dz</shortDescription>
-+ <description>Dzongkha</description>
- <languageList>
- <iso639Id>dzo</iso639Id>
- </languageList>
-@@ -2707,9 +2707,9 @@
- <layout>
- <configItem>
- <name>ee</name>
-- <!-- Keyboard indicator for Estonian layouts -->
-- <_shortDescription>et</_shortDescription>
-- <_description>Estonian</_description>
-+
-+ <shortDescription>et</shortDescription>
-+ <description>Estonian</description>
- <languageList>
- <iso639Id>est</iso639Id>
- </languageList>
-@@ -2718,19 +2718,19 @@
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Estonian (eliminate dead keys)</_description>
-+ <description>Estonian (eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>Estonian (Dvorak)</_description>
-+ <description>Estonian (Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>us</name>
-- <_description>Estonian (US keyboard with Estonian letters)</_description>
-+ <description>Estonian (US keyboard with Estonian letters)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -2738,9 +2738,9 @@
- <layout>
- <configItem>
- <name>ir</name>
-- <!-- Keyboard indicator for Persian layouts -->
-- <_shortDescription>fa</_shortDescription>
-- <_description>Persian</_description>
-+
-+ <shortDescription>fa</shortDescription>
-+ <description>Persian</description>
- <languageList>
- <iso639Id>per</iso639Id>
- </languageList>
-@@ -2749,15 +2749,15 @@
- <variant>
- <configItem>
- <name>pes_keypad</name>
-- <_description>Persian (with Persian Keypad)</_description>
-+ <description>Persian (with Persian Keypad)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ku</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Iran, Latin Q)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Iran, Latin Q)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -2766,9 +2766,9 @@
- <variant>
- <configItem>
- <name>ku_f</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Iran, F)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Iran, F)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -2777,9 +2777,9 @@
- <variant>
- <configItem>
- <name>ku_alt</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Iran, Latin Alt-Q)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Iran, Latin Alt-Q)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -2788,9 +2788,9 @@
- <variant>
- <configItem>
- <name>ku_ara</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Iran, Arabic-Latin)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Iran, Arabic-Latin)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -2801,9 +2801,9 @@
- <layout>
- <configItem>
- <name>iq</name>
-- <!-- Keyboard indicator for Iraqi layouts -->
-- <_shortDescription>ar</_shortDescription>
-- <_description>Iraqi</_description>
-+
-+ <shortDescription>ar</shortDescription>
-+ <description>Iraqi</description>
- <languageList><iso639Id>ara</iso639Id>
- <iso639Id>kur</iso639Id></languageList>
- </configItem>
-@@ -2811,9 +2811,9 @@
- <variant>
- <configItem>
- <name>ku</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Iraq, Latin Q)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Iraq, Latin Q)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -2822,9 +2822,9 @@
- <variant>
- <configItem>
- <name>ku_f</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Iraq, F)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Iraq, F)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -2833,9 +2833,9 @@
- <variant>
- <configItem>
- <name>ku_alt</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Iraq, Latin Alt-Q)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Iraq, Latin Alt-Q)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -2844,9 +2844,9 @@
- <variant>
- <configItem>
- <name>ku_ara</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Iraq, Arabic-Latin)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Iraq, Arabic-Latin)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -2857,9 +2857,9 @@
- <layout>
- <configItem>
- <name>fo</name>
-- <!-- Keyboard indicator for Faroese layouts -->
-- <_shortDescription>fo</_shortDescription>
-- <_description>Faroese</_description>
-+
-+ <shortDescription>fo</shortDescription>
-+ <description>Faroese</description>
- <languageList>
- <iso639Id>fao</iso639Id>
- </languageList>
-@@ -2868,7 +2868,7 @@
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Faroese (eliminate dead keys)</_description>
-+ <description>Faroese (eliminate dead keys)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -2876,9 +2876,9 @@
- <layout>
- <configItem>
- <name>fi</name>
-- <!-- Keyboard indicator for Finnish layouts -->
-- <_shortDescription>fi</_shortDescription>
-- <_description>Finnish</_description>
-+
-+ <shortDescription>fi</shortDescription>
-+ <description>Finnish</description>
- <languageList>
- <iso639Id>fin</iso639Id>
- </languageList>
-@@ -2887,26 +2887,26 @@
- <variant>
- <configItem>
- <name>classic</name>
-- <_description>Finnish (classic)</_description>
-+ <description>Finnish (classic)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Finnish (classic, eliminate dead keys)</_description>
-+ <description>Finnish (classic, eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>smi</name>
-- <_description>Northern Saami (Finland)</_description>
-+ <description>Northern Saami (Finland)</description>
- <languageList><iso639Id>sme</iso639Id></languageList>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>Finnish (Macintosh)</_description>
-+ <description>Finnish (Macintosh)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -2914,9 +2914,9 @@
- <layout>
- <configItem>
- <name>fr</name>
-- <!-- Keyboard indicator for French layouts -->
-- <_shortDescription>fr</_shortDescription>
-- <_description>French</_description>
-+
-+ <shortDescription>fr</shortDescription>
-+ <description>French</description>
- <languageList>
- <iso639Id>fra</iso639Id>
- </languageList>
-@@ -2925,91 +2925,91 @@
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>French (eliminate dead keys)</_description>
-+ <description>French (eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sundeadkeys</name>
-- <_description>French (Sun dead keys)</_description>
-+ <description>French (Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>oss</name>
-- <_description>French (alternative)</_description>
-+ <description>French (alternative)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>oss_latin9</name>
-- <_description>French (alternative, Latin-9 only)</_description>
-+ <description>French (alternative, Latin-9 only)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>oss_nodeadkeys</name>
-- <_description>French (alternative, eliminate dead keys)</_description>
-+ <description>French (alternative, eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>oss_sundeadkeys</name>
-- <_description>French (alternative, Sun dead keys)</_description>
-+ <description>French (alternative, Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>latin9</name>
-- <_description>French (legacy, alternative)</_description>
-+ <description>French (legacy, alternative)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>latin9_nodeadkeys</name>
-- <_description>French (legacy, alternative, eliminate dead keys)</_description>
-+ <description>French (legacy, alternative, eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>latin9_sundeadkeys</name>
-- <_description>French (legacy, alternative, Sun dead keys)</_description>
-+ <description>French (legacy, alternative, Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>bepo</name>
-- <_description>French (Bepo, ergonomic, Dvorak way)</_description>
-+ <description>French (Bepo, ergonomic, Dvorak way)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>bepo_latin9</name>
-- <_description>French (Bepo, ergonomic, Dvorak way, Latin-9 only)</_description>
-+ <description>French (Bepo, ergonomic, Dvorak way, Latin-9 only)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>French (Dvorak)</_description>
-+ <description>French (Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>French (Macintosh)</_description>
-+ <description>French (Macintosh)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>bre</name>
-- <_description>French (Breton)</_description>
-+ <description>French (Breton)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>oci</name>
-- <_description>Occitan</_description>
-+ <description>Occitan</description>
- <languageList>
- <iso639Id>oci</iso639Id>
- </languageList>
-@@ -3018,7 +3018,7 @@
- <variant>
- <configItem>
- <name>geo</name>
-- <_description>Georgian (France, AZERTY Tskapo)</_description>
-+ <description>Georgian (France, AZERTY Tskapo)</description>
- <languageList>
- <iso639Id>geo</iso639Id>
- </languageList>
-@@ -3029,9 +3029,9 @@
- <layout>
- <configItem>
- <name>gh</name>
-- <!-- Keyboard indicator for English layouts -->
-- <_shortDescription>en</_shortDescription>
-- <_description>English (Ghana)</_description>
-+
-+ <shortDescription>en</shortDescription>
-+ <description>English (Ghana)</description>
- <languageList>
- <iso639Id>eng</iso639Id>
- </languageList>
-@@ -3040,15 +3040,15 @@
- <variant>
- <configItem>
- <name>generic</name>
-- <_description>English (Ghana, multilingual)</_description>
-+ <description>English (Ghana, multilingual)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>akan</name>
-- <!-- Keyboard indicator for Akan layouts -->
-- <_shortDescription>ak</_shortDescription>
-- <_description>Akan</_description>
-+
-+ <shortDescription>ak</shortDescription>
-+ <description>Akan</description>
- <languageList>
- <iso639Id>aka</iso639Id>
- </languageList>
-@@ -3057,9 +3057,9 @@
- <variant>
- <configItem>
- <name>ewe</name>
-- <!-- Keyboard indicator for Ewe layouts -->
-- <_shortDescription>ee</_shortDescription>
-- <_description>Ewe</_description>
-+
-+ <shortDescription>ee</shortDescription>
-+ <description>Ewe</description>
- <languageList>
- <iso639Id>ewe</iso639Id>
- </languageList>
-@@ -3068,9 +3068,9 @@
- <variant>
- <configItem>
- <name>fula</name>
-- <!-- Keyboard indicator for Fula layouts -->
-- <_shortDescription>ff</_shortDescription>
-- <_description>Fula</_description>
-+
-+ <shortDescription>ff</shortDescription>
-+ <description>Fula</description>
- <languageList>
- <iso639Id>ful</iso639Id>
- </languageList>
-@@ -3079,9 +3079,9 @@
- <variant>
- <configItem>
- <name>ga</name>
-- <!-- Keyboard indicator for Ga layouts -->
-- <_shortDescription>gaa</_shortDescription>
-- <_description>Ga</_description>
-+
-+ <shortDescription>gaa</shortDescription>
-+ <description>Ga</description>
- <languageList>
- <iso639Id>gaa</iso639Id>
- </languageList>
-@@ -3090,9 +3090,9 @@
- <variant>
- <configItem>
- <name>hausa</name>
-- <!-- Keyboard indicator for Hausa layouts -->
-- <_shortDescription>ha</_shortDescription>
-- <_description>Hausa</_description>
-+
-+ <shortDescription>ha</shortDescription>
-+ <description>Hausa</description>
- <languageList>
- <iso639Id>hau</iso639Id>
- </languageList>
-@@ -3101,9 +3101,9 @@
- <variant>
- <configItem>
- <name>avn</name>
-- <!-- Keyboard indicator for Avatime layouts -->
-- <_shortDescription>avn</_shortDescription>
-- <_description>Avatime</_description>
-+
-+ <shortDescription>avn</shortDescription>
-+ <description>Avatime</description>
- <languageList>
- <iso639Id>avn</iso639Id>
- </languageList>
-@@ -3112,7 +3112,7 @@
- <variant>
- <configItem>
- <name>gillbt</name>
-- <_description>English (Ghana, GILLBT)</_description>
-+ <description>English (Ghana, GILLBT)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3120,9 +3120,9 @@
- <layout>
- <configItem>
- <name>gn</name>
-- <!-- Keyboard indicator for French layouts -->
-- <_shortDescription>fr</_shortDescription>
-- <_description>French (Guinea)</_description>
-+
-+ <shortDescription>fr</shortDescription>
-+ <description>French (Guinea)</description>
- <languageList>
- <iso639Id>fra</iso639Id>
- </languageList>
-@@ -3132,9 +3132,9 @@
- <layout>
- <configItem>
- <name>ge</name>
-- <!-- Keyboard indicator for Georgian layouts -->
-- <_shortDescription>ka</_shortDescription>
-- <_description>Georgian</_description>
-+
-+ <shortDescription>ka</shortDescription>
-+ <description>Georgian</description>
- <languageList>
- <iso639Id>geo</iso639Id>
- </languageList>
-@@ -3143,21 +3143,21 @@
- <variant>
- <configItem>
- <name>ergonomic</name>
-- <_description>Georgian (ergonomic)</_description>
-+ <description>Georgian (ergonomic)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mess</name>
-- <_description>Georgian (MESS)</_description>
-+ <description>Georgian (MESS)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ru</name>
-- <!-- Keyboard indicator for Russian layouts -->
-- <_shortDescription>ru</_shortDescription>
-- <_description>Russian (Georgia)</_description>
-+
-+ <shortDescription>ru</shortDescription>
-+ <description>Russian (Georgia)</description>
- <languageList>
- <iso639Id>rus</iso639Id>
- </languageList>
-@@ -3166,7 +3166,7 @@
- <variant>
- <configItem>
- <name>os</name>
-- <_description>Ossetian (Georgia)</_description>
-+ <description>Ossetian (Georgia)</description>
- <languageList>
- <iso639Id>oss</iso639Id>
- </languageList>
-@@ -3177,9 +3177,9 @@
- <layout>
- <configItem>
- <name>de</name>
-- <!-- Keyboard indicator for German layouts -->
-- <_shortDescription>de</_shortDescription>
-- <_description>German</_description>
-+
-+ <shortDescription>de</shortDescription>
-+ <description>German</description>
- <languageList>
- <iso639Id>ger</iso639Id>
- </languageList>
-@@ -3188,75 +3188,75 @@
- <variant>
- <configItem>
- <name>deadacute</name>
-- <_description>German (dead acute)</_description>
-+ <description>German (dead acute)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>deadgraveacute</name>
-- <_description>German (dead grave acute)</_description>
-+ <description>German (dead grave acute)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>German (eliminate dead keys)</_description>
-+ <description>German (eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>T3</name>
-- <_description>German (T3)</_description>
-+ <description>German (T3)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ro</name>
-- <_description>Romanian (Germany)</_description>
-+ <description>Romanian (Germany)</description>
- <languageList><iso639Id>rum</iso639Id></languageList>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ro_nodeadkeys</name>
-- <_description>Romanian (Germany, eliminate dead keys)</_description>
-+ <description>Romanian (Germany, eliminate dead keys)</description>
- <languageList><iso639Id>rum</iso639Id></languageList>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>German (Dvorak)</_description>
-+ <description>German (Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sundeadkeys</name>
-- <_description>German (Sun dead keys)</_description>
-+ <description>German (Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>neo</name>
-- <_description>German (Neo 2)</_description>
-+ <description>German (Neo 2)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>German (Macintosh)</_description>
-+ <description>German (Macintosh)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac_nodeadkeys</name>
-- <_description>German (Macintosh, eliminate dead keys)</_description>
-+ <description>German (Macintosh, eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dsb</name>
-- <_description>Lower Sorbian</_description>
-+ <description>Lower Sorbian</description>
- <languageList>
- <iso639Id>dsb</iso639Id>
- </languageList>
-@@ -3265,7 +3265,7 @@
- <variant>
- <configItem>
- <name>dsb_qwertz</name>
-- <_description>Lower Sorbian (qwertz)</_description>
-+ <description>Lower Sorbian (qwertz)</description>
- <languageList>
- <iso639Id>dsb</iso639Id>
- </languageList>
-@@ -3274,15 +3274,15 @@
- <variant>
- <configItem>
- <name>qwerty</name>
-- <_description>German (qwerty)</_description>
-+ <description>German (qwerty)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ru</name>
-- <!-- Keyboard indicator for Russian layouts -->
-- <_shortDescription>ru</_shortDescription>
-- <_description>Russian (Germany, phonetic)</_description>
-+
-+ <shortDescription>ru</shortDescription>
-+ <description>Russian (Germany, phonetic)</description>
- <languageList>
- <iso639Id>rus</iso639Id>
- </languageList>
-@@ -3291,7 +3291,7 @@
- <variant>
- <configItem>
- <name>legacy</name>
-- <_description>German (legacy)</_description>
-+ <description>German (legacy)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3299,9 +3299,9 @@
- <layout>
- <configItem>
- <name>gr</name>
-- <!-- Keyboard indicator for Greek layouts -->
-- <_shortDescription>gr</_shortDescription>
-- <_description>Greek</_description>
-+
-+ <shortDescription>gr</shortDescription>
-+ <description>Greek</description>
- <languageList>
- <iso639Id>gre</iso639Id>
- </languageList>
-@@ -3310,25 +3310,25 @@
- <variant>
- <configItem>
- <name>simple</name>
-- <_description>Greek (simple)</_description>
-+ <description>Greek (simple)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>extended</name>
-- <_description>Greek (extended)</_description>
-+ <description>Greek (extended)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Greek (eliminate dead keys)</_description>
-+ <description>Greek (eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>polytonic</name>
-- <_description>Greek (polytonic)</_description>
-+ <description>Greek (polytonic)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3336,9 +3336,9 @@
- <layout>
- <configItem>
- <name>hu</name>
-- <!-- Keyboard indicator for Hungarian layouts -->
-- <_shortDescription>hu</_shortDescription>
-- <_description>Hungarian</_description>
-+
-+ <shortDescription>hu</shortDescription>
-+ <description>Hungarian</description>
- <languageList>
- <iso639Id>hun</iso639Id>
- </languageList>
-@@ -3347,115 +3347,115 @@
- <variant>
- <configItem>
- <name>standard</name>
-- <_description>Hungarian (standard)</_description>
-+ <description>Hungarian (standard)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Hungarian (eliminate dead keys)</_description>
-+ <description>Hungarian (eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>qwerty</name>
-- <_description>Hungarian (qwerty)</_description>
-+ <description>Hungarian (qwerty)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>101_qwertz_comma_dead</name>
-- <_description>Hungarian (101/qwertz/comma/dead keys)</_description>
-+ <description>Hungarian (101/qwertz/comma/dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>101_qwertz_comma_nodead</name>
-- <_description>Hungarian (101/qwertz/comma/eliminate dead keys)</_description>
-+ <description>Hungarian (101/qwertz/comma/eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>101_qwertz_dot_dead</name>
-- <_description>Hungarian (101/qwertz/dot/dead keys)</_description>
-+ <description>Hungarian (101/qwertz/dot/dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>101_qwertz_dot_nodead</name>
-- <_description>Hungarian (101/qwertz/dot/eliminate dead keys)</_description>
-+ <description>Hungarian (101/qwertz/dot/eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>101_qwerty_comma_dead</name>
-- <_description>Hungarian (101/qwerty/comma/dead keys)</_description>
-+ <description>Hungarian (101/qwerty/comma/dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>101_qwerty_comma_nodead</name>
-- <_description>Hungarian (101/qwerty/comma/eliminate dead keys)</_description>
-+ <description>Hungarian (101/qwerty/comma/eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>101_qwerty_dot_dead</name>
-- <_description>Hungarian (101/qwerty/dot/dead keys)</_description>
-+ <description>Hungarian (101/qwerty/dot/dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>101_qwerty_dot_nodead</name>
-- <_description>Hungarian (101/qwerty/dot/eliminate dead keys)</_description>
-+ <description>Hungarian (101/qwerty/dot/eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>102_qwertz_comma_dead</name>
-- <_description>Hungarian (102/qwertz/comma/dead keys)</_description>
-+ <description>Hungarian (102/qwertz/comma/dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>102_qwertz_comma_nodead</name>
-- <_description>Hungarian (102/qwertz/comma/eliminate dead keys)</_description>
-+ <description>Hungarian (102/qwertz/comma/eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>102_qwertz_dot_dead</name>
-- <_description>Hungarian (102/qwertz/dot/dead keys)</_description>
-+ <description>Hungarian (102/qwertz/dot/dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>102_qwertz_dot_nodead</name>
-- <_description>Hungarian (102/qwertz/dot/eliminate dead keys)</_description>
-+ <description>Hungarian (102/qwertz/dot/eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>102_qwerty_comma_dead</name>
-- <_description>Hungarian (102/qwerty/comma/dead keys)</_description>
-+ <description>Hungarian (102/qwerty/comma/dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>102_qwerty_comma_nodead</name>
-- <_description>Hungarian (102/qwerty/comma/eliminate dead keys)</_description>
-+ <description>Hungarian (102/qwerty/comma/eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>102_qwerty_dot_dead</name>
-- <_description>Hungarian (102/qwerty/dot/dead keys)</_description>
-+ <description>Hungarian (102/qwerty/dot/dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>102_qwerty_dot_nodead</name>
-- <_description>Hungarian (102/qwerty/dot/eliminate dead keys)</_description>
-+ <description>Hungarian (102/qwerty/dot/eliminate dead keys)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3463,9 +3463,9 @@
- <layout>
- <configItem>
- <name>is</name>
-- <!-- Keyboard indicator for Icelandic layouts -->
-- <_shortDescription>is</_shortDescription>
-- <_description>Icelandic</_description>
-+
-+ <shortDescription>is</shortDescription>
-+ <description>Icelandic</description>
- <languageList>
- <iso639Id>ice</iso639Id>
- </languageList>
-@@ -3474,25 +3474,25 @@
- <variant>
- <configItem>
- <name>Sundeadkeys</name>
-- <_description>Icelandic (Sun dead keys)</_description>
-+ <description>Icelandic (Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Icelandic (eliminate dead keys)</_description>
-+ <description>Icelandic (eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>Icelandic (Macintosh)</_description>
-+ <description>Icelandic (Macintosh)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>Icelandic (Dvorak)</_description>
-+ <description>Icelandic (Dvorak)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3500,9 +3500,9 @@
- <layout>
- <configItem>
- <name>il</name>
-- <!-- Keyboard indicator for Hebrew layouts -->
-- <_shortDescription>he</_shortDescription>
-- <_description>Hebrew</_description>
-+
-+ <shortDescription>he</shortDescription>
-+ <description>Hebrew</description>
- <languageList>
- <iso639Id>heb</iso639Id>
- </languageList>
-@@ -3511,19 +3511,19 @@
- <variant>
- <configItem>
- <name>lyx</name>
-- <_description>Hebrew (lyx)</_description>
-+ <description>Hebrew (lyx)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>phonetic</name>
-- <_description>Hebrew (phonetic)</_description>
-+ <description>Hebrew (phonetic)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>biblical</name>
-- <_description>Hebrew (Biblical, Tiro)</_description>
-+ <description>Hebrew (Biblical, Tiro)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3531,9 +3531,9 @@
- <layout>
- <configItem>
- <name>it</name>
-- <!-- Keyboard indicator for Italian layouts -->
-- <_shortDescription>it</_shortDescription>
-- <_description>Italian</_description>
-+
-+ <shortDescription>it</shortDescription>
-+ <description>Italian</description>
- <languageList>
- <iso639Id>ita</iso639Id>
- </languageList>
-@@ -3542,25 +3542,25 @@
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Italian (eliminate dead keys)</_description>
-+ <description>Italian (eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>Italian (Macintosh)</_description>
-+ <description>Italian (Macintosh)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>us</name>
-- <_description>Italian (US keyboard with Italian letters)</_description>
-+ <description>Italian (US keyboard with Italian letters)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>geo</name>
-- <_description>Georgian (Italy)</_description>
-+ <description>Georgian (Italy)</description>
- <languageList>
- <iso639Id>geo</iso639Id>
- </languageList>
-@@ -3569,7 +3569,7 @@
- <variant>
- <configItem>
- <name>ibm</name>
-- <_description>Italian (IBM 142)</_description>
-+ <description>Italian (IBM 142)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3577,9 +3577,9 @@
- <layout>
- <configItem>
- <name>jp</name>
-- <!-- Keyboard indicator for Japanese layouts -->
-- <_shortDescription>ja</_shortDescription>
-- <_description>Japanese</_description>
-+
-+ <shortDescription>ja</shortDescription>
-+ <description>Japanese</description>
- <languageList>
- <iso639Id>jpn</iso639Id>
- </languageList>
-@@ -3588,31 +3588,31 @@
- <variant>
- <configItem>
- <name>kana</name>
-- <_description>Japanese (Kana)</_description>
-+ <description>Japanese (Kana)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>kana86</name>
-- <_description>Japanese (Kana 86)</_description>
-+ <description>Japanese (Kana 86)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>OADG109A</name>
-- <_description>Japanese (OADG 109A)</_description>
-+ <description>Japanese (OADG 109A)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>Japanese (Macintosh)</_description>
-+ <description>Japanese (Macintosh)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>Japanese (Dvorak)</_description>
-+ <description>Japanese (Dvorak)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3620,9 +3620,9 @@
- <layout>
- <configItem>
- <name>kg</name>
-- <!-- Keyboard indicator for Kyrgyz layouts -->
-- <_shortDescription>ki</_shortDescription>
-- <_description>Kyrgyz</_description>
-+
-+ <shortDescription>ki</shortDescription>
-+ <description>Kyrgyz</description>
- <languageList>
- <iso639Id>kir</iso639Id>
- </languageList>
-@@ -3631,7 +3631,7 @@
- <variant>
- <configItem>
- <name>phonetic</name>
-- <_description>Kyrgyz (phonetic)</_description>
-+ <description>Kyrgyz (phonetic)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3639,9 +3639,9 @@
- <layout>
- <configItem>
- <name>kh</name>
-- <!-- Keyboard indicator for Khmer layouts -->
-- <_shortDescription>km</_shortDescription>
-- <_description>Khmer (Cambodia)</_description>
-+
-+ <shortDescription>km</shortDescription>
-+ <description>Khmer (Cambodia)</description>
- <languageList>
- <iso639Id>khm</iso639Id>
- </languageList>
-@@ -3651,9 +3651,9 @@
- <layout>
- <configItem>
- <name>kz</name>
-- <!-- Keyboard indicator for Kazakh layouts -->
-- <_shortDescription>kk</_shortDescription>
-- <_description>Kazakh</_description>
-+
-+ <shortDescription>kk</shortDescription>
-+ <description>Kazakh</description>
- <languageList>
- <iso639Id>kaz</iso639Id>
- </languageList>
-@@ -3662,9 +3662,9 @@
- <variant>
- <configItem>
- <name>ruskaz</name>
-- <!-- Keyboard indicator for Russian layouts -->
-- <_shortDescription>ru</_shortDescription>
-- <_description>Russian (Kazakhstan, with Kazakh)</_description>
-+
-+ <shortDescription>ru</shortDescription>
-+ <description>Russian (Kazakhstan, with Kazakh)</description>
- <languageList><iso639Id>kaz</iso639Id>
- <iso639Id>rus</iso639Id></languageList>
- </configItem>
-@@ -3672,7 +3672,7 @@
- <variant>
- <configItem>
- <name>kazrus</name>
-- <_description>Kazakh (with Russian)</_description>
-+ <description>Kazakh (with Russian)</description>
- <languageList><iso639Id>kaz</iso639Id>
- <iso639Id>rus</iso639Id></languageList>
- </configItem>
-@@ -3682,9 +3682,9 @@
- <layout>
- <configItem>
- <name>la</name>
-- <!-- Keyboard indicator for Lao layouts -->
-- <_shortDescription>lo</_shortDescription>
-- <_description>Lao</_description>
-+
-+ <shortDescription>lo</shortDescription>
-+ <description>Lao</description>
- <languageList>
- <iso639Id>lao</iso639Id>
- </languageList>
-@@ -3693,7 +3693,7 @@
- <variant>
- <configItem>
- <name>stea</name>
-- <_description>Lao (STEA proposed standard layout)</_description>
-+ <description>Lao (STEA proposed standard layout)</description>
- <languageList><iso639Id>lao</iso639Id>
- </languageList>
- </configItem>
-@@ -3703,9 +3703,9 @@
- <layout>
- <configItem>
- <name>latam</name>
-- <!-- Keyboard indicator for Spanish layouts -->
-- <_shortDescription>es</_shortDescription>
-- <_description>Spanish (Latin American)</_description>
-+
-+ <shortDescription>es</shortDescription>
-+ <description>Spanish (Latin American)</description>
- <countryList>
- <iso3166Id>AR</iso3166Id>
- <iso3166Id>BO</iso3166Id>
-@@ -3737,19 +3737,19 @@
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Spanish (Latin American, eliminate dead keys)</_description>
-+ <description>Spanish (Latin American, eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>deadtilde</name>
-- <_description>Spanish (Latin American, include dead tilde)</_description>
-+ <description>Spanish (Latin American, include dead tilde)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sundeadkeys</name>
-- <_description>Spanish (Latin American, Sun dead keys)</_description>
-+ <description>Spanish (Latin American, Sun dead keys)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3757,9 +3757,9 @@
- <layout>
- <configItem>
- <name>lt</name>
-- <!-- Keyboard indicator for Lithuanian layouts -->
-- <_shortDescription>lt</_shortDescription>
-- <_description>Lithuanian</_description>
-+
-+ <shortDescription>lt</shortDescription>
-+ <description>Lithuanian</description>
- <languageList>
- <iso639Id>lit</iso639Id>
- </languageList>
-@@ -3768,31 +3768,31 @@
- <variant>
- <configItem>
- <name>std</name>
-- <_description>Lithuanian (standard)</_description>
-+ <description>Lithuanian (standard)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>us</name>
-- <_description>Lithuanian (US keyboard with Lithuanian letters)</_description>
-+ <description>Lithuanian (US keyboard with Lithuanian letters)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ibm</name>
-- <_description>Lithuanian (IBM LST 1205-92)</_description>
-+ <description>Lithuanian (IBM LST 1205-92)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>lekp</name>
-- <_description>Lithuanian (LEKP)</_description>
-+ <description>Lithuanian (LEKP)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>lekpa</name>
-- <_description>Lithuanian (LEKPa)</_description>
-+ <description>Lithuanian (LEKPa)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3800,9 +3800,9 @@
- <layout>
- <configItem>
- <name>lv</name>
-- <!-- Keyboard indicator for Latvian layouts -->
-- <_shortDescription>lv</_shortDescription>
-- <_description>Latvian</_description>
-+
-+ <shortDescription>lv</shortDescription>
-+ <description>Latvian</description>
- <languageList>
- <iso639Id>lav</iso639Id>
- </languageList>
-@@ -3811,37 +3811,37 @@
- <variant>
- <configItem>
- <name>apostrophe</name>
-- <_description>Latvian (apostrophe variant)</_description>
-+ <description>Latvian (apostrophe variant)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>tilde</name>
-- <_description>Latvian (tilde variant)</_description>
-+ <description>Latvian (tilde variant)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>fkey</name>
-- <_description>Latvian (F variant)</_description>
-+ <description>Latvian (F variant)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>modern</name>
-- <_description>Latvian (modern)</_description>
-+ <description>Latvian (modern)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ergonomic</name>
-- <_description>Latvian (ergonomic, ŪGJRMV)</_description>
-+ <description>Latvian (ergonomic, ŪGJRMV)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>adapted</name>
-- <_description>Latvian (adapted)</_description>
-+ <description>Latvian (adapted)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3849,9 +3849,9 @@
- <layout>
- <configItem>
- <name>mao</name>
-- <!-- Keyboard indicator for Maori layouts -->
-- <_shortDescription>mi</_shortDescription>
-- <_description>Maori</_description>
-+
-+ <shortDescription>mi</shortDescription>
-+ <description>Maori</description>
- <languageList>
- <iso639Id>mao</iso639Id>
- </languageList>
-@@ -3861,9 +3861,9 @@
- <layout>
- <configItem>
- <name>me</name>
-- <!-- Keyboard indicator for Montenegrin layouts -->
-- <_shortDescription>sr</_shortDescription>
-- <_description>Montenegrin</_description>
-+
-+ <shortDescription>sr</shortDescription>
-+ <description>Montenegrin</description>
- <languageList>
- <iso639Id>srp</iso639Id>
- </languageList>
-@@ -3872,43 +3872,43 @@
- <variant>
- <configItem>
- <name>cyrillic</name>
-- <_description>Montenegrin (Cyrillic)</_description>
-+ <description>Montenegrin (Cyrillic)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>cyrillicyz</name>
-- <_description>Montenegrin (Cyrillic, Z and ZHE swapped)</_description>
-+ <description>Montenegrin (Cyrillic, Z and ZHE swapped)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>latinunicode</name>
-- <_description>Montenegrin (Latin Unicode)</_description>
-+ <description>Montenegrin (Latin Unicode)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>latinyz</name>
-- <_description>Montenegrin (Latin qwerty)</_description>
-+ <description>Montenegrin (Latin qwerty)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>latinunicodeyz</name>
-- <_description>Montenegrin (Latin Unicode qwerty)</_description>
-+ <description>Montenegrin (Latin Unicode qwerty)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>cyrillicalternatequotes</name>
-- <_description>Montenegrin (Cyrillic with guillemets)</_description>
-+ <description>Montenegrin (Cyrillic with guillemets)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>latinalternatequotes</name>
-- <_description>Montenegrin (Latin with guillemets)</_description>
-+ <description>Montenegrin (Latin with guillemets)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3916,9 +3916,9 @@
- <layout>
- <configItem>
- <name>mk</name>
-- <!-- Keyboard indicator for Macedonian layouts -->
-- <_shortDescription>mk</_shortDescription>
-- <_description>Macedonian</_description>
-+
-+ <shortDescription>mk</shortDescription>
-+ <description>Macedonian</description>
- <languageList>
- <iso639Id>mkd</iso639Id>
- </languageList>
-@@ -3927,7 +3927,7 @@
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Macedonian (eliminate dead keys)</_description>
-+ <description>Macedonian (eliminate dead keys)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3935,9 +3935,9 @@
- <layout>
- <configItem>
- <name>mt</name>
-- <!-- Keyboard indicator for Maltese layouts -->
-- <_shortDescription>mt</_shortDescription>
-- <_description>Maltese</_description>
-+
-+ <shortDescription>mt</shortDescription>
-+ <description>Maltese</description>
- <languageList>
- <iso639Id>mlt</iso639Id>
- </languageList>
-@@ -3946,7 +3946,7 @@
- <variant>
- <configItem>
- <name>us</name>
-- <_description>Maltese (with US layout)</_description>
-+ <description>Maltese (with US layout)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -3954,9 +3954,9 @@
- <layout>
- <configItem>
- <name>mn</name>
-- <!-- Keyboard indicator for Mongolian layouts -->
-- <_shortDescription>mn</_shortDescription>
-- <_description>Mongolian</_description>
-+
-+ <shortDescription>mn</shortDescription>
-+ <description>Mongolian</description>
- <languageList>
- <iso639Id>mon</iso639Id>
- </languageList>
-@@ -3966,9 +3966,9 @@
- <layout>
- <configItem>
- <name>no</name>
-- <!-- Keyboard indicator for Norwegian layouts -->
-- <_shortDescription>no</_shortDescription>
-- <_description>Norwegian</_description>
-+
-+ <shortDescription>no</shortDescription>
-+ <description>Norwegian</description>
- <languageList>
- <iso639Id>nor</iso639Id>
- <iso639Id>nob</iso639Id>
-@@ -3979,19 +3979,19 @@
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Norwegian (eliminate dead keys)</_description>
-+ <description>Norwegian (eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>Norwegian (Dvorak)</_description>
-+ <description>Norwegian (Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>smi</name>
-- <_description>Northern Saami (Norway)</_description>
-+ <description>Northern Saami (Norway)</description>
- <languageList>
- <iso639Id>sme</iso639Id>
- </languageList>
-@@ -4000,7 +4000,7 @@
- <variant>
- <configItem>
- <name>smi_nodeadkeys</name>
-- <_description>Northern Saami (Norway, eliminate dead keys)</_description>
-+ <description>Northern Saami (Norway, eliminate dead keys)</description>
- <languageList>
- <iso639Id>sme</iso639Id>
- </languageList>
-@@ -4009,19 +4009,19 @@
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>Norwegian (Macintosh)</_description>
-+ <description>Norwegian (Macintosh)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac_nodeadkeys</name>
-- <_description>Norwegian (Macintosh, eliminate dead keys)</_description>
-+ <description>Norwegian (Macintosh, eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>colemak</name>
-- <_description>Norwegian (Colemak)</_description>
-+ <description>Norwegian (Colemak)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -4029,9 +4029,9 @@
- <layout>
- <configItem>
- <name>pl</name>
-- <!-- Keyboard indicator for Polish layouts -->
-- <_shortDescription>pl</_shortDescription>
-- <_description>Polish</_description>
-+
-+ <shortDescription>pl</shortDescription>
-+ <description>Polish</description>
- <languageList>
- <iso639Id>pol</iso639Id>
- </languageList>
-@@ -4040,37 +4040,37 @@
- <variant>
- <configItem>
- <name>legacy</name>
-- <_description>Polish (legacy)</_description>
-+ <description>Polish (legacy)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>qwertz</name>
-- <_description>Polish (qwertz)</_description>
-+ <description>Polish (qwertz)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>Polish (Dvorak)</_description>
-+ <description>Polish (Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak_quotes</name>
-- <_description>Polish (Dvorak, Polish quotes on quotemark key)</_description>
-+ <description>Polish (Dvorak, Polish quotes on quotemark key)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak_altquotes</name>
-- <_description>Polish (Dvorak, Polish quotes on key 1)</_description>
-+ <description>Polish (Dvorak, Polish quotes on key 1)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>csb</name>
-- <_description>Kashubian</_description>
-+ <description>Kashubian</description>
- <languageList>
- <iso639Id>csb</iso639Id>
- </languageList>
-@@ -4086,9 +4086,9 @@
- <variant>
- <configItem>
- <name>ru_phonetic_dvorak</name>
-- <!-- Keyboard indicator for Russian layouts -->
-- <_shortDescription>ru</_shortDescription>
-- <_description>Russian (Poland, phonetic Dvorak)</_description>
-+
-+ <shortDescription>ru</shortDescription>
-+ <description>Russian (Poland, phonetic Dvorak)</description>
- <languageList>
- <iso639Id>rus</iso639Id>
- </languageList>
-@@ -4097,7 +4097,7 @@
- <variant>
- <configItem>
- <name>dvp</name>
-- <_description>Polish (programmer Dvorak)</_description>
-+ <description>Polish (programmer Dvorak)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -4105,9 +4105,9 @@
- <layout>
- <configItem>
- <name>pt</name>
-- <!-- Keyboard indicator for Portuguese layouts -->
-- <_shortDescription>pt</_shortDescription>
-- <_description>Portuguese</_description>
-+
-+ <shortDescription>pt</shortDescription>
-+ <description>Portuguese</description>
- <languageList>
- <iso639Id>por</iso639Id>
- </languageList>
-@@ -4116,49 +4116,49 @@
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Portuguese (eliminate dead keys)</_description>
-+ <description>Portuguese (eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sundeadkeys</name>
-- <_description>Portuguese (Sun dead keys)</_description>
-+ <description>Portuguese (Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>Portuguese (Macintosh)</_description>
-+ <description>Portuguese (Macintosh)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac_nodeadkeys</name>
-- <_description>Portuguese (Macintosh, eliminate dead keys)</_description>
-+ <description>Portuguese (Macintosh, eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac_sundeadkeys</name>
-- <_description>Portuguese (Macintosh, Sun dead keys)</_description>
-+ <description>Portuguese (Macintosh, Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>nativo</name>
-- <_description>Portuguese (Nativo)</_description>
-+ <description>Portuguese (Nativo)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>nativo-us</name>
-- <_description>Portuguese (Nativo for US keyboards)</_description>
-+ <description>Portuguese (Nativo for US keyboards)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>nativo-epo</name>
-- <_description>Esperanto (Portugal, Nativo)</_description>
-+ <description>Esperanto (Portugal, Nativo)</description>
- <languageList>
- <iso639Id>epo</iso639Id>
- </languageList>
-@@ -4169,9 +4169,9 @@
- <layout>
- <configItem>
- <name>ro</name>
-- <!-- Keyboard indicator for Romanian layouts -->
-- <_shortDescription>ro</_shortDescription>
-- <_description>Romanian</_description>
-+
-+ <shortDescription>ro</shortDescription>
-+ <description>Romanian</description>
- <languageList>
- <iso639Id>rum</iso639Id>
- </languageList>
-@@ -4180,25 +4180,25 @@
- <variant>
- <configItem>
- <name>cedilla</name>
-- <_description>Romanian (cedilla)</_description>
-+ <description>Romanian (cedilla)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>std</name>
-- <_description>Romanian (standard)</_description>
-+ <description>Romanian (standard)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>std_cedilla</name>
-- <_description>Romanian (standard cedilla)</_description>
-+ <description>Romanian (standard cedilla)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>winkeys</name>
-- <_description>Romanian (WinKeys)</_description>
-+ <description>Romanian (WinKeys)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -4206,9 +4206,9 @@
- <layout>
- <configItem>
- <name>ru</name>
-- <!-- Keyboard indicator for Russian layouts -->
-- <_shortDescription>ru</_shortDescription>
-- <_description>Russian</_description>
-+
-+ <shortDescription>ru</shortDescription>
-+ <description>Russian</description>
- <languageList>
- <iso639Id>rus</iso639Id>
- </languageList>
-@@ -4217,37 +4217,37 @@
- <variant>
- <configItem>
- <name>phonetic</name>
-- <_description>Russian (phonetic)</_description>
-+ <description>Russian (phonetic)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>phonetic_winkeys</name>
-- <_description>Russian (phonetic WinKeys)</_description>
-+ <description>Russian (phonetic WinKeys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>typewriter</name>
-- <_description>Russian (typewriter)</_description>
-+ <description>Russian (typewriter)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>legacy</name>
-- <_description>Russian (legacy)</_description>
-+ <description>Russian (legacy)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>typewriter-legacy</name>
-- <_description>Russian (typewriter, legacy)</_description>
-+ <description>Russian (typewriter, legacy)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>tt</name>
-- <_description>Tatar</_description>
-+ <description>Tatar</description>
- <languageList>
- <iso639Id>tat</iso639Id>
- </languageList>
-@@ -4256,7 +4256,7 @@
- <variant>
- <configItem>
- <name>os_legacy</name>
-- <_description>Ossetian (legacy)</_description>
-+ <description>Ossetian (legacy)</description>
- <languageList>
- <iso639Id>oss</iso639Id>
- </languageList>
-@@ -4265,7 +4265,7 @@
- <variant>
- <configItem>
- <name>os_winkeys</name>
-- <_description>Ossetian (WinKeys)</_description>
-+ <description>Ossetian (WinKeys)</description>
- <languageList>
- <iso639Id>oss</iso639Id>
- </languageList>
-@@ -4274,7 +4274,7 @@
- <variant>
- <configItem>
- <name>cv</name>
-- <_description>Chuvash</_description>
-+ <description>Chuvash</description>
- <languageList>
- <iso639Id>chv</iso639Id>
- </languageList>
-@@ -4283,7 +4283,7 @@
- <variant>
- <configItem>
- <name>cv_latin</name>
-- <_description>Chuvash (Latin)</_description>
-+ <description>Chuvash (Latin)</description>
- <languageList>
- <iso639Id>chv</iso639Id>
- </languageList>
-@@ -4292,7 +4292,7 @@
- <variant>
- <configItem>
- <name>udm</name>
-- <_description>Udmurt</_description>
-+ <description>Udmurt</description>
- <languageList>
- <iso639Id>udm</iso639Id>
- </languageList>
-@@ -4301,7 +4301,7 @@
- <variant>
- <configItem>
- <name>kom</name>
-- <_description>Komi</_description>
-+ <description>Komi</description>
- <languageList>
- <iso639Id>kom</iso639Id>
- </languageList>
-@@ -4310,7 +4310,7 @@
- <variant>
- <configItem>
- <name>sah</name>
-- <_description>Yakut</_description>
-+ <description>Yakut</description>
- <languageList>
- <iso639Id>sah</iso639Id>
- </languageList>
-@@ -4319,7 +4319,7 @@
- <variant>
- <configItem>
- <name>xal</name>
-- <_description>Kalmyk</_description>
-+ <description>Kalmyk</description>
- <languageList>
- <iso639Id>xal</iso639Id>
- </languageList>
-@@ -4328,19 +4328,19 @@
- <variant>
- <configItem>
- <name>dos</name>
-- <_description>Russian (DOS)</_description>
-+ <description>Russian (DOS)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>Russian (Macintosh)</_description>
-+ <description>Russian (Macintosh)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>srp</name>
-- <_description>Serbian (Russia)</_description>
-+ <description>Serbian (Russia)</description>
- <languageList><iso639Id>rus</iso639Id>
- <iso639Id>srp</iso639Id></languageList>
- </configItem>
-@@ -4348,7 +4348,7 @@
- <variant>
- <configItem>
- <name>bak</name>
-- <_description>Bashkirian</_description>
-+ <description>Bashkirian</description>
- <languageList>
- <iso639Id>bak</iso639Id>
- </languageList>
-@@ -4357,7 +4357,7 @@
- <variant>
- <configItem>
- <name>chm</name>
-- <_description>Mari</_description>
-+ <description>Mari</description>
- <languageList>
- <iso639Id>chm</iso639Id>
- </languageList>
-@@ -4368,9 +4368,9 @@
- <layout>
- <configItem>
- <name>rs</name>
-- <!-- Keyboard indicator for Serbian layouts -->
-- <_shortDescription>sr</_shortDescription>
-- <_description>Serbian</_description>
-+
-+ <shortDescription>sr</shortDescription>
-+ <description>Serbian</description>
- <languageList>
- <iso639Id>srp</iso639Id>
- </languageList>
-@@ -4379,49 +4379,49 @@
- <variant>
- <configItem>
- <name>yz</name>
-- <_description>Serbian (Cyrillic, Z and ZHE swapped)</_description>
-+ <description>Serbian (Cyrillic, Z and ZHE swapped)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>latin</name>
-- <_description>Serbian (Latin)</_description>
-+ <description>Serbian (Latin)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>latinunicode</name>
-- <_description>Serbian (Latin Unicode)</_description>
-+ <description>Serbian (Latin Unicode)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>latinyz</name>
-- <_description>Serbian (Latin qwerty)</_description>
-+ <description>Serbian (Latin qwerty)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>latinunicodeyz</name>
-- <_description>Serbian (Latin Unicode qwerty)</_description>
-+ <description>Serbian (Latin Unicode qwerty)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>alternatequotes</name>
-- <_description>Serbian (Cyrillic with guillemets)</_description>
-+ <description>Serbian (Cyrillic with guillemets)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>latinalternatequotes</name>
-- <_description>Serbian (Latin with guillemets)</_description>
-+ <description>Serbian (Latin with guillemets)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>rue</name>
-- <_description>Pannonian Rusyn</_description>
-+ <description>Pannonian Rusyn</description>
- <languageList>
- <iso639Id>rue</iso639Id>
- </languageList>
-@@ -4432,9 +4432,9 @@
- <layout>
- <configItem>
- <name>si</name>
-- <!-- Keyboard indicator for Slovenian layouts -->
-- <_shortDescription>sl</_shortDescription>
-- <_description>Slovenian</_description>
-+
-+ <shortDescription>sl</shortDescription>
-+ <description>Slovenian</description>
- <languageList>
- <iso639Id>slv</iso639Id>
- </languageList>
-@@ -4443,13 +4443,13 @@
- <variant>
- <configItem>
- <name>alternatequotes</name>
-- <_description>Slovenian (use guillemets for quotes)</_description>
-+ <description>Slovenian (use guillemets for quotes)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>us</name>
-- <_description>Slovenian (US keyboard with Slovenian letters)</_description>
-+ <description>Slovenian (US keyboard with Slovenian letters)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -4457,9 +4457,9 @@
- <layout>
- <configItem>
- <name>sk</name>
-- <!-- Keyboard indicator for Slovak layouts -->
-- <_shortDescription>sk</_shortDescription>
-- <_description>Slovak</_description>
-+
-+ <shortDescription>sk</shortDescription>
-+ <description>Slovak</description>
- <languageList>
- <iso639Id>slo</iso639Id>
- </languageList>
-@@ -4468,19 +4468,19 @@
- <variant>
- <configItem>
- <name>bksl</name>
-- <_description>Slovak (extended Backslash)</_description>
-+ <description>Slovak (extended Backslash)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>qwerty</name>
-- <_description>Slovak (qwerty)</_description>
-+ <description>Slovak (qwerty)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>qwerty_bksl</name>
-- <_description>Slovak (qwerty, extended Backslash)</_description>
-+ <description>Slovak (qwerty, extended Backslash)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -4488,9 +4488,9 @@
- <layout>
- <configItem>
- <name>es</name>
-- <!-- Keyboard indicator for Spanish layouts -->
-- <_shortDescription>es</_shortDescription>
-- <_description>Spanish</_description>
-+
-+ <shortDescription>es</shortDescription>
-+ <description>Spanish</description>
- <languageList>
- <iso639Id>spa</iso639Id>
- </languageList>
-@@ -4499,31 +4499,31 @@
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Spanish (eliminate dead keys)</_description>
-+ <description>Spanish (eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>deadtilde</name>
-- <_description>Spanish (include dead tilde)</_description>
-+ <description>Spanish (include dead tilde)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sundeadkeys</name>
-- <_description>Spanish (Sun dead keys)</_description>
-+ <description>Spanish (Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>Spanish (Dvorak)</_description>
-+ <description>Spanish (Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ast</name>
-- <_description>Asturian (Spain, with bottom-dot H and bottom-dot L)</_description>
-+ <description>Asturian (Spain, with bottom-dot H and bottom-dot L)</description>
- <languageList>
- <iso639Id>ast</iso639Id>
- </languageList>
-@@ -4532,7 +4532,7 @@
- <variant>
- <configItem>
- <name>cat</name>
-- <_description>Catalan (Spain, with middle-dot L)</_description>
-+ <description>Catalan (Spain, with middle-dot L)</description>
- <languageList>
- <iso639Id>cat</iso639Id>
- </languageList>
-@@ -4541,7 +4541,7 @@
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>Spanish (Macintosh)</_description>
-+ <description>Spanish (Macintosh)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -4549,9 +4549,9 @@
- <layout>
- <configItem>
- <name>se</name>
-- <!-- Keyboard indicator for Swedish layouts -->
-- <_shortDescription>sv</_shortDescription>
-- <_description>Swedish</_description>
-+
-+ <shortDescription>sv</shortDescription>
-+ <description>Swedish</description>
- <languageList>
- <iso639Id>swe</iso639Id>
- </languageList>
-@@ -4560,21 +4560,21 @@
- <variant>
- <configItem>
- <name>nodeadkeys</name>
-- <_description>Swedish (eliminate dead keys)</_description>
-+ <description>Swedish (eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>Swedish (Dvorak)</_description>
-+ <description>Swedish (Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>rus</name>
-- <!-- Keyboard indicator for Russian layouts -->
-- <_shortDescription>ru</_shortDescription>
-- <_description>Russian (Sweden, phonetic)</_description>
-+
-+ <shortDescription>ru</shortDescription>
-+ <description>Russian (Sweden, phonetic)</description>
- <languageList>
- <iso639Id>rus</iso639Id>
- </languageList>
-@@ -4583,9 +4583,9 @@
- <variant>
- <configItem>
- <name>rus_nodeadkeys</name>
-- <!-- Keyboard indicator for Russian layouts -->
-- <_shortDescription>ru</_shortDescription>
-- <_description>Russian (Sweden, phonetic, eliminate dead keys)</_description>
-+
-+ <shortDescription>ru</shortDescription>
-+ <description>Russian (Sweden, phonetic, eliminate dead keys)</description>
- <languageList>
- <iso639Id>rus</iso639Id>
- </languageList>
-@@ -4594,7 +4594,7 @@
- <variant>
- <configItem>
- <name>smi</name>
-- <_description>Northern Saami (Sweden)</_description>
-+ <description>Northern Saami (Sweden)</description>
- <languageList>
- <iso639Id>sme</iso639Id>
- </languageList>
-@@ -4603,19 +4603,19 @@
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>Swedish (Macintosh)</_description>
-+ <description>Swedish (Macintosh)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>svdvorak</name>
-- <_description>Swedish (Svdvorak)</_description>
-+ <description>Swedish (Svdvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>swl</name>
-- <_description>Swedish Sign Language</_description>
-+ <description>Swedish Sign Language</description>
- <languageList><iso639Id>swl</iso639Id></languageList>
- </configItem>
- </variant>
-@@ -4624,9 +4624,9 @@
- <layout>
- <configItem>
- <name>ch</name>
-- <!-- Keyboard indicator for German layouts -->
-- <_shortDescription>de</_shortDescription>
-- <_description>German (Switzerland)</_description>
-+
-+ <shortDescription>de</shortDescription>
-+ <description>German (Switzerland)</description>
- <languageList><iso639Id>ger</iso639Id>
- <iso639Id>gsw</iso639Id></languageList>
- </configItem>
-@@ -4634,31 +4634,31 @@
- <variant>
- <configItem>
- <name>legacy</name>
-- <_description>German (Switzerland, legacy)</_description>
-+ <description>German (Switzerland, legacy)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>de_nodeadkeys</name>
-- <!-- Keyboard indicator for German layouts -->
-- <_shortDescription>de</_shortDescription>
-- <_description>German (Switzerland, eliminate dead keys)</_description>
-+
-+ <shortDescription>de</shortDescription>
-+ <description>German (Switzerland, eliminate dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>de_sundeadkeys</name>
-- <!-- Keyboard indicator for German layouts -->
-- <_shortDescription>de</_shortDescription>
-- <_description>German (Switzerland, Sun dead keys)</_description>
-+
-+ <shortDescription>de</shortDescription>
-+ <description>German (Switzerland, Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>fr</name>
-- <!-- Keyboard indicator for French layouts -->
-- <_shortDescription>fr</_shortDescription>
-- <_description>French (Switzerland)</_description>
-+
-+ <shortDescription>fr</shortDescription>
-+ <description>French (Switzerland)</description>
- <languageList>
- <iso639Id>fra</iso639Id>
- </languageList>
-@@ -4667,9 +4667,9 @@
- <variant>
- <configItem>
- <name>fr_nodeadkeys</name>
-- <!-- Keyboard indicator for French layouts -->
-- <_shortDescription>fr</_shortDescription>
-- <_description>French (Switzerland, eliminate dead keys)</_description>
-+
-+ <shortDescription>fr</shortDescription>
-+ <description>French (Switzerland, eliminate dead keys)</description>
- <languageList>
- <iso639Id>fra</iso639Id>
- </languageList>
-@@ -4678,9 +4678,9 @@
- <variant>
- <configItem>
- <name>fr_sundeadkeys</name>
-- <!-- Keyboard indicator for French layouts -->
-- <_shortDescription>fr</_shortDescription>
-- <_description>French (Switzerland, Sun dead keys)</_description>
-+
-+ <shortDescription>fr</shortDescription>
-+ <description>French (Switzerland, Sun dead keys)</description>
- <languageList>
- <iso639Id>fra</iso639Id>
- </languageList>
-@@ -4689,9 +4689,9 @@
- <variant>
- <configItem>
- <name>fr_mac</name>
-- <!-- Keyboard indicator for French layouts -->
-- <_shortDescription>fr</_shortDescription>
-- <_description>French (Switzerland, Macintosh)</_description>
-+
-+ <shortDescription>fr</shortDescription>
-+ <description>French (Switzerland, Macintosh)</description>
- <languageList>
- <iso639Id>fra</iso639Id>
- </languageList>
-@@ -4700,9 +4700,9 @@
- <variant>
- <configItem>
- <name>de_mac</name>
-- <!-- Keyboard indicator for German layouts -->
-- <_shortDescription>de</_shortDescription>
-- <_description>German (Switzerland, Macintosh)</_description>
-+
-+ <shortDescription>de</shortDescription>
-+ <description>German (Switzerland, Macintosh)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -4710,9 +4710,9 @@
- <layout>
- <configItem>
- <name>sy</name>
-- <!-- Keyboard indicator for Arabic layouts -->
-- <_shortDescription>ar</_shortDescription>
-- <_description>Arabic (Syria)</_description>
-+
-+ <shortDescription>ar</shortDescription>
-+ <description>Arabic (Syria)</description>
- <languageList>
- <iso639Id>syr</iso639Id>
- </languageList>
-@@ -4721,25 +4721,25 @@
- <variant>
- <configItem>
- <name>syc</name>
-- <!-- Keyboard indicator for Syriac layouts -->
-- <_shortDescription>syc</_shortDescription>
-- <_description>Syriac</_description>
-+
-+ <shortDescription>syc</shortDescription>
-+ <description>Syriac</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>syc_phonetic</name>
-- <!-- Keyboard indicator for Syriac layouts -->
-- <_shortDescription>syc</_shortDescription>
-- <_description>Syriac (phonetic)</_description>
-+
-+ <shortDescription>syc</shortDescription>
-+ <description>Syriac (phonetic)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ku</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Syria, Latin Q)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Syria, Latin Q)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -4748,9 +4748,9 @@
- <variant>
- <configItem>
- <name>ku_f</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Syria, F)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Syria, F)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -4759,9 +4759,9 @@
- <variant>
- <configItem>
- <name>ku_alt</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Syria, Latin Alt-Q)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Syria, Latin Alt-Q)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -4772,9 +4772,9 @@
- <layout>
- <configItem>
- <name>tj</name>
-- <!-- Keyboard indicator for Tajik layouts -->
-- <_shortDescription>tg</_shortDescription>
-- <_description>Tajik</_description>
-+
-+ <shortDescription>tg</shortDescription>
-+ <description>Tajik</description>
- <languageList>
- <iso639Id>tgk</iso639Id>
- </languageList>
-@@ -4783,7 +4783,7 @@
- <variant>
- <configItem>
- <name>legacy</name>
-- <_description>Tajik (legacy)</_description>
-+ <description>Tajik (legacy)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -4791,9 +4791,9 @@
- <layout>
- <configItem>
- <name>lk</name>
-- <!-- Keyboard indicator for Sinhala layouts -->
-- <_shortDescription>si</_shortDescription>
-- <_description>Sinhala (phonetic)</_description>
-+
-+ <shortDescription>si</shortDescription>
-+ <description>Sinhala (phonetic)</description>
- <languageList>
- <iso639Id>sin</iso639Id>
- </languageList>
-@@ -4802,9 +4802,9 @@
- <variant>
- <configItem>
- <name>tam_unicode</name>
-- <!-- Keyboard indicator for Tamil layouts -->
-- <_shortDescription>ta</_shortDescription>
-- <_description>Tamil (Sri Lanka, Unicode)</_description>
-+
-+ <shortDescription>ta</shortDescription>
-+ <description>Tamil (Sri Lanka, Unicode)</description>
- <languageList>
- <iso639Id>tam</iso639Id>
- </languageList>
-@@ -4813,7 +4813,7 @@
- <variant>
- <configItem>
- <name>tam_TAB</name>
-- <_description>Tamil (Sri Lanka, TAB Typewriter)</_description>
-+ <description>Tamil (Sri Lanka, TAB Typewriter)</description>
- <languageList>
- <iso639Id>tam</iso639Id>
- </languageList>
-@@ -4824,9 +4824,9 @@
- <layout>
- <configItem>
- <name>th</name>
-- <!-- Keyboard indicator for Thai layouts -->
-- <_shortDescription>th</_shortDescription>
-- <_description>Thai</_description>
-+
-+ <shortDescription>th</shortDescription>
-+ <description>Thai</description>
- <languageList>
- <iso639Id>tha</iso639Id>
- </languageList>
-@@ -4835,13 +4835,13 @@
- <variant>
- <configItem>
- <name>tis</name>
-- <_description>Thai (TIS-820.2538)</_description>
-+ <description>Thai (TIS-820.2538)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>pat</name>
-- <_description>Thai (Pattachote)</_description>
-+ <description>Thai (Pattachote)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -4849,9 +4849,9 @@
- <layout>
- <configItem>
- <name>tr</name>
-- <!-- Keyboard indicator for Turkish layouts -->
-- <_shortDescription>tr</_shortDescription>
-- <_description>Turkish</_description>
-+
-+ <shortDescription>tr</shortDescription>
-+ <description>Turkish</description>
- <languageList>
- <iso639Id>tur</iso639Id>
- </languageList>
-@@ -4860,27 +4860,27 @@
- <variant>
- <configItem>
- <name>f</name>
-- <_description>Turkish (F)</_description>
-+ <description>Turkish (F)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>alt</name>
-- <_description>Turkish (Alt-Q)</_description>
-+ <description>Turkish (Alt-Q)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>sundeadkeys</name>
-- <_description>Turkish (Sun dead keys)</_description>
-+ <description>Turkish (Sun dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ku</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Turkey, Latin Q)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Turkey, Latin Q)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -4889,9 +4889,9 @@
- <variant>
- <configItem>
- <name>ku_f</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Turkey, F)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Turkey, F)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -4900,9 +4900,9 @@
- <variant>
- <configItem>
- <name>ku_alt</name>
-- <!-- Keyboard indicator for Kurdish layouts -->
-- <_shortDescription>ku</_shortDescription>
-- <_description>Kurdish (Turkey, Latin Alt-Q)</_description>
-+
-+ <shortDescription>ku</shortDescription>
-+ <description>Kurdish (Turkey, Latin Alt-Q)</description>
- <languageList>
- <iso639Id>kur</iso639Id>
- </languageList>
-@@ -4911,15 +4911,15 @@
- <variant>
- <configItem>
- <name>intl</name>
-- <_description>Turkish (international with dead keys)</_description>
-+ <description>Turkish (international with dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>crh</name>
-- <!-- Keyboard indicator for Crimean Tatar layouts -->
-- <_shortDescription>crh</_shortDescription>
-- <_description>Crimean Tatar (Turkish Q)</_description>
-+
-+ <shortDescription>crh</shortDescription>
-+ <description>Crimean Tatar (Turkish Q)</description>
- <languageList>
- <iso639Id>crh</iso639Id>
- </languageList>
-@@ -4928,9 +4928,9 @@
- <variant>
- <configItem>
- <name>crh_f</name>
-- <!-- Keyboard indicator for Crimean Tatar layouts -->
-- <_shortDescription>crh</_shortDescription>
-- <_description>Crimean Tatar (Turkish F)</_description>
-+
-+ <shortDescription>crh</shortDescription>
-+ <description>Crimean Tatar (Turkish F)</description>
- <languageList>
- <iso639Id>crh</iso639Id>
- </languageList>
-@@ -4939,9 +4939,9 @@
- <variant>
- <configItem>
- <name>crh_alt</name>
-- <!-- Keyboard indicator for Crimean Tatar layouts -->
-- <_shortDescription>crh</_shortDescription>
-- <_description>Crimean Tatar (Turkish Alt-Q)</_description>
-+
-+ <shortDescription>crh</shortDescription>
-+ <description>Crimean Tatar (Turkish Alt-Q)</description>
- <languageList>
- <iso639Id>crh</iso639Id>
- </languageList>
-@@ -4952,9 +4952,9 @@
- <layout>
- <configItem>
- <name>tw</name>
-- <!-- Keyboard indicator for Taiwanese layouts -->
-- <_shortDescription>zh</_shortDescription>
-- <_description>Taiwanese</_description>
-+
-+ <shortDescription>zh</shortDescription>
-+ <description>Taiwanese</description>
- <languageList>
- <iso639Id>fox</iso639Id>
- </languageList>
-@@ -4963,7 +4963,7 @@
- <variant>
- <configItem>
- <name>indigenous</name>
-- <_description>Taiwanese (indigenous)</_description>
-+ <description>Taiwanese (indigenous)</description>
- <languageList>
- <iso639Id>ami</iso639Id>
- <iso639Id>tay</iso639Id>
-@@ -4987,9 +4987,9 @@
- <variant>
- <configItem>
- <name>saisiyat</name>
-- <!-- Keyboard indicator for Saisiyat layouts -->
-- <_shortDescription>xsy</_shortDescription>
-- <_description>Saisiyat (Taiwan)</_description>
-+
-+ <shortDescription>xsy</shortDescription>
-+ <description>Saisiyat (Taiwan)</description>
- <languageList>
- <iso639Id>xsy</iso639Id>
- </languageList>
-@@ -5000,9 +5000,9 @@
- <layout>
- <configItem>
- <name>ua</name>
-- <!-- Keyboard indicator for Ukranian layouts -->
-- <_shortDescription>uk</_shortDescription>
-- <_description>Ukrainian</_description>
-+
-+ <shortDescription>uk</shortDescription>
-+ <description>Ukrainian</description>
- <languageList>
- <iso639Id>ukr</iso639Id>
- </languageList>
-@@ -5011,43 +5011,43 @@
- <variant>
- <configItem>
- <name>phonetic</name>
-- <_description>Ukrainian (phonetic)</_description>
-+ <description>Ukrainian (phonetic)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>typewriter</name>
-- <_description>Ukrainian (typewriter)</_description>
-+ <description>Ukrainian (typewriter)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>winkeys</name>
-- <_description>Ukrainian (WinKeys)</_description>
-+ <description>Ukrainian (WinKeys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>legacy</name>
-- <_description>Ukrainian (legacy)</_description>
-+ <description>Ukrainian (legacy)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>rstu</name>
-- <_description>Ukrainian (standard RSTU)</_description>
-+ <description>Ukrainian (standard RSTU)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>rstu_ru</name>
-- <_description>Russian (Ukraine, standard RSTU)</_description>
-+ <description>Russian (Ukraine, standard RSTU)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>homophonic</name>
-- <_description>Ukrainian (homophonic)</_description>
-+ <description>Ukrainian (homophonic)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -5055,9 +5055,9 @@
- <layout>
- <configItem>
- <name>gb</name>
-- <!-- Keyboard indicator for English layouts -->
-- <_shortDescription>en</_shortDescription>
-- <_description>English (UK)</_description>
-+
-+ <shortDescription>en</shortDescription>
-+ <description>English (UK)</description>
- <languageList>
- <iso639Id>eng</iso639Id>
- </languageList>
-@@ -5066,43 +5066,43 @@
- <variant>
- <configItem>
- <name>extd</name>
-- <_description>English (UK, extended WinKeys)</_description>
-+ <description>English (UK, extended WinKeys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>intl</name>
-- <_description>English (UK, international with dead keys)</_description>
-+ <description>English (UK, international with dead keys)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>English (UK, Dvorak)</_description>
-+ <description>English (UK, Dvorak)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorakukp</name>
-- <_description>English (UK, Dvorak with UK punctuation)</_description>
-+ <description>English (UK, Dvorak with UK punctuation)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac</name>
-- <_description>English (UK, Macintosh)</_description>
-+ <description>English (UK, Macintosh)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>mac_intl</name>
-- <_description>English (UK, Macintosh international)</_description>
-+ <description>English (UK, Macintosh international)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>colemak</name>
-- <_description>English (UK, Colemak)</_description>
-+ <description>English (UK, Colemak)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -5110,9 +5110,9 @@
- <layout>
- <configItem>
- <name>uz</name>
-- <!-- Keyboard indicator for Uzbek layouts -->
-- <_shortDescription>uz</_shortDescription>
-- <_description>Uzbek</_description>
-+
-+ <shortDescription>uz</shortDescription>
-+ <description>Uzbek</description>
- <languageList>
- <iso639Id>uzb</iso639Id>
- </languageList>
-@@ -5121,7 +5121,7 @@
- <variant>
- <configItem>
- <name>latin</name>
-- <_description>Uzbek (Latin)</_description>
-+ <description>Uzbek (Latin)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -5129,9 +5129,9 @@
- <layout>
- <configItem>
- <name>vn</name>
-- <!-- Keyboard indicator for Vietnamese layouts -->
-- <_shortDescription>vi</_shortDescription>
-- <_description>Vietnamese</_description>
-+
-+ <shortDescription>vi</shortDescription>
-+ <description>Vietnamese</description>
- <languageList>
- <iso639Id>vie</iso639Id>
- </languageList>
-@@ -5141,9 +5141,9 @@
- <layout>
- <configItem>
- <name>kr</name>
-- <!-- Keyboard indicator for Korean layouts -->
-- <_shortDescription>ko</_shortDescription>
-- <_description>Korean</_description>
-+
-+ <shortDescription>ko</shortDescription>
-+ <description>Korean</description>
- <languageList>
- <iso639Id>kor</iso639Id>
- </languageList>
-@@ -5152,7 +5152,7 @@
- <variant>
- <configItem>
- <name>kr104</name>
-- <_description>Korean (101/104 key compatible)</_description>
-+ <description>Korean (101/104 key compatible)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -5160,9 +5160,9 @@
- <layout>
- <configItem>
- <name>nec_vndr/jp</name>
-- <!-- Keyboard indicator for Japanese layouts -->
-- <_shortDescription>ja</_shortDescription>
-- <_description>Japanese (PC-98xx Series)</_description>
-+
-+ <shortDescription>ja</shortDescription>
-+ <description>Japanese (PC-98xx Series)</description>
- <countryList>
- <iso3166Id>JP</iso3166Id>
- </countryList>
-@@ -5175,9 +5175,9 @@
- <layout>
- <configItem>
- <name>ie</name>
-- <!-- Keyboard indicator for Irish layouts -->
-- <_shortDescription>ie</_shortDescription>
-- <_description>Irish</_description>
-+
-+ <shortDescription>ie</shortDescription>
-+ <description>Irish</description>
- <languageList>
- <iso639Id>eng</iso639Id>
- </languageList>
-@@ -5186,7 +5186,7 @@
- <variant>
- <configItem>
- <name>CloGaelach</name>
-- <_description>CloGaelach</_description>
-+ <description>CloGaelach</description>
- <languageList>
- <iso639Id>gle</iso639Id>
- </languageList>
-@@ -5195,13 +5195,13 @@
- <variant>
- <configItem>
- <name>UnicodeExpert</name>
-- <_description>Irish (UnicodeExpert)</_description>
-+ <description>Irish (UnicodeExpert)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ogam</name>
-- <_description>Ogham</_description>
-+ <description>Ogham</description>
- <languageList>
- <iso639Id>sga</iso639Id>
- </languageList>
-@@ -5210,7 +5210,7 @@
- <variant>
- <configItem>
- <name>ogam_is434</name>
-- <_description>Ogham (IS434)</_description>
-+ <description>Ogham (IS434)</description>
- <languageList>
- <iso639Id>sga</iso639Id>
- </languageList>
-@@ -5221,9 +5221,9 @@
- <layout>
- <configItem>
- <name>pk</name>
-- <!-- Keyboard indicator for Urdu layouts -->
-- <_shortDescription>ur</_shortDescription>
-- <_description>Urdu (Pakistan)</_description>
-+
-+ <shortDescription>ur</shortDescription>
-+ <description>Urdu (Pakistan)</description>
- <languageList>
- <iso639Id>urd</iso639Id>
- </languageList>
-@@ -5232,20 +5232,20 @@
- <variant>
- <configItem>
- <name>urd-crulp</name>
-- <_description>Urdu (Pakistan, CRULP)</_description>
-+ <description>Urdu (Pakistan, CRULP)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>urd-nla</name>
-- <_description>Urdu (Pakistan, NLA)</_description>
-+ <description>Urdu (Pakistan, NLA)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>ara</name>
-- <_shortDescription>ar</_shortDescription>
-- <_description>Arabic (Pakistan)</_description>
-+ <shortDescription>ar</shortDescription>
-+ <description>Arabic (Pakistan)</description>
- <languageList>
- <iso639Id>ara</iso639Id>
- </languageList>
-@@ -5254,9 +5254,9 @@
- <variant>
- <configItem>
- <name>snd</name>
-- <!-- Keyboard indicator for Sindhi layouts -->
-- <_shortDescription>sd</_shortDescription>
-- <_description>Sindhi</_description>
-+
-+ <shortDescription>sd</shortDescription>
-+ <description>Sindhi</description>
- <languageList>
- <iso639Id>snd</iso639Id>
- </languageList>
-@@ -5267,9 +5267,9 @@
- <layout>
- <configItem>
- <name>mv</name>
-- <!-- Keyboard indicator for Dhivehi layouts -->
-- <_shortDescription>dv</_shortDescription>
-- <_description>Dhivehi</_description>
-+
-+ <shortDescription>dv</shortDescription>
-+ <description>Dhivehi</description>
- <languageList>
- <iso639Id>div</iso639Id>
- </languageList>
-@@ -5279,9 +5279,9 @@
- <layout>
- <configItem>
- <name>za</name>
-- <!-- Keyboard indicator for English layouts -->
-- <_shortDescription>en</_shortDescription>
-- <_description>English (South Africa)</_description>
-+
-+ <shortDescription>en</shortDescription>
-+ <description>English (South Africa)</description>
- <languageList>
- <iso639Id>eng</iso639Id>
- </languageList>
-@@ -5290,9 +5290,9 @@
- <layout>
- <configItem>
- <name>epo</name>
-- <!-- Keyboard indicator for Esperanto layouts -->
-- <_shortDescription>eo</_shortDescription>
-- <_description>Esperanto</_description>
-+
-+ <shortDescription>eo</shortDescription>
-+ <description>Esperanto</description>
- <languageList>
- <iso639Id>epo</iso639Id>
- </languageList>
-@@ -5301,7 +5301,7 @@
- <variant>
- <configItem>
- <name>legacy</name>
-- <_description>Esperanto (displaced semicolon and quote, obsolete)</_description>
-+ <description>Esperanto (displaced semicolon and quote, obsolete)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -5309,9 +5309,9 @@
- <layout>
- <configItem>
- <name>np</name>
-- <!-- Keyboard indicator for Nepali layouts -->
-- <_shortDescription>ne</_shortDescription>
-- <_description>Nepali</_description>
-+
-+ <shortDescription>ne</shortDescription>
-+ <description>Nepali</description>
- <languageList>
- <iso639Id>nep</iso639Id>
- </languageList>
-@@ -5320,9 +5320,9 @@
- <layout>
- <configItem>
- <name>ng</name>
-- <!-- Keyboard indicator for English layouts -->
-- <_shortDescription>en</_shortDescription>
-- <_description>English (Nigeria)</_description>
-+
-+ <shortDescription>en</shortDescription>
-+ <description>English (Nigeria)</description>
- <languageList>
- <iso639Id>eng</iso639Id>
- </languageList>
-@@ -5331,9 +5331,9 @@
- <variant>
- <configItem>
- <name>igbo</name>
-- <!-- Keyboard indicator for Igbo layouts -->
-- <_shortDescription>ig</_shortDescription>
-- <_description>Igbo</_description>
-+
-+ <shortDescription>ig</shortDescription>
-+ <description>Igbo</description>
- <languageList>
- <iso639Id>ibo</iso639Id>
- </languageList>
-@@ -5342,9 +5342,9 @@
- <variant>
- <configItem>
- <name>yoruba</name>
-- <!-- Keyboard indicator for Yoruba layouts -->
-- <_shortDescription>yo</_shortDescription>
-- <_description>Yoruba</_description>
-+
-+ <shortDescription>yo</shortDescription>
-+ <description>Yoruba</description>
- <languageList>
- <iso639Id>yor</iso639Id>
- </languageList>
-@@ -5353,9 +5353,9 @@
- <variant>
- <configItem>
- <name>hausa</name>
-- <!-- Keyboard indicator for Hausa layouts -->
-- <_shortDescription>ha</_shortDescription>
-- <_description>Hausa</_description>
-+
-+ <shortDescription>ha</shortDescription>
-+ <description>Hausa</description>
- <languageList>
- <iso639Id>hau</iso639Id>
- </languageList>
-@@ -5366,9 +5366,9 @@
- <layout>
- <configItem>
- <name>et</name>
-- <!-- Keyboard indicator for Amharic layouts -->
-- <_shortDescription>am</_shortDescription>
-- <_description>Amharic</_description>
-+
-+ <shortDescription>am</shortDescription>
-+ <description>Amharic</description>
- <languageList>
- <iso639Id>amh</iso639Id>
- </languageList>
-@@ -5378,9 +5378,9 @@
- <layout>
- <configItem>
- <name>sn</name>
-- <!-- Keyboard indicator for Wolof layouts -->
-- <_shortDescription>wo</_shortDescription>
-- <_description>Wolof</_description>
-+
-+ <shortDescription>wo</shortDescription>
-+ <description>Wolof</description>
- <languageList>
- <iso639Id>wol</iso639Id>
- </languageList>
-@@ -5390,21 +5390,21 @@
- <layout>
- <configItem>
- <name>brai</name>
-- <!-- Keyboard indicator for Braille layouts -->
-- <_shortDescription>brl</_shortDescription>
-- <_description>Braille</_description>
-+
-+ <shortDescription>brl</shortDescription>
-+ <description>Braille</description>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>left_hand</name>
-- <_description>Braille (left hand)</_description>
-+ <description>Braille (left hand)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>right_hand</name>
-- <_description>Braille (right hand)</_description>
-+ <description>Braille (right hand)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -5412,9 +5412,9 @@
- <layout>
- <configItem>
- <name>tm</name>
-- <!-- Keyboard indicator for Turkmen layouts -->
-- <_shortDescription>tk</_shortDescription>
-- <_description>Turkmen</_description>
-+
-+ <shortDescription>tk</shortDescription>
-+ <description>Turkmen</description>
- <languageList>
- <iso639Id>tuk</iso639Id>
- </languageList>
-@@ -5423,7 +5423,7 @@
- <variant>
- <configItem>
- <name>alt</name>
-- <_description>Turkmen (Alt-Q)</_description>
-+ <description>Turkmen (Alt-Q)</description>
- </configItem>
- </variant>
- </variantList>
-@@ -5431,9 +5431,9 @@
- <layout>
- <configItem>
- <name>ml</name>
-- <!-- Keyboard indicator for Bambara layouts -->
-- <_shortDescription>bm</_shortDescription>
-- <_description>Bambara</_description>
-+
-+ <shortDescription>bm</shortDescription>
-+ <description>Bambara</description>
- <languageList>
- <iso639Id>bam</iso639Id>
- </languageList>
-@@ -5442,9 +5442,9 @@
- <variant>
- <configItem>
- <name>fr-oss</name>
-- <!-- Keyboard indicator for French layouts -->
-- <_shortDescription>fr</_shortDescription>
-- <_description>French (Mali, alternative)</_description>
-+
-+ <shortDescription>fr</shortDescription>
-+ <description>French (Mali, alternative)</description>
- <languageList>
- <iso639Id>fra</iso639Id>
- </languageList>
-@@ -5453,9 +5453,9 @@
- <variant>
- <configItem>
- <name>us-mac</name>
-- <!-- Keyboard indicator for English layouts -->
-- <_shortDescription>en</_shortDescription>
-- <_description>English (Mali, US Macintosh)</_description>
-+
-+ <shortDescription>en</shortDescription>
-+ <description>English (Mali, US Macintosh)</description>
- <languageList>
- <iso639Id>eng</iso639Id>
- </languageList>
-@@ -5464,9 +5464,9 @@
- <variant>
- <configItem>
- <name>us-intl</name>
-- <!-- Keyboard indicator for English layouts -->
-- <_shortDescription>en</_shortDescription>
-- <_description>English (Mali, US international)</_description>
-+
-+ <shortDescription>en</shortDescription>
-+ <description>English (Mali, US international)</description>
- <languageList>
- <iso639Id>eng</iso639Id>
- </languageList>
-@@ -5477,9 +5477,9 @@
- <layout>
- <configItem>
- <name>tz</name>
-- <!-- Keyboard indicator for Swahili layouts -->
-- <_shortDescription>sw</_shortDescription>
-- <_description>Swahili (Tanzania)</_description>
-+
-+ <shortDescription>sw</shortDescription>
-+ <description>Swahili (Tanzania)</description>
- <languageList>
- <iso639Id>swa</iso639Id>
- </languageList>
-@@ -5488,9 +5488,9 @@
- <layout>
- <configItem>
- <name>ke</name>
-- <!-- Keyboard indicator for Swahili layouts -->
-- <_shortDescription>sw</_shortDescription>
-- <_description>Swahili (Kenya)</_description>
-+
-+ <shortDescription>sw</shortDescription>
-+ <description>Swahili (Kenya)</description>
- <languageList>
- <iso639Id>swa</iso639Id>
- </languageList>
-@@ -5499,9 +5499,9 @@
- <variant>
- <configItem>
- <name>kik</name>
-- <!-- Keyboard indicator for Kikuyu layouts -->
-- <_shortDescription>ki</_shortDescription>
-- <_description>Kikuyu</_description>
-+
-+ <shortDescription>ki</shortDescription>
-+ <description>Kikuyu</description>
- <languageList>
- <iso639Id>kik</iso639Id>
- </languageList>
-@@ -5512,9 +5512,9 @@
- <layout>
- <configItem>
- <name>bw</name>
-- <!-- Keyboard indicator for Tswana layouts -->
-- <_shortDescription>tn</_shortDescription>
-- <_description>Tswana</_description>
-+
-+ <shortDescription>tn</shortDescription>
-+ <description>Tswana</description>
- <languageList>
- <iso639Id>tsn</iso639Id>
- </languageList>
-@@ -5523,9 +5523,9 @@
- <layout>
- <configItem>
- <name>ph</name>
-- <!-- Keyboard indicator for Filipino layouts -->
-- <_shortDescription>ph</_shortDescription>
-- <_description>Filipino</_description>
-+
-+ <shortDescription>ph</shortDescription>
-+ <description>Filipino</description>
- <languageList><iso639Id>eng</iso639Id>
- <iso639Id>bik</iso639Id>
- <iso639Id>ceb</iso639Id>
-@@ -5542,7 +5542,7 @@
- <variant>
- <configItem>
- <name>qwerty-bay</name>
-- <_description>Filipino (QWERTY Baybayin)</_description>
-+ <description>Filipino (QWERTY Baybayin)</description>
- <languageList><iso639Id>bik</iso639Id>
- <iso639Id>ceb</iso639Id>
- <iso639Id>fil</iso639Id>
-@@ -5558,13 +5558,13 @@
- <variant>
- <configItem>
- <name>capewell-dvorak</name>
-- <_description>Filipino (Capewell-Dvorak Latin)</_description>
-+ <description>Filipino (Capewell-Dvorak Latin)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>capewell-dvorak-bay</name>
-- <_description>Filipino (Capewell-Dvorak Baybayin)</_description>
-+ <description>Filipino (Capewell-Dvorak Baybayin)</description>
- <languageList><iso639Id>bik</iso639Id>
- <iso639Id>ceb</iso639Id>
- <iso639Id>fil</iso639Id>
-@@ -5580,13 +5580,13 @@
- <variant>
- <configItem>
- <name>capewell-qwerf2k6</name>
-- <_description>Filipino (Capewell-QWERF 2006 Latin)</_description>
-+ <description>Filipino (Capewell-QWERF 2006 Latin)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>capewell-qwerf2k6-bay</name>
-- <_description>Filipino (Capewell-QWERF 2006 Baybayin)</_description>
-+ <description>Filipino (Capewell-QWERF 2006 Baybayin)</description>
- <languageList><iso639Id>bik</iso639Id>
- <iso639Id>ceb</iso639Id>
- <iso639Id>fil</iso639Id>
-@@ -5602,13 +5602,13 @@
- <variant>
- <configItem>
- <name>colemak</name>
-- <_description>Filipino (Colemak Latin)</_description>
-+ <description>Filipino (Colemak Latin)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>colemak-bay</name>
-- <_description>Filipino (Colemak Baybayin)</_description>
-+ <description>Filipino (Colemak Baybayin)</description>
- <languageList><iso639Id>bik</iso639Id>
- <iso639Id>ceb</iso639Id>
- <iso639Id>fil</iso639Id>
-@@ -5624,13 +5624,13 @@
- <variant>
- <configItem>
- <name>dvorak</name>
-- <_description>Filipino (Dvorak Latin)</_description>
-+ <description>Filipino (Dvorak Latin)</description>
- </configItem>
- </variant>
- <variant>
- <configItem>
- <name>dvorak-bay</name>
-- <_description>Filipino (Dvorak Baybayin)</_description>
-+ <description>Filipino (Dvorak Baybayin)</description>
- <languageList><iso639Id>bik</iso639Id>
- <iso639Id>ceb</iso639Id>
- <iso639Id>fil</iso639Id>
-@@ -5648,16 +5648,16 @@
- <layout>
- <configItem>
- <name>md</name>
-- <_shortDescription>md</_shortDescription>
-- <_description>Moldavian</_description>
-+ <shortDescription>md</shortDescription>
-+ <description>Moldavian</description>
- <languageList><iso639Id>rum</iso639Id></languageList>
- </configItem>
- <variantList>
- <variant>
- <configItem>
- <name>gag</name>
-- <_shortDescription>gag</_shortDescription>
-- <_description>Moldavian (Gagauz)</_description>
-+ <shortDescription>gag</shortDescription>
-+ <description>Moldavian (Gagauz)</description>
- <languageList><iso639Id>gag</iso639Id></languageList>
- </configItem>
- </variant>
-@@ -5666,1183 +5666,1142 @@
- </layoutList>
- <optionList>
- <group allowMultipleSelection="true">
-- <!-- The key combination used to switch between groups -->
-+
- <configItem>
- <name>grp</name>
-- <_description>Switching to another layout</_description>
-+ <description>Switching to another layout</description>
- </configItem>
- <option>
- <configItem>
- <name>grp:switch</name>
-- <_description>Right Alt (while pressed)</_description>
-+ <description>Right Alt (while pressed)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:lswitch</name>
-- <_description>Left Alt (while pressed)</_description>
-+ <description>Left Alt (while pressed)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:lwin_switch</name>
-- <_description>Left Win (while pressed)</_description>
-+ <description>Left Win (while pressed)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:rwin_switch</name>
-- <_description>Right Win (while pressed)</_description>
-+ <description>Right Win (while pressed)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:win_switch</name>
-- <_description>Any Win key (while pressed)</_description>
-+ <description>Any Win key (while pressed)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:caps_switch</name>
-- <_description>Caps Lock (while pressed), Alt+Caps Lock does the original capslock action</_description>
-+ <description>Caps Lock (while pressed), Alt+Caps Lock does the original capslock action</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:rctrl_switch</name>
-- <_description>Right Ctrl (while pressed)</_description>
-+ <description>Right Ctrl (while pressed)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:toggle</name>
-- <_description>Right Alt</_description>
-+ <description>Right Alt</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:lalt_toggle</name>
-- <_description>Left Alt</_description>
-+ <description>Left Alt</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:caps_toggle</name>
-- <_description>Caps Lock</_description>
-+ <description>Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:shift_caps_toggle</name>
-- <_description>Shift+Caps Lock</_description>
-+ <description>Shift+Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:shift_caps_switch</name>
-- <_description>Caps Lock (to first layout), Shift+Caps Lock (to last layout)</_description>
-+ <description>Caps Lock (to first layout), Shift+Caps Lock (to last layout)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:win_menu_switch</name>
-- <_description>Left Win (to first layout), Right Win/Menu (to last layout)</_description>
-+ <description>Left Win (to first layout), Right Win/Menu (to last layout)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:lctrl_rctrl_switch</name>
-- <_description>Left Ctrl (to first layout), Right Ctrl (to last layout)</_description>
-+ <description>Left Ctrl (to first layout), Right Ctrl (to last layout)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:alt_caps_toggle</name>
-- <_description>Alt+Caps Lock</_description>
-+ <description>Alt+Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:shifts_toggle</name>
-- <_description>Both Shift keys together</_description>
-+ <description>Both Shift keys together</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:alts_toggle</name>
-- <_description>Both Alt keys together</_description>
-+ <description>Both Alt keys together</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:ctrls_toggle</name>
-- <_description>Both Ctrl keys together</_description>
-+ <description>Both Ctrl keys together</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:ctrl_shift_toggle</name>
-- <_description>Ctrl+Shift</_description>
-+ <description>Ctrl+Shift</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:lctrl_lshift_toggle</name>
-- <_description>Left Ctrl+Left Shift</_description>
-+ <description>Left Ctrl+Left Shift</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:rctrl_rshift_toggle</name>
-- <_description>Right Ctrl+Right Shift</_description>
-+ <description>Right Ctrl+Right Shift</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:ctrl_alt_toggle</name>
-- <_description>Alt+Ctrl</_description>
-+ <description>Alt+Ctrl</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:alt_shift_toggle</name>
-- <_description>Alt+Shift</_description>
-+ <description>Alt+Shift</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:lalt_lshift_toggle</name>
-- <_description>Left Alt+Left Shift</_description>
-+ <description>Left Alt+Left Shift</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:alt_space_toggle</name>
-- <_description>Alt+Space</_description>
-+ <description>Alt+Space</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:menu_toggle</name>
-- <_description>Menu</_description>
-+ <description>Menu</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:lwin_toggle</name>
-- <_description>Left Win</_description>
-+ <description>Left Win</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:rwin_toggle</name>
-- <_description>Right Win</_description>
-+ <description>Right Win</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:lshift_toggle</name>
-- <_description>Left Shift</_description>
-+ <description>Left Shift</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:rshift_toggle</name>
-- <_description>Right Shift</_description>
-+ <description>Right Shift</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:lctrl_toggle</name>
-- <_description>Left Ctrl</_description>
-+ <description>Left Ctrl</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:rctrl_toggle</name>
-- <_description>Right Ctrl</_description>
-+ <description>Right Ctrl</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:sclk_toggle</name>
-- <_description>Scroll Lock</_description>
-+ <description>Scroll Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp:lctrl_lwin_rctrl_menu</name>
-- <_description>LeftCtrl+LeftWin (to first layout), RightCtrl+Menu (to second layout)</_description>
-+ <description>LeftCtrl+LeftWin (to first layout), RightCtrl+Menu (to second layout)</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="true">
-- <!-- The key combination used to choose the 3rd (and 4th, together with Shift)
-- level of symbols -->
-+
- <configItem>
- <name>lv3</name>
-- <_description>Key to choose 3rd level</_description>
-+ <description>Key to choose 3rd level</description>
- </configItem>
- <option>
- <configItem>
- <name>lv3:switch</name>
-- <_description>Right Ctrl</_description>
-+ <description>Right Ctrl</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:menu_switch</name>
-- <_description>Menu</_description>
-+ <description>Menu</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:win_switch</name>
-- <_description>Any Win key</_description>
-+ <description>Any Win key</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:lwin_switch</name>
-- <_description>Left Win</_description>
-+ <description>Left Win</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:rwin_switch</name>
-- <_description>Right Win</_description>
-+ <description>Right Win</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:alt_switch</name>
-- <_description>Any Alt key</_description>
-+ <description>Any Alt key</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:lalt_switch</name>
-- <_description>Left Alt</_description>
-+ <description>Left Alt</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:ralt_switch</name>
-- <_description>Right Alt</_description>
-+ <description>Right Alt</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:ralt_switch_multikey</name>
-- <_description>Right Alt, Shift+Right Alt key is Compose</_description>
-+ <description>Right Alt, Shift+Right Alt key is Compose</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:ralt_alt</name>
-- <_description>Right Alt key never chooses 3rd level</_description>
-+ <description>Right Alt key never chooses 3rd level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:enter_switch</name>
-- <_description>Enter on keypad</_description>
-+ <description>Enter on keypad</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:caps_switch</name>
-- <_description>Caps Lock</_description>
-+ <description>Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:bksl_switch</name>
-- <_description>Backslash</_description>
-+ <description>Backslash</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:lsgt_switch</name>
-- <_description>&lt;Less/Greater&gt;</_description>
-+ <description>&lt;Less/Greater&gt;</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:caps_switch_latch</name>
-- <_description>Caps Lock chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser</_description>
-+ <description>Caps Lock chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:bksl_switch_latch</name>
-- <_description>Backslash chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser</_description>
-+ <description>Backslash chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv3:lsgt_switch_latch</name>
-- <_description>&lt;Less/Greater&gt; chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser</_description>
-+ <description>&lt;Less/Greater&gt; chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="true">
-- <!-- Tweaking the position of the "Ctrl" key -->
-+
- <configItem>
- <name>ctrl</name>
-- <_description>Ctrl key position</_description>
-+ <description>Ctrl key position</description>
- </configItem>
- <option>
- <configItem>
- <name>ctrl:nocaps</name>
-- <_description>Caps Lock as Ctrl</_description>
-+ <description>Caps Lock as Ctrl</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>ctrl:lctrl_meta</name>
-- <_description>Left Ctrl as Meta</_description>
-+ <description>Left Ctrl as Meta</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>ctrl:swapcaps</name>
-- <_description>Swap Ctrl and Caps Lock</_description>
-+ <description>Swap Ctrl and Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>ctrl:ac_ctrl</name>
-- <_description>At left of 'A'</_description>
-+ <description>At left of 'A'</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>ctrl:aa_ctrl</name>
-- <_description>At bottom left</_description>
-+ <description>At bottom left</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>ctrl:rctrl_ralt</name>
-- <_description>Right Ctrl as Right Alt</_description>
-+ <description>Right Ctrl as Right Alt</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>ctrl:menu_rctrl</name>
-- <_description>Menu as Right Ctrl</_description>
-+ <description>Menu as Right Ctrl</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>ctrl:ctrl_ralt</name>
-- <_description>Right Alt as Right Ctrl</_description>
-+ <description>Right Alt as Right Ctrl</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>ctrl:swap_lalt_lctl</name>
-- <_description>Swap Left Alt key with Left Ctrl key</_description>
-+ <description>Swap Left Alt key with Left Ctrl key</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>ctrl:swap_lwin_lctl</name>
-- <_description>Swap Left Win key with Left Ctrl key</_description>
-+ <description>Swap Left Win key with Left Ctrl key</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>ctrl:swap_lalt_lctl_lwin</name>
-- <_description>Left Alt as Ctrl, Left Ctrl as Win, Left Win as Alt</_description>
-+ <description>Left Alt as Ctrl, Left Ctrl as Win, Left Win as Alt</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="true">
-- <!-- Using startard LEDs to indicate the alternative (not first) group(s) -->
-+
- <configItem>
- <name>grp_led</name>
-- <_description>Use keyboard LED to show alternative layout</_description>
-+ <description>Use keyboard LED to show alternative layout</description>
- </configItem>
- <option>
- <configItem>
- <name>grp_led:num</name>
-- <_description>Num Lock</_description>
-+ <description>Num Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp_led:caps</name>
-- <_description>Caps Lock</_description>
-+ <description>Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grp_led:scroll</name>
-- <_description>Scroll Lock</_description>
-+ <description>Scroll Lock</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="false">
-- <!-- Select a keypad type -->
-+
- <configItem>
- <name>keypad</name>
-- <_description>Layout of numeric keypad</_description>
-+ <description>Layout of numeric keypad</description>
- </configItem>
- <option>
- <configItem>
- <name>keypad:legacy</name>
-- <_description>Legacy</_description>
-+ <description>Legacy</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>keypad:oss</name>
-- <_description>Unicode additions (arrows and math operators)</_description>
-+ <description>Unicode additions (arrows and math operators)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>keypad:future</name>
-- <_description>Unicode additions (arrows and math operators; math operators on default level)</_description>
-+ <description>Unicode additions (arrows and math operators; math operators on default level)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>keypad:legacy_wang</name>
-- <_description>Legacy Wang 724</_description>
-+ <description>Legacy Wang 724</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>keypad:oss_wang</name>
-- <_description>Wang 724 keypad with Unicode additions (arrows and math operators)</_description>
-+ <description>Wang 724 keypad with Unicode additions (arrows and math operators)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>keypad:future_wang</name>
-- <_description>Wang 724 keypad with Unicode additions (arrows and math operators; math operators on default level)</_description>
-+ <description>Wang 724 keypad with Unicode additions (arrows and math operators; math operators on default level)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>keypad:hex</name>
-- <_description>Hexadecimal</_description>
-+ <description>Hexadecimal</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>keypad:atm</name>
-- <_description>ATM/phone-style</_description>
-+ <description>ATM/phone-style</description>
- </configItem>
- </option>
- </group>
-- <!-- This option should override the KPDL key defined in keypad; I hope it's declared in the right place -->
-+
- <group allowMultipleSelection="false">
-- <!-- Select a keypad KPDL variant -->
-+
- <configItem>
- <name>kpdl</name>
-- <_description>Numeric keypad delete key behaviour</_description>
-+ <description>Numeric keypad delete key behaviour</description>
- </configItem>
- <option>
- <configItem>
-- <!-- Actually, with KP_DECIMAL, as the old keypad(dot) -->
-+
- <name>kpdl:dot</name>
-- <_description>Legacy key with dot</_description>
-+ <description>Legacy key with dot</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>kpdl:comma</name>
-- <!-- Actually, with KP_SEPARATOR, as the old keypad(comma) -->
-- <_description>Legacy key with comma</_description>
-+
-+ <description>Legacy key with comma</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>kpdl:dotoss</name>
-- <_description>Four-level key with dot</_description>
-+ <description>Four-level key with dot</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>kpdl:dotoss_latin9</name>
-- <_description>Four-level key with dot, Latin-9 only</_description>
-+ <description>Four-level key with dot, Latin-9 only</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>kpdl:commaoss</name>
-- <_description>Four-level key with comma</_description>
-+ <description>Four-level key with comma</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>kpdl:momayyezoss</name>
-- <_description>Four-level key with momayyez</_description>
-+ <description>Four-level key with momayyez</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>kpdl:kposs</name>
-- <!-- This assumes the KP_ abstract symbols are actually useful for some apps
-- The description needs to be rewritten -->
-- <_description>Four-level key with abstract separators</_description>
-+
-+ <description>Four-level key with abstract separators</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>kpdl:semi</name>
-- <_description>Semicolon on third level</_description>
-+ <description>Semicolon on third level</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="false">
-- <!-- Caps Lock tweaks.
-- "Internal" capitalization means capitalization using some internal tables.
-- Otherwise "as Shift" - means using next group. -->
-+
- <configItem>
- <name>caps</name>
-- <_description>Caps Lock key behavior</_description>
-+ <description>Caps Lock key behavior</description>
- </configItem>
- <option>
- <configItem>
- <name>caps:internal</name>
-- <_description>Caps Lock uses internal capitalization; Shift "pauses" Caps Lock</_description>
-+ <description>Caps Lock uses internal capitalization; Shift "pauses" Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>caps:internal_nocancel</name>
-- <_description>Caps Lock uses internal capitalization; Shift doesn't affect Caps Lock</_description>
-+ <description>Caps Lock uses internal capitalization; Shift doesn't affect Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>caps:shift</name>
-- <_description>Caps Lock acts as Shift with locking; Shift "pauses" Caps Lock</_description>
-+ <description>Caps Lock acts as Shift with locking; Shift "pauses" Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>caps:shift_nocancel</name>
-- <_description>Caps Lock acts as Shift with locking; Shift doesn't affect Caps Lock</_description>
-+ <description>Caps Lock acts as Shift with locking; Shift doesn't affect Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>caps:capslock</name>
-- <_description>Caps Lock toggles normal capitalization of alphabetic characters</_description>
-+ <description>Caps Lock toggles normal capitalization of alphabetic characters</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>caps:numlock</name>
-- <_description>Make Caps Lock an additional Num Lock</_description>
-+ <description>Make Caps Lock an additional Num Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>caps:swapescape</name>
-- <_description>Swap ESC and Caps Lock</_description>
-+ <description>Swap ESC and Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>caps:escape</name>
-- <_description>Make Caps Lock an additional ESC</_description>
-+ <description>Make Caps Lock an additional ESC</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>caps:backspace</name>
-- <_description>Make Caps Lock an additional Backspace</_description>
-+ <description>Make Caps Lock an additional Backspace</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>caps:super</name>
-- <_description>Make Caps Lock an additional Super</_description>
-+ <description>Make Caps Lock an additional Super</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>caps:hyper</name>
-- <_description>Make Caps Lock an additional Hyper</_description>
-+ <description>Make Caps Lock an additional Hyper</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>caps:shiftlock</name>
-- <_description>Caps Lock toggles ShiftLock (affects all keys)</_description>
-+ <description>Caps Lock toggles ShiftLock (affects all keys)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>caps:none</name>
-- <_description>Caps Lock is disabled</_description>
-+ <description>Caps Lock is disabled</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>caps:ctrl_modifier</name>
-- <_description>Make Caps Lock an additional Ctrl</_description>
-+ <description>Make Caps Lock an additional Ctrl</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="false">
-- <!-- Using special PC keys (Win, Menu) to work as standard X keys (Super, Hyper, etc.) -->
-+
- <configItem>
- <name>altwin</name>
-- <_description>Alt/Win key behavior</_description>
-+ <description>Alt/Win key behavior</description>
- </configItem>
- <option>
- <configItem>
- <name>altwin:menu</name>
-- <_description>Add the standard behavior to Menu key</_description>
-+ <description>Add the standard behavior to Menu key</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>altwin:meta_alt</name>
-- <_description>Alt and Meta are on Alt keys</_description>
-+ <description>Alt and Meta are on Alt keys</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>altwin:alt_win</name>
-- <_description>Alt is mapped to Win keys (and the usual Alt keys)</_description>
-+ <description>Alt is mapped to Win keys (and the usual Alt keys)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>altwin:ctrl_win</name>
-- <_description>Ctrl is mapped to Win keys (and the usual Ctrl keys)</_description>
-+ <description>Ctrl is mapped to Win keys (and the usual Ctrl keys)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>altwin:ctrl_alt_win</name>
-- <_description>Ctrl is mapped to Alt keys, Alt is mapped to Win keys</_description>
-+ <description>Ctrl is mapped to Alt keys, Alt is mapped to Win keys</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>altwin:meta_win</name>
-- <_description>Meta is mapped to Win keys</_description>
-+ <description>Meta is mapped to Win keys</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>altwin:left_meta_win</name>
-- <_description>Meta is mapped to Left Win</_description>
-+ <description>Meta is mapped to Left Win</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>altwin:hyper_win</name>
-- <_description>Hyper is mapped to Win-keys</_description>
-+ <description>Hyper is mapped to Win-keys</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>altwin:alt_super_win</name>
-- <_description>Alt is mapped to Right Win, Super to Menu</_description>
-+ <description>Alt is mapped to Right Win, Super to Menu</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>altwin:swap_alt_win</name>
-- <_description>Alt is swapped with Win</_description>
-+ <description>Alt is swapped with Win</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="true">
-- <!-- Tweaking the position of the "Compose" key: mapping to existing PC keys -->
-+
- <configItem>
- <name>Compose key</name>
-- <_description>Position of Compose key</_description>
-+ <description>Position of Compose key</description>
- </configItem>
- <option>
- <configItem>
- <name>compose:ralt</name>
-- <_description>Right Alt</_description>
-+ <description>Right Alt</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:lwin</name>
-- <_description>Left Win</_description>
-+ <description>Left Win</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:lwin-altgr</name>
-- <_description>3rd level of Left Win</_description>
-+ <description>3rd level of Left Win</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:rwin</name>
-- <_description>Right Win</_description>
-+ <description>Right Win</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:rwin-altgr</name>
-- <_description>3rd level of Right Win</_description>
-+ <description>3rd level of Right Win</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:menu</name>
-- <_description>Menu</_description>
-+ <description>Menu</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:menu-altgr</name>
-- <_description>3rd level of Menu</_description>
-+ <description>3rd level of Menu</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:lctrl</name>
-- <_description>Left Ctrl</_description>
-+ <description>Left Ctrl</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:lctrl-altgr</name>
-- <_description>3rd level of Left Ctrl</_description>
-+ <description>3rd level of Left Ctrl</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:rctrl</name>
-- <_description>Right Ctrl</_description>
-+ <description>Right Ctrl</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:rctrl-altgr</name>
-- <_description>3rd level of Right Ctrl</_description>
-+ <description>3rd level of Right Ctrl</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:caps</name>
-- <_description>Caps Lock</_description>
-+ <description>Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:caps-altgr</name>
-- <_description>3rd level of Caps Lock</_description>
-+ <description>3rd level of Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:102</name>
-- <_description>&lt;Less/Greater&gt;</_description>
-+ <description>&lt;Less/Greater&gt;</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:102-altgr</name>
-- <_description>3rd level of &lt;Less/Greater&gt;</_description>
-+ <description>3rd level of &lt;Less/Greater&gt;</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:paus</name>
-- <_description>Pause</_description>
-+ <description>Pause</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:prsc</name>
-- <_description>PrtSc</_description>
-+ <description>PrtSc</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>compose:sclk</name>
-- <_description>Scroll Lock</_description>
-+ <description>Scroll Lock</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="true">
- <configItem>
- <name>compat</name>
-- <_description>Miscellaneous compatibility options</_description>
-+ <description>Miscellaneous compatibility options</description>
- </configItem>
- <option>
- <configItem>
- <name>numpad:pc</name>
-- <_description>Default numeric keypad keys</_description>
-+ <description>Default numeric keypad keys</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>numpad:mac</name>
-- <_description>Numeric keypad keys always enter digits (as in Mac OS)</_description>
-+ <description>Numeric keypad keys always enter digits (as in Mac OS)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>numpad:microsoft</name>
-- <_description>Shift with numeric keypad keys works as in MS Windows</_description>
-+ <description>Shift with numeric keypad keys works as in MS Windows</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>numpad:shift3</name>
-- <_description>Shift does not cancel Num Lock, chooses 3rd level instead</_description>
-+ <description>Shift does not cancel Num Lock, chooses 3rd level instead</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>srvrkeys:none</name>
-- <_description>Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server</_description>
-+ <description>Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>apple:alupckeys</name>
-- <_description>Apple Aluminium Keyboard: emulate PC keys (Print, Scroll Lock, Pause, Num Lock)</_description>
-+ <description>Apple Aluminium Keyboard: emulate PC keys (Print, Scroll Lock, Pause, Num Lock)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>shift:breaks_caps</name>
-- <_description>Shift cancels Caps Lock</_description>
-+ <description>Shift cancels Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>misc:typo</name>
-- <_description>Enable extra typographic characters</_description>
-+ <description>Enable extra typographic characters</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>shift:both_capslock</name>
-- <_description>Both Shift keys together toggle Caps Lock</_description>
-+ <description>Both Shift keys together toggle Caps Lock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>shift:both_capslock_cancel</name>
-- <_description>Both Shift keys together activate Caps Lock, one Shift key deactivates</_description>
-+ <description>Both Shift keys together activate Caps Lock, one Shift key deactivates</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>shift:both_shiftlock</name>
-- <_description>Both Shift keys together toggle ShiftLock</_description>
-+ <description>Both Shift keys together toggle ShiftLock</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>keypad:pointerkeys</name>
-- <_description>Shift + NumLock toggles PointerKeys</_description>
-+ <description>Shift + NumLock toggles PointerKeys</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grab:break_actions</name>
-- <_description>Allow breaking grabs with keyboard actions (warning: security risk)</_description>
-+ <description>Allow breaking grabs with keyboard actions (warning: security risk)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>grab:debug_actions</name>
-- <_description>Allow grab and window tree logging</_description>
-+ <description>Allow grab and window tree logging</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="true">
-- <!-- Special shortcuts for the Euro character -->
-+
- <configItem>
- <name>currencysign</name>
-- <_description>Adding currency signs to certain keys</_description>
-+ <description>Adding currency signs to certain keys</description>
- </configItem>
- <option>
- <configItem>
- <name>eurosign:e</name>
-- <_description>Euro on E</_description>
-+ <description>Euro on E</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>eurosign:2</name>
-- <_description>Euro on 2</_description>
-+ <description>Euro on 2</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>eurosign:4</name>
-- <_description>Euro on 4</_description>
-+ <description>Euro on 4</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>eurosign:5</name>
-- <_description>Euro on 5</_description>
-+ <description>Euro on 5</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>rupeesign:4</name>
-- <_description>Rupee on 4</_description>
-+ <description>Rupee on 4</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="true">
- <configItem>
- <name>lv5</name>
-- <_description>Key to choose 5th level</_description>
-+ <description>Key to choose 5th level</description>
- </configItem>
- <option>
- <configItem>
- <name>lv5:lsgt_switch_lock</name>
-- <_description>&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser</_description>
-+ <description>&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv5:ralt_switch_lock</name>
-- <_description>Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser</_description>
-+ <description>Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv5:lwin_switch_lock</name>
-- <_description>Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser</_description>
-+ <description>Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>lv5:rwin_switch_lock</name>
-- <_description>Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser</_description>
-- </configItem>
-- </option>
--<!--
-- <option>
-- <configItem>
-- <name>lv5:lsgt_switch_lock_cancel</name>
-- <_description>&lt;Less/Greater&gt; chooses 5th level, acts as onetime lock when pressed together with another 5th-level-chooser</_description>
-- </configItem>
-- </option>
-- <option>
-- <configItem>
-- <name>lv5:ralt_switch_lock_cancel</name>
-- <_description>Right Alt chooses 5th level, acts as onetime lock when pressed together with another 5th-level-chooser</_description>
-- </configItem>
-- </option>
-- <option>
-- <configItem>
-- <name>lv5:lwin_switch_lock_cancel</name>
-- <_description>Left Win chooses 5th level, acts as onetime lock when pressed together with another 5th-level-chooser</_description>
-- </configItem>
-- </option>
-- <option>
-- <configItem>
-- <name>lv5:rwin_switch_lock_cancel</name>
-- <_description>Right Win chooses 5th level, acts as onetime lock when pressed together with another 5th-level-chooser</_description>
-- </configItem>
-- </option>
-- <option>
-- <configItem>
-- <name>lv5:lsgt_switch_lock_cancel</name>
-- <_description>&lt;Less/Greater&gt; chooses 5th level, acts as onetime lock lock when pressed together with another 5th-level-chooser</_description>
-- </configItem>
-- </option>
-- <option>
-- <configItem>
-- <name>lv5:ralt_switch_lock_cancel</name>
-- <_description>Right Alt chooses 5th level, acts as onetime lock when pressed together with another 5th-level-chooser</_description>
-+ <description>Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser</description>
- </configItem>
- </option>
---->
-+
- </group>
- <group allowMultipleSelection="false">
-- <!-- Let space output NBSP, NNBSP, ZWNJ, and ZWJ for the desired level -->
-+
- <configItem>
- <name>nbsp</name>
-- <_description>Using space key to input non-breakable space character</_description>
-+ <description>Using space key to input non-breakable space character</description>
- </configItem>
- <option>
- <configItem>
- <name>nbsp:none</name>
-- <_description>Usual space at any level</_description>
-+ <description>Usual space at any level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:level2</name>
-- <_description>Non-breakable space character at second level</_description>
-+ <description>Non-breakable space character at second level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:level3</name>
-- <_description>Non-breakable space character at third level</_description>
-+ <description>Non-breakable space character at third level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:level3s</name>
-- <_description>Non-breakable space character at third level, nothing at fourth level</_description>
-+ <description>Non-breakable space character at third level, nothing at fourth level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:level3n</name>
-- <_description>Non-breakable space character at third level, thin non-breakable space character at fourth level</_description>
-+ <description>Non-breakable space character at third level, thin non-breakable space character at fourth level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:level4</name>
-- <_description>Non-breakable space character at fourth level</_description>
-+ <description>Non-breakable space character at fourth level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:level4n</name>
-- <_description>Non-breakable space character at fourth level, thin non-breakable space character at sixth level</_description>
-+ <description>Non-breakable space character at fourth level, thin non-breakable space character at sixth level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:level4nl</name>
-- <_description>Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)</_description>
-+ <description>Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:zwnj2</name>
-- <_description>Zero-width non-joiner character at second level</_description>
-+ <description>Zero-width non-joiner character at second level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:zwnj2zwj3</name>
-- <_description>Zero-width non-joiner character at second level, zero-width joiner character at third level</_description>
-+ <description>Zero-width non-joiner character at second level, zero-width joiner character at third level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:zwnj2zwj3nb4</name>
-- <_description>Zero-width non-joiner character at second level, zero-width joiner character at third level, non-breakable space character at fourth level</_description>
-+ <description>Zero-width non-joiner character at second level, zero-width joiner character at third level, non-breakable space character at fourth level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:zwnj2nb3</name>
-- <_description>Zero-width non-joiner character at second level, non-breakable space character at third level</_description>
-+ <description>Zero-width non-joiner character at second level, non-breakable space character at third level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:zwnj2nb3s</name>
-- <_description>Zero-width non-joiner character at second level, non-breakable space character at third level, nothing at fourth level</_description>
-+ <description>Zero-width non-joiner character at second level, non-breakable space character at third level, nothing at fourth level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:zwnj2nb3zwj4</name>
-- <_description>Zero-width non-joiner character at second level, non-breakable space character at third level, zero-width joiner at fourth level</_description>
-+ <description>Zero-width non-joiner character at second level, non-breakable space character at third level, zero-width joiner at fourth level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:zwnj2nb3nnb4</name>
-- <_description>Zero-width non-joiner character at second level, non-breakable space character at third level, thin non-breakable space at fourth level</_description>
-+ <description>Zero-width non-joiner character at second level, non-breakable space character at third level, thin non-breakable space at fourth level</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>nbsp:zwnj3zwj4</name>
-- <_description>Zero-width non-joiner character at third level, zero-width joiner at fourth level</_description>
-+ <description>Zero-width non-joiner character at third level, zero-width joiner at fourth level</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="true">
- <configItem>
- <name>japan</name>
-- <_description>Japanese keyboard options</_description>
-+ <description>Japanese keyboard options</description>
- </configItem>
- <option>
- <configItem>
- <name>japan:kana_lock</name>
-- <_description>Kana Lock key is locking</_description>
-+ <description>Kana Lock key is locking</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>japan:nicola_f_bs</name>
-- <_description>NICOLA-F style Backspace</_description>
-+ <description>NICOLA-F style Backspace</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>japan:hztg_escape</name>
-- <_description>Make Zenkaku Hankaku an additional ESC</_description>
-+ <description>Make Zenkaku Hankaku an additional ESC</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="false">
- <configItem>
- <name>esperanto</name>
-- <_description>Adding Esperanto supersigned letters</_description>
-+ <description>Adding Esperanto supersigned letters</description>
- </configItem>
- <option>
- <configItem>
- <name>esperanto:qwerty</name>
-- <_description>To the corresponding key in a Qwerty layout</_description>
-+ <description>To the corresponding key in a Qwerty layout</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>esperanto:dvorak</name>
-- <_description>To the corresponding key in a Dvorak layout</_description>
-+ <description>To the corresponding key in a Dvorak layout</description>
- </configItem>
- </option>
- <option>
- <configItem>
- <name>esperanto:colemak</name>
-- <_description>To the corresponding key in a Colemak layout</_description>
-+ <description>To the corresponding key in a Colemak layout</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="true">
- <configItem>
- <name>solaris</name>
-- <_description>Maintain key compatibility with old Solaris keycodes</_description>
-+ <description>Maintain key compatibility with old Solaris keycodes</description>
- </configItem>
- <option>
- <configItem>
- <name>solaris:sun_compat</name>
-- <_description>Sun Key compatibility</_description>
-+ <description>Sun Key compatibility</description>
- </configItem>
- </option>
- </group>
- <group allowMultipleSelection="true">
- <configItem>
- <name>terminate</name>
-- <_description>Key sequence to kill the X server</_description>
-+ <description>Key sequence to kill the X server</description>
- </configItem>
- <option>
- <configItem>
- <name>terminate:ctrl_alt_bksp</name>
-- <_description>Ctrl + Alt + Backspace</_description>
-+ <description>Ctrl + Alt + Backspace</description>
- </configItem>
- </option>
- </group>
- </optionList>
--</xkbConfigRegistry>
-+</xkbConfigRegistry>
-\ No newline at end of file
diff --git a/package/xorg-server/Makefile b/package/xorg-server/Makefile
index ff495d1d7..9c6c12ffc 100644
--- a/package/xorg-server/Makefile
+++ b/package/xorg-server/Makefile
@@ -4,28 +4,28 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= xorg-server
-PKG_VERSION:= 1.19.7
+PKG_VERSION:= 21.1.6
PKG_RELEASE:= 1
-PKG_HASH:= 5f6d3da0d1e341f27a7706779a24a5fa7174d5f161b5f8530f103753f0152de7
+PKG_HASH:= 1eb86ed674d042b6c8b1f9135e59395cbbca35ed551b122f73a7d8bb3bb22484
PKG_DESCR:= xorg server
PKG_SECTION:= x11/drivers
-PKG_DEPENDS:= libxfont2 pixman libpciaccess libxkbfile
+PKG_DEPENDS:= libxfont2 pixman libpciaccess libxkbfile libxcvt
PKG_DEPENDS+= libfontenc xkeyboard-config xkbcomp libxau libxaw
PKG_DEPENDS+= libxmu libxpm libxrender libxt libxxf86dga libxext
-PKG_DEPENDS+= libxdmcp libxv libsm libice libx11 libxcb
+PKG_DEPENDS+= libxdmcp libxv libsm libice libx11 libxcb libdrm
PKG_DEPENDS+= libxshmfence libfreetype libfontenc libpciaccess
+PKG_DEPENDS+= libepoxy
PKG_BUILDDEP:= libX11 randrproto renderproto fixesproto damageproto
PKG_BUILDDEP+= scrnsaverproto resourceproto fontsproto videoproto
PKG_BUILDDEP+= compositeproto evieext libxkbfile libXfont2 pixman
PKG_BUILDDEP+= libpciaccess xf86dgaproto recordproto dri3proto
PKG_BUILDDEP+= xineramaproto presentproto xf86driproto glproto mesa
+PKG_BUILDDEP+= xorgproto libxcvt libdrm libepoxy
PKG_NEEDS:= threads c++
PKG_URL:= http://www.x.org/
PKG_SITES:= http://www.x.org/releases/individual/xserver/
PKG_OPTS:= dev
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
-
PKG_CFLINE_XORG_SERVER:=depends on ADK_TARGET_WITH_VGA || ADK_TARGET_QEMU_WITH_GRAPHIC
PKG_FLAVOURS_XORG_SERVER:= WITH_KDRIVE
@@ -68,7 +68,6 @@ CONFIGURE_ARGS+= --enable-dga \
--disable-xephyr \
--disable-xf86bigfont \
--disable-xf86vidmode \
- --disable-xfake \
--disable-xnest \
--disable-xselinux \
--disable-xcsecurity \
@@ -78,17 +77,17 @@ CONFIGURE_ARGS+= --enable-dga \
--disable-strict-compilation \
--enable-dri \
--enable-dri2 \
- --disable-dri3 \
+ --enable-dri3 \
--enable-glx \
- --enable-aiglx \
+ --enable-glamor \
--with-xkb-output=/tmp \
- --with-os-vendor="$(ADK_VENDOR)" \
+ --with-fontrootdir=/usr/share/fonts/X11/ \
--with-vendor-web="$(ADK_VENDOR_URL)"
ifeq (${ADK_PACKAGE_XORG_SERVER_WITH_KDRIVE},y)
-CONFIGURE_ARGS+= --enable-kdrive --enable-xfbdev --enable-kdrive-kbd --enable-kdrive-mouse --enable-kdrive-evdev
+CONFIGURE_ARGS+= --enable-kdrive --enable-kdrive-kbd --enable-kdrive-mouse --enable-kdrive-evdev
else
-CONFIGURE_ARGS+= --disable-kdrive --disable-xfbdev
+CONFIGURE_ARGS+= --disable-kdrive
endif
ifeq (${ADK_TARGET_SYSTEM_LEMOTE_YEELONG},y)
@@ -99,6 +98,7 @@ xorg-server-install:
$(INSTALL_DIR) $(IDIR_XORG_SERVER)/etc/X11
$(INSTALL_DIR) $(IDIR_XORG_SERVER)/usr/bin
$(INSTALL_DIR) $(IDIR_XORG_SERVER)/usr/lib/xorg/modules/extensions
+ $(INSTALL_DIR) $(IDIR_XORG_SERVER)/usr/lib/xorg/modules/drivers
$(INSTALL_DIR) $(IDIR_XORG_SERVER)/usr/lib/xorg/modules/fonts
$(INSTALL_DIR) $(IDIR_XORG_SERVER)/usr/lib/xorg/modules/multimedia
${CP} ${WRKINST}/usr/lib/xorg/protocol.txt \
@@ -106,10 +106,10 @@ xorg-server-install:
${CP} ${WRKINST}/usr/bin/* $(IDIR_XORG_SERVER)/usr/bin
${CP} ${WRKINST}/usr/lib/xorg/modules/*.so \
$(IDIR_XORG_SERVER)/usr/lib/xorg/modules
-ifeq (${ADK_PACKAGE_XORG_SERVER_WITH_DRI},y)
+ ${CP} ${WRKINST}/usr/lib/xorg/modules/drivers/*.so \
+ $(IDIR_XORG_SERVER)/usr/lib/xorg/modules/drivers
${CP} ${WRKINST}/usr/lib/xorg/modules/extensions/*.so \
$(IDIR_XORG_SERVER)/usr/lib/xorg/modules/extensions
-endif
ifeq (${ADK_TARGET_SYSTEM_LEMOTE_YEELONG},y)
${CP} ./files/xorg.conf.lemote-yeelong \
$(IDIR_XORG_SERVER)/etc/X11/xorg.conf
diff --git a/package/xorg-server/patches/patch-configure b/package/xorg-server/patches/patch-configure
new file mode 100644
index 000000000..378c27c1c
--- /dev/null
+++ b/package/xorg-server/patches/patch-configure
@@ -0,0 +1,11 @@
+--- xorg-server-21.1.5.orig/configure 2022-12-14 03:25:26.000000000 +0100
++++ xorg-server-21.1.5/configure 2022-12-31 10:38:30.017910171 +0100
+@@ -29281,7 +29281,7 @@ printf "%s\n" "#define BASE_FONT_PATH \"
+ test "$prefix_NONE" && prefix=NONE
+ test "$exec_prefix_NONE" && exec_prefix=NONE
+
+-dridriverdir=`$PKG_CONFIG --variable=dridriverdir dri`
++dridriverdir=/usr/lib/dri
+
+ prefix_NONE=
+ exec_prefix_NONE=
diff --git a/package/xorg-server/patches/patch-hw_xfree86_common_compiler_h b/package/xorg-server/patches/patch-hw_xfree86_common_compiler_h
deleted file mode 100644
index 824744f53..000000000
--- a/package/xorg-server/patches/patch-hw_xfree86_common_compiler_h
+++ /dev/null
@@ -1,69 +0,0 @@
-from alpinelinux
-
---- xorg-server-1.18.0.orig/hw/xfree86/common/compiler.h 2015-10-28 19:15:36.000000000 +0100
-+++ xorg-server-1.18.0/hw/xfree86/common/compiler.h 2016-01-08 01:41:49.582326445 +0100
-@@ -525,26 +525,26 @@ xf86WriteMmio32Le(__volatile__ void *bas
- #define PORT_SIZE short
- #endif
-
--_X_EXPORT unsigned int IOPortBase; /* Memory mapped I/O port area */
-+_X_EXPORT volatile unsigned char *ioBase; /* Memory mapped I/O port area */
-
- static __inline__ void
- outb(unsigned PORT_SIZE port, unsigned char val)
- {
-- *(volatile unsigned char *) (((unsigned PORT_SIZE) (port)) + IOPortBase) =
-+ *(volatile unsigned char *) (((unsigned PORT_SIZE) (port)) + ioBase) =
- val;
- }
-
- static __inline__ void
- outw(unsigned PORT_SIZE port, unsigned short val)
- {
-- *(volatile unsigned short *) (((unsigned PORT_SIZE) (port)) + IOPortBase) =
-+ *(volatile unsigned short *) (((unsigned PORT_SIZE) (port)) + ioBase) =
- val;
- }
-
- static __inline__ void
- outl(unsigned PORT_SIZE port, unsigned int val)
- {
-- *(volatile unsigned int *) (((unsigned PORT_SIZE) (port)) + IOPortBase) =
-+ *(volatile unsigned int *) (((unsigned PORT_SIZE) (port)) + ioBase) =
- val;
- }
-
-@@ -552,21 +552,21 @@ static __inline__ unsigned int
- inb(unsigned PORT_SIZE port)
- {
- return *(volatile unsigned char *) (((unsigned PORT_SIZE) (port)) +
-- IOPortBase);
-+ ioBase);
- }
-
- static __inline__ unsigned int
- inw(unsigned PORT_SIZE port)
- {
- return *(volatile unsigned short *) (((unsigned PORT_SIZE) (port)) +
-- IOPortBase);
-+ ioBase);
- }
-
- static __inline__ unsigned int
- inl(unsigned PORT_SIZE port)
- {
- return *(volatile unsigned int *) (((unsigned PORT_SIZE) (port)) +
-- IOPortBase);
-+ ioBase);
- }
-
- #if defined(__mips__)
-@@ -758,7 +758,7 @@ inl(unsigned short port)
- return xf86ReadMmio32Le((void *) ioBase, port);
- }
-
--#elif defined(__arm__) && defined(__linux__)
-+#elif defined(__arm__) && defined(__GLIBC__)
-
- /* for Linux on ARM, we use the LIBC inx/outx routines */
- /* note that the appropriate setup via "ioperm" needs to be done */
diff --git a/package/xorg-server/patches/patch-include_misc_h b/package/xorg-server/patches/patch-include_misc_h
new file mode 100644
index 000000000..30cc9a44d
--- /dev/null
+++ b/package/xorg-server/patches/patch-include_misc_h
@@ -0,0 +1,13 @@
+--- xorg-server-21.1.5.orig/include/misc.h 2022-12-14 03:25:18.000000000 +0100
++++ xorg-server-21.1.5/include/misc.h 2023-01-01 08:13:51.736653806 +0100
+@@ -187,6 +187,10 @@ typedef struct _xReq *xReqPtr;
+ #endif
+ #endif
+
++#undef bswap_16
++#undef bswap_32
++#undef bswap_64
++
+ /**
+ * Calculate the number of bytes needed to hold bits.
+ * @param bits The minimum number of bits needed.
diff --git a/package/xorgproto/Makefile b/package/xorgproto/Makefile
new file mode 100644
index 000000000..264ee8da6
--- /dev/null
+++ b/package/xorgproto/Makefile
@@ -0,0 +1,30 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= xorgproto
+PKG_VERSION:= 2021.5
+PKG_RELEASE:= 1
+PKG_DESCR:= xorg extension headers
+PKG_SECTION:= dev/header
+PKG_HASH:= be6ddd6590881452fdfa170c1c9ff87209a98d36155332cbf2ccbc431add86ff
+PKG_SITES:= http://www.x.org/releases/individual/proto/
+PKG_OPTS:= dev devonly
+
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/host.mk
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call HOST_template,XORGPROTO,xorgproto,$(PKG_VERSION)-$(PKG_RELEASE)))
+$(eval $(call PKG_template,XORGPROTO,xorgproto,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+HOST_STYLE:= auto
+
+post-install:
+ $(CP) ${WRKINST}/usr/share/pkgconfig/*.pc \
+ ${STAGING_TARGET_DIR}/usr/lib/pkgconfig/
+
+include $(ADK_TOPDIR)/mk/host-bottom.mk
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/xsm/Makefile b/package/xsm/Makefile
index 177e1e4ff..43b8223ff 100644
--- a/package/xsm/Makefile
+++ b/package/xsm/Makefile
@@ -20,6 +20,8 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,XSM,xsm,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+CONFIGURE_ARGS+= --with-appdefaultdir=/usr/share/X11/app-defaults
+
xsm-install:
$(INSTALL_DIR) $(IDIR_XSM)/usr/share/X11
$(CP) $(WRKINST)/usr/share/X11/* \
diff --git a/package/xterm/Makefile b/package/xterm/Makefile
index d6cfcd674..4bc96d25d 100644
--- a/package/xterm/Makefile
+++ b/package/xterm/Makefile
@@ -4,17 +4,18 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= xterm
-PKG_VERSION:= 325
+PKG_VERSION:= 377
PKG_RELEASE:= 1
-PKG_HASH:= 3b31b07a0c40427e9330ec3be9d1a748c72808f945953cea9e526e48be315f1b
+PKG_HASH:= db108fe7a45d8ed97e604721b58443b473649e61e263631bf8759f8618a990b2
PKG_DESCR:= terminal emulator
PKG_SECTION:= x11/apps
PKG_DEPENDS:= libxaw libxt libncurses libxft fontconfig libuuid
+PKG_DEPENDS+= libxpm libxrender
PKG_BUILDDEP:= ncurses libXt libXmu libXaw libXft util-linux libSM
PKG_URL:= http://invisible-island.net/xterm/xterm.html
-PKG_SITES:= ftp://invisible-island.net/xterm/
+PKG_SITES:= http://invisible-mirror.net/archives/xterm/
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tgz
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tgz
include $(ADK_TOPDIR)/mk/package.mk
@@ -26,6 +27,7 @@ CONFIGURE_ARGS+= --with-app-defaults=/usr/lib/X11/app-defaults \
--x-libraries="$(STAGING_TARGET_DIR)/usr/lib" \
--with-freetype-cflags="-I$(STAGING_TARGET_DIR)/usr/include/freetype2" \
--disable-regex \
+ --disable-wide-chars \
--disable-pty-handshake
xterm-install:
diff --git a/package/xterm/patches/patch-xterm_io_h b/package/xterm/patches/patch-xterm_io_h
deleted file mode 100644
index 286388b66..000000000
--- a/package/xterm/patches/patch-xterm_io_h
+++ /dev/null
@@ -1,11 +0,0 @@
---- xterm-325.orig/xterm_io.h 2014-07-25 10:26:56.000000000 +0200
-+++ xterm-325/xterm_io.h 2016-09-09 22:25:42.000000000 +0200
-@@ -71,7 +71,7 @@
- #endif
-
- #ifdef linux
--#define USE_TERMIOS
-+#define USE_POSIX_TERMIOS
- #endif
-
- #ifdef __SCO__
diff --git a/package/xwayland/Makefile b/package/xwayland/Makefile
new file mode 100644
index 000000000..2e0848cdd
--- /dev/null
+++ b/package/xwayland/Makefile
@@ -0,0 +1,39 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= xwayland
+PKG_VERSION:= 21.1.3
+PKG_RELEASE:= 1
+PKG_HASH:= ebc2757f39fd4c7db1654fd86591589c211aa20172d43a54f77ae567cedbf8a2
+PKG_DESCR:= wayland server
+PKG_SECTION:= x11/drivers
+PKG_DEPENDS:= wayland wayland-protocols libepoxy libtirpc
+PKG_DEPENDS+= pixman libxkbfile libxfont2 font-util libressl
+PKG_DEPENDS+= libxdmcp libxshmfence libx11 libxcb libxext
+PKG_DEPENDS+= libxau libfreetype libfontenc
+PKG_BUILDDEP:= wayland wayland-protocols libepoxy libtirpc
+PKG_BUILDDEP+= pixman xorgproto libxkbfile libXfont2 font-util
+PKG_BUILDDEP+= libressl libXdmcp libxshmfence libX11 libxcb
+PKG_BUILDDEP+= libXext libXau freetype libfontenc
+PKG_URL:= https://xorg.freedesktop.org/
+PKG_SITES:= https://www.x.org/releases/individual/xserver/
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,XWAYLAND,xwayland,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+CONFIG_STYLE:= meson
+BUILD_STYLE:= meson
+INSTALL_STYLE:= meson
+
+
+xwayland-install:
+ $(INSTALL_DIR) $(IDIR_XWAYLAND)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/Xwayland \
+ $(IDIR_XWAYLAND)/usr/bin
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/xwayland/patches/patch-hw_xwayland_xwayland-glx_c b/package/xwayland/patches/patch-hw_xwayland_xwayland-glx_c
new file mode 100644
index 000000000..57cca337d
--- /dev/null
+++ b/package/xwayland/patches/patch-hw_xwayland_xwayland-glx_c
@@ -0,0 +1,12 @@
+--- xwayland-21.1.3.orig/hw/xwayland/xwayland-glx.c 2021-11-08 11:37:14.863922600 +0100
++++ xwayland-21.1.3/hw/xwayland/xwayland-glx.c 2021-11-14 05:31:50.673075155 +0100
+@@ -45,6 +45,9 @@
+
+ #include "xwayland-screen.h"
+
++#define EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT 0x333B
++#define EGL_COLOR_COMPONENT_TYPE_EXT 0x3339
++
+ /* Can't get these from <GL/glx.h> since it pulls in client headers */
+ #define GLX_RGBA_BIT 0x00000001
+ #define GLX_WINDOW_BIT 0x00000001
diff --git a/package/xwayland/patches/patch-include_misc_h b/package/xwayland/patches/patch-include_misc_h
new file mode 100644
index 000000000..6707a70ed
--- /dev/null
+++ b/package/xwayland/patches/patch-include_misc_h
@@ -0,0 +1,51 @@
+--- xwayland-21.1.3.orig/include/misc.h 2021-11-08 11:37:14.869922600 +0100
++++ xwayland-21.1.3/include/misc.h 2021-11-14 05:17:02.367154956 +0100
+@@ -298,34 +298,12 @@ __builtin_constant_p(int x)
+ }
+ #endif
+
+-static inline uint64_t
+-bswap_64(uint64_t x)
+-{
+- return (((x & 0xFF00000000000000ull) >> 56) |
+- ((x & 0x00FF000000000000ull) >> 40) |
+- ((x & 0x0000FF0000000000ull) >> 24) |
+- ((x & 0x000000FF00000000ull) >> 8) |
+- ((x & 0x00000000FF000000ull) << 8) |
+- ((x & 0x0000000000FF0000ull) << 24) |
+- ((x & 0x000000000000FF00ull) << 40) |
+- ((x & 0x00000000000000FFull) << 56));
+-}
+-
+ #define swapll(x) do { \
+ if (sizeof(*(x)) != 8) \
+ wrong_size(); \
+ *(x) = bswap_64(*(x)); \
+ } while (0)
+
+-static inline uint32_t
+-bswap_32(uint32_t x)
+-{
+- return (((x & 0xFF000000) >> 24) |
+- ((x & 0x00FF0000) >> 8) |
+- ((x & 0x0000FF00) << 8) |
+- ((x & 0x000000FF) << 24));
+-}
+-
+ static inline Bool
+ checked_int64_add(int64_t *out, int64_t a, int64_t b)
+ {
+@@ -361,13 +339,6 @@ checked_int64_subtract(int64_t *out, int
+ *(x) = bswap_32(*(x)); \
+ } while (0)
+
+-static inline uint16_t
+-bswap_16(uint16_t x)
+-{
+- return (((x & 0xFF00) >> 8) |
+- ((x & 0x00FF) << 8));
+-}
+-
+ #define swaps(x) do { \
+ if (sizeof(*(x)) != 2) \
+ wrong_size(); \
diff --git a/package/xz/Makefile b/package/xz/Makefile
index d36211ac6..7fa08c4cd 100644
--- a/package/xz/Makefile
+++ b/package/xz/Makefile
@@ -4,14 +4,14 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= xz
-PKG_VERSION:= 5.2.5
+PKG_VERSION:= 5.6.0
PKG_RELEASE:= 1
-PKG_HASH:= f6f4910fd033078738bd82bfba4f49219d03b17eb0794eb91efbae419f4aba10
+PKG_HASH:= 0f5c81f14171b74fcc9777d302304d964e63ffc2d7b634ef023a7249d9b5d875
PKG_DESCR:= compression utility
PKG_SECTION:= app/archive
PKG_DEPENDS:= libxz
PKG_URL:= http://tukaani.org/xz/
-PKG_SITES:= http://tukaani.org/xz/
+PKG_SITES:= https://github.com/tukaani-project/xz/releases/download/v$(PKG_VERSION)/
PKG_LIBNAME:= libxz
PKG_OPTS:= dev
diff --git a/package/yajl/Makefile b/package/yajl/Makefile
index f81ccf66b..321d24971 100644
--- a/package/yajl/Makefile
+++ b/package/yajl/Makefile
@@ -6,16 +6,15 @@ include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= yajl
PKG_VERSION:= 2.1.0
PKG_RELEASE:= 1
-PKG_HASH:= 510a13e0be57cd4ba99e60ac806a3635854af51316d3131d3742a90298ccde38
+PKG_HASH:= 3fb73364a5a30efe615046d07e6db9d09fd2b41c763c5f7d3bfb121cd5c5ac5a
PKG_DESCR:= small event-driven json parser
PKG_SECTION:= libs/data
PKG_BUILDDEP:= cmake-host ruby-host
PKG_URL:= http://lloyd.github.com/yajl/
-PKG_SITES:= http://github.com/lloyd/yajl/tarball/$(PKG_VERSION)/
+PKG_SITES:= https://github.com/lloyd/yajl/archive/refs/tags/
PKG_OPTS:= dev
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
-WRKDIST= $(WRKDIR)/lloyd-yajl-66cb08c/
+DISTFILES:= ${PKG_VERSION}.tar.gz
include $(ADK_TOPDIR)/mk/package.mk
diff --git a/package/ympd/Makefile b/package/ympd/Makefile
deleted file mode 100644
index 785e26b12..000000000
--- a/package/ympd/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(ADK_TOPDIR)/rules.mk
-
-PKG_NAME:= ympd
-PKG_VERSION:= ec008a4995666d673bd4cb3926fae7f4b6aa3239
-PKG_GIT:= hash
-PKG_RELEASE:= 4
-PKG_DESCR:= standalone music player daemon web gui
-PKG_SECTION:= net/http
-PKG_DEPENDS:= libmpdclient libressl
-PKG_BUILDDEP:= cmake-host libmpdclient libressl
-PKG_URL:= http://www.ympd.org/
-PKG_SITES:= https://github.com/notandy/ympd.git
-
-include $(ADK_TOPDIR)/mk/package.mk
-
-$(eval $(call PKG_template,YMPD,ympd,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-
-CONFIG_STYLE:= cmake
-TARGET_CFLAGS+= -std=c99
-
-ympd-install:
- $(INSTALL_DIR) $(IDIR_YMPD)/usr/bin
- $(INSTALL_BIN) $(WRKINST)/usr/bin/ympd \
- $(IDIR_YMPD)/usr/bin
-
-include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/ympd/files/ympd.init b/package/ympd/files/ympd.init
deleted file mode 100644
index 6dd7af28c..000000000
--- a/package/ympd/files/ympd.init
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-#PKG ympd
-#INIT 90
-
-. /etc/rc.conf
-
-case $1 in
-autostop) ;;
-autostart)
- test x"${ympd:-NO}" = x"NO" && exit 0
- test x"$ympd" = x"DAEMON" && test -x /bin/mksh && exec mksh -T- $0 start
- exec sh $0 start
- ;;
-start)
- ympd -w 80 &
- ;;
-stop)
- kill $(pgrep -f ympd)
- ;;
-restart)
- sh $0 stop
- sh $0 start
- ;;
-*)
- echo "Usage: $0 {start | stop | restart}"
- exit 1
- ;;
-esac
-exit $?
diff --git a/package/ympd/files/ympd.postinst b/package/ympd/files/ympd.postinst
deleted file mode 100644
index abc75c6f7..000000000
--- a/package/ympd/files/ympd.postinst
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-. $IPKG_INSTROOT/etc/functions.sh
-add_rcconf ympd NO
diff --git a/package/zile/Makefile b/package/zile/Makefile
index 78e08f8c6..c4744e7a5 100644
--- a/package/zile/Makefile
+++ b/package/zile/Makefile
@@ -4,13 +4,14 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= zile
-PKG_VERSION:= 2.4.11
+PKG_VERSION:= 2.6.2
PKG_RELEASE:= 1
-PKG_HASH:= 1fd27bbddc61491b1fbb29a345d0d344734aa9e80cfa07b02892eedf831fa9cc
+PKG_HASH:= 77eb7daff3c98bdc88daa1ac040dccca72b81dc32fc3166e079dd7a63e42c741
PKG_DESCR:= tiny emacs clone
PKG_SECTION:= app/editor
-PKG_DEPENDS:= libgc
-PKG_BUILDDEP:= libgc
+PKG_DEPENDS:= libgc glib libgee libmount libblkid
+PKG_BUILDDEP:= libgc glib libgee
+PKG_LIBC_DEPENDS:= glibc
PKG_URL:= http://www.gnu.org/software/zile/
PKG_SITES:= ${MASTER_SITE_GNU:=zile/}
diff --git a/package/zlib-ng/Makefile b/package/zlib-ng/Makefile
new file mode 100644
index 000000000..32fa46452
--- /dev/null
+++ b/package/zlib-ng/Makefile
@@ -0,0 +1,29 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= zlib-ng
+PKG_VERSION:= 2.1.6
+PKG_RELEASE:= 1
+PKG_HASH:= a5d504c0d52e2e2721e7e7d86988dec2e290d723ced2307145dedd06aeb6fef2
+PKG_DESCR:= implementation of the deflate compression method
+PKG_SECTION:= libs/comp
+PKG_SITES:= https://github.com/zlib-ng/zlib-ng/archive/refs/tags/
+PKG_NEEDS:= c++
+PKG_OPTS:= dev
+
+DISTFILES:= $(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,ZLIB_NG,zlib-ng,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+CONFIG_STYLE:= cmake
+
+zlib-ng-install:
+ $(INSTALL_DIR) $(IDIR_ZLIB_NG)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libz-ng*.so* \
+ $(IDIR_ZLIB_NG)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/zlib/Makefile b/package/zlib/Makefile
index 10ba76375..9d7cea2ae 100644
--- a/package/zlib/Makefile
+++ b/package/zlib/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= zlib
-PKG_VERSION:= 1.2.11
-PKG_RELEASE:= 2
-PKG_HASH:= 4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066
+PKG_VERSION:= 1.3.1
+PKG_RELEASE:= 1
+PKG_HASH:= 38ef96b8dfe510d42707d9c781877914792541133e1870841463bfa73f883e32
PKG_DESCR:= implementation of the deflate compression method
PKG_SECTION:= libs/comp
PKG_URL:= http://www.zlib.net/
diff --git a/package/zsh/Makefile b/package/zsh/Makefile
index 6b5a3e5b2..076e0f871 100644
--- a/package/zsh/Makefile
+++ b/package/zsh/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= zsh
-PKG_VERSION:= 5.7.1
+PKG_VERSION:= 5.9
PKG_RELEASE:= 1
-PKG_HASH:= 7260292c2c1d483b2d50febfa5055176bd512b32a8833b116177bf5f01e77ee8
+PKG_HASH:= 9b8d1ecedd5b5e81fbf1918e876752a7dd948e05c1a0dba10ab863842d45acd5
PKG_DESCR:= z shell
PKG_SECTION:= base/shells
PKG_DEPENDS:= libncurses
diff --git a/package/zstd/Makefile b/package/zstd/Makefile
new file mode 100644
index 000000000..79ac805b5
--- /dev/null
+++ b/package/zstd/Makefile
@@ -0,0 +1,38 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= zstd
+PKG_VERSION:= 1.5.5
+PKG_RELEASE:= 1
+PKG_HASH:= 98e9c3d949d1b924e28e01eccb7deed865eefebf25c2f21c702e5cd5b63b85e1
+PKG_DESCR:= zstandard compression application
+PKG_SECTION:= app/archive
+PKG_SITES:= https://github.com/facebook/zstd/archive/refs/tags/
+PKG_OPTS:= dev
+
+DISTFILES:= v$(PKG_VERSION).tar.gz
+
+include ${ADK_TOPDIR}/mk/host.mk
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call HOST_template,ZSTD,zstd,${PKG_VERSION}-${PKG_RELEASE}))
+$(eval $(call PKG_template,ZSTD,zstd,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+HOST_CONFIG_STYLE:= manual
+HOST_INSTALL_STYLE:= auto
+CONFIG_STYLE:= manual
+ALL_TARGET:= default
+HOST_ALL_TARGET:= default
+
+zstd-install:
+ $(INSTALL_DIR) $(IDIR_ZSTD)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libzstd*.so* \
+ $(IDIR_ZSTD)/usr/lib
+ $(INSTALL_DIR) $(IDIR_ZSTD)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/zstd \
+ $(IDIR_ZSTD)/usr/bin
+
+include ${ADK_TOPDIR}/mk/host-bottom.mk
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/zstd/patches/patch-lib_Makefile b/package/zstd/patches/patch-lib_Makefile
new file mode 100644
index 000000000..22128cbda
--- /dev/null
+++ b/package/zstd/patches/patch-lib_Makefile
@@ -0,0 +1,11 @@
+--- zstd-1.5.5.orig/lib/Makefile 2023-04-04 22:13:52.000000000 +0200
++++ zstd-1.5.5/lib/Makefile 2024-01-17 18:12:48.257111944 +0100
+@@ -259,7 +259,7 @@ DESTDIR ?=
+ # directory variables : GNU conventions prefer lowercase
+ # see https://www.gnu.org/prep/standards/html_node/Makefile-Conventions.html
+ # support both lower and uppercase (BSD), use uppercase in script
+-prefix ?= /usr/local
++prefix ?= /usr
+ PREFIX ?= $(prefix)
+ exec_prefix ?= $(PREFIX)
+ EXEC_PREFIX ?= $(exec_prefix)
diff --git a/package/zstd/patches/patch-programs_Makefile b/package/zstd/patches/patch-programs_Makefile
new file mode 100644
index 000000000..b8f880ca0
--- /dev/null
+++ b/package/zstd/patches/patch-programs_Makefile
@@ -0,0 +1,11 @@
+--- zstd-1.5.5.orig/programs/Makefile 2023-04-04 22:13:52.000000000 +0200
++++ zstd-1.5.5/programs/Makefile 2024-01-17 18:13:11.620566871 +0100
+@@ -380,7 +380,7 @@ DESTDIR ?=
+ # directory variables : GNU conventions prefer lowercase
+ # see https://www.gnu.org/prep/standards/html_node/Makefile-Conventions.html
+ # support both lower and uppercase (BSD), use uppercase in script
+-prefix ?= /usr/local
++prefix ?= /usr
+ PREFIX ?= $(prefix)
+ exec_prefix ?= $(PREFIX)
+ bindir ?= $(exec_prefix)/bin
diff --git a/rules.mk b/rules.mk
index 758a2c163..234f5e345 100644
--- a/rules.mk
+++ b/rules.mk
@@ -76,6 +76,7 @@ ADK_TARGET_LINUX_KERNEL_GIT_VER:= $(strip $(subst ",, $(ADK_TARGET_LINUX_KERNEL_
ADK_TARGET_LINUX_KERNEL_GIT_TYPE:= $(strip $(subst ",, $(ADK_TARGET_LINUX_KERNEL_GIT_TYPE)))
ADK_TARGET_LINUX_KERNEL_DEFCONFIG:= $(strip $(subst ",, $(ADK_TARGET_LINUX_KERNEL_DEFCONFIG)))
ADK_TARGET_GENIMAGE_FILENAME:= $(strip $(subst ",, $(ADK_TARGET_GENIMAGE_FILENAME)))
+ADK_TARGET_EXTLINUX_FILENAME:= $(strip $(subst ",, $(ADK_TARGET_EXTLINUX_FILENAME)))
ADK_TARGET_ROOTDEV:= $(strip $(subst ",, $(ADK_TARGET_ROOTDEV)))
ADK_TARGET_KARCH:=$(ADK_TARGET_ARCH)
diff --git a/scripts/config.guess b/scripts/config.guess
index fba6e87a0..f6d217a49 100755
--- a/scripts/config.guess
+++ b/scripts/config.guess
@@ -1,12 +1,14 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright 1992-2015 Free Software Foundation, Inc.
+# Copyright 1992-2024 Free Software Foundation, Inc.
-timestamp='2015-11-19'
+# shellcheck disable=SC2006,SC2268 # see below for rationale
+
+timestamp='2024-01-01'
# This file 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
+# 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
@@ -15,7 +17,7 @@ timestamp='2015-11-19'
# 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 <http://www.gnu.org/licenses/>.
+# along with this program; if not, see <https://www.gnu.org/licenses/>.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -27,19 +29,27 @@ timestamp='2015-11-19'
# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
#
# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
#
# Please send patches to <config-patches@gnu.org>.
+# The "shellcheck disable" line above the timestamp inhibits complaints
+# about features and limitations of the classic Bourne shell that were
+# superseded or lifted in POSIX. However, this script identifies a wide
+# variety of pre-POSIX systems that do not have POSIX shells at all, and
+# even some reasonably current systems (Solaris 10 as case-in-point) still
+# have a pre-POSIX /bin/sh.
+
+
me=`echo "$0" | sed -e 's,.*/,,'`
usage="\
Usage: $0 [OPTION]
-Output the configuration name of the system \`$me' is run on.
+Output the configuration name of the system '$me' is run on.
-Operation modes:
+Options:
-h, --help print this help, then exit
-t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit
@@ -50,13 +60,13 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright 1992-2015 Free Software Foundation, Inc.
+Copyright 1992-2024 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."
help="
-Try \`$me --help' for more information."
+Try '$me --help' for more information."
# Parse command line
while test $# -gt 0 ; do
@@ -84,78 +94,109 @@ if test $# != 0; then
exit 1
fi
-trap 'exit 1' 1 2 15
+# Just in case it came from the environment.
+GUESS=
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
# compiler to aid in system detection is discouraged as it requires
# temporary files to be created and, as you can see below, it is a
# headache to deal with in a portable fashion.
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
+# Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still
+# use 'HOST_CC' if defined, but it is deprecated.
# Portable tmp directory creation inspired by the Autoconf team.
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,) echo "int x;" > $dummy.c ;
- for c in cc gcc c89 c99 ; do
- if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
- CC_FOR_BUILD="$c"; break ;
- fi ;
- done ;
- if test x"$CC_FOR_BUILD" = x ; then
- CC_FOR_BUILD=no_compiler_found ;
- fi
- ;;
- ,,*) CC_FOR_BUILD=$CC ;;
- ,*,*) CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
+tmp=
+# shellcheck disable=SC2172
+trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
+
+set_cc_for_build() {
+ # prevent multiple calls if $tmp is already set
+ test "$tmp" && return 0
+ : "${TMPDIR=/tmp}"
+ # shellcheck disable=SC2039,SC3028
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
+ dummy=$tmp/dummy
+ case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
+ ,,) echo "int x;" > "$dummy.c"
+ for driver in cc gcc c89 c99 ; do
+ if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
+ CC_FOR_BUILD=$driver
+ break
+ fi
+ done
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+ esac
+}
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+if test -f /.attbin/uname ; then
PATH=$PATH:/.attbin ; export PATH
fi
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-case "${UNAME_SYSTEM}" in
+case $UNAME_SYSTEM in
Linux|GNU|GNU/*)
- # If the system lacks a compiler, then just pick glibc.
- # We could probably try harder.
- LIBC=gnu
+ LIBC=unknown
- eval $set_cc_for_build
- cat <<-EOF > $dummy.c
+ set_cc_for_build
+ cat <<-EOF > "$dummy.c"
+ #if defined(__ANDROID__)
+ LIBC=android
+ #else
#include <features.h>
#if defined(__UCLIBC__)
LIBC=uclibc
#elif defined(__dietlibc__)
LIBC=dietlibc
- #else
+ #elif defined(__GLIBC__)
LIBC=gnu
+ #elif defined(__LLVM_LIBC__)
+ LIBC=llvm
+ #else
+ #include <stdarg.h>
+ /* First heuristic to detect musl libc. */
+ #ifdef __DEFINED_va_list
+ LIBC=musl
+ #endif
+ #endif
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+ cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+ eval "$cc_set_libc"
+
+ # Second heuristic to detect musl libc.
+ if [ "$LIBC" = unknown ] &&
+ command -v ldd >/dev/null &&
+ ldd --version 2>&1 | grep -q ^musl; then
+ LIBC=musl
+ fi
+
+ # If the system lacks a compiler, then just pick glibc.
+ # We could probably try harder.
+ if [ "$LIBC" = unknown ]; then
+ LIBC=gnu
+ fi
;;
esac
# Note: order is significant - the case branches are not exclusive.
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
*:NetBSD:*:*)
# NetBSD (nbsd) targets should (where applicable) match one or
# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
@@ -167,29 +208,32 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
#
# Note: NetBSD doesn't particularly care about the vendor
# portion of the name. We always set it to "unknown".
- sysctl="sysctl -n hw.machine_arch"
UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
- /sbin/$sysctl 2>/dev/null || \
- /usr/sbin/$sysctl 2>/dev/null || \
+ /sbin/sysctl -n hw.machine_arch 2>/dev/null || \
+ /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \
echo unknown)`
- case "${UNAME_MACHINE_ARCH}" in
+ case $UNAME_MACHINE_ARCH in
+ aarch64eb) machine=aarch64_be-unknown ;;
armeb) machine=armeb-unknown ;;
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
sh5el) machine=sh5le-unknown ;;
earmv*)
- arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
- endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
+ arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+ endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
machine=${arch}${endian}-unknown
;;
- *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+ *) machine=$UNAME_MACHINE_ARCH-unknown ;;
esac
# The Operating System including object format, if it has switched
- # to ELF recently, or will in the future.
- case "${UNAME_MACHINE_ARCH}" in
- arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
- eval $set_cc_for_build
+ # to ELF recently (or will in the future) and ABI.
+ case $UNAME_MACHINE_ARCH in
+ earm*)
+ os=netbsdelf
+ ;;
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ELF__
then
@@ -205,10 +249,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
;;
esac
# Determine ABI tags.
- case "${UNAME_MACHINE_ARCH}" in
+ case $UNAME_MACHINE_ARCH in
earm*)
expr='s/^earmv[0-9]/-eabi/;s/eb$//'
- abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
+ abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
;;
esac
# The OS release
@@ -216,43 +260,68 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# thus, need a distinct triplet. However, they do not need
# kernel version information, so it can be replaced with a
# suitable tag, in the style of linux-gnu.
- case "${UNAME_VERSION}" in
+ case $UNAME_VERSION in
Debian*)
release='-gnu'
;;
*)
- release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
+ release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
;;
esac
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}${abi}"
- exit ;;
+ GUESS=$machine-${os}${release}${abi-}
+ ;;
*:Bitrig:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
- echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
- exit ;;
+ GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE
+ ;;
*:OpenBSD:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
- echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
- exit ;;
+ GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE
+ ;;
+ *:SecBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'`
+ GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE
+ ;;
+ *:LibertyBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
+ GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE
+ ;;
+ *:MidnightBSD:*:*)
+ GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE
+ ;;
*:ekkoBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE
+ ;;
*:SolidBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE
+ ;;
+ *:OS108:*:*)
+ GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE
+ ;;
macppc:MirBSD:*:*)
- echo powerpc-unknown-mirbsd${UNAME_RELEASE}
- exit ;;
+ GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE
+ ;;
*:MirBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE
+ ;;
*:Sortix:*:*)
- echo ${UNAME_MACHINE}-unknown-sortix
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-sortix
+ ;;
+ *:Twizzler:*:*)
+ GUESS=$UNAME_MACHINE-unknown-twizzler
+ ;;
+ *:Redox:*:*)
+ GUESS=$UNAME_MACHINE-unknown-redox
+ ;;
+ mips:OSF1:*.*)
+ GUESS=mips-dec-osf1
+ ;;
alpha:OSF1:*:*)
+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+ trap '' 0
case $UNAME_RELEASE in
*4.0)
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
@@ -266,163 +335,158 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# covers most systems running today. This code pipes the CPU
# types through head -n 1, so we only detect the type of CPU 0.
ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
- case "$ALPHA_CPU_TYPE" in
+ case $ALPHA_CPU_TYPE in
"EV4 (21064)")
- UNAME_MACHINE="alpha" ;;
+ UNAME_MACHINE=alpha ;;
"EV4.5 (21064)")
- UNAME_MACHINE="alpha" ;;
+ UNAME_MACHINE=alpha ;;
"LCA4 (21066/21068)")
- UNAME_MACHINE="alpha" ;;
+ UNAME_MACHINE=alpha ;;
"EV5 (21164)")
- UNAME_MACHINE="alphaev5" ;;
+ UNAME_MACHINE=alphaev5 ;;
"EV5.6 (21164A)")
- UNAME_MACHINE="alphaev56" ;;
+ UNAME_MACHINE=alphaev56 ;;
"EV5.6 (21164PC)")
- UNAME_MACHINE="alphapca56" ;;
+ UNAME_MACHINE=alphapca56 ;;
"EV5.7 (21164PC)")
- UNAME_MACHINE="alphapca57" ;;
+ UNAME_MACHINE=alphapca57 ;;
"EV6 (21264)")
- UNAME_MACHINE="alphaev6" ;;
+ UNAME_MACHINE=alphaev6 ;;
"EV6.7 (21264A)")
- UNAME_MACHINE="alphaev67" ;;
+ UNAME_MACHINE=alphaev67 ;;
"EV6.8CB (21264C)")
- UNAME_MACHINE="alphaev68" ;;
+ UNAME_MACHINE=alphaev68 ;;
"EV6.8AL (21264B)")
- UNAME_MACHINE="alphaev68" ;;
+ UNAME_MACHINE=alphaev68 ;;
"EV6.8CX (21264D)")
- UNAME_MACHINE="alphaev68" ;;
+ UNAME_MACHINE=alphaev68 ;;
"EV6.9A (21264/EV69A)")
- UNAME_MACHINE="alphaev69" ;;
+ UNAME_MACHINE=alphaev69 ;;
"EV7 (21364)")
- UNAME_MACHINE="alphaev7" ;;
+ UNAME_MACHINE=alphaev7 ;;
"EV7.9 (21364A)")
- UNAME_MACHINE="alphaev79" ;;
+ UNAME_MACHINE=alphaev79 ;;
esac
# A Pn.n version is a patched version.
# A Vn.n version is a released version.
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
- exitcode=$?
- trap '' 0
- exit $exitcode ;;
- Alpha\ *:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # Should we change UNAME_MACHINE based on the output of uname instead
- # of the specific Alpha model?
- echo alpha-pc-interix
- exit ;;
- 21064:Windows_NT:50:3)
- echo alpha-dec-winnt3.5
- exit ;;
+ OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+ GUESS=$UNAME_MACHINE-dec-osf$OSF_REL
+ ;;
Amiga*:UNIX_System_V:4.0:*)
- echo m68k-unknown-sysv4
- exit ;;
+ GUESS=m68k-unknown-sysv4
+ ;;
*:[Aa]miga[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-amigaos
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-amigaos
+ ;;
*:[Mm]orph[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-morphos
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-morphos
+ ;;
*:OS/390:*:*)
- echo i370-ibm-openedition
- exit ;;
+ GUESS=i370-ibm-openedition
+ ;;
*:z/VM:*:*)
- echo s390-ibm-zvmoe
- exit ;;
+ GUESS=s390-ibm-zvmoe
+ ;;
*:OS400:*:*)
- echo powerpc-ibm-os400
- exit ;;
+ GUESS=powerpc-ibm-os400
+ ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
- echo arm-acorn-riscix${UNAME_RELEASE}
- exit ;;
+ GUESS=arm-acorn-riscix$UNAME_RELEASE
+ ;;
arm*:riscos:*:*|arm*:RISCOS:*:*)
- echo arm-unknown-riscos
- exit ;;
+ GUESS=arm-unknown-riscos
+ ;;
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
- echo hppa1.1-hitachi-hiuxmpp
- exit ;;
+ GUESS=hppa1.1-hitachi-hiuxmpp
+ ;;
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
- if test "`(/bin/universe) 2>/dev/null`" = att ; then
- echo pyramid-pyramid-sysv3
- else
- echo pyramid-pyramid-bsd
- fi
- exit ;;
+ case `(/bin/universe) 2>/dev/null` in
+ att) GUESS=pyramid-pyramid-sysv3 ;;
+ *) GUESS=pyramid-pyramid-bsd ;;
+ esac
+ ;;
NILE*:*:*:dcosx)
- echo pyramid-pyramid-svr4
- exit ;;
+ GUESS=pyramid-pyramid-svr4
+ ;;
DRS?6000:unix:4.0:6*)
- echo sparc-icl-nx6
- exit ;;
+ GUESS=sparc-icl-nx6
+ ;;
DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
case `/usr/bin/uname -p` in
- sparc) echo sparc-icl-nx7; exit ;;
- esac ;;
+ sparc) GUESS=sparc-icl-nx7 ;;
+ esac
+ ;;
s390x:SunOS:*:*)
- echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+ GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL
+ ;;
sun4H:SunOS:5.*:*)
- echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+ GUESS=sparc-hal-solaris2$SUN_REL
+ ;;
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+ GUESS=sparc-sun-solaris2$SUN_REL
+ ;;
i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
- echo i386-pc-auroraux${UNAME_RELEASE}
- exit ;;
+ GUESS=i386-pc-auroraux$UNAME_RELEASE
+ ;;
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
- eval $set_cc_for_build
- SUN_ARCH="i386"
+ set_cc_for_build
+ SUN_ARCH=i386
# If there is a compiler, see if it is configured for 64-bit objects.
# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
# This test works for both compilers.
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if test "$CC_FOR_BUILD" != no_compiler_found; then
if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \
grep IS_64BIT_ARCH >/dev/null
then
- SUN_ARCH="x86_64"
+ SUN_ARCH=x86_64
fi
fi
- echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+ GUESS=$SUN_ARCH-pc-solaris2$SUN_REL
+ ;;
sun4*:SunOS:6*:*)
# According to config.sub, this is the proper way to canonicalize
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
# it's likely to be more like Solaris than SunOS4.
- echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+ GUESS=sparc-sun-solaris3$SUN_REL
+ ;;
sun4*:SunOS:*:*)
- case "`/usr/bin/arch -k`" in
+ case `/usr/bin/arch -k` in
Series*|S4*)
UNAME_RELEASE=`uname -v`
;;
esac
- # Japanese Language versions have a version number like `4.1.3-JL'.
- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
- exit ;;
+ # Japanese Language versions have a version number like '4.1.3-JL'.
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
+ GUESS=sparc-sun-sunos$SUN_REL
+ ;;
sun3*:SunOS:*:*)
- echo m68k-sun-sunos${UNAME_RELEASE}
- exit ;;
+ GUESS=m68k-sun-sunos$UNAME_RELEASE
+ ;;
sun*:*:4.2BSD:*)
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
- test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
- case "`/bin/arch`" in
+ test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
+ case `/bin/arch` in
sun3)
- echo m68k-sun-sunos${UNAME_RELEASE}
+ GUESS=m68k-sun-sunos$UNAME_RELEASE
;;
sun4)
- echo sparc-sun-sunos${UNAME_RELEASE}
+ GUESS=sparc-sun-sunos$UNAME_RELEASE
;;
esac
- exit ;;
+ ;;
aushp:SunOS:*:*)
- echo sparc-auspex-sunos${UNAME_RELEASE}
- exit ;;
+ GUESS=sparc-auspex-sunos$UNAME_RELEASE
+ ;;
# The situation for MiNT is a little confusing. The machine name
# can be virtually everything (everything which is not
# "atarist" or "atariste" at least should have a processor
@@ -432,44 +496,44 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# MiNT. But MiNT is downward compatible to TOS, so this should
# be no problem.
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
+ GUESS=m68k-atari-mint$UNAME_RELEASE
+ ;;
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
+ GUESS=m68k-atari-mint$UNAME_RELEASE
+ ;;
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
+ GUESS=m68k-atari-mint$UNAME_RELEASE
+ ;;
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- echo m68k-milan-mint${UNAME_RELEASE}
- exit ;;
+ GUESS=m68k-milan-mint$UNAME_RELEASE
+ ;;
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- echo m68k-hades-mint${UNAME_RELEASE}
- exit ;;
+ GUESS=m68k-hades-mint$UNAME_RELEASE
+ ;;
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- echo m68k-unknown-mint${UNAME_RELEASE}
- exit ;;
+ GUESS=m68k-unknown-mint$UNAME_RELEASE
+ ;;
m68k:machten:*:*)
- echo m68k-apple-machten${UNAME_RELEASE}
- exit ;;
+ GUESS=m68k-apple-machten$UNAME_RELEASE
+ ;;
powerpc:machten:*:*)
- echo powerpc-apple-machten${UNAME_RELEASE}
- exit ;;
+ GUESS=powerpc-apple-machten$UNAME_RELEASE
+ ;;
RISC*:Mach:*:*)
- echo mips-dec-mach_bsd4.3
- exit ;;
+ GUESS=mips-dec-mach_bsd4.3
+ ;;
RISC*:ULTRIX:*:*)
- echo mips-dec-ultrix${UNAME_RELEASE}
- exit ;;
+ GUESS=mips-dec-ultrix$UNAME_RELEASE
+ ;;
VAX*:ULTRIX*:*:*)
- echo vax-dec-ultrix${UNAME_RELEASE}
- exit ;;
+ GUESS=vax-dec-ultrix$UNAME_RELEASE
+ ;;
2020:CLIX:*:* | 2430:CLIX:*:*)
- echo clipper-intergraph-clix${UNAME_RELEASE}
- exit ;;
+ GUESS=clipper-intergraph-clix$UNAME_RELEASE
+ ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ set_cc_for_build
+ sed 's/^ //' << EOF > "$dummy.c"
#ifdef __cplusplus
#include <stdio.h> /* for printf() prototype */
int main (int argc, char *argv[]) {
@@ -478,95 +542,96 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
#endif
#if defined (host_mips) && defined (MIPSEB)
#if defined (SYSTYPE_SYSV)
- printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+ printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_SVR4)
- printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+ printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
- printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+ printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
#endif
#endif
exit (-1);
}
EOF
- $CC_FOR_BUILD -o $dummy $dummy.c &&
- dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
- SYSTEM_NAME=`$dummy $dummyarg` &&
+ $CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
+ dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+ SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
{ echo "$SYSTEM_NAME"; exit; }
- echo mips-mips-riscos${UNAME_RELEASE}
- exit ;;
+ GUESS=mips-mips-riscos$UNAME_RELEASE
+ ;;
Motorola:PowerMAX_OS:*:*)
- echo powerpc-motorola-powermax
- exit ;;
+ GUESS=powerpc-motorola-powermax
+ ;;
Motorola:*:4.3:PL8-*)
- echo powerpc-harris-powermax
- exit ;;
+ GUESS=powerpc-harris-powermax
+ ;;
Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
- echo powerpc-harris-powermax
- exit ;;
+ GUESS=powerpc-harris-powermax
+ ;;
Night_Hawk:Power_UNIX:*:*)
- echo powerpc-harris-powerunix
- exit ;;
+ GUESS=powerpc-harris-powerunix
+ ;;
m88k:CX/UX:7*:*)
- echo m88k-harris-cxux7
- exit ;;
+ GUESS=m88k-harris-cxux7
+ ;;
m88k:*:4*:R4*)
- echo m88k-motorola-sysv4
- exit ;;
+ GUESS=m88k-motorola-sysv4
+ ;;
m88k:*:3*:R3*)
- echo m88k-motorola-sysv3
- exit ;;
+ GUESS=m88k-motorola-sysv3
+ ;;
AViiON:dgux:*:*)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR=`/usr/bin/uname -p`
- if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+ if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110
then
- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
- [ ${TARGET_BINARY_INTERFACE}x = x ]
+ if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \
+ test "$TARGET_BINARY_INTERFACE"x = x
then
- echo m88k-dg-dgux${UNAME_RELEASE}
+ GUESS=m88k-dg-dgux$UNAME_RELEASE
else
- echo m88k-dg-dguxbcs${UNAME_RELEASE}
+ GUESS=m88k-dg-dguxbcs$UNAME_RELEASE
fi
else
- echo i586-dg-dgux${UNAME_RELEASE}
+ GUESS=i586-dg-dgux$UNAME_RELEASE
fi
- exit ;;
+ ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
- echo m88k-dolphin-sysv3
- exit ;;
+ GUESS=m88k-dolphin-sysv3
+ ;;
M88*:*:R3*:*)
# Delta 88k system running SVR3
- echo m88k-motorola-sysv3
- exit ;;
+ GUESS=m88k-motorola-sysv3
+ ;;
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
- echo m88k-tektronix-sysv3
- exit ;;
+ GUESS=m88k-tektronix-sysv3
+ ;;
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
- echo m68k-tektronix-bsd
- exit ;;
+ GUESS=m68k-tektronix-bsd
+ ;;
*:IRIX*:*:*)
- echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
- exit ;;
+ IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'`
+ GUESS=mips-sgi-irix$IRIX_REL
+ ;;
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
- exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ ;; # Note that: echo "'`uname -s`'" gives 'AIX '
i*86:AIX:*:*)
- echo i386-ibm-aix
- exit ;;
+ GUESS=i386-ibm-aix
+ ;;
ia64:AIX:*:*)
- if [ -x /usr/bin/oslevel ] ; then
+ if test -x /usr/bin/oslevel ; then
IBM_REV=`/usr/bin/oslevel`
else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
fi
- echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
- exit ;;
+ GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV
+ ;;
*:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ set_cc_for_build
+ sed 's/^ //' << EOF > "$dummy.c"
#include <sys/systemcfg.h>
main()
@@ -577,77 +642,77 @@ EOF
exit(0);
}
EOF
- if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+ if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
then
- echo "$SYSTEM_NAME"
+ GUESS=$SYSTEM_NAME
else
- echo rs6000-ibm-aix3.2.5
+ GUESS=rs6000-ibm-aix3.2.5
fi
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
- echo rs6000-ibm-aix3.2.4
+ GUESS=rs6000-ibm-aix3.2.4
else
- echo rs6000-ibm-aix3.2
+ GUESS=rs6000-ibm-aix3.2
fi
- exit ;;
+ ;;
*:AIX:*:[4567])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
- if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000
else
IBM_ARCH=powerpc
fi
- if [ -x /usr/bin/lslpp ] ; then
- IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
+ if test -x /usr/bin/lslpp ; then
+ IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \
awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
fi
- echo ${IBM_ARCH}-ibm-aix${IBM_REV}
- exit ;;
+ GUESS=$IBM_ARCH-ibm-aix$IBM_REV
+ ;;
*:AIX:*:*)
- echo rs6000-ibm-aix
- exit ;;
- ibmrt:4.4BSD:*|romp-ibm:BSD:*)
- echo romp-ibm-bsd4.4
- exit ;;
+ GUESS=rs6000-ibm-aix
+ ;;
+ ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
+ GUESS=romp-ibm-bsd4.4
+ ;;
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
- echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
- exit ;; # report: romp-ibm BSD 4.3
+ GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to
+ ;; # report: romp-ibm BSD 4.3
*:BOSX:*:*)
- echo rs6000-bull-bosx
- exit ;;
+ GUESS=rs6000-bull-bosx
+ ;;
DPX/2?00:B.O.S.:*:*)
- echo m68k-bull-sysv3
- exit ;;
+ GUESS=m68k-bull-sysv3
+ ;;
9000/[34]??:4.3bsd:1.*:*)
- echo m68k-hp-bsd
- exit ;;
+ GUESS=m68k-hp-bsd
+ ;;
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
- echo m68k-hp-bsd4.4
- exit ;;
+ GUESS=m68k-hp-bsd4.4
+ ;;
9000/[34678]??:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- case "${UNAME_MACHINE}" in
- 9000/31? ) HP_ARCH=m68000 ;;
- 9000/[34]?? ) HP_ARCH=m68k ;;
+ HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
+ case $UNAME_MACHINE in
+ 9000/31?) HP_ARCH=m68000 ;;
+ 9000/[34]??) HP_ARCH=m68k ;;
9000/[678][0-9][0-9])
- if [ -x /usr/bin/getconf ]; then
+ if test -x /usr/bin/getconf; then
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case "${sc_cpu_version}" in
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ case $sc_cpu_version in
+ 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
532) # CPU_PA_RISC2_0
- case "${sc_kernel_bits}" in
- 32) HP_ARCH="hppa2.0n" ;;
- 64) HP_ARCH="hppa2.0w" ;;
- '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+ case $sc_kernel_bits in
+ 32) HP_ARCH=hppa2.0n ;;
+ 64) HP_ARCH=hppa2.0w ;;
+ '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
esac ;;
esac
fi
- if [ "${HP_ARCH}" = "" ]; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ if test "$HP_ARCH" = ""; then
+ set_cc_for_build
+ sed 's/^ //' << EOF > "$dummy.c"
#define _HPUX_SOURCE
#include <stdlib.h>
@@ -680,13 +745,13 @@ EOF
exit (0);
}
EOF
- (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
test -z "$HP_ARCH" && HP_ARCH=hppa
fi ;;
esac
- if [ ${HP_ARCH} = "hppa2.0w" ]
+ if test "$HP_ARCH" = hppa2.0w
then
- eval $set_cc_for_build
+ set_cc_for_build
# hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
# 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
@@ -697,23 +762,23 @@ EOF
# $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
# => hppa64-hp-hpux11.23
- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+ if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
grep -q __LP64__
then
- HP_ARCH="hppa2.0w"
+ HP_ARCH=hppa2.0w
else
- HP_ARCH="hppa64"
+ HP_ARCH=hppa64
fi
fi
- echo ${HP_ARCH}-hp-hpux${HPUX_REV}
- exit ;;
+ GUESS=$HP_ARCH-hp-hpux$HPUX_REV
+ ;;
ia64:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- echo ia64-hp-hpux${HPUX_REV}
- exit ;;
+ HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
+ GUESS=ia64-hp-hpux$HPUX_REV
+ ;;
3050*:HI-UX:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ set_cc_for_build
+ sed 's/^ //' << EOF > "$dummy.c"
#include <unistd.h>
int
main ()
@@ -738,38 +803,38 @@ EOF
exit (0);
}
EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+ $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
{ echo "$SYSTEM_NAME"; exit; }
- echo unknown-hitachi-hiuxwe2
- exit ;;
- 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
- echo hppa1.1-hp-bsd
- exit ;;
+ GUESS=unknown-hitachi-hiuxwe2
+ ;;
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
+ GUESS=hppa1.1-hp-bsd
+ ;;
9000/8??:4.3bsd:*:*)
- echo hppa1.0-hp-bsd
- exit ;;
+ GUESS=hppa1.0-hp-bsd
+ ;;
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
- echo hppa1.0-hp-mpeix
- exit ;;
- hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
- echo hppa1.1-hp-osf
- exit ;;
+ GUESS=hppa1.0-hp-mpeix
+ ;;
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
+ GUESS=hppa1.1-hp-osf
+ ;;
hp8??:OSF1:*:*)
- echo hppa1.0-hp-osf
- exit ;;
+ GUESS=hppa1.0-hp-osf
+ ;;
i*86:OSF1:*:*)
- if [ -x /usr/sbin/sysversion ] ; then
- echo ${UNAME_MACHINE}-unknown-osf1mk
+ if test -x /usr/sbin/sysversion ; then
+ GUESS=$UNAME_MACHINE-unknown-osf1mk
else
- echo ${UNAME_MACHINE}-unknown-osf1
+ GUESS=$UNAME_MACHINE-unknown-osf1
fi
- exit ;;
+ ;;
parisc*:Lites*:*:*)
- echo hppa1.1-hp-lites
- exit ;;
+ GUESS=hppa1.1-hp-lites
+ ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
- echo c1-convex-bsd
- exit ;;
+ GUESS=c1-convex-bsd
+ ;;
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
@@ -777,139 +842,174 @@ EOF
fi
exit ;;
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
- echo c34-convex-bsd
- exit ;;
+ GUESS=c34-convex-bsd
+ ;;
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
- echo c38-convex-bsd
- exit ;;
+ GUESS=c38-convex-bsd
+ ;;
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
- echo c4-convex-bsd
- exit ;;
+ GUESS=c4-convex-bsd
+ ;;
CRAY*Y-MP:*:*:*)
- echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+ GUESS=ymp-cray-unicos$CRAY_REL
+ ;;
CRAY*[A-Z]90:*:*:*)
- echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-e 's/\.[^.]*$/.X/'
exit ;;
CRAY*TS:*:*:*)
- echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+ GUESS=t90-cray-unicos$CRAY_REL
+ ;;
CRAY*T3E:*:*:*)
- echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+ GUESS=alphaev5-cray-unicosmk$CRAY_REL
+ ;;
CRAY*SV1:*:*:*)
- echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+ GUESS=sv1-cray-unicos$CRAY_REL
+ ;;
*:UNICOS/mp:*:*)
- echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+ GUESS=craynv-cray-unicosmp$CRAY_REL
+ ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
- FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
+ FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
+ FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
+ GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
+ ;;
5000:UNIX_System_V:4.*:*)
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
+ FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
+ GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
+ ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
- echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
- exit ;;
+ GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE
+ ;;
sparc*:BSD/OS:*:*)
- echo sparc-unknown-bsdi${UNAME_RELEASE}
- exit ;;
+ GUESS=sparc-unknown-bsdi$UNAME_RELEASE
+ ;;
*:BSD/OS:*:*)
- echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE
+ ;;
+ arm:FreeBSD:*:*)
+ UNAME_PROCESSOR=`uname -p`
+ set_cc_for_build
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_PCS_VFP
+ then
+ FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+ GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi
+ else
+ FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+ GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf
+ fi
+ ;;
*:FreeBSD:*:*)
- UNAME_PROCESSOR=`/usr/bin/uname -p`
- case ${UNAME_PROCESSOR} in
+ UNAME_PROCESSOR=`uname -p`
+ case $UNAME_PROCESSOR in
amd64)
- echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- *)
- echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ UNAME_PROCESSOR=x86_64 ;;
+ i386)
+ UNAME_PROCESSOR=i586 ;;
esac
- exit ;;
+ FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+ GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL
+ ;;
i*:CYGWIN*:*)
- echo ${UNAME_MACHINE}-pc-cygwin
- exit ;;
+ GUESS=$UNAME_MACHINE-pc-cygwin
+ ;;
*:MINGW64*:*)
- echo ${UNAME_MACHINE}-pc-mingw64
- exit ;;
+ GUESS=$UNAME_MACHINE-pc-mingw64
+ ;;
*:MINGW*:*)
- echo ${UNAME_MACHINE}-pc-mingw32
- exit ;;
+ GUESS=$UNAME_MACHINE-pc-mingw32
+ ;;
*:MSYS*:*)
- echo ${UNAME_MACHINE}-pc-msys
- exit ;;
- i*:windows32*:*)
- # uname -m includes "-pc" on this system.
- echo ${UNAME_MACHINE}-mingw32
- exit ;;
+ GUESS=$UNAME_MACHINE-pc-msys
+ ;;
i*:PW*:*)
- echo ${UNAME_MACHINE}-pc-pw32
- exit ;;
+ GUESS=$UNAME_MACHINE-pc-pw32
+ ;;
+ *:SerenityOS:*:*)
+ GUESS=$UNAME_MACHINE-pc-serenity
+ ;;
*:Interix*:*)
- case ${UNAME_MACHINE} in
+ case $UNAME_MACHINE in
x86)
- echo i586-pc-interix${UNAME_RELEASE}
- exit ;;
+ GUESS=i586-pc-interix$UNAME_RELEASE
+ ;;
authenticamd | genuineintel | EM64T)
- echo x86_64-unknown-interix${UNAME_RELEASE}
- exit ;;
+ GUESS=x86_64-unknown-interix$UNAME_RELEASE
+ ;;
IA64)
- echo ia64-unknown-interix${UNAME_RELEASE}
- exit ;;
+ GUESS=ia64-unknown-interix$UNAME_RELEASE
+ ;;
esac ;;
- [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
- echo i${UNAME_MACHINE}-pc-mks
- exit ;;
- 8664:Windows_NT:*)
- echo x86_64-pc-mks
- exit ;;
- i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
- # UNAME_MACHINE based on the output of uname instead of i386?
- echo i586-pc-interix
- exit ;;
i*:UWIN*:*)
- echo ${UNAME_MACHINE}-pc-uwin
- exit ;;
+ GUESS=$UNAME_MACHINE-pc-uwin
+ ;;
amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
- echo x86_64-unknown-cygwin
- exit ;;
- p*:CYGWIN*:*)
- echo powerpcle-unknown-cygwin
- exit ;;
+ GUESS=x86_64-pc-cygwin
+ ;;
prep*:SunOS:5.*:*)
- echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+ GUESS=powerpcle-unknown-solaris2$SUN_REL
+ ;;
*:GNU:*:*)
# the GNU system
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
- exit ;;
+ GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'`
+ GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'`
+ GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL
+ ;;
*:GNU/*:*:*)
# other systems with GNU libc and userland
- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
- exit ;;
- i*86:Minix:*:*)
- echo ${UNAME_MACHINE}-pc-minix
- exit ;;
+ GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"`
+ GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+ GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
+ ;;
+ x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*)
+ GUESS="$UNAME_MACHINE-pc-managarm-mlibc"
+ ;;
+ *:[Mm]anagarm:*:*)
+ GUESS="$UNAME_MACHINE-unknown-managarm-mlibc"
+ ;;
+ *:Minix:*:*)
+ GUESS=$UNAME_MACHINE-unknown-minix
+ ;;
aarch64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
+ set_cc_for_build
+ CPU=$UNAME_MACHINE
+ LIBCABI=$LIBC
+ if test "$CC_FOR_BUILD" != no_compiler_found; then
+ ABI=64
+ sed 's/^ //' << EOF > "$dummy.c"
+ #ifdef __ARM_EABI__
+ #ifdef __ARM_PCS_VFP
+ ABI=eabihf
+ #else
+ ABI=eabi
+ #endif
+ #endif
+EOF
+ cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
+ eval "$cc_set_abi"
+ case $ABI in
+ eabi | eabihf) CPU=armv8l; LIBCABI=$LIBC$ABI ;;
+ esac
+ fi
+ GUESS=$CPU-unknown-linux-$LIBCABI
+ ;;
aarch64_be:Linux:*:*)
UNAME_MACHINE=aarch64_be
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
alpha:Linux:*:*)
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in
EV5) UNAME_MACHINE=alphaev5 ;;
EV56) UNAME_MACHINE=alphaev56 ;;
PCA56) UNAME_MACHINE=alphapca56 ;;
@@ -919,178 +1019,246 @@ EOF
EV68*) UNAME_MACHINE=alphaev68 ;;
esac
objdump --private-headers /bin/sh | grep -q ld.so.1
- if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
- arc:Linux:*:* | arceb:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
+ if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
+ arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*)
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
arm*:Linux:*:*)
- eval $set_cc_for_build
+ set_cc_for_build
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_EABI__
then
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
else
if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_PCS_VFP
then
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
+ GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi
else
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
+ GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf
fi
fi
- exit ;;
+ ;;
avr32*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
cris:Linux:*:*)
- echo ${UNAME_MACHINE}-axis-linux-${LIBC}
- exit ;;
+ GUESS=$UNAME_MACHINE-axis-linux-$LIBC
+ ;;
crisv32:Linux:*:*)
- echo ${UNAME_MACHINE}-axis-linux-${LIBC}
- exit ;;
+ GUESS=$UNAME_MACHINE-axis-linux-$LIBC
+ ;;
e2k:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
frv:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
hexagon:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
i*86:Linux:*:*)
- echo ${UNAME_MACHINE}-pc-linux-${LIBC}
- exit ;;
+ GUESS=$UNAME_MACHINE-pc-linux-$LIBC
+ ;;
ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
k1om:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
+ kvx:Linux:*:*)
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
+ kvx:cos:*:*)
+ GUESS=$UNAME_MACHINE-unknown-cos
+ ;;
+ kvx:mbr:*:*)
+ GUESS=$UNAME_MACHINE-unknown-mbr
+ ;;
+ loongarch32:Linux:*:* | loongarch64:Linux:*:*)
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
m32r*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
m68*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
mips:Linux:*:* | mips64:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ set_cc_for_build
+ IS_GLIBC=0
+ test x"${LIBC}" = xgnu && IS_GLIBC=1
+ sed 's/^ //' << EOF > "$dummy.c"
#undef CPU
- #undef ${UNAME_MACHINE}
- #undef ${UNAME_MACHINE}el
+ #undef mips
+ #undef mipsel
+ #undef mips64
+ #undef mips64el
+ #if ${IS_GLIBC} && defined(_ABI64)
+ LIBCABI=gnuabi64
+ #else
+ #if ${IS_GLIBC} && defined(_ABIN32)
+ LIBCABI=gnuabin32
+ #else
+ LIBCABI=${LIBC}
+ #endif
+ #endif
+
+ #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
+ CPU=mipsisa64r6
+ #else
+ #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
+ CPU=mipsisa32r6
+ #else
+ #if defined(__mips64)
+ CPU=mips64
+ #else
+ CPU=mips
+ #endif
+ #endif
+ #endif
+
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=${UNAME_MACHINE}el
+ MIPS_ENDIAN=el
#else
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=${UNAME_MACHINE}
+ MIPS_ENDIAN=
#else
- CPU=
+ MIPS_ENDIAN=
#endif
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
+ cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`
+ eval "$cc_set_vars"
+ test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
+ ;;
+ mips64el:Linux:*:*)
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
;;
openrisc*:Linux:*:*)
- echo or1k-unknown-linux-${LIBC}
- exit ;;
+ GUESS=or1k-unknown-linux-$LIBC
+ ;;
or32:Linux:*:* | or1k*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
padre:Linux:*:*)
- echo sparc-unknown-linux-${LIBC}
- exit ;;
+ GUESS=sparc-unknown-linux-$LIBC
+ ;;
parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-${LIBC}
- exit ;;
+ GUESS=hppa64-unknown-linux-$LIBC
+ ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
- PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
- *) echo hppa-unknown-linux-${LIBC} ;;
+ PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;;
+ PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;;
+ *) GUESS=hppa-unknown-linux-$LIBC ;;
esac
- exit ;;
+ ;;
ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-${LIBC}
- exit ;;
+ GUESS=powerpc64-unknown-linux-$LIBC
+ ;;
ppc:Linux:*:*)
- echo powerpc-unknown-linux-${LIBC}
- exit ;;
+ GUESS=powerpc-unknown-linux-$LIBC
+ ;;
ppc64le:Linux:*:*)
- echo powerpc64le-unknown-linux-${LIBC}
- exit ;;
+ GUESS=powerpc64le-unknown-linux-$LIBC
+ ;;
ppcle:Linux:*:*)
- echo powerpcle-unknown-linux-${LIBC}
- exit ;;
+ GUESS=powerpcle-unknown-linux-$LIBC
+ ;;
+ riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
- exit ;;
+ GUESS=$UNAME_MACHINE-ibm-linux-$LIBC
+ ;;
sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
sh*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
sparc:Linux:*:* | sparc64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
tile*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
vax:Linux:*:*)
- echo ${UNAME_MACHINE}-dec-linux-${LIBC}
- exit ;;
+ GUESS=$UNAME_MACHINE-dec-linux-$LIBC
+ ;;
x86_64:Linux:*:*)
- echo ${UNAME_MACHINE}-pc-linux-${LIBC}
- exit ;;
+ set_cc_for_build
+ CPU=$UNAME_MACHINE
+ LIBCABI=$LIBC
+ if test "$CC_FOR_BUILD" != no_compiler_found; then
+ ABI=64
+ sed 's/^ //' << EOF > "$dummy.c"
+ #ifdef __i386__
+ ABI=x86
+ #else
+ #ifdef __ILP32__
+ ABI=x32
+ #endif
+ #endif
+EOF
+ cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
+ eval "$cc_set_abi"
+ case $ABI in
+ x86) CPU=i686 ;;
+ x32) LIBCABI=${LIBC}x32 ;;
+ esac
+ fi
+ GUESS=$CPU-pc-linux-$LIBCABI
+ ;;
xtensa*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
# earlier versions are messed up and put the nodename in both
# sysname and nodename.
- echo i386-sequent-sysv4
- exit ;;
+ GUESS=i386-sequent-sysv4
+ ;;
i*86:UNIX_SV:4.2MP:2.*)
# Unixware is an offshoot of SVR4, but it has its own version
# number series starting with 2...
# I am not positive that other SVR4 systems won't match this,
# I just have to hope. -- rms.
# Use sysv4.2uw... so that sysv4* matches it.
- echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
- exit ;;
+ GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
+ ;;
i*86:OS/2:*:*)
- # If we were able to find `uname', then EMX Unix compatibility
+ # If we were able to find 'uname', then EMX Unix compatibility
# is probably installed.
- echo ${UNAME_MACHINE}-pc-os2-emx
- exit ;;
+ GUESS=$UNAME_MACHINE-pc-os2-emx
+ ;;
i*86:XTS-300:*:STOP)
- echo ${UNAME_MACHINE}-unknown-stop
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-stop
+ ;;
i*86:atheos:*:*)
- echo ${UNAME_MACHINE}-unknown-atheos
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-atheos
+ ;;
i*86:syllable:*:*)
- echo ${UNAME_MACHINE}-pc-syllable
- exit ;;
+ GUESS=$UNAME_MACHINE-pc-syllable
+ ;;
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
- echo i386-unknown-lynxos${UNAME_RELEASE}
- exit ;;
+ GUESS=i386-unknown-lynxos$UNAME_RELEASE
+ ;;
i*86:*DOS:*:*)
- echo ${UNAME_MACHINE}-pc-msdosdjgpp
- exit ;;
- i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
- UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+ GUESS=$UNAME_MACHINE-pc-msdosdjgpp
+ ;;
+ i*86:*:4.*:*)
+ UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
- echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+ GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL
else
- echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+ GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL
fi
- exit ;;
+ ;;
i*86:*:5:[678]*)
# UnixWare 7.x, OpenUNIX and OpenServer 6.
case `/bin/uname -X | grep "^Machine"` in
@@ -1098,12 +1266,12 @@ EOF
*Pentium) UNAME_MACHINE=i586 ;;
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
esac
- echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+ ;;
i*86:*:3.2:*)
if test -f /usr/options/cb.name; then
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
- echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+ GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL
elif /bin/uname -X 2>/dev/null >/dev/null ; then
UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
@@ -1113,11 +1281,11 @@ EOF
&& UNAME_MACHINE=i686
(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
&& UNAME_MACHINE=i686
- echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+ GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL
else
- echo ${UNAME_MACHINE}-pc-sysv32
+ GUESS=$UNAME_MACHINE-pc-sysv32
fi
- exit ;;
+ ;;
pc:*:*:*)
# Left here for compatibility:
# uname -m prints for DJGPP always 'pc', but it prints nothing about
@@ -1125,31 +1293,31 @@ EOF
# Note: whatever this is, it MUST be the same as what config.sub
# prints for the "djgpp" host, or else GDB configure will decide that
# this is a cross-build.
- echo i586-pc-msdosdjgpp
- exit ;;
+ GUESS=i586-pc-msdosdjgpp
+ ;;
Intel:Mach:3*:*)
- echo i386-pc-mach3
- exit ;;
+ GUESS=i386-pc-mach3
+ ;;
paragon:*:*:*)
- echo i860-intel-osf1
- exit ;;
+ GUESS=i860-intel-osf1
+ ;;
i860:*:4.*:*) # i860-SVR4
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
- echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4
else # Add other i860-SVR4 vendors below as they are discovered.
- echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
+ GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4
fi
- exit ;;
+ ;;
mini*:CTIX:SYS*5:*)
# "miniframe"
- echo m68010-convergent-sysv
- exit ;;
+ GUESS=m68010-convergent-sysv
+ ;;
mc68k:UNIX:SYSTEM5:3.51m)
- echo m68k-convergent-sysv
- exit ;;
+ GUESS=m68k-convergent-sysv
+ ;;
M680?0:D-NIX:5.3:*)
- echo m68k-diab-dnix
- exit ;;
+ GUESS=m68k-diab-dnix
+ ;;
M68*:*:R3V[5678]*:*)
test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
@@ -1157,9 +1325,9 @@ EOF
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& { echo i486-ncr-sysv4; exit; } ;;
@@ -1168,251 +1336,447 @@ EOF
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
- echo m68k-unknown-lynxos${UNAME_RELEASE}
- exit ;;
+ GUESS=m68k-unknown-lynxos$UNAME_RELEASE
+ ;;
mc68030:UNIX_System_V:4.*:*)
- echo m68k-atari-sysv4
- exit ;;
+ GUESS=m68k-atari-sysv4
+ ;;
TSUNAMI:LynxOS:2.*:*)
- echo sparc-unknown-lynxos${UNAME_RELEASE}
- exit ;;
+ GUESS=sparc-unknown-lynxos$UNAME_RELEASE
+ ;;
rs6000:LynxOS:2.*:*)
- echo rs6000-unknown-lynxos${UNAME_RELEASE}
- exit ;;
+ GUESS=rs6000-unknown-lynxos$UNAME_RELEASE
+ ;;
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
- echo powerpc-unknown-lynxos${UNAME_RELEASE}
- exit ;;
+ GUESS=powerpc-unknown-lynxos$UNAME_RELEASE
+ ;;
SM[BE]S:UNIX_SV:*:*)
- echo mips-dde-sysv${UNAME_RELEASE}
- exit ;;
+ GUESS=mips-dde-sysv$UNAME_RELEASE
+ ;;
RM*:ReliantUNIX-*:*:*)
- echo mips-sni-sysv4
- exit ;;
+ GUESS=mips-sni-sysv4
+ ;;
RM*:SINIX-*:*:*)
- echo mips-sni-sysv4
- exit ;;
+ GUESS=mips-sni-sysv4
+ ;;
*:SINIX-*:*:*)
if uname -p 2>/dev/null >/dev/null ; then
UNAME_MACHINE=`(uname -p) 2>/dev/null`
- echo ${UNAME_MACHINE}-sni-sysv4
+ GUESS=$UNAME_MACHINE-sni-sysv4
else
- echo ns32k-sni-sysv
+ GUESS=ns32k-sni-sysv
fi
- exit ;;
- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ ;;
+ PENTIUM:*:4.0*:*) # Unisys 'ClearPath HMP IX 4000' SVR4/MP effort
# says <Richard.M.Bartel@ccMail.Census.GOV>
- echo i586-unisys-sysv4
- exit ;;
+ GUESS=i586-unisys-sysv4
+ ;;
*:UNIX_System_V:4*:FTX*)
# From Gerald Hewes <hewes@openmarket.com>.
# How about differentiating between stratus architectures? -djm
- echo hppa1.1-stratus-sysv4
- exit ;;
+ GUESS=hppa1.1-stratus-sysv4
+ ;;
*:*:*:FTX*)
# From seanf@swdc.stratus.com.
- echo i860-stratus-sysv4
- exit ;;
+ GUESS=i860-stratus-sysv4
+ ;;
i*86:VOS:*:*)
# From Paul.Green@stratus.com.
- echo ${UNAME_MACHINE}-stratus-vos
- exit ;;
+ GUESS=$UNAME_MACHINE-stratus-vos
+ ;;
*:VOS:*:*)
# From Paul.Green@stratus.com.
- echo hppa1.1-stratus-vos
- exit ;;
+ GUESS=hppa1.1-stratus-vos
+ ;;
mc68*:A/UX:*:*)
- echo m68k-apple-aux${UNAME_RELEASE}
- exit ;;
+ GUESS=m68k-apple-aux$UNAME_RELEASE
+ ;;
news*:NEWS-OS:6*:*)
- echo mips-sony-newsos6
- exit ;;
+ GUESS=mips-sony-newsos6
+ ;;
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
- if [ -d /usr/nec ]; then
- echo mips-nec-sysv${UNAME_RELEASE}
+ if test -d /usr/nec; then
+ GUESS=mips-nec-sysv$UNAME_RELEASE
else
- echo mips-unknown-sysv${UNAME_RELEASE}
+ GUESS=mips-unknown-sysv$UNAME_RELEASE
fi
- exit ;;
+ ;;
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
- echo powerpc-be-beos
- exit ;;
+ GUESS=powerpc-be-beos
+ ;;
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
- echo powerpc-apple-beos
- exit ;;
+ GUESS=powerpc-apple-beos
+ ;;
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
- echo i586-pc-beos
- exit ;;
+ GUESS=i586-pc-beos
+ ;;
BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
- echo i586-pc-haiku
- exit ;;
- x86_64:Haiku:*:*)
- echo x86_64-unknown-haiku
- exit ;;
+ GUESS=i586-pc-haiku
+ ;;
+ ppc:Haiku:*:*) # Haiku running on Apple PowerPC
+ GUESS=powerpc-apple-haiku
+ ;;
+ *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat)
+ GUESS=$UNAME_MACHINE-unknown-haiku
+ ;;
SX-4:SUPER-UX:*:*)
- echo sx4-nec-superux${UNAME_RELEASE}
- exit ;;
+ GUESS=sx4-nec-superux$UNAME_RELEASE
+ ;;
SX-5:SUPER-UX:*:*)
- echo sx5-nec-superux${UNAME_RELEASE}
- exit ;;
+ GUESS=sx5-nec-superux$UNAME_RELEASE
+ ;;
SX-6:SUPER-UX:*:*)
- echo sx6-nec-superux${UNAME_RELEASE}
- exit ;;
+ GUESS=sx6-nec-superux$UNAME_RELEASE
+ ;;
SX-7:SUPER-UX:*:*)
- echo sx7-nec-superux${UNAME_RELEASE}
- exit ;;
+ GUESS=sx7-nec-superux$UNAME_RELEASE
+ ;;
SX-8:SUPER-UX:*:*)
- echo sx8-nec-superux${UNAME_RELEASE}
- exit ;;
+ GUESS=sx8-nec-superux$UNAME_RELEASE
+ ;;
SX-8R:SUPER-UX:*:*)
- echo sx8r-nec-superux${UNAME_RELEASE}
- exit ;;
+ GUESS=sx8r-nec-superux$UNAME_RELEASE
+ ;;
+ SX-ACE:SUPER-UX:*:*)
+ GUESS=sxace-nec-superux$UNAME_RELEASE
+ ;;
Power*:Rhapsody:*:*)
- echo powerpc-apple-rhapsody${UNAME_RELEASE}
- exit ;;
+ GUESS=powerpc-apple-rhapsody$UNAME_RELEASE
+ ;;
*:Rhapsody:*:*)
- echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
- exit ;;
+ GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE
+ ;;
+ arm64:Darwin:*:*)
+ GUESS=aarch64-apple-darwin$UNAME_RELEASE
+ ;;
*:Darwin:*:*)
- UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
- eval $set_cc_for_build
- if test "$UNAME_PROCESSOR" = unknown ; then
- UNAME_PROCESSOR=powerpc
+ UNAME_PROCESSOR=`uname -p`
+ case $UNAME_PROCESSOR in
+ unknown) UNAME_PROCESSOR=powerpc ;;
+ esac
+ if command -v xcode-select > /dev/null 2> /dev/null && \
+ ! xcode-select --print-path > /dev/null 2> /dev/null ; then
+ # Avoid executing cc if there is no toolchain installed as
+ # cc will be a stub that puts up a graphical alert
+ # prompting the user to install developer tools.
+ CC_FOR_BUILD=no_compiler_found
+ else
+ set_cc_for_build
fi
- if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- case $UNAME_PROCESSOR in
- i386) UNAME_PROCESSOR=x86_64 ;;
- powerpc) UNAME_PROCESSOR=powerpc64 ;;
- esac
- fi
+ if test "$CC_FOR_BUILD" != no_compiler_found; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ case $UNAME_PROCESSOR in
+ i386) UNAME_PROCESSOR=x86_64 ;;
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
+ esac
+ fi
+ # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
+ if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_PPC >/dev/null
+ then
+ UNAME_PROCESSOR=powerpc
fi
elif test "$UNAME_PROCESSOR" = i386 ; then
- # Avoid executing cc on OS X 10.9, as it ships with a stub
- # that puts up a graphical alert prompting to install
- # developer tools. Any system running Mac OS X 10.7 or
- # later (Darwin 11 and later) is required to have a 64-bit
- # processor. This is not true of the ARM version of Darwin
- # that Apple uses in portable devices.
- UNAME_PROCESSOR=x86_64
+ # uname -m returns i386 or x86_64
+ UNAME_PROCESSOR=$UNAME_MACHINE
fi
- echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
- exit ;;
+ GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE
+ ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
UNAME_PROCESSOR=`uname -p`
- if test "$UNAME_PROCESSOR" = "x86"; then
+ if test "$UNAME_PROCESSOR" = x86; then
UNAME_PROCESSOR=i386
UNAME_MACHINE=pc
fi
- echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
- exit ;;
+ GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE
+ ;;
*:QNX:*:4*)
- echo i386-pc-qnx
- exit ;;
- NEO-?:NONSTOP_KERNEL:*:*)
- echo neo-tandem-nsk${UNAME_RELEASE}
- exit ;;
+ GUESS=i386-pc-qnx
+ ;;
+ NEO-*:NONSTOP_KERNEL:*:*)
+ GUESS=neo-tandem-nsk$UNAME_RELEASE
+ ;;
NSE-*:NONSTOP_KERNEL:*:*)
- echo nse-tandem-nsk${UNAME_RELEASE}
- exit ;;
- NSR-?:NONSTOP_KERNEL:*:*)
- echo nsr-tandem-nsk${UNAME_RELEASE}
- exit ;;
+ GUESS=nse-tandem-nsk$UNAME_RELEASE
+ ;;
+ NSR-*:NONSTOP_KERNEL:*:*)
+ GUESS=nsr-tandem-nsk$UNAME_RELEASE
+ ;;
+ NSV-*:NONSTOP_KERNEL:*:*)
+ GUESS=nsv-tandem-nsk$UNAME_RELEASE
+ ;;
+ NSX-*:NONSTOP_KERNEL:*:*)
+ GUESS=nsx-tandem-nsk$UNAME_RELEASE
+ ;;
*:NonStop-UX:*:*)
- echo mips-compaq-nonstopux
- exit ;;
+ GUESS=mips-compaq-nonstopux
+ ;;
BS2000:POSIX*:*:*)
- echo bs2000-siemens-sysv
- exit ;;
+ GUESS=bs2000-siemens-sysv
+ ;;
DS/*:UNIX_System_V:*:*)
- echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
- exit ;;
+ GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE
+ ;;
*:Plan9:*:*)
# "uname -m" is not consistent, so use $cputype instead. 386
# is converted to i386 for consistency with other x86
# operating systems.
- if test "$cputype" = "386"; then
+ if test "${cputype-}" = 386; then
UNAME_MACHINE=i386
- else
- UNAME_MACHINE="$cputype"
+ elif test "x${cputype-}" != x; then
+ UNAME_MACHINE=$cputype
fi
- echo ${UNAME_MACHINE}-unknown-plan9
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-plan9
+ ;;
*:TOPS-10:*:*)
- echo pdp10-unknown-tops10
- exit ;;
+ GUESS=pdp10-unknown-tops10
+ ;;
*:TENEX:*:*)
- echo pdp10-unknown-tenex
- exit ;;
+ GUESS=pdp10-unknown-tenex
+ ;;
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
- echo pdp10-dec-tops20
- exit ;;
+ GUESS=pdp10-dec-tops20
+ ;;
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
- echo pdp10-xkl-tops20
- exit ;;
+ GUESS=pdp10-xkl-tops20
+ ;;
*:TOPS-20:*:*)
- echo pdp10-unknown-tops20
- exit ;;
+ GUESS=pdp10-unknown-tops20
+ ;;
*:ITS:*:*)
- echo pdp10-unknown-its
- exit ;;
+ GUESS=pdp10-unknown-its
+ ;;
SEI:*:*:SEIUX)
- echo mips-sei-seiux${UNAME_RELEASE}
- exit ;;
+ GUESS=mips-sei-seiux$UNAME_RELEASE
+ ;;
*:DragonFly:*:*)
- echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
- exit ;;
+ DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+ GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL
+ ;;
*:*VMS:*:*)
UNAME_MACHINE=`(uname -p) 2>/dev/null`
- case "${UNAME_MACHINE}" in
- A*) echo alpha-dec-vms ; exit ;;
- I*) echo ia64-dec-vms ; exit ;;
- V*) echo vax-dec-vms ; exit ;;
+ case $UNAME_MACHINE in
+ A*) GUESS=alpha-dec-vms ;;
+ I*) GUESS=ia64-dec-vms ;;
+ V*) GUESS=vax-dec-vms ;;
esac ;;
*:XENIX:*:SysV)
- echo i386-pc-xenix
- exit ;;
+ GUESS=i386-pc-xenix
+ ;;
i*86:skyos:*:*)
- echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
- exit ;;
+ SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`
+ GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL
+ ;;
i*86:rdos:*:*)
- echo ${UNAME_MACHINE}-pc-rdos
- exit ;;
- i*86:AROS:*:*)
- echo ${UNAME_MACHINE}-pc-aros
- exit ;;
+ GUESS=$UNAME_MACHINE-pc-rdos
+ ;;
+ i*86:Fiwix:*:*)
+ GUESS=$UNAME_MACHINE-pc-fiwix
+ ;;
+ *:AROS:*:*)
+ GUESS=$UNAME_MACHINE-unknown-aros
+ ;;
x86_64:VMkernel:*:*)
- echo ${UNAME_MACHINE}-unknown-esx
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-esx
+ ;;
amd64:Isilon\ OneFS:*:*)
- echo x86_64-unknown-onefs
- exit ;;
+ GUESS=x86_64-unknown-onefs
+ ;;
+ *:Unleashed:*:*)
+ GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
+ ;;
+ *:Ironclad:*:*)
+ GUESS=$UNAME_MACHINE-unknown-ironclad
+ ;;
+esac
+
+# Do we have a guess based on uname results?
+if test "x$GUESS" != x; then
+ echo "$GUESS"
+ exit
+fi
+
+# No uname command or uname output not recognized.
+set_cc_for_build
+cat > "$dummy.c" <<EOF
+#ifdef _SEQUENT_
+#include <sys/types.h>
+#include <sys/utsname.h>
+#endif
+#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
+#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
+#include <signal.h>
+#if defined(_SIZE_T_) || defined(SIGLOST)
+#include <sys/utsname.h>
+#endif
+#endif
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
+ I don't know.... */
+ printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+ printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+ "4"
+#else
+ ""
+#endif
+ ); exit (0);
+#endif
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+ int version;
+ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+ if (version < 4)
+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+ else
+ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+ exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+ printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+ printf ("ns32k-encore-mach\n"); exit (0);
+#else
+ printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+ printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+ printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+ printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+ struct utsname un;
+
+ uname(&un);
+ if (strncmp(un.version, "V2", 2) == 0) {
+ printf ("i386-sequent-ptx2\n"); exit (0);
+ }
+ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+ printf ("i386-sequent-ptx1\n"); exit (0);
+ }
+ printf ("i386-sequent-ptx\n"); exit (0);
+#endif
+
+#if defined (vax)
+#if !defined (ultrix)
+#include <sys/param.h>
+#if defined (BSD)
+#if BSD == 43
+ printf ("vax-dec-bsd4.3\n"); exit (0);
+#else
+#if BSD == 199006
+ printf ("vax-dec-bsd4.3reno\n"); exit (0);
+#else
+ printf ("vax-dec-bsd\n"); exit (0);
+#endif
+#endif
+#else
+ printf ("vax-dec-bsd\n"); exit (0);
+#endif
+#else
+#if defined(_SIZE_T_) || defined(SIGLOST)
+ struct utsname un;
+ uname (&un);
+ printf ("vax-dec-ultrix%s\n", un.release); exit (0);
+#else
+ printf ("vax-dec-ultrix\n"); exit (0);
+#endif
+#endif
+#endif
+#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
+#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
+#if defined(_SIZE_T_) || defined(SIGLOST)
+ struct utsname *un;
+ uname (&un);
+ printf ("mips-dec-ultrix%s\n", un.release); exit (0);
+#else
+ printf ("mips-dec-ultrix\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (alliant) && defined (i860)
+ printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+ exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` &&
+ { echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; }
+
+echo "$0: unable to guess system type" >&2
+
+case $UNAME_MACHINE:$UNAME_SYSTEM in
+ mips:Linux | mips64:Linux)
+ # If we got here on MIPS GNU/Linux, output extra information.
+ cat >&2 <<EOF
+
+NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
+the system type. Please install a C compiler and try again.
+EOF
+ ;;
esac
cat >&2 <<EOF
-$0: unable to guess system type
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
+This script (version $timestamp), has failed to recognize the
+operating system you are using. If your script is old, overwrite *all*
+copies of config.guess and config.sub with the latest versions from:
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+ https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
and
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+ https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
+EOF
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
+our_year=`echo $timestamp | sed 's,-.*,,'`
+thisyear=`date +%Y`
+# shellcheck disable=SC2003
+script_age=`expr "$thisyear" - "$our_year"`
+if test "$script_age" -lt 3 ; then
+ cat >&2 <<EOF
+
+If $0 has already been updated, send the following data and any
+information you think might be pertinent to config-patches@gnu.org to
+provide the necessary information to handle your system.
config.guess timestamp = $timestamp
@@ -1431,16 +1795,17 @@ hostinfo = `(hostinfo) 2>/dev/null`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
+UNAME_MACHINE = "$UNAME_MACHINE"
+UNAME_RELEASE = "$UNAME_RELEASE"
+UNAME_SYSTEM = "$UNAME_SYSTEM"
+UNAME_VERSION = "$UNAME_VERSION"
EOF
+fi
exit 1
# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
diff --git a/scripts/config.sub b/scripts/config.sub
index 6c22a0f56..2c6a07ab3 100755
--- a/scripts/config.sub
+++ b/scripts/config.sub
@@ -1,12 +1,14 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright 1992-2015 Free Software Foundation, Inc.
+# Copyright 1992-2024 Free Software Foundation, Inc.
-timestamp='2015-11-22'
+# shellcheck disable=SC2006,SC2268 # see below for rationale
+
+timestamp='2024-01-01'
# This file 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
+# 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
@@ -15,7 +17,7 @@ timestamp='2015-11-22'
# 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 <http://www.gnu.org/licenses/>.
+# along with this program; if not, see <https://www.gnu.org/licenses/>.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -33,7 +35,7 @@ timestamp='2015-11-22'
# Otherwise, we print the canonical config type on stdout and succeed.
# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
@@ -50,6 +52,13 @@ timestamp='2015-11-22'
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# It is wrong to echo any other type of specification.
+# The "shellcheck disable" line above the timestamp inhibits complaints
+# about features and limitations of the classic Bourne shell that were
+# superseded or lifted in POSIX. However, this script identifies a wide
+# variety of pre-POSIX systems that do not have POSIX shells at all, and
+# even some reasonably current systems (Solaris 10 as case-in-point) still
+# have a pre-POSIX /bin/sh.
+
me=`echo "$0" | sed -e 's,.*/,,'`
usage="\
@@ -57,7 +66,7 @@ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
Canonicalize a configuration name.
-Operation modes:
+Options:
-h, --help print this help, then exit
-t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit
@@ -67,13 +76,13 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright 1992-2015 Free Software Foundation, Inc.
+Copyright 1992-2024 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."
help="
-Try \`$me --help' for more information."
+Try '$me --help' for more information."
# Parse command line
while test $# -gt 0 ; do
@@ -89,12 +98,12 @@ while test $# -gt 0 ; do
- ) # Use stdin as input.
break ;;
-* )
- echo "$me: invalid option $1$help"
+ echo "$me: invalid option $1$help" >&2
exit 1 ;;
*local*)
# First pass through any local machine types.
- echo $1
+ echo "$1"
exit ;;
* )
@@ -110,1236 +119,1167 @@ case $# in
exit 1;;
esac
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
- nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
- linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
- knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
- kopensolaris*-gnu* | \
- storm-chaos* | os2-emx* | rtmk-nova*)
- os=-$maybe_os
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
- ;;
- android-linux)
- os=-linux-android
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
- ;;
- *)
- basic_machine=`echo $1 | sed 's/-[^-]*$//'`
- if [ $basic_machine != $1 ]
- then os=`echo $1 | sed 's/.*-/-/'`
- else os=; fi
- ;;
-esac
+# Split fields of configuration type
+# shellcheck disable=SC2162
+saved_IFS=$IFS
+IFS="-" read field1 field2 field3 field4 <<EOF
+$1
+EOF
+IFS=$saved_IFS
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work. We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
- -sun*os*)
- # Prevent following clause from handling this invalid input.
- ;;
- -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
- -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
- -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
- -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
- -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
- -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis | -knuth | -cray | -microblaze*)
- os=
- basic_machine=$1
- ;;
- -bluegene*)
- os=-cnk
- ;;
- -sim | -cisco | -oki | -wec | -winbond)
- os=
- basic_machine=$1
- ;;
- -scout)
- ;;
- -wrs)
- os=-vxworks
- basic_machine=$1
- ;;
- -chorusos*)
- os=-chorusos
- basic_machine=$1
- ;;
- -chorusrdb)
- os=-chorusrdb
- basic_machine=$1
- ;;
- -hiux*)
- os=-hiuxwe2
- ;;
- -sco6)
- os=-sco5v6
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco5)
- os=-sco3.2v5
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco4)
- os=-sco3.2v4
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2.[4-9]*)
- os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2v[4-9]*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco5v6*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco*)
- os=-sco3.2v2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -udk*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -isc)
- os=-isc2.2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -clix*)
- basic_machine=clipper-intergraph
- ;;
- -isc*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -lynx*178)
- os=-lynxos178
- ;;
- -lynx*5)
- os=-lynxos5
- ;;
- -lynx*)
- os=-lynxos
+# Separate into logical components for further validation
+case $1 in
+ *-*-*-*-*)
+ echo "Invalid configuration '$1': more than four components" >&2
+ exit 1
;;
- -ptx*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+ *-*-*-*)
+ basic_machine=$field1-$field2
+ basic_os=$field3-$field4
;;
- -windowsnt*)
- os=`echo $os | sed -e 's/windowsnt/winnt/'`
+ *-*-*)
+ # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
+ # parts
+ maybe_os=$field2-$field3
+ case $maybe_os in
+ nto-qnx* | linux-* | uclinux-uclibc* \
+ | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
+ | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
+ | storm-chaos* | os2-emx* | rtmk-nova* | managarm-* \
+ | windows-* )
+ basic_machine=$field1
+ basic_os=$maybe_os
+ ;;
+ android-linux)
+ basic_machine=$field1-unknown
+ basic_os=linux-android
+ ;;
+ *)
+ basic_machine=$field1-$field2
+ basic_os=$field3
+ ;;
+ esac
;;
- -psos*)
- os=-psos
+ *-*)
+ # A lone config we happen to match not fitting any pattern
+ case $field1-$field2 in
+ decstation-3100)
+ basic_machine=mips-dec
+ basic_os=
+ ;;
+ *-*)
+ # Second component is usually, but not always the OS
+ case $field2 in
+ # Prevent following clause from handling this valid os
+ sun*os*)
+ basic_machine=$field1
+ basic_os=$field2
+ ;;
+ zephyr*)
+ basic_machine=$field1-unknown
+ basic_os=$field2
+ ;;
+ # Manufacturers
+ dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
+ | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \
+ | unicom* | ibm* | next | hp | isi* | apollo | altos* \
+ | convergent* | ncr* | news | 32* | 3600* | 3100* \
+ | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \
+ | ultra | tti* | harris | dolphin | highlevel | gould \
+ | cbm | ns | masscomp | apple | axis | knuth | cray \
+ | microblaze* | sim | cisco \
+ | oki | wec | wrs | winbond)
+ basic_machine=$field1-$field2
+ basic_os=
+ ;;
+ *)
+ basic_machine=$field1
+ basic_os=$field2
+ ;;
+ esac
+ ;;
+ esac
;;
- -mint | -mint[0-9]*)
- basic_machine=m68k-atari
- os=-mint
+ *)
+ # Convert single-component short-hands not valid as part of
+ # multi-component configurations.
+ case $field1 in
+ 386bsd)
+ basic_machine=i386-pc
+ basic_os=bsd
+ ;;
+ a29khif)
+ basic_machine=a29k-amd
+ basic_os=udi
+ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ basic_os=scout
+ ;;
+ alliant)
+ basic_machine=fx80-alliant
+ basic_os=
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ basic_os=
+ ;;
+ am29k)
+ basic_machine=a29k-none
+ basic_os=bsd
+ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ basic_os=sysv
+ ;;
+ amiga)
+ basic_machine=m68k-unknown
+ basic_os=
+ ;;
+ amigaos | amigados)
+ basic_machine=m68k-unknown
+ basic_os=amigaos
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-unknown
+ basic_os=sysv4
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ basic_os=sysv
+ ;;
+ apollo68bsd)
+ basic_machine=m68k-apollo
+ basic_os=bsd
+ ;;
+ aros)
+ basic_machine=i386-pc
+ basic_os=aros
+ ;;
+ aux)
+ basic_machine=m68k-apple
+ basic_os=aux
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ basic_os=dynix
+ ;;
+ blackfin)
+ basic_machine=bfin-unknown
+ basic_os=linux
+ ;;
+ cegcc)
+ basic_machine=arm-unknown
+ basic_os=cegcc
+ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ basic_os=bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ basic_os=bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ basic_os=bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ basic_os=bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ basic_os=bsd
+ ;;
+ cray)
+ basic_machine=j90-cray
+ basic_os=unicos
+ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ basic_os=
+ ;;
+ da30)
+ basic_machine=m68k-da30
+ basic_os=
+ ;;
+ decstation | pmax | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ basic_os=
+ ;;
+ delta88)
+ basic_machine=m88k-motorola
+ basic_os=sysv3
+ ;;
+ dicos)
+ basic_machine=i686-pc
+ basic_os=dicos
+ ;;
+ djgpp)
+ basic_machine=i586-pc
+ basic_os=msdosdjgpp
+ ;;
+ ebmon29k)
+ basic_machine=a29k-amd
+ basic_os=ebmon
+ ;;
+ es1800 | OSE68k | ose68k | ose | OSE)
+ basic_machine=m68k-ericsson
+ basic_os=ose
+ ;;
+ gmicro)
+ basic_machine=tron-gmicro
+ basic_os=sysv
+ ;;
+ go32)
+ basic_machine=i386-pc
+ basic_os=go32
+ ;;
+ h8300hms)
+ basic_machine=h8300-hitachi
+ basic_os=hms
+ ;;
+ h8300xray)
+ basic_machine=h8300-hitachi
+ basic_os=xray
+ ;;
+ h8500hms)
+ basic_machine=h8500-hitachi
+ basic_os=hms
+ ;;
+ harris)
+ basic_machine=m88k-harris
+ basic_os=sysv3
+ ;;
+ hp300 | hp300hpux)
+ basic_machine=m68k-hp
+ basic_os=hpux
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ basic_os=bsd
+ ;;
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ basic_os=osf
+ ;;
+ hppro)
+ basic_machine=hppa1.1-hp
+ basic_os=proelf
+ ;;
+ i386mach)
+ basic_machine=i386-mach
+ basic_os=mach
+ ;;
+ isi68 | isi)
+ basic_machine=m68k-isi
+ basic_os=sysv
+ ;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ basic_os=linux
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ basic_os=sysv
+ ;;
+ merlin)
+ basic_machine=ns32k-utek
+ basic_os=sysv
+ ;;
+ mingw64)
+ basic_machine=x86_64-pc
+ basic_os=mingw64
+ ;;
+ mingw32)
+ basic_machine=i686-pc
+ basic_os=mingw32
+ ;;
+ mingw32ce)
+ basic_machine=arm-unknown
+ basic_os=mingw32ce
+ ;;
+ monitor)
+ basic_machine=m68k-rom68k
+ basic_os=coff
+ ;;
+ morphos)
+ basic_machine=powerpc-unknown
+ basic_os=morphos
+ ;;
+ moxiebox)
+ basic_machine=moxie-unknown
+ basic_os=moxiebox
+ ;;
+ msdos)
+ basic_machine=i386-pc
+ basic_os=msdos
+ ;;
+ msys)
+ basic_machine=i686-pc
+ basic_os=msys
+ ;;
+ mvs)
+ basic_machine=i370-ibm
+ basic_os=mvs
+ ;;
+ nacl)
+ basic_machine=le32-unknown
+ basic_os=nacl
+ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ basic_os=sysv4
+ ;;
+ netbsd386)
+ basic_machine=i386-pc
+ basic_os=netbsd
+ ;;
+ netwinder)
+ basic_machine=armv4l-rebel
+ basic_os=linux
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ basic_os=newsos
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ basic_os=newsos
+ ;;
+ necv70)
+ basic_machine=v70-nec
+ basic_os=sysv
+ ;;
+ nh3000)
+ basic_machine=m68k-harris
+ basic_os=cxux
+ ;;
+ nh[45]000)
+ basic_machine=m88k-harris
+ basic_os=cxux
+ ;;
+ nindy960)
+ basic_machine=i960-intel
+ basic_os=nindy
+ ;;
+ mon960)
+ basic_machine=i960-intel
+ basic_os=mon960
+ ;;
+ nonstopux)
+ basic_machine=mips-compaq
+ basic_os=nonstopux
+ ;;
+ os400)
+ basic_machine=powerpc-ibm
+ basic_os=os400
+ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+ basic_os=ose
+ ;;
+ os68k)
+ basic_machine=m68k-none
+ basic_os=os68k
+ ;;
+ paragon)
+ basic_machine=i860-intel
+ basic_os=osf
+ ;;
+ parisc)
+ basic_machine=hppa-unknown
+ basic_os=linux
+ ;;
+ psp)
+ basic_machine=mipsallegrexel-sony
+ basic_os=psp
+ ;;
+ pw32)
+ basic_machine=i586-unknown
+ basic_os=pw32
+ ;;
+ rdos | rdos64)
+ basic_machine=x86_64-pc
+ basic_os=rdos
+ ;;
+ rdos32)
+ basic_machine=i386-pc
+ basic_os=rdos
+ ;;
+ rom68k)
+ basic_machine=m68k-rom68k
+ basic_os=coff
+ ;;
+ sa29200)
+ basic_machine=a29k-amd
+ basic_os=udi
+ ;;
+ sei)
+ basic_machine=mips-sei
+ basic_os=seiux
+ ;;
+ sequent)
+ basic_machine=i386-sequent
+ basic_os=
+ ;;
+ sps7)
+ basic_machine=m68k-bull
+ basic_os=sysv2
+ ;;
+ st2000)
+ basic_machine=m68k-tandem
+ basic_os=
+ ;;
+ stratus)
+ basic_machine=i860-stratus
+ basic_os=sysv4
+ ;;
+ sun2)
+ basic_machine=m68000-sun
+ basic_os=
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ basic_os=sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ basic_os=sunos4
+ ;;
+ sun3)
+ basic_machine=m68k-sun
+ basic_os=
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ basic_os=sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ basic_os=sunos4
+ ;;
+ sun4)
+ basic_machine=sparc-sun
+ basic_os=
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ basic_os=sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ basic_os=sunos4
+ ;;
+ sun4sol2)
+ basic_machine=sparc-sun
+ basic_os=solaris2
+ ;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ basic_os=
+ ;;
+ sv1)
+ basic_machine=sv1-cray
+ basic_os=unicos
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ basic_os=dynix
+ ;;
+ t3e)
+ basic_machine=alphaev5-cray
+ basic_os=unicos
+ ;;
+ t90)
+ basic_machine=t90-cray
+ basic_os=unicos
+ ;;
+ toad1)
+ basic_machine=pdp10-xkl
+ basic_os=tops20
+ ;;
+ tpf)
+ basic_machine=s390x-ibm
+ basic_os=tpf
+ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ basic_os=udi
+ ;;
+ ultra3)
+ basic_machine=a29k-nyu
+ basic_os=sym1
+ ;;
+ v810 | necv810)
+ basic_machine=v810-nec
+ basic_os=none
+ ;;
+ vaxv)
+ basic_machine=vax-dec
+ basic_os=sysv
+ ;;
+ vms)
+ basic_machine=vax-dec
+ basic_os=vms
+ ;;
+ vsta)
+ basic_machine=i386-pc
+ basic_os=vsta
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ basic_os=vxworks
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ basic_os=vxworks
+ ;;
+ vxworks29k)
+ basic_machine=a29k-wrs
+ basic_os=vxworks
+ ;;
+ xbox)
+ basic_machine=i686-pc
+ basic_os=mingw32
+ ;;
+ ymp)
+ basic_machine=ymp-cray
+ basic_os=unicos
+ ;;
+ *)
+ basic_machine=$1
+ basic_os=
+ ;;
+ esac
;;
esac
-# Decode aliases for certain CPU-COMPANY combinations.
+# Decode 1-component or ad-hoc basic machines
case $basic_machine in
- # Recognize the basic CPU types without company name.
- # Some are omitted here because they have special meanings below.
- 1750a | 580 \
- | a29k \
- | aarch64 | aarch64_be \
- | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
- | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
- | am33_2.0 \
- | arc | arceb \
- | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
- | avr | avr32 \
- | ba \
- | be32 | be64 \
- | bfin \
- | c4x | c8051 | clipper \
- | csky \
- | d10v | d30v | dlx | dsp16xx \
- | e2k | epiphany \
- | fido | fr30 | frv | ft32 \
- | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
- | hexagon \
- | i370 | i860 | i960 | ia64 \
- | ip2k | iq2000 \
- | k1om \
- | le32 | le64 \
- | lm32 \
- | m32c | m32r | m32rle | m68000 | m68k | m88k \
- | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
- | mips | mipsbe | mipseb | mipsel | mipsle \
- | mips16 \
- | mips64 | mips64el \
- | mips64octeon | mips64octeonel \
- | mips64orion | mips64orionel \
- | mips64r5900 | mips64r5900el \
- | mips64vr | mips64vrel \
- | mips64vr4100 | mips64vr4100el \
- | mips64vr4300 | mips64vr4300el \
- | mips64vr5000 | mips64vr5000el \
- | mips64vr5900 | mips64vr5900el \
- | mipsisa32 | mipsisa32el \
- | mipsisa32r2 | mipsisa32r2el \
- | mipsisa32r6 | mipsisa32r6el \
- | mipsisa64 | mipsisa64el \
- | mipsisa64r2 | mipsisa64r2el \
- | mipsisa64r6 | mipsisa64r6el \
- | mipsisa64sb1 | mipsisa64sb1el \
- | mipsisa64sr71k | mipsisa64sr71kel \
- | mipsr5900 | mipsr5900el \
- | mipstx39 | mipstx39el \
- | mn10200 | mn10300 \
- | moxie \
- | mt \
- | msp430 \
- | nds32 | nds32le | nds32be \
- | nios | nios2 | nios2eb | nios2el \
- | ns16k | ns32k \
- | open8 | or1k | or1knd | or32 \
- | pdp10 | pdp11 | pj | pjl \
- | powerpc | powerpc64 | powerpc64le | powerpcle \
- | pyramid \
- | riscv32 | riscv64 \
- | rl78 | rx \
- | score \
- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
- | sh64 | sh64le \
- | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
- | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
- | spu \
- | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
- | ubicom32 \
- | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
- | visium \
- | we32k \
- | x86 | xc16x | xstormy16 | xtensa \
- | z8k | z80)
- basic_machine=$basic_machine-unknown
- ;;
- c54x)
- basic_machine=tic54x-unknown
- ;;
- c55x)
- basic_machine=tic55x-unknown
- ;;
- c6x)
- basic_machine=tic6x-unknown
- ;;
- leon|leon[3-9])
- basic_machine=sparc-$basic_machine
- ;;
- m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
- basic_machine=$basic_machine-unknown
- os=-none
+ # Here we handle the default manufacturer of certain CPU types. It is in
+ # some cases the only manufacturer, in others, it is the most popular.
+ w89k)
+ cpu=hppa1.1
+ vendor=winbond
;;
- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+ op50n)
+ cpu=hppa1.1
+ vendor=oki
;;
- ms1)
- basic_machine=mt-unknown
+ op60c)
+ cpu=hppa1.1
+ vendor=oki
;;
-
- strongarm | thumb | xscale)
- basic_machine=arm-unknown
+ ibm*)
+ cpu=i370
+ vendor=ibm
;;
- xgate)
- basic_machine=$basic_machine-unknown
- os=-none
+ orion105)
+ cpu=clipper
+ vendor=highlevel
;;
- xscaleeb)
- basic_machine=armeb-unknown
+ mac | mpw | mac-mpw)
+ cpu=m68k
+ vendor=apple
;;
-
- xscaleel)
- basic_machine=armel-unknown
+ pmac | pmac-mpw)
+ cpu=powerpc
+ vendor=apple
;;
- # We use `pc' rather than `unknown'
- # because (1) that's what they normally are, and
- # (2) the word "unknown" tends to confuse beginning users.
- i*86 | x86_64)
- basic_machine=$basic_machine-pc
- ;;
- # Object if more than one company name word.
- *-*-*)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
- # Recognize the basic CPU types with company name.
- 580-* \
- | a29k-* \
- | aarch64-* | aarch64_be-* \
- | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
- | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
- | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
- | avr-* | avr32-* \
- | ba-* \
- | be32-* | be64-* \
- | bfin-* | bs2000-* \
- | c[123]* | c30-* | [cjt]90-* | c4x-* \
- | c8051-* | clipper-* | craynv-* | cydra-* \
- | csky-* \
- | d10v-* | d30v-* | dlx-* \
- | e2k-* | elxsi-* \
- | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
- | h8300-* | h8500-* \
- | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
- | hexagon-* \
- | i*86-* | i860-* | i960-* | ia64-* \
- | ip2k-* | iq2000-* \
- | k1om-* \
- | le32-* | le64-* \
- | lm32-* \
- | m32c-* | m32r-* | m32rle-* \
- | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
- | microblaze-* | microblazeel-* \
- | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
- | mips16-* \
- | mips64-* | mips64el-* \
- | mips64octeon-* | mips64octeonel-* \
- | mips64orion-* | mips64orionel-* \
- | mips64r5900-* | mips64r5900el-* \
- | mips64vr-* | mips64vrel-* \
- | mips64vr4100-* | mips64vr4100el-* \
- | mips64vr4300-* | mips64vr4300el-* \
- | mips64vr5000-* | mips64vr5000el-* \
- | mips64vr5900-* | mips64vr5900el-* \
- | mipsisa32-* | mipsisa32el-* \
- | mipsisa32r2-* | mipsisa32r2el-* \
- | mipsisa32r6-* | mipsisa32r6el-* \
- | mipsisa64-* | mipsisa64el-* \
- | mipsisa64r2-* | mipsisa64r2el-* \
- | mipsisa64r6-* | mipsisa64r6el-* \
- | mipsisa64sb1-* | mipsisa64sb1el-* \
- | mipsisa64sr71k-* | mipsisa64sr71kel-* \
- | mipsr5900-* | mipsr5900el-* \
- | mipstx39-* | mipstx39el-* \
- | mmix-* \
- | mt-* \
- | msp430-* \
- | nds32-* | nds32le-* | nds32be-* \
- | nios-* | nios2-* | nios2eb-* | nios2el-* \
- | none-* | np1-* | ns16k-* | ns32k-* \
- | open8-* \
- | or1k*-* \
- | orion-* \
- | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
- | pyramid-* \
- | riscv32-* | riscv64-* \
- | rl78-* | romp-* | rs6000-* | rx-* \
- | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[234]eb-* | sheb-* | shbe-* \
- | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
- | sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
- | tahoe-* \
- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
- | tile*-* \
- | tron-* \
- | ubicom32-* \
- | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
- | vax-* \
- | visium-* \
- | we32k-* \
- | x86-* | x86_64-* | xc16x-* | xps100-* \
- | xstormy16-* | xtensa*-* \
- | ymp-* \
- | z8k-* | z80-*)
- ;;
- # Recognize the basic CPU types without company name, with glob match.
- xtensa*)
- basic_machine=$basic_machine-unknown
- ;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
- 386bsd)
- basic_machine=i386-unknown
- os=-bsd
- ;;
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
- basic_machine=m68000-att
+ cpu=m68000
+ vendor=att
;;
3b*)
- basic_machine=we32k-att
- ;;
- a29khif)
- basic_machine=a29k-amd
- os=-udi
- ;;
- abacus)
- basic_machine=abacus-unknown
- ;;
- adobe68k)
- basic_machine=m68010-adobe
- os=-scout
- ;;
- alliant | fx80)
- basic_machine=fx80-alliant
- ;;
- altos | altos3068)
- basic_machine=m68k-altos
- ;;
- am29k)
- basic_machine=a29k-none
- os=-bsd
- ;;
- amd64)
- basic_machine=x86_64-pc
- ;;
- amd64-*)
- basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- amdahl)
- basic_machine=580-amdahl
- os=-sysv
- ;;
- amiga | amiga-*)
- basic_machine=m68k-unknown
- ;;
- amigaos | amigados)
- basic_machine=m68k-unknown
- os=-amigaos
- ;;
- amigaunix | amix)
- basic_machine=m68k-unknown
- os=-sysv4
- ;;
- apollo68)
- basic_machine=m68k-apollo
- os=-sysv
- ;;
- apollo68bsd)
- basic_machine=m68k-apollo
- os=-bsd
- ;;
- aros)
- basic_machine=i386-pc
- os=-aros
- ;;
- asmjs)
- basic_machine=asmjs-unknown
- ;;
- aux)
- basic_machine=m68k-apple
- os=-aux
- ;;
- balance)
- basic_machine=ns32k-sequent
- os=-dynix
- ;;
- blackfin)
- basic_machine=bfin-unknown
- os=-linux
- ;;
- blackfin-*)
- basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
+ cpu=we32k
+ vendor=att
;;
bluegene*)
- basic_machine=powerpc-ibm
- os=-cnk
- ;;
- c54x-*)
- basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- c55x-*)
- basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- c6x-*)
- basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- c90)
- basic_machine=c90-cray
- os=-unicos
- ;;
- cegcc)
- basic_machine=arm-unknown
- os=-cegcc
- ;;
- convex-c1)
- basic_machine=c1-convex
- os=-bsd
- ;;
- convex-c2)
- basic_machine=c2-convex
- os=-bsd
- ;;
- convex-c32)
- basic_machine=c32-convex
- os=-bsd
- ;;
- convex-c34)
- basic_machine=c34-convex
- os=-bsd
- ;;
- convex-c38)
- basic_machine=c38-convex
- os=-bsd
- ;;
- cray | j90)
- basic_machine=j90-cray
- os=-unicos
- ;;
- craynv)
- basic_machine=craynv-cray
- os=-unicosmp
- ;;
- cr16 | cr16-*)
- basic_machine=cr16-unknown
- os=-elf
- ;;
- crds | unos)
- basic_machine=m68k-crds
- ;;
- crisv32 | crisv32-* | etraxfs*)
- basic_machine=crisv32-axis
- ;;
- cris | cris-* | etrax*)
- basic_machine=cris-axis
- ;;
- crx)
- basic_machine=crx-unknown
- os=-elf
- ;;
- da30 | da30-*)
- basic_machine=m68k-da30
- ;;
- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
- basic_machine=mips-dec
+ cpu=powerpc
+ vendor=ibm
+ basic_os=cnk
;;
decsystem10* | dec10*)
- basic_machine=pdp10-dec
- os=-tops10
+ cpu=pdp10
+ vendor=dec
+ basic_os=tops10
;;
decsystem20* | dec20*)
- basic_machine=pdp10-dec
- os=-tops20
+ cpu=pdp10
+ vendor=dec
+ basic_os=tops20
;;
delta | 3300 | motorola-3300 | motorola-delta \
| 3300-motorola | delta-motorola)
- basic_machine=m68k-motorola
+ cpu=m68k
+ vendor=motorola
;;
- delta88)
- basic_machine=m88k-motorola
- os=-sysv3
- ;;
- dicos)
- basic_machine=i686-pc
- os=-dicos
- ;;
- djgpp)
- basic_machine=i586-pc
- os=-msdosdjgpp
- ;;
- dpx20 | dpx20-*)
- basic_machine=rs6000-bull
- os=-bosx
- ;;
- dpx2* | dpx2*-bull)
- basic_machine=m68k-bull
- os=-sysv3
- ;;
- ebmon29k)
- basic_machine=a29k-amd
- os=-ebmon
- ;;
- elxsi)
- basic_machine=elxsi-elxsi
- os=-bsd
+ dpx2*)
+ cpu=m68k
+ vendor=bull
+ basic_os=sysv3
;;
encore | umax | mmax)
- basic_machine=ns32k-encore
+ cpu=ns32k
+ vendor=encore
;;
- es1800 | OSE68k | ose68k | ose | OSE)
- basic_machine=m68k-ericsson
- os=-ose
+ elxsi)
+ cpu=elxsi
+ vendor=elxsi
+ basic_os=${basic_os:-bsd}
;;
fx2800)
- basic_machine=i860-alliant
+ cpu=i860
+ vendor=alliant
;;
genix)
- basic_machine=ns32k-ns
- ;;
- gmicro)
- basic_machine=tron-gmicro
- os=-sysv
- ;;
- go32)
- basic_machine=i386-pc
- os=-go32
+ cpu=ns32k
+ vendor=ns
;;
h3050r* | hiux*)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- h8300hms)
- basic_machine=h8300-hitachi
- os=-hms
- ;;
- h8300xray)
- basic_machine=h8300-hitachi
- os=-xray
- ;;
- h8500hms)
- basic_machine=h8500-hitachi
- os=-hms
- ;;
- harris)
- basic_machine=m88k-harris
- os=-sysv3
- ;;
- hp300-*)
- basic_machine=m68k-hp
- ;;
- hp300bsd)
- basic_machine=m68k-hp
- os=-bsd
- ;;
- hp300hpux)
- basic_machine=m68k-hp
- os=-hpux
+ cpu=hppa1.1
+ vendor=hitachi
+ basic_os=hiuxwe2
;;
hp3k9[0-9][0-9] | hp9[0-9][0-9])
- basic_machine=hppa1.0-hp
+ cpu=hppa1.0
+ vendor=hp
;;
hp9k2[0-9][0-9] | hp9k31[0-9])
- basic_machine=m68000-hp
+ cpu=m68000
+ vendor=hp
;;
hp9k3[2-9][0-9])
- basic_machine=m68k-hp
+ cpu=m68k
+ vendor=hp
;;
hp9k6[0-9][0-9] | hp6[0-9][0-9])
- basic_machine=hppa1.0-hp
+ cpu=hppa1.0
+ vendor=hp
;;
hp9k7[0-79][0-9] | hp7[0-79][0-9])
- basic_machine=hppa1.1-hp
+ cpu=hppa1.1
+ vendor=hp
;;
hp9k78[0-9] | hp78[0-9])
# FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
+ cpu=hppa1.1
+ vendor=hp
;;
hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
# FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
+ cpu=hppa1.1
+ vendor=hp
;;
hp9k8[0-9][13679] | hp8[0-9][13679])
- basic_machine=hppa1.1-hp
+ cpu=hppa1.1
+ vendor=hp
;;
hp9k8[0-9][0-9] | hp8[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hppa-next)
- os=-nextstep3
- ;;
- hppaosf)
- basic_machine=hppa1.1-hp
- os=-osf
- ;;
- hppro)
- basic_machine=hppa1.1-hp
- os=-proelf
- ;;
- i370-ibm* | ibm*)
- basic_machine=i370-ibm
+ cpu=hppa1.0
+ vendor=hp
;;
i*86v32)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv32
+ cpu=`echo "$1" | sed -e 's/86.*/86/'`
+ vendor=pc
+ basic_os=sysv32
;;
i*86v4*)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv4
+ cpu=`echo "$1" | sed -e 's/86.*/86/'`
+ vendor=pc
+ basic_os=sysv4
;;
i*86v)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv
+ cpu=`echo "$1" | sed -e 's/86.*/86/'`
+ vendor=pc
+ basic_os=sysv
;;
i*86sol2)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-solaris2
+ cpu=`echo "$1" | sed -e 's/86.*/86/'`
+ vendor=pc
+ basic_os=solaris2
;;
- i386mach)
- basic_machine=i386-mach
- os=-mach
- ;;
- i386-vsta | vsta)
- basic_machine=i386-unknown
- os=-vsta
+ j90 | j90-cray)
+ cpu=j90
+ vendor=cray
+ basic_os=${basic_os:-unicos}
;;
iris | iris4d)
- basic_machine=mips-sgi
- case $os in
- -irix*)
+ cpu=mips
+ vendor=sgi
+ case $basic_os in
+ irix*)
;;
*)
- os=-irix4
+ basic_os=irix4
;;
esac
;;
- isi68 | isi)
- basic_machine=m68k-isi
- os=-sysv
- ;;
- leon-*|leon[3-9]-*)
- basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
- ;;
- m68knommu)
- basic_machine=m68k-unknown
- os=-linux
- ;;
- m68knommu-*)
- basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
- m88k-omron*)
- basic_machine=m88k-omron
- ;;
- magnum | m3230)
- basic_machine=mips-mips
- os=-sysv
- ;;
- merlin)
- basic_machine=ns32k-utek
- os=-sysv
- ;;
- microblaze*)
- basic_machine=microblaze-xilinx
- ;;
- mingw64)
- basic_machine=x86_64-pc
- os=-mingw64
- ;;
- mingw32)
- basic_machine=i686-pc
- os=-mingw32
- ;;
- mingw32ce)
- basic_machine=arm-unknown
- os=-mingw32ce
- ;;
miniframe)
- basic_machine=m68000-convergent
- ;;
- *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
- basic_machine=m68k-atari
- os=-mint
- ;;
- mips3*-*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
- ;;
- mips3*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
- ;;
- monitor)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- morphos)
- basic_machine=powerpc-unknown
- os=-morphos
- ;;
- moxiebox)
- basic_machine=moxie-unknown
- os=-moxiebox
- ;;
- msdos)
- basic_machine=i386-pc
- os=-msdos
- ;;
- ms1-*)
- basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ cpu=m68000
+ vendor=convergent
;;
- msys)
- basic_machine=i686-pc
- os=-msys
- ;;
- mvs)
- basic_machine=i370-ibm
- os=-mvs
- ;;
- nacl)
- basic_machine=le32-unknown
- os=-nacl
- ;;
- ncr3000)
- basic_machine=i486-ncr
- os=-sysv4
- ;;
- netbsd386)
- basic_machine=i386-unknown
- os=-netbsd
- ;;
- netwinder)
- basic_machine=armv4l-rebel
- os=-linux
- ;;
- news | news700 | news800 | news900)
- basic_machine=m68k-sony
- os=-newsos
- ;;
- news1000)
- basic_machine=m68030-sony
- os=-newsos
+ *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
+ cpu=m68k
+ vendor=atari
+ basic_os=mint
;;
news-3600 | risc-news)
- basic_machine=mips-sony
- os=-newsos
- ;;
- necv70)
- basic_machine=v70-nec
- os=-sysv
- ;;
- next | m*-next )
- basic_machine=m68k-next
- case $os in
- -nextstep* )
+ cpu=mips
+ vendor=sony
+ basic_os=newsos
+ ;;
+ next | m*-next)
+ cpu=m68k
+ vendor=next
+ case $basic_os in
+ openstep*)
+ ;;
+ nextstep*)
;;
- -ns2*)
- os=-nextstep2
+ ns2*)
+ basic_os=nextstep2
;;
*)
- os=-nextstep3
+ basic_os=nextstep3
;;
esac
;;
- nh3000)
- basic_machine=m68k-harris
- os=-cxux
- ;;
- nh[45]000)
- basic_machine=m88k-harris
- os=-cxux
- ;;
- nindy960)
- basic_machine=i960-intel
- os=-nindy
- ;;
- mon960)
- basic_machine=i960-intel
- os=-mon960
- ;;
- nonstopux)
- basic_machine=mips-compaq
- os=-nonstopux
- ;;
np1)
- basic_machine=np1-gould
- ;;
- neo-tandem)
- basic_machine=neo-tandem
- ;;
- nse-tandem)
- basic_machine=nse-tandem
- ;;
- nsr-tandem)
- basic_machine=nsr-tandem
+ cpu=np1
+ vendor=gould
;;
op50n-* | op60c-*)
- basic_machine=hppa1.1-oki
- os=-proelf
- ;;
- openrisc | openrisc-*)
- basic_machine=or32-unknown
- ;;
- os400)
- basic_machine=powerpc-ibm
- os=-os400
- ;;
- OSE68000 | ose68000)
- basic_machine=m68000-ericsson
- os=-ose
- ;;
- os68k)
- basic_machine=m68k-none
- os=-os68k
+ cpu=hppa1.1
+ vendor=oki
+ basic_os=proelf
;;
pa-hitachi)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- paragon)
- basic_machine=i860-intel
- os=-osf
- ;;
- parisc)
- basic_machine=hppa-unknown
- os=-linux
- ;;
- parisc-*)
- basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
+ cpu=hppa1.1
+ vendor=hitachi
+ basic_os=hiuxwe2
;;
pbd)
- basic_machine=sparc-tti
+ cpu=sparc
+ vendor=tti
;;
pbb)
- basic_machine=m68k-tti
- ;;
- pc532 | pc532-*)
- basic_machine=ns32k-pc532
+ cpu=m68k
+ vendor=tti
;;
- pc98)
- basic_machine=i386-pc
- ;;
- pc98-*)
- basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentium | p5 | k5 | k6 | nexgen | viac3)
- basic_machine=i586-pc
- ;;
- pentiumpro | p6 | 6x86 | athlon | athlon_*)
- basic_machine=i686-pc
- ;;
- pentiumii | pentium2 | pentiumiii | pentium3)
- basic_machine=i686-pc
- ;;
- pentium4)
- basic_machine=i786-pc
- ;;
- pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumpro-* | p6-* | 6x86-* | athlon-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentium4-*)
- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+ pc532)
+ cpu=ns32k
+ vendor=pc532
;;
pn)
- basic_machine=pn-gould
- ;;
- power) basic_machine=power-ibm
- ;;
- ppc | ppcbe) basic_machine=powerpc-unknown
- ;;
- ppc-* | ppcbe-*)
- basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppcle | powerpclittle | ppc-le | powerpc-little)
- basic_machine=powerpcle-unknown
- ;;
- ppcle-* | powerpclittle-*)
- basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+ cpu=pn
+ vendor=gould
;;
- ppc64) basic_machine=powerpc64-unknown
- ;;
- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppc64le | powerpc64little | ppc64-le | powerpc64-little)
- basic_machine=powerpc64le-unknown
- ;;
- ppc64le-* | powerpc64little-*)
- basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+ power)
+ cpu=power
+ vendor=ibm
;;
ps2)
- basic_machine=i386-ibm
- ;;
- pw32)
- basic_machine=i586-unknown
- os=-pw32
- ;;
- rdos | rdos64)
- basic_machine=x86_64-pc
- os=-rdos
- ;;
- rdos32)
- basic_machine=i386-pc
- os=-rdos
- ;;
- rom68k)
- basic_machine=m68k-rom68k
- os=-coff
+ cpu=i386
+ vendor=ibm
;;
rm[46]00)
- basic_machine=mips-siemens
+ cpu=mips
+ vendor=siemens
;;
rtpc | rtpc-*)
- basic_machine=romp-ibm
+ cpu=romp
+ vendor=ibm
;;
- s390 | s390-*)
- basic_machine=s390-ibm
- ;;
- s390x | s390x-*)
- basic_machine=s390x-ibm
- ;;
- sa29200)
- basic_machine=a29k-amd
- os=-udi
- ;;
- sb1)
- basic_machine=mipsisa64sb1-unknown
+ sde)
+ cpu=mipsisa32
+ vendor=sde
+ basic_os=${basic_os:-elf}
;;
- sb1el)
- basic_machine=mipsisa64sb1el-unknown
+ simso-wrs)
+ cpu=sparclite
+ vendor=wrs
+ basic_os=vxworks
;;
- sde)
- basic_machine=mipsisa32-sde
- os=-elf
+ tower | tower-32)
+ cpu=m68k
+ vendor=ncr
;;
- sei)
- basic_machine=mips-sei
- os=-seiux
+ vpp*|vx|vx-*)
+ cpu=f301
+ vendor=fujitsu
;;
- sequent)
- basic_machine=i386-sequent
+ w65)
+ cpu=w65
+ vendor=wdc
;;
- sh)
- basic_machine=sh-hitachi
- os=-hms
+ w89k-*)
+ cpu=hppa1.1
+ vendor=winbond
+ basic_os=proelf
;;
- sh5el)
- basic_machine=sh5le-unknown
+ none)
+ cpu=none
+ vendor=none
;;
- sh64)
- basic_machine=sh64-unknown
+ leon|leon[3-9])
+ cpu=sparc
+ vendor=$basic_machine
;;
- sparclite-wrs | simso-wrs)
- basic_machine=sparclite-wrs
- os=-vxworks
+ leon-*|leon[3-9]-*)
+ cpu=sparc
+ vendor=`echo "$basic_machine" | sed 's/-.*//'`
;;
- sps7)
- basic_machine=m68k-bull
- os=-sysv2
+
+ *-*)
+ # shellcheck disable=SC2162
+ saved_IFS=$IFS
+ IFS="-" read cpu vendor <<EOF
+$basic_machine
+EOF
+ IFS=$saved_IFS
+ ;;
+ # We use 'pc' rather than 'unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i*86 | x86_64)
+ cpu=$basic_machine
+ vendor=pc
;;
- spur)
- basic_machine=spur-unknown
+ # These rules are duplicated from below for sake of the special case above;
+ # i.e. things that normalized to x86 arches should also default to "pc"
+ pc98)
+ cpu=i386
+ vendor=pc
;;
- st2000)
- basic_machine=m68k-tandem
+ x64 | amd64)
+ cpu=x86_64
+ vendor=pc
;;
- stratus)
- basic_machine=i860-stratus
- os=-sysv4
+ # Recognize the basic CPU types without company name.
+ *)
+ cpu=$basic_machine
+ vendor=unknown
;;
- strongarm-* | thumb-*)
- basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+esac
+
+unset -v basic_machine
+
+# Decode basic machines in the full and proper CPU-Company form.
+case $cpu-$vendor in
+ # Here we handle the default manufacturer of certain CPU types in canonical form. It is in
+ # some cases the only manufacturer, in others, it is the most popular.
+ craynv-unknown)
+ vendor=cray
+ basic_os=${basic_os:-unicosmp}
;;
- sun2)
- basic_machine=m68000-sun
+ c90-unknown | c90-cray)
+ vendor=cray
+ basic_os=${Basic_os:-unicos}
;;
- sun2os3)
- basic_machine=m68000-sun
- os=-sunos3
+ fx80-unknown)
+ vendor=alliant
;;
- sun2os4)
- basic_machine=m68000-sun
- os=-sunos4
+ romp-unknown)
+ vendor=ibm
;;
- sun3os3)
- basic_machine=m68k-sun
- os=-sunos3
+ mmix-unknown)
+ vendor=knuth
;;
- sun3os4)
- basic_machine=m68k-sun
- os=-sunos4
+ microblaze-unknown | microblazeel-unknown)
+ vendor=xilinx
;;
- sun4os3)
- basic_machine=sparc-sun
- os=-sunos3
+ rs6000-unknown)
+ vendor=ibm
;;
- sun4os4)
- basic_machine=sparc-sun
- os=-sunos4
+ vax-unknown)
+ vendor=dec
;;
- sun4sol2)
- basic_machine=sparc-sun
- os=-solaris2
+ pdp11-unknown)
+ vendor=dec
;;
- sun3 | sun3-*)
- basic_machine=m68k-sun
+ we32k-unknown)
+ vendor=att
;;
- sun4)
- basic_machine=sparc-sun
+ cydra-unknown)
+ vendor=cydrome
;;
- sun386 | sun386i | roadrunner)
- basic_machine=i386-sun
+ i370-ibm*)
+ vendor=ibm
;;
- sv1)
- basic_machine=sv1-cray
- os=-unicos
+ orion-unknown)
+ vendor=highlevel
;;
- symmetry)
- basic_machine=i386-sequent
- os=-dynix
+ xps-unknown | xps100-unknown)
+ cpu=xps100
+ vendor=honeywell
;;
- t3e)
- basic_machine=alphaev5-cray
- os=-unicos
+
+ # Here we normalize CPU types with a missing or matching vendor
+ armh-unknown | armh-alt)
+ cpu=armv7l
+ vendor=alt
+ basic_os=${basic_os:-linux-gnueabihf}
;;
- t90)
- basic_machine=t90-cray
- os=-unicos
+ dpx20-unknown | dpx20-bull)
+ cpu=rs6000
+ vendor=bull
+ basic_os=${basic_os:-bosx}
;;
- tile*)
- basic_machine=$basic_machine-unknown
- os=-linux-gnu
+
+ # Here we normalize CPU types irrespective of the vendor
+ amd64-*)
+ cpu=x86_64
;;
- tx39)
- basic_machine=mipstx39-unknown
+ blackfin-*)
+ cpu=bfin
+ basic_os=linux
;;
- tx39el)
- basic_machine=mipstx39el-unknown
+ c54x-*)
+ cpu=tic54x
;;
- toad1)
- basic_machine=pdp10-xkl
- os=-tops20
+ c55x-*)
+ cpu=tic55x
;;
- tower | tower-32)
- basic_machine=m68k-ncr
+ c6x-*)
+ cpu=tic6x
;;
- tpf)
- basic_machine=s390x-ibm
- os=-tpf
+ e500v[12]-*)
+ cpu=powerpc
+ basic_os=${basic_os}"spe"
;;
- udi29k)
- basic_machine=a29k-amd
- os=-udi
+ mips3*-*)
+ cpu=mips64
;;
- ultra3)
- basic_machine=a29k-nyu
- os=-sym1
+ ms1-*)
+ cpu=mt
;;
- v810 | necv810)
- basic_machine=v810-nec
- os=-none
+ m68knommu-*)
+ cpu=m68k
+ basic_os=linux
;;
- vaxv)
- basic_machine=vax-dec
- os=-sysv
+ m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*)
+ cpu=s12z
;;
- vms)
- basic_machine=vax-dec
- os=-vms
+ openrisc-*)
+ cpu=or32
;;
- vpp*|vx|vx-*)
- basic_machine=f301-fujitsu
+ parisc-*)
+ cpu=hppa
+ basic_os=linux
;;
- vxworks960)
- basic_machine=i960-wrs
- os=-vxworks
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+ cpu=i586
;;
- vxworks68)
- basic_machine=m68k-wrs
- os=-vxworks
+ pentiumpro-* | p6-* | 6x86-* | athlon-* | athlon_*-*)
+ cpu=i686
;;
- vxworks29k)
- basic_machine=a29k-wrs
- os=-vxworks
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ cpu=i686
;;
- w65*)
- basic_machine=w65-wdc
- os=-none
+ pentium4-*)
+ cpu=i786
;;
- w89k-*)
- basic_machine=hppa1.1-winbond
- os=-proelf
+ pc98-*)
+ cpu=i386
;;
- xbox)
- basic_machine=i686-pc
- os=-mingw32
+ ppc-* | ppcbe-*)
+ cpu=powerpc
;;
- xps | xps100)
- basic_machine=xps100-honeywell
+ ppcle-* | powerpclittle-*)
+ cpu=powerpcle
;;
- xscale-* | xscalee[bl]-*)
- basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+ ppc64-*)
+ cpu=powerpc64
;;
- ymp)
- basic_machine=ymp-cray
- os=-unicos
+ ppc64le-* | powerpc64little-*)
+ cpu=powerpc64le
;;
- z8k-*-coff)
- basic_machine=z8k-unknown
- os=-sim
+ sb1-*)
+ cpu=mipsisa64sb1
;;
- z80-*-coff)
- basic_machine=z80-unknown
- os=-sim
+ sb1el-*)
+ cpu=mipsisa64sb1el
;;
- none)
- basic_machine=none-none
- os=-none
+ sh5e[lb]-*)
+ cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'`
;;
-
-# Here we handle the default manufacturer of certain CPU types. It is in
-# some cases the only manufacturer, in others, it is the most popular.
- w89k)
- basic_machine=hppa1.1-winbond
+ spur-*)
+ cpu=spur
;;
- op50n)
- basic_machine=hppa1.1-oki
+ strongarm-* | thumb-*)
+ cpu=arm
;;
- op60c)
- basic_machine=hppa1.1-oki
+ tx39-*)
+ cpu=mipstx39
;;
- romp)
- basic_machine=romp-ibm
+ tx39el-*)
+ cpu=mipstx39el
;;
- mmix)
- basic_machine=mmix-knuth
+ x64-*)
+ cpu=x86_64
;;
- rs6000)
- basic_machine=rs6000-ibm
+ xscale-* | xscalee[bl]-*)
+ cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
;;
- vax)
- basic_machine=vax-dec
+ arm64-* | aarch64le-*)
+ cpu=aarch64
;;
- pdp10)
- # there are many clones, so DEC is not a safe bet
- basic_machine=pdp10-unknown
+
+ # Recognize the canonical CPU Types that limit and/or modify the
+ # company names they are paired with.
+ cr16-*)
+ basic_os=${basic_os:-elf}
;;
- pdp11)
- basic_machine=pdp11-dec
+ crisv32-* | etraxfs*-*)
+ cpu=crisv32
+ vendor=axis
;;
- we32k)
- basic_machine=we32k-att
+ cris-* | etrax*-*)
+ cpu=cris
+ vendor=axis
;;
- sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
- basic_machine=sh-unknown
+ crx-*)
+ basic_os=${basic_os:-elf}
;;
- sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
- basic_machine=sparc-sun
+ neo-tandem)
+ cpu=neo
+ vendor=tandem
;;
- cydra)
- basic_machine=cydra-cydrome
+ nse-tandem)
+ cpu=nse
+ vendor=tandem
;;
- orion)
- basic_machine=orion-highlevel
+ nsr-tandem)
+ cpu=nsr
+ vendor=tandem
;;
- orion105)
- basic_machine=clipper-highlevel
+ nsv-tandem)
+ cpu=nsv
+ vendor=tandem
;;
- mac | mpw | mac-mpw)
- basic_machine=m68k-apple
+ nsx-tandem)
+ cpu=nsx
+ vendor=tandem
;;
- pmac | pmac-mpw)
- basic_machine=powerpc-apple
+ mipsallegrexel-sony)
+ cpu=mipsallegrexel
+ vendor=sony
;;
- *-unknown)
- # Make sure to match an already-canonicalized machine name.
+ tile*-*)
+ basic_os=${basic_os:-linux-gnu}
;;
+
*)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
+ # Recognize the canonical CPU types that are allowed with any
+ # company name.
+ case $cpu in
+ 1750a | 580 \
+ | a29k \
+ | aarch64 | aarch64_be | aarch64c | arm64ec \
+ | abacus \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \
+ | alphapca5[67] | alpha64pca5[67] \
+ | am33_2.0 \
+ | amdgcn \
+ | arc | arceb | arc32 | arc64 \
+ | arm | arm[lb]e | arme[lb] | armv* \
+ | avr | avr32 \
+ | asmjs \
+ | ba \
+ | be32 | be64 \
+ | bfin | bpf | bs2000 \
+ | c[123]* | c30 | [cjt]90 | c4x \
+ | c8051 | clipper | craynv | csky | cydra \
+ | d10v | d30v | dlx | dsp16xx \
+ | e2k | elxsi | epiphany \
+ | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \
+ | javascript \
+ | h8300 | h8500 \
+ | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | hexagon \
+ | i370 | i*86 | i860 | i960 | ia16 | ia64 \
+ | ip2k | iq2000 \
+ | k1om \
+ | kvx \
+ | le32 | le64 \
+ | lm32 \
+ | loongarch32 | loongarch64 \
+ | m32c | m32r | m32rle \
+ | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \
+ | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
+ | m88110 | m88k | maxq | mb | mcore | mep | metag \
+ | microblaze | microblazeel \
+ | mips* \
+ | mmix \
+ | mn10200 | mn10300 \
+ | moxie \
+ | mt \
+ | msp430 \
+ | nanomips* \
+ | nds32 | nds32le | nds32be \
+ | nfp \
+ | nios | nios2 | nios2eb | nios2el \
+ | none | np1 | ns16k | ns32k | nvptx \
+ | open8 \
+ | or1k* \
+ | or32 \
+ | orion \
+ | picochip \
+ | pdp10 | pdp11 | pj | pjl | pn | power \
+ | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
+ | pru \
+ | pyramid \
+ | riscv | riscv32 | riscv32be | riscv64 | riscv64be \
+ | rl78 | romp | rs6000 | rx \
+ | s390 | s390x \
+ | score \
+ | sh | shl \
+ | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \
+ | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \
+ | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \
+ | spu \
+ | tahoe \
+ | thumbv7* \
+ | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
+ | tron \
+ | ubicom32 \
+ | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \
+ | vax \
+ | vc4 \
+ | visium \
+ | w65 \
+ | wasm32 | wasm64 \
+ | we32k \
+ | x86 | x86_64 | xc16x | xgate | xps100 \
+ | xstormy16 | xtensa* \
+ | ymp \
+ | z8k | z80)
+ ;;
+
+ *)
+ echo "Invalid configuration '$1': machine '$cpu-$vendor' not recognized" 1>&2
+ exit 1
+ ;;
+ esac
;;
esac
# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
- *-digital*)
- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+case $vendor in
+ digital*)
+ vendor=dec
;;
- *-commodore*)
- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+ commodore*)
+ vendor=cbm
;;
*)
;;
@@ -1347,201 +1287,226 @@ esac
# Decode manufacturer-specific aliases for certain operating systems.
-if [ x"$os" != x"" ]
+if test x"$basic_os" != x
then
+
+# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just
+# set os.
+obj=
+case $basic_os in
+ gnu/linux*)
+ kernel=linux
+ os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'`
+ ;;
+ os2-emx)
+ kernel=os2
+ os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'`
+ ;;
+ nto-qnx*)
+ kernel=nto
+ os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'`
+ ;;
+ *-*)
+ # shellcheck disable=SC2162
+ saved_IFS=$IFS
+ IFS="-" read kernel os <<EOF
+$basic_os
+EOF
+ IFS=$saved_IFS
+ ;;
+ # Default OS when just kernel was specified
+ nto*)
+ kernel=nto
+ os=`echo "$basic_os" | sed -e 's|nto|qnx|'`
+ ;;
+ linux*)
+ kernel=linux
+ os=`echo "$basic_os" | sed -e 's|linux|gnu|'`
+ ;;
+ managarm*)
+ kernel=managarm
+ os=`echo "$basic_os" | sed -e 's|managarm|mlibc|'`
+ ;;
+ *)
+ kernel=
+ os=$basic_os
+ ;;
+esac
+
+# Now, normalize the OS (knowing we just have one component, it's not a kernel,
+# etc.)
case $os in
- # First match some system type aliases
- # that might get confused with valid system types.
- # -solaris* is a basic system type, with this one exception.
- -auroraux)
- os=-auroraux
+ # First match some system type aliases that might get confused
+ # with valid system types.
+ # solaris* is a basic system type, with this one exception.
+ auroraux)
+ os=auroraux
;;
- -solaris1 | -solaris1.*)
- os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ bluegene*)
+ os=cnk
;;
- -solaris)
- os=-solaris2
+ solaris1 | solaris1.*)
+ os=`echo "$os" | sed -e 's|solaris1|sunos4|'`
;;
- -svr4*)
- os=-sysv4
+ solaris)
+ os=solaris2
;;
- -unixware*)
- os=-sysv4.2uw
+ unixware*)
+ os=sysv4.2uw
;;
- -gnu/linux*)
- os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+ # es1800 is here to avoid being matched by es* (a different OS)
+ es1800*)
+ os=ose
;;
- # First accept the basic system types.
- # The portable systems comes first.
- # Each alternative MUST END IN A *, to match a version number.
- # -sysv* is not here because it comes later, after sysvr4.
- -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
- | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
- | -sym* | -kopensolaris* | -plan9* \
- | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* | -aros* | -cloudabi* | -sortix* \
- | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
- | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
- | -bitrig* | -openbsd* | -solidbsd* \
- | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
- | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
- | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
- | -chorusos* | -chorusrdb* | -cegcc* \
- | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
- | -linux-newlib* | -linux-musl* | -linux-uclibc* \
- | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
- | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
- | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
- | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
- | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
- | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
- | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
- | -onefs* | -tirtos*)
- # Remember, each alternative MUST END IN *, to match a version number.
- ;;
- -qnx*)
- case $basic_machine in
- x86-* | i*86-*)
- ;;
- *)
- os=-nto$os
- ;;
- esac
+ # Some version numbers need modification
+ chorusos*)
+ os=chorusos
;;
- -nto-qnx*)
+ isc)
+ os=isc2.2
;;
- -nto*)
- os=`echo $os | sed -e 's|nto|nto-qnx|'`
+ sco6)
+ os=sco5v6
;;
- -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
- | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
- | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+ sco5)
+ os=sco3.2v5
;;
- -mac*)
- os=`echo $os | sed -e 's|mac|macos|'`
+ sco4)
+ os=sco3.2v4
;;
- -linux-dietlibc)
- os=-linux-dietlibc
+ sco3.2.[4-9]*)
+ os=`echo "$os" | sed -e 's/sco3.2./sco3.2v/'`
;;
- -linux*)
- os=`echo $os | sed -e 's|linux|linux-gnu|'`
+ sco*v* | scout)
+ # Don't match below
;;
- -sunos5*)
- os=`echo $os | sed -e 's|sunos5|solaris2|'`
+ sco*)
+ os=sco3.2v2
;;
- -sunos6*)
- os=`echo $os | sed -e 's|sunos6|solaris3|'`
+ psos*)
+ os=psos
;;
- -opened*)
- os=-openedition
+ qnx*)
+ os=qnx
;;
- -os400*)
- os=-os400
+ hiux*)
+ os=hiuxwe2
;;
- -wince*)
- os=-wince
+ lynx*178)
+ os=lynxos178
;;
- -osfrose*)
- os=-osfrose
+ lynx*5)
+ os=lynxos5
;;
- -osf*)
- os=-osf
+ lynxos*)
+ # don't get caught up in next wildcard
;;
- -utek*)
- os=-bsd
+ lynx*)
+ os=lynxos
;;
- -dynix*)
- os=-bsd
+ mac[0-9]*)
+ os=`echo "$os" | sed -e 's|mac|macos|'`
;;
- -acis*)
- os=-aos
+ opened*)
+ os=openedition
;;
- -atheos*)
- os=-atheos
+ os400*)
+ os=os400
;;
- -syllable*)
- os=-syllable
+ sunos5*)
+ os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
;;
- -386bsd)
- os=-bsd
+ sunos6*)
+ os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
;;
- -ctix* | -uts*)
- os=-sysv
+ wince*)
+ os=wince
;;
- -nova*)
- os=-rtmk-nova
+ utek*)
+ os=bsd
;;
- -ns2 )
- os=-nextstep2
+ dynix*)
+ os=bsd
;;
- -nsk*)
- os=-nsk
+ acis*)
+ os=aos
;;
- # Preserve the version number of sinix5.
- -sinix5.*)
- os=`echo $os | sed -e 's|sinix|sysv|'`
+ atheos*)
+ os=atheos
;;
- -sinix*)
- os=-sysv4
+ syllable*)
+ os=syllable
;;
- -tpf*)
- os=-tpf
+ 386bsd)
+ os=bsd
+ ;;
+ ctix* | uts*)
+ os=sysv
;;
- -triton*)
- os=-sysv3
+ nova*)
+ os=rtmk-nova
;;
- -oss*)
- os=-sysv3
+ ns2)
+ os=nextstep2
;;
- -svr4)
- os=-sysv4
+ # Preserve the version number of sinix5.
+ sinix5.*)
+ os=`echo "$os" | sed -e 's|sinix|sysv|'`
;;
- -svr3)
- os=-sysv3
+ sinix*)
+ os=sysv4
;;
- -sysvr4)
- os=-sysv4
+ tpf*)
+ os=tpf
;;
- # This must come after -sysvr4.
- -sysv*)
+ triton*)
+ os=sysv3
;;
- -ose*)
- os=-ose
+ oss*)
+ os=sysv3
;;
- -es1800*)
- os=-ose
+ svr4*)
+ os=sysv4
;;
- -xenix)
- os=-xenix
+ svr3)
+ os=sysv3
;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
- os=-mint
+ sysvr4)
+ os=sysv4
;;
- -aros*)
- os=-aros
+ ose*)
+ os=ose
;;
- -zvmoe)
- os=-zvmoe
+ *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
+ os=mint
;;
- -dicos*)
- os=-dicos
+ dicos*)
+ os=dicos
;;
- -nacl*)
+ pikeos*)
+ # Until real need of OS specific support for
+ # particular features comes up, bare metal
+ # configurations are quite functional.
+ case $cpu in
+ arm*)
+ os=eabi
+ ;;
+ *)
+ os=
+ obj=elf
+ ;;
+ esac
;;
- -none)
+ aout* | coff* | elf* | pe*)
+ # These are machine code file formats, not OSes
+ obj=$os
+ os=
;;
*)
- # Get rid of the `-' at the beginning of $os.
- os=`echo $os | sed 's/[^-]*-//'`
- echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
- exit 1
+ # No normalization, but not necessarily accepted, that comes below.
;;
esac
+
else
# Here we handle the default operating systems that come with various machines.
@@ -1554,261 +1519,452 @@ else
# will signal an error saying that MANUFACTURER isn't an operating
# system, and we'll never get to this point.
-case $basic_machine in
+kernel=
+obj=
+case $cpu-$vendor in
score-*)
- os=-elf
+ os=
+ obj=elf
;;
spu-*)
- os=-elf
+ os=
+ obj=elf
;;
*-acorn)
- os=-riscix1.2
+ os=riscix1.2
;;
arm*-rebel)
- os=-linux
+ kernel=linux
+ os=gnu
;;
arm*-semi)
- os=-aout
+ os=
+ obj=aout
;;
c4x-* | tic4x-*)
- os=-coff
+ os=
+ obj=coff
;;
c8051-*)
- os=-elf
+ os=
+ obj=elf
+ ;;
+ clipper-intergraph)
+ os=clix
;;
hexagon-*)
- os=-elf
+ os=
+ obj=elf
;;
tic54x-*)
- os=-coff
+ os=
+ obj=coff
;;
tic55x-*)
- os=-coff
+ os=
+ obj=coff
;;
tic6x-*)
- os=-coff
+ os=
+ obj=coff
;;
# This must come before the *-dec entry.
pdp10-*)
- os=-tops20
+ os=tops20
;;
pdp11-*)
- os=-none
+ os=none
;;
*-dec | vax-*)
- os=-ultrix4.2
+ os=ultrix4.2
;;
m68*-apollo)
- os=-domain
+ os=domain
;;
i386-sun)
- os=-sunos4.0.2
+ os=sunos4.0.2
;;
m68000-sun)
- os=-sunos3
+ os=sunos3
;;
m68*-cisco)
- os=-aout
+ os=
+ obj=aout
;;
mep-*)
- os=-elf
+ os=
+ obj=elf
;;
mips*-cisco)
- os=-elf
+ os=
+ obj=elf
;;
- mips*-*)
- os=-elf
+ mips*-*|nanomips*-*)
+ os=
+ obj=elf
;;
or32-*)
- os=-coff
+ os=
+ obj=coff
;;
*-tti) # must be before sparc entry or we get the wrong os.
- os=-sysv3
+ os=sysv3
;;
sparc-* | *-sun)
- os=-sunos4.1.1
+ os=sunos4.1.1
;;
- *-be)
- os=-beos
+ pru-*)
+ os=
+ obj=elf
;;
- *-haiku)
- os=-haiku
+ *-be)
+ os=beos
;;
*-ibm)
- os=-aix
+ os=aix
;;
*-knuth)
- os=-mmixware
+ os=mmixware
;;
*-wec)
- os=-proelf
+ os=proelf
;;
*-winbond)
- os=-proelf
+ os=proelf
;;
*-oki)
- os=-proelf
+ os=proelf
;;
*-hp)
- os=-hpux
+ os=hpux
;;
*-hitachi)
- os=-hiux
+ os=hiux
;;
i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
- os=-sysv
+ os=sysv
;;
*-cbm)
- os=-amigaos
+ os=amigaos
;;
*-dg)
- os=-dgux
+ os=dgux
;;
*-dolphin)
- os=-sysv3
+ os=sysv3
;;
m68k-ccur)
- os=-rtu
+ os=rtu
;;
m88k-omron*)
- os=-luna
+ os=luna
;;
- *-next )
- os=-nextstep
+ *-next)
+ os=nextstep
;;
*-sequent)
- os=-ptx
+ os=ptx
;;
*-crds)
- os=-unos
+ os=unos
;;
*-ns)
- os=-genix
+ os=genix
;;
i370-*)
- os=-mvs
- ;;
- *-next)
- os=-nextstep3
+ os=mvs
;;
*-gould)
- os=-sysv
+ os=sysv
;;
*-highlevel)
- os=-bsd
+ os=bsd
;;
*-encore)
- os=-bsd
+ os=bsd
;;
*-sgi)
- os=-irix
+ os=irix
;;
*-siemens)
- os=-sysv4
+ os=sysv4
;;
*-masscomp)
- os=-rtu
+ os=rtu
;;
f30[01]-fujitsu | f700-fujitsu)
- os=-uxpv
+ os=uxpv
;;
*-rom68k)
- os=-coff
+ os=
+ obj=coff
;;
*-*bug)
- os=-coff
+ os=
+ obj=coff
;;
*-apple)
- os=-macos
+ os=macos
;;
*-atari*)
- os=-mint
+ os=mint
+ ;;
+ *-wrs)
+ os=vxworks
;;
*)
- os=-none
+ os=none
;;
esac
+
fi
+# Now, validate our (potentially fixed-up) individual pieces (OS, OBJ).
+
+case $os in
+ # Sometimes we do "kernel-libc", so those need to count as OSes.
+ llvm* | musl* | newlib* | relibc* | uclibc*)
+ ;;
+ # Likewise for "kernel-abi"
+ eabi* | gnueabi*)
+ ;;
+ # VxWorks passes extra cpu info in the 4th filed.
+ simlinux | simwindows | spe)
+ ;;
+ # See `case $cpu-$os` validation below
+ ghcjs)
+ ;;
+ # Now accept the basic system types.
+ # The portable systems comes first.
+ # Each alternative MUST end in a * to match a version number.
+ gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
+ | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \
+ | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
+ | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \
+ | hiux* | abug | nacl* | netware* | windows* \
+ | os9* | macos* | osx* | ios* | tvos* | watchos* \
+ | mpw* | magic* | mmixware* | mon960* | lnews* \
+ | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
+ | aos* | aros* | cloudabi* | sortix* | twizzler* \
+ | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
+ | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
+ | mirbsd* | netbsd* | dicos* | openedition* | ose* \
+ | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \
+ | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \
+ | bosx* | nextstep* | cxux* | oabi* \
+ | ptx* | ecoff* | winnt* | domain* | vsta* \
+ | udi* | lites* | ieee* | go32* | aux* | hcos* \
+ | chorusrdb* | cegcc* | glidix* | serenity* \
+ | cygwin* | msys* | moss* | proelf* | rtems* \
+ | midipix* | mingw32* | mingw64* | mint* \
+ | uxpv* | beos* | mpeix* | udk* | moxiebox* \
+ | interix* | uwin* | mks* | rhapsody* | darwin* \
+ | openstep* | oskit* | conix* | pw32* | nonstopux* \
+ | storm-chaos* | tops10* | tenex* | tops20* | its* \
+ | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \
+ | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \
+ | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
+ | skyos* | haiku* | rdos* | toppers* | drops* | es* \
+ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
+ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
+ | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \
+ | fiwix* | mlibc* | cos* | mbr* | ironclad* )
+ ;;
+ # This one is extra strict with allowed versions
+ sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
+ # Don't forget version if it is 3.2v4 or newer.
+ ;;
+ # This refers to builds using the UEFI calling convention
+ # (which depends on the architecture) and PE file format.
+ # Note that this is both a different calling convention and
+ # different file format than that of GNU-EFI
+ # (x86_64-w64-mingw32).
+ uefi)
+ ;;
+ none)
+ ;;
+ kernel* | msvc* )
+ # Restricted further below
+ ;;
+ '')
+ if test x"$obj" = x
+ then
+ echo "Invalid configuration '$1': Blank OS only allowed with explicit machine code file format" 1>&2
+ fi
+ ;;
+ *)
+ echo "Invalid configuration '$1': OS '$os' not recognized" 1>&2
+ exit 1
+ ;;
+esac
+
+case $obj in
+ aout* | coff* | elf* | pe*)
+ ;;
+ '')
+ # empty is fine
+ ;;
+ *)
+ echo "Invalid configuration '$1': Machine code format '$obj' not recognized" 1>&2
+ exit 1
+ ;;
+esac
+
+# Here we handle the constraint that a (synthetic) cpu and os are
+# valid only in combination with each other and nowhere else.
+case $cpu-$os in
+ # The "javascript-unknown-ghcjs" triple is used by GHC; we
+ # accept it here in order to tolerate that, but reject any
+ # variations.
+ javascript-ghcjs)
+ ;;
+ javascript-* | *-ghcjs)
+ echo "Invalid configuration '$1': cpu '$cpu' is not valid with os '$os$obj'" 1>&2
+ exit 1
+ ;;
+esac
+
+# As a final step for OS-related things, validate the OS-kernel combination
+# (given a valid OS), if there is a kernel.
+case $kernel-$os-$obj in
+ linux-gnu*- | linux-android*- | linux-dietlibc*- | linux-llvm*- \
+ | linux-mlibc*- | linux-musl*- | linux-newlib*- \
+ | linux-relibc*- | linux-uclibc*- )
+ ;;
+ uclinux-uclibc*- )
+ ;;
+ managarm-mlibc*- | managarm-kernel*- )
+ ;;
+ windows*-msvc*-)
+ ;;
+ -dietlibc*- | -llvm*- | -mlibc*- | -musl*- | -newlib*- | -relibc*- \
+ | -uclibc*- )
+ # These are just libc implementations, not actual OSes, and thus
+ # require a kernel.
+ echo "Invalid configuration '$1': libc '$os' needs explicit kernel." 1>&2
+ exit 1
+ ;;
+ -kernel*- )
+ echo "Invalid configuration '$1': '$os' needs explicit kernel." 1>&2
+ exit 1
+ ;;
+ *-kernel*- )
+ echo "Invalid configuration '$1': '$kernel' does not support '$os'." 1>&2
+ exit 1
+ ;;
+ *-msvc*- )
+ echo "Invalid configuration '$1': '$os' needs 'windows'." 1>&2
+ exit 1
+ ;;
+ kfreebsd*-gnu*- | kopensolaris*-gnu*-)
+ ;;
+ vxworks-simlinux- | vxworks-simwindows- | vxworks-spe-)
+ ;;
+ nto-qnx*-)
+ ;;
+ os2-emx-)
+ ;;
+ *-eabi*- | *-gnueabi*-)
+ ;;
+ none--*)
+ # None (no kernel, i.e. freestanding / bare metal),
+ # can be paired with an machine code file format
+ ;;
+ -*-)
+ # Blank kernel with real OS is always fine.
+ ;;
+ --*)
+ # Blank kernel and OS with real machine code file format is always fine.
+ ;;
+ *-*-*)
+ echo "Invalid configuration '$1': Kernel '$kernel' not known to work with OS '$os'." 1>&2
+ exit 1
+ ;;
+esac
+
# Here we handle the case where we know the os, and the CPU type, but not the
# manufacturer. We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
- *-unknown)
- case $os in
- -riscix*)
+case $vendor in
+ unknown)
+ case $cpu-$os in
+ *-riscix*)
vendor=acorn
;;
- -sunos*)
+ *-sunos*)
vendor=sun
;;
- -cnk*|-aix*)
+ *-cnk* | *-aix*)
vendor=ibm
;;
- -beos*)
+ *-beos*)
vendor=be
;;
- -hpux*)
+ *-hpux*)
vendor=hp
;;
- -mpeix*)
+ *-mpeix*)
vendor=hp
;;
- -hiux*)
+ *-hiux*)
vendor=hitachi
;;
- -unos*)
+ *-unos*)
vendor=crds
;;
- -dgux*)
+ *-dgux*)
vendor=dg
;;
- -luna*)
+ *-luna*)
vendor=omron
;;
- -genix*)
+ *-genix*)
vendor=ns
;;
- -mvs* | -opened*)
+ *-clix*)
+ vendor=intergraph
+ ;;
+ *-mvs* | *-opened*)
+ vendor=ibm
+ ;;
+ *-os400*)
vendor=ibm
;;
- -os400*)
+ s390-* | s390x-*)
vendor=ibm
;;
- -ptx*)
+ *-ptx*)
vendor=sequent
;;
- -tpf*)
+ *-tpf*)
vendor=ibm
;;
- -vxsim* | -vxworks* | -windiss*)
+ *-vxsim* | *-vxworks* | *-windiss*)
vendor=wrs
;;
- -aux*)
+ *-aux*)
vendor=apple
;;
- -hms*)
+ *-hms*)
vendor=hitachi
;;
- -mpw* | -macos*)
+ *-mpw* | *-macos*)
vendor=apple
;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*)
vendor=atari
;;
- -vos*)
+ *-vos*)
vendor=stratus
;;
esac
- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
;;
esac
-echo $basic_machine$os
+echo "$cpu-$vendor${kernel:+-$kernel}${os:+-$os}${obj:+-$obj}"
exit
# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
diff --git a/scripts/create.sh b/scripts/create.sh
index 1d0c467d0..3b62f04ee 100755
--- a/scripts/create.sh
+++ b/scripts/create.sh
@@ -2,7 +2,7 @@
#-
# Copyright © 2010, 2011, 2012
# Thorsten Glaser <tg@mirbsd.org>
-# Copyright © 2010-2014
+# Copyright © 2010-2023
# Waldemar Brodkorb <wbx@openadk.org>
#
# Provided that these terms and disclaimer and all copyright notices
@@ -56,7 +56,7 @@ Syntax: $me [-c cfgfssize] [+g] [-i imagesize] [-p panictime]
Explanation/Defaults:
-c: minimum 0, maximum 5, default 1 (MiB)
-g: enable installing GNU GRUB 2
- -i: total image, default 512 (MiB; max. approx. 2 TiB)
+ -i: total image, default 2048 (MiB; max. approx. 2 TiB)
-p: default 10 (seconds; 0 disables; max. 300)
-s: default 115200 (bps, others: 9600 19200 38400 57600)
-t: enable serial console (+t disables it, default)
@@ -67,7 +67,7 @@ EOF
cfgfs=1
usegrub=0
-tgtmib=512
+tgtmib=2048
panicreboot=10
speed=115200
serial=0
@@ -275,7 +275,7 @@ fi
print "Creating ext2fs filesystem image..."
cd "$T"
f=0
-genext2fs -U -N 32768 -b $((partfssz)) -d src fsimg || f=1
+genext2fs -U -N 65536 -b $((partfssz)) -d src fsimg || f=1
if (( !f )); then
# use bc(1): this may be over the shell’s 32-bit arithmetics
wantsz=$($bc <<<"$((partfssz))*1024")
diff --git a/scripts/flash-uboot.sh b/scripts/flash-uboot.sh
new file mode 100755
index 000000000..e519d6a58
--- /dev/null
+++ b/scripts/flash-uboot.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+OUTPUT_DIR=$1
+
+if ! test -d "${OUTPUT_DIR}" ; then
+ echo "ERROR: no output directory specified."
+ echo "Usage: $0 OUTPUT_DIR"
+ echo ""
+ echo "Arguments:"
+ echo " OUTPUT_DIR The OpenADK output directory."
+ exit 1
+fi
+
+./host_x86_64-linux-gnu/usr/bin/openocd \
+ -f interface/stlink.cfg -f board/stm32f7discovery.cfg \
+-c "init" \
+-c "reset init" \
+-c "flash probe 0" \
+-c "flash info 0" \
+-c "flash write_image erase ${OUTPUT_DIR}/u-boot-dtb.bin 0x08000000" \
+-c "reset run" \
+-c "shutdown"
diff --git a/scripts/flash.sh b/scripts/flash.sh
new file mode 100755
index 000000000..d5343a7fb
--- /dev/null
+++ b/scripts/flash.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+OUTPUT_DIR=$1
+BOARD_NAME=${2:-stm32f429disc1}
+
+if ! test -d "${OUTPUT_DIR}" ; then
+ echo "ERROR: no output directory specified."
+ echo "Usage: $0 OUTPUT_DIR BOARD_NAME"
+ echo ""
+ echo "Arguments:"
+ echo " OUTPUT_DIR The OpenADK output directory."
+ echo " BOARD_NAME One of the available boards among:"
+ echo " stm32f429discovery, stm32f429disc1"
+ exit 1
+fi
+
+./host_x86_64-linux-gnu/usr/bin/openocd -f board/${BOARD_NAME}.cfg \
+ -c "init" \
+ -c "reset init" \
+ -c "flash probe 0" \
+ -c "flash info 0" \
+ -c "flash write_image erase ${OUTPUT_DIR}/stm32f429i-disco.bin 0x08000000" \
+ -c "flash write_image erase ${OUTPUT_DIR}/stm32f429-disco.dtb 0x08004000" \
+ -c "flash write_image erase ${OUTPUT_DIR}/st-stm32f429-initramfspiggyback-kernel 0x08008000" \
+ -c "reset run" \
+ -c "shutdown"
diff --git a/scripts/gen_initramfs_list.sh b/scripts/gen_initramfs_list.sh
new file mode 100755
index 000000000..2bbac73e6
--- /dev/null
+++ b/scripts/gen_initramfs_list.sh
@@ -0,0 +1,328 @@
+#!/bin/sh
+# Copyright (C) Martin Schlemmer <azarah@nosferatu.za.org>
+# Copyright (C) 2006 Sam Ravnborg <sam@ravnborg.org>
+#
+# Released under the terms of the GNU GPL
+#
+# Generate a cpio packed initramfs. It uses gen_init_cpio to generate
+# the cpio archive, and then compresses it.
+# The script may also be used to generate the inputfile used for gen_init_cpio
+# This script assumes that gen_init_cpio is located in usr/ directory
+
+# error out on errors
+set -e
+
+usage() {
+cat << EOF
+Usage:
+$0 [-o <file>] [-u <uid>] [-g <gid>] {-d | <cpio_source>} ...
+ -o <file> Create compressed initramfs file named <file> using
+ gen_init_cpio and compressor depending on the extension
+ -u <uid> User ID to map to user ID 0 (root).
+ <uid> is only meaningful if <cpio_source> is a
+ directory. "squash" forces all files to uid 0.
+ -g <gid> Group ID to map to group ID 0 (root).
+ <gid> is only meaningful if <cpio_source> is a
+ directory. "squash" forces all files to gid 0.
+ <cpio_source> File list or directory for cpio archive.
+ If <cpio_source> is a .cpio file it will be used
+ as direct input to initramfs.
+ -d Output the default cpio list.
+
+All options except -o and -l may be repeated and are interpreted
+sequentially and immediately. -u and -g states are preserved across
+<cpio_source> options so an explicit "-u 0 -g 0" is required
+to reset the root/group mapping.
+EOF
+}
+
+# awk style field access
+# $1 - field number; rest is argument string
+field() {
+ shift $1 ; echo $1
+}
+
+list_default_initramfs() {
+ # echo usr/kinit/kinit
+ :
+}
+
+default_initramfs() {
+ cat <<-EOF >> ${output}
+ # This is a very simple, default initramfs
+
+ dir /dev 0755 0 0
+ nod /dev/console 0600 0 0 c 5 1
+ dir /root 0700 0 0
+ # file /kinit usr/kinit/kinit 0755 0 0
+ # slink /init kinit 0755 0 0
+ EOF
+}
+
+filetype() {
+ local argv1="$1"
+
+ # symlink test must come before file test
+ if [ -L "${argv1}" ]; then
+ echo "slink"
+ elif [ -f "${argv1}" ]; then
+ echo "file"
+ elif [ -d "${argv1}" ]; then
+ echo "dir"
+ elif [ -b "${argv1}" -o -c "${argv1}" ]; then
+ echo "nod"
+ elif [ -p "${argv1}" ]; then
+ echo "pipe"
+ elif [ -S "${argv1}" ]; then
+ echo "sock"
+ else
+ echo "invalid"
+ fi
+ return 0
+}
+
+list_print_mtime() {
+ :
+}
+
+print_mtime() {
+ local my_mtime="0"
+
+ if [ -e "$1" ]; then
+ my_mtime=$(find "$1" -printf "%T@\n" | sort -r | head -n 1)
+ fi
+
+ echo "# Last modified: ${my_mtime}" >> ${output}
+ echo "" >> ${output}
+}
+
+list_parse() {
+ if [ -L "$1" ]; then
+ return
+ fi
+ echo "$1" | sed 's/:/\\:/g; s/$/ \\/'
+}
+
+# for each file print a line in following format
+# <filetype> <name> <path to file> <octal mode> <uid> <gid>
+# for links, devices etc the format differs. See gen_init_cpio for details
+parse() {
+ local location="$1"
+ local name="/${location#${srcdir}}"
+ # change '//' into '/'
+ name=$(echo "$name" | sed -e 's://*:/:g')
+ local mode="$2"
+ local uid="$3"
+ local gid="$4"
+ local ftype=$(filetype "${location}")
+ # remap uid/gid to 0 if necessary
+ [ "$root_uid" = "squash" ] && uid=0 || [ "$uid" -eq "$root_uid" ] && uid=0
+ [ "$root_gid" = "squash" ] && gid=0 || [ "$gid" -eq "$root_gid" ] && gid=0
+ local str="${mode} ${uid} ${gid}"
+
+ [ "${ftype}" = "invalid" ] && return 0
+ [ "${location}" = "${srcdir}" ] && return 0
+
+ case "${ftype}" in
+ "file")
+ str="${ftype} ${name} ${location} ${str}"
+ ;;
+ "nod")
+ local dev="`LC_ALL=C ls -l "${location}"`"
+ local maj=`field 5 ${dev}`
+ local min=`field 6 ${dev}`
+ maj=${maj%,}
+
+ [ -b "${location}" ] && dev="b" || dev="c"
+
+ str="${ftype} ${name} ${str} ${dev} ${maj} ${min}"
+ ;;
+ "slink")
+ local target=`readlink "${location}"`
+ str="${ftype} ${name} ${target} ${str}"
+ ;;
+ *)
+ str="${ftype} ${name} ${str}"
+ ;;
+ esac
+
+ echo "${str}" >> ${output}
+
+ return 0
+}
+
+unknown_option() {
+ printf "ERROR: unknown option \"$arg\"\n" >&2
+ printf "If the filename validly begins with '-', " >&2
+ printf "then it must be prefixed\n" >&2
+ printf "by './' so that it won't be interpreted as an option." >&2
+ printf "\n" >&2
+ usage >&2
+ exit 1
+}
+
+list_header() {
+ :
+}
+
+header() {
+ printf "\n#####################\n# $1\n" >> ${output}
+}
+
+# process one directory (incl sub-directories)
+dir_filelist() {
+ ${dep_list}header "$1"
+
+ srcdir=$(echo "$1" | sed -e 's://*:/:g')
+ dirlist=$(find "${srcdir}" -printf "%p %m %U %G\n" | LANG=C sort)
+
+ # If $dirlist is only one line, then the directory is empty
+ if [ "$(echo "${dirlist}" | wc -l)" -gt 1 ]; then
+ ${dep_list}print_mtime "$1"
+
+ echo "${dirlist}" | \
+ while read x; do
+ ${dep_list}parse ${x}
+ done
+ fi
+}
+
+# if only one file is specified and it is .cpio file then use it direct as fs
+# if a directory is specified then add all files in given direcotry to fs
+# if a regular file is specified assume it is in gen_initramfs format
+input_file() {
+ source="$1"
+ if [ -f "$1" ]; then
+ ${dep_list}header "$1"
+ is_cpio="$(echo "$1" | sed 's/^.*\.cpio\(\..*\)\{0,1\}/cpio/')"
+ if [ $2 -eq 0 -a ${is_cpio} = "cpio" ]; then
+ cpio_file=$1
+ echo "$1" | grep -q '^.*\.cpio\..*' && is_cpio_compressed="compressed"
+ [ ! -z ${dep_list} ] && echo "$1"
+ return 0
+ fi
+ if [ -z ${dep_list} ]; then
+ print_mtime "$1" >> ${output}
+ cat "$1" >> ${output}
+ else
+ echo "$1 \\"
+ cat "$1" | while read type dir file perm ; do
+ if [ "$type" = "file" ]; then
+ echo "$file \\";
+ fi
+ done
+ fi
+ elif [ -d "$1" ]; then
+ dir_filelist "$1"
+ else
+ echo " ${prog}: Cannot open '$1'" >&2
+ exit 1
+ fi
+}
+
+prog=$0
+root_uid=0
+root_gid=0
+dep_list=
+cpio_file=
+cpio_list=
+output="/dev/stdout"
+output_file=""
+is_cpio_compressed=
+compr="gzip -n -9 -f"
+
+arg="$1"
+case "$arg" in
+ "-l") # files included in initramfs - used by kbuild
+ dep_list="list_"
+ echo "deps_initramfs := $0 \\"
+ shift
+ ;;
+ "-o") # generate compressed cpio image named $1
+ shift
+ output_file="$1"
+ cpio_list="$(mktemp ${TMPDIR:-/tmp}/cpiolist.XXXXXX)"
+ output=${cpio_list}
+ echo "$output_file" | grep -q "\.gz$" \
+ && [ -x "`which gzip 2> /dev/null`" ] \
+ && compr="gzip -n -9 -f"
+ echo "$output_file" | grep -q "\.bz2$" \
+ && [ -x "`which bzip2 2> /dev/null`" ] \
+ && compr="bzip2 -9 -f"
+ echo "$output_file" | grep -q "\.lzma$" \
+ && [ -x "`which lzma 2> /dev/null`" ] \
+ && compr="lzma -9 -f"
+ echo "$output_file" | grep -q "\.xz$" \
+ && [ -x "`which xz 2> /dev/null`" ] \
+ && compr="xz --check=crc32 --lzma2=dict=1MiB"
+ echo "$output_file" | grep -q "\.lzo$" \
+ && [ -x "`which lzop 2> /dev/null`" ] \
+ && compr="lzop -9 -f"
+ echo "$output_file" | grep -q "\.lz4$" \
+ && [ -x "`which lz4 2> /dev/null`" ] \
+ && compr="lz4 -l -9 -f"
+ echo "$output_file" | grep -q "\.cpio$" && compr="cat"
+ shift
+ ;;
+esac
+while [ $# -gt 0 ]; do
+ arg="$1"
+ shift
+ case "$arg" in
+ "-u") # map $1 to uid=0 (root)
+ root_uid="$1"
+ [ "$root_uid" = "-1" ] && root_uid=$(id -u || echo 0)
+ shift
+ ;;
+ "-g") # map $1 to gid=0 (root)
+ root_gid="$1"
+ [ "$root_gid" = "-1" ] && root_gid=$(id -g || echo 0)
+ shift
+ ;;
+ "-d") # display default initramfs list
+ default_list="$arg"
+ ${dep_list}default_initramfs
+ ;;
+ "-h")
+ usage
+ exit 0
+ ;;
+ *)
+ case "$arg" in
+ "-"*)
+ unknown_option
+ ;;
+ *) # input file/dir - process it
+ input_file "$arg" "$#"
+ ;;
+ esac
+ ;;
+ esac
+done
+
+# If output_file is set we will generate cpio archive and compress it
+# we are careful to delete tmp files
+if [ ! -z ${output_file} ]; then
+ if [ -z ${cpio_file} ]; then
+ timestamp=
+ if test -n "$KBUILD_BUILD_TIMESTAMP"; then
+ timestamp="$(date -d"$KBUILD_BUILD_TIMESTAMP" +%s || :)"
+ if test -n "$timestamp"; then
+ timestamp="-t $timestamp"
+ fi
+ fi
+ cpio_tfile="$(mktemp ${TMPDIR:-/tmp}/cpiofile.XXXXXX)"
+ usr/gen_init_cpio $timestamp ${cpio_list} > ${cpio_tfile}
+ else
+ cpio_tfile=${cpio_file}
+ fi
+ rm ${cpio_list}
+ if [ "${is_cpio_compressed}" = "compressed" ]; then
+ cat ${cpio_tfile} > ${output_file}
+ else
+ (cat ${cpio_tfile} | ${compr} - > ${output_file}) \
+ || (rm -f ${output_file} ; false)
+ fi
+ [ -z ${cpio_file} ] && rm ${cpio_tfile}
+fi
+exit 0
diff --git a/scripts/install.sh b/scripts/install.sh
index 9f0debac9..867a4154f 100755
--- a/scripts/install.sh
+++ b/scripts/install.sh
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
#-
-# Copyright © 2010-2019
+# Copyright © 2010-2023
# Waldemar Brodkorb <wbx@openadk.org>
# Thorsten Glaser <tg@mirbsd.org>
#
@@ -155,7 +155,7 @@ tgt=$2
src=$3
case $target {
-(banana-pro|orange-pi0|pcengines-apu|phytec-imx6|phytec-wega|raspberry-pi|raspberry-pi0|raspberry-pi2|raspberry-pi3|raspberry-pi3-64|raspberry-pi3p|raspberry-pi3p-64|solidrun-imx6|solidrun-clearfog|default) ;;
+(atmel-ngw100|banana-pro|banana-pro-zero|orange-pi0|pcengines-apu|phytec-imx6|phytec-wega|raspberry-pi|raspberry-pi0|raspberry-pi2|raspberry-pi3|raspberry-pi3-64|raspberry-pi4|raspberry-pi4-64|raspberry-pi5|rockpi4-plus|solidrun-imx6|solidrun-clearfog|imgtec-ci20|default) ;;
(*)
print -u2 "Unknown target '$target', exiting"
exit 1 ;;
@@ -178,7 +178,7 @@ case $ostype {
basedev=$tgt
rootpart=${basedev}s1
datapart=${basedev}s2
- if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 || $target = raspberry-pi3p || $target = raspberry-pi3p-64 || $target = phytec-wega ]]; then
+ if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 || $target = raspberry-pi4 || $target = raspberry-pi4-64 || $target = raspberry-pi5 || $target = phytec-wega ]]; then
bootpart=${basedev}s1
rootpart=${basedev}s2
datapart=${basedev}s3
@@ -221,7 +221,13 @@ case $ostype {
;;
(Linux)
basedev=$tgt
- partitionsep=""
+
+ if [[ "$tgt" == *"nvme0n1"* ]] || [[ "$tgt" == *"mmcblk"* ]]; then
+ partitionsep="p"
+ else
+ partitionsep=""
+ fi
+
if [[ $basedev = /dev/loop* ]]; then
(( quiet )) || print "${tgt} is a loop device"
partitionsep=p
@@ -229,7 +235,7 @@ case $ostype {
rootpart=${basedev}${partitionsep}1
datapart=${basedev}${partitionsep}2
- if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 || $target = raspberry-pi3p || $target = raspberry-pi3p-64 ]]; then
+ if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 || $target = raspberry-pi4 || $target = raspberry-pi4-64 || $target = raspberry-pi5 ]]; then
bootpart=${basedev}${partitionsep}1
rootpart=${basedev}${partitionsep}2
datapart=${basedev}${partitionsep}3
@@ -294,7 +300,7 @@ syspartno=0
# data - flexible (parameter)
# system - everything else
-if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 || $target = raspberry-pi3p || $target = raspberry-pi3p-64 || $target = phytec-wega ]]; then
+if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 || $target = raspberry-pi4 || $target = raspberry-pi4-64 || $target = raspberry-pi5 || $target = phytec-wega ]]; then
syspartno=1
bootfssz=100
if (( grub )); then
@@ -351,7 +357,7 @@ fi
#(( partofs = ((coreendsec / secs) + 1) * secs ))
# we just use 2048 all the time, since some loaders are longer
partofs=2048
-if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 || $target = raspberry-pi3p || $target = raspberry-pi3p-64 || $target = phytec-wega ]]; then
+if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 || $target = raspberry-pi4 || $target = raspberry-pi4-64 || $target = raspberry-pi5 || $target = phytec-wega || $target = rockpi4-plus ]]; then
(( spartofs = partofs + (100 * 2048) ))
else
spartofs=$partofs
@@ -462,7 +468,7 @@ if (( datafssz )); then
dd of="$T/firsttrack" conv=notrunc bs=1 seek=$((0x1CE)) 2>/dev/null
fi
-if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 || $target = raspberry-pi3p || $target = raspberry-pi3p-64 || $target = phytec-wega ]]; then
+if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 || $target = raspberry-pi4 || $target = raspberry-pi4-64 || $target = raspberry-pi5 || $target = phytec-wega ]]; then
# move system and data partition from #0/#1 to #1/#2
dd if="$T/firsttrack" bs=1 skip=$((0x1BE)) count=32 of="$T/x" 2>/dev/null
dd of="$T/firsttrack" conv=notrunc bs=1 seek=$((0x1CE)) if="$T/x" 2>/dev/null
@@ -545,7 +551,15 @@ fi
fwdir=$(dirname "$src")
case $target {
-(banana-pro|orange-pi0)
+(rockpi4-plus)
+ dd if="$fwdir/idbloader.img" of="$tgt" bs=512 seek=64 > /dev/null 2>&1
+ dd if="$fwdir/u-boot.itb" of="$tgt" bs=512 seek=16384 > /dev/null 2>&1
+ ;;
+(imgtec-ci20)
+ dd if="$fwdir/u-boot-spl.bin" of="$tgt" obs=512 seek=1 > /dev/null 2>&1
+ dd if="$fwdir/u-boot-dtb.img" of="$tgt" obs=1k seek=14 > /dev/null 2>&1
+ ;;
+(banana-pro|banana-pro-zero|orange-pi0)
dd if="$fwdir/u-boot-sunxi-with-spl.bin" of="$tgt" bs=1024 seek=8 > /dev/null 2>&1
;;
(solidrun-clearfog)
@@ -555,7 +569,7 @@ case $target {
dd if="$fwdir/SPL" of="$tgt" bs=1024 seek=1 > /dev/null 2>&1
dd if="$fwdir/u-boot.img" of="$tgt" bs=1024 seek=69 > /dev/null 2>&1
;;
-(raspberry-pi|raspberry-pi0|raspberry-pi2|raspberry-pi3|raspberry-pi3-64|raspberry-pi3p|raspberry-pi3p-64)
+(raspberry-pi|raspberry-pi0|raspberry-pi2|raspberry-pi3|raspberry-pi3-64|raspberry-pi4|raspberry-pi4-64|raspberry-pi5)
(( noformat )) || create_fs "$bootpart" ADKBOOT vfat
;;
(phytec-wega)
@@ -563,8 +577,15 @@ case $target {
;;
}
-(( noformat )) || create_fs "$rootpart" ADKROOT ext4
-(( noformat )) || tune_fs "$rootpart"
+case $target {
+(atmel-ngw100)
+ (( noformat )) || create_fs "$rootpart" ADKROOT ext2
+ (( noformat )) || tune_fs "$rootpart"
+ ;;
+(*)
+ (( noformat )) || create_fs "$rootpart" ADKROOT ext4
+ (( noformat )) || tune_fs "$rootpart"
+}
(( quiet )) || print Extracting installation archive...
mount_fs "$rootpart" "$R" ext4
@@ -575,10 +596,10 @@ if (( datafssz )); then
((keep)) || create_fs "$datapart" ADKDATA ext4
((keep)) || tune_fs "$datapart"
case $target {
- (raspberry-pi|raspberry-pi0|raspberry-pi2|raspberry-pi3|raspberry-pi3-64|raspberry-pi3p|raspberry-pi3p-64|phytec-wega)
+ (raspberry-pi|raspberry-pi0|raspberry-pi2|raspberry-pi3|raspberry-pi3-64|raspberry-pi4|raspberry-pi4-64|raspberry-pi5|phytec-wega)
echo "/dev/mmcblk0p3 /data ext4 rw 0 0" >> "$R"/etc/fstab
;;
- (banana-pro|orange-pi0|solidrun-clearfog)
+ (banana-pro|orange-pi0|solidrun-clearfog|rockpi4-plus)
echo "/dev/mmcblk0p2 /data ext4 rw 0 0" >> "$R"/etc/fstab
;;
(solidrun-imx6|phytec-imx6)
@@ -597,7 +618,7 @@ fi
(( quiet )) || print Finishing up with bootloader and kernel ...
case $target {
-(raspberry-pi|raspberry-pi0|raspberry-pi2|raspberry-pi3|raspberry-pi3-64|raspberry-pi3p|raspberry-pi3p-64)
+(raspberry-pi|raspberry-pi0|raspberry-pi2|raspberry-pi3|raspberry-pi3-64|raspberry-pi4|raspberry-pi4-64|raspberry-pi5)
mount_fs "$bootpart" "$B" vfat
for x in "$R"/boot/*; do
[[ -e "$x" ]] && mv -f "$R"/boot/* "$B/"
@@ -611,7 +632,11 @@ case $target {
mkdir "$B/"overlays
for x in "$fwdir"/overlays/*.dtbo; do
y=$(basename ${x} .dtbo)
- [[ -e "$x" ]] && cp "$fwdir"/overlays/${y}.dtbo "$B/"overlays/${y}.dtb
+ [[ -e "$x" ]] && cp "$fwdir"/overlays/${y}.dtbo "$B/"overlays/${y}.dtbo
+ done
+ for x in "$fwdir"/overlays/*.dtb; do
+ y=$(basename ${x} .dtb)
+ [[ -e "$x" ]] && cp "$fwdir"/overlays/${y}.dtb "$B/"overlays/${y}.dtb
done
umount_fs "$B"
;;
@@ -627,6 +652,15 @@ case $target {
done
umount_fs "$B"
;;
+(rockpi4-plus)
+ for x in "$fwdir"/*.dtb; do
+ [[ -e "$x" ]] && cp "$fwdir"/*.dtb "$R/boot/"
+ break
+ done
+ mkimage -A arm64 -O linux -T script -C none -a 0 -e 0 \
+ -n "RockPI4-Plus" \
+ -d $fwdir/boot.script.rockpi4 $R/boot/boot.scr.uimg
+ ;;
(solidrun-clearfog)
for x in "$fwdir"/*.dtb; do
[[ -e "$x" ]] && cp "$fwdir"/*.dtb "$R/boot/"
@@ -672,6 +706,15 @@ case $target {
-n "BananaPro" \
-d $fwdir/boot.script.bpi $R/boot/boot.scr.uimg
;;
+(banana-pro-zero)
+ for x in "$fwdir"/*.dtb; do
+ [[ -e "$x" ]] && cp "$fwdir"/*.dtb "$R/boot/"
+ break
+ done
+ mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
+ -n "BananaProZero" \
+ -d $fwdir/boot.script.bpizero $R/boot/boot.scr.uimg
+ ;;
}
cd "$R"
diff --git a/scripts/kflash.py b/scripts/kflash.py
new file mode 100755
index 000000000..b1fe4fcac
--- /dev/null
+++ b/scripts/kflash.py
@@ -0,0 +1,1566 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+from __future__ import (division, print_function)
+
+import sys
+import time
+import zlib
+import copy
+import struct
+import binascii
+import hashlib
+import argparse
+import math
+import zipfile, tempfile
+import json
+import re
+import os
+
+
+class KFlash:
+ print_callback = None
+
+ def __init__(self, print_callback = None):
+ self.killProcess = False
+ self.loader = None
+ KFlash.print_callback = print_callback
+
+ @staticmethod
+ def log(*args, **kwargs):
+ if KFlash.print_callback:
+ KFlash.print_callback(*args, **kwargs)
+ else:
+ print(*args, **kwargs)
+
+ def process(self, terminal=True, dev="", baudrate=1500000, board=None, sram = False, file="", callback=None, noansi=False, terminal_auto_size=False, terminal_size=(50, 1), slow_mode = False, addr=None, length=None):
+ self.killProcess = False
+ BASH_TIPS = dict(NORMAL='\033[0m',BOLD='\033[1m',DIM='\033[2m',UNDERLINE='\033[4m',
+ DEFAULT='\033[0m', RED='\033[31m', YELLOW='\033[33m', GREEN='\033[32m',
+ BG_DEFAULT='\033[49m', BG_WHITE='\033[107m')
+
+ ERROR_MSG = BASH_TIPS['RED']+BASH_TIPS['BOLD']+'[ERROR]'+BASH_TIPS['NORMAL']
+ WARN_MSG = BASH_TIPS['YELLOW']+BASH_TIPS['BOLD']+'[WARN]'+BASH_TIPS['NORMAL']
+ INFO_MSG = BASH_TIPS['GREEN']+BASH_TIPS['BOLD']+'[INFO]'+BASH_TIPS['NORMAL']
+
+ VID_LIST_FOR_AUTO_LOOKUP = "(1A86)|(0403)|(067B)|(10C4)|(C251)|(0403)"
+ # WCH FTDI PL CL DAP OPENEC
+ ISP_RECEIVE_TIMEOUT = 0.5
+
+ MAX_RETRY_TIMES = 10
+
+ ISP_FLASH_SECTOR_SIZE = 4096
+ ISP_FLASH_DATA_FRAME_SIZE = ISP_FLASH_SECTOR_SIZE * 16
+
+ def tuple2str(t):
+ ret = ""
+ for i in t:
+ ret += i+" "
+ return ret
+
+ def raise_exception(exception):
+ if self.loader:
+ try:
+ self.loader._port.close()
+ except Exception:
+ pass
+ raise exception
+
+ try:
+ from enum import Enum
+ except ImportError:
+ err = (ERROR_MSG,'enum34 must be installed, run '+BASH_TIPS['GREEN']+'`' + ('pip', 'pip3')[sys.version_info > (3, 0)] + ' install enum34`',BASH_TIPS['DEFAULT'])
+ err = tuple2str(err)
+ raise Exception(err)
+ try:
+ import serial
+ import serial.tools.list_ports
+ except ImportError:
+ err = (ERROR_MSG,'PySerial must be installed, run '+BASH_TIPS['GREEN']+'`' + ('pip', 'pip3')[sys.version_info > (3, 0)] + ' install pyserial`',BASH_TIPS['DEFAULT'])
+ err = tuple2str(err)
+ raise Exception(err)
+
+ class TimeoutError(Exception): pass
+
+ class ProgramFileFormat(Enum):
+ FMT_BINARY = 0
+ FMT_ELF = 1
+ FMT_KFPKG = 2
+
+ # AES is from: https://github.com/ricmoo/pyaes, Copyright by Richard Moore
+ class AES:
+ '''Encapsulates the AES block cipher.
+ You generally should not need this. Use the AESModeOfOperation classes
+ below instead.'''
+ @staticmethod
+ def _compact_word(word):
+ return (word[0] << 24) | (word[1] << 16) | (word[2] << 8) | word[3]
+
+ # Number of rounds by keysize
+ number_of_rounds = {16: 10, 24: 12, 32: 14}
+
+ # Round constant words
+ rcon = [ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91 ]
+
+ # S-box and Inverse S-box (S is for Substitution)
+ S = [ 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16 ]
+ Si =[ 0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d ]
+
+ # Transformations for encryption
+ T1 = [ 0xc66363a5, 0xf87c7c84, 0xee777799, 0xf67b7b8d, 0xfff2f20d, 0xd66b6bbd, 0xde6f6fb1, 0x91c5c554, 0x60303050, 0x02010103, 0xce6767a9, 0x562b2b7d, 0xe7fefe19, 0xb5d7d762, 0x4dababe6, 0xec76769a, 0x8fcaca45, 0x1f82829d, 0x89c9c940, 0xfa7d7d87, 0xeffafa15, 0xb25959eb, 0x8e4747c9, 0xfbf0f00b, 0x41adadec, 0xb3d4d467, 0x5fa2a2fd, 0x45afafea, 0x239c9cbf, 0x53a4a4f7, 0xe4727296, 0x9bc0c05b, 0x75b7b7c2, 0xe1fdfd1c, 0x3d9393ae, 0x4c26266a, 0x6c36365a, 0x7e3f3f41, 0xf5f7f702, 0x83cccc4f, 0x6834345c, 0x51a5a5f4, 0xd1e5e534, 0xf9f1f108, 0xe2717193, 0xabd8d873, 0x62313153, 0x2a15153f, 0x0804040c, 0x95c7c752, 0x46232365, 0x9dc3c35e, 0x30181828, 0x379696a1, 0x0a05050f, 0x2f9a9ab5, 0x0e070709, 0x24121236, 0x1b80809b, 0xdfe2e23d, 0xcdebeb26, 0x4e272769, 0x7fb2b2cd, 0xea75759f, 0x1209091b, 0x1d83839e, 0x582c2c74, 0x341a1a2e, 0x361b1b2d, 0xdc6e6eb2, 0xb45a5aee, 0x5ba0a0fb, 0xa45252f6, 0x763b3b4d, 0xb7d6d661, 0x7db3b3ce, 0x5229297b, 0xdde3e33e, 0x5e2f2f71, 0x13848497, 0xa65353f5, 0xb9d1d168, 0x00000000, 0xc1eded2c, 0x40202060, 0xe3fcfc1f, 0x79b1b1c8, 0xb65b5bed, 0xd46a6abe, 0x8dcbcb46, 0x67bebed9, 0x7239394b, 0x944a4ade, 0x984c4cd4, 0xb05858e8, 0x85cfcf4a, 0xbbd0d06b, 0xc5efef2a, 0x4faaaae5, 0xedfbfb16, 0x864343c5, 0x9a4d4dd7, 0x66333355, 0x11858594, 0x8a4545cf, 0xe9f9f910, 0x04020206, 0xfe7f7f81, 0xa05050f0, 0x783c3c44, 0x259f9fba, 0x4ba8a8e3, 0xa25151f3, 0x5da3a3fe, 0x804040c0, 0x058f8f8a, 0x3f9292ad, 0x219d9dbc, 0x70383848, 0xf1f5f504, 0x63bcbcdf, 0x77b6b6c1, 0xafdada75, 0x42212163, 0x20101030, 0xe5ffff1a, 0xfdf3f30e, 0xbfd2d26d, 0x81cdcd4c, 0x180c0c14, 0x26131335, 0xc3ecec2f, 0xbe5f5fe1, 0x359797a2, 0x884444cc, 0x2e171739, 0x93c4c457, 0x55a7a7f2, 0xfc7e7e82, 0x7a3d3d47, 0xc86464ac, 0xba5d5de7, 0x3219192b, 0xe6737395, 0xc06060a0, 0x19818198, 0x9e4f4fd1, 0xa3dcdc7f, 0x44222266, 0x542a2a7e, 0x3b9090ab, 0x0b888883, 0x8c4646ca, 0xc7eeee29, 0x6bb8b8d3, 0x2814143c, 0xa7dede79, 0xbc5e5ee2, 0x160b0b1d, 0xaddbdb76, 0xdbe0e03b, 0x64323256, 0x743a3a4e, 0x140a0a1e, 0x924949db, 0x0c06060a, 0x4824246c, 0xb85c5ce4, 0x9fc2c25d, 0xbdd3d36e, 0x43acacef, 0xc46262a6, 0x399191a8, 0x319595a4, 0xd3e4e437, 0xf279798b, 0xd5e7e732, 0x8bc8c843, 0x6e373759, 0xda6d6db7, 0x018d8d8c, 0xb1d5d564, 0x9c4e4ed2, 0x49a9a9e0, 0xd86c6cb4, 0xac5656fa, 0xf3f4f407, 0xcfeaea25, 0xca6565af, 0xf47a7a8e, 0x47aeaee9, 0x10080818, 0x6fbabad5, 0xf0787888, 0x4a25256f, 0x5c2e2e72, 0x381c1c24, 0x57a6a6f1, 0x73b4b4c7, 0x97c6c651, 0xcbe8e823, 0xa1dddd7c, 0xe874749c, 0x3e1f1f21, 0x964b4bdd, 0x61bdbddc, 0x0d8b8b86, 0x0f8a8a85, 0xe0707090, 0x7c3e3e42, 0x71b5b5c4, 0xcc6666aa, 0x904848d8, 0x06030305, 0xf7f6f601, 0x1c0e0e12, 0xc26161a3, 0x6a35355f, 0xae5757f9, 0x69b9b9d0, 0x17868691, 0x99c1c158, 0x3a1d1d27, 0x279e9eb9, 0xd9e1e138, 0xebf8f813, 0x2b9898b3, 0x22111133, 0xd26969bb, 0xa9d9d970, 0x078e8e89, 0x339494a7, 0x2d9b9bb6, 0x3c1e1e22, 0x15878792, 0xc9e9e920, 0x87cece49, 0xaa5555ff, 0x50282878, 0xa5dfdf7a, 0x038c8c8f, 0x59a1a1f8, 0x09898980, 0x1a0d0d17, 0x65bfbfda, 0xd7e6e631, 0x844242c6, 0xd06868b8, 0x824141c3, 0x299999b0, 0x5a2d2d77, 0x1e0f0f11, 0x7bb0b0cb, 0xa85454fc, 0x6dbbbbd6, 0x2c16163a ]
+ T2 = [ 0xa5c66363, 0x84f87c7c, 0x99ee7777, 0x8df67b7b, 0x0dfff2f2, 0xbdd66b6b, 0xb1de6f6f, 0x5491c5c5, 0x50603030, 0x03020101, 0xa9ce6767, 0x7d562b2b, 0x19e7fefe, 0x62b5d7d7, 0xe64dabab, 0x9aec7676, 0x458fcaca, 0x9d1f8282, 0x4089c9c9, 0x87fa7d7d, 0x15effafa, 0xebb25959, 0xc98e4747, 0x0bfbf0f0, 0xec41adad, 0x67b3d4d4, 0xfd5fa2a2, 0xea45afaf, 0xbf239c9c, 0xf753a4a4, 0x96e47272, 0x5b9bc0c0, 0xc275b7b7, 0x1ce1fdfd, 0xae3d9393, 0x6a4c2626, 0x5a6c3636, 0x417e3f3f, 0x02f5f7f7, 0x4f83cccc, 0x5c683434, 0xf451a5a5, 0x34d1e5e5, 0x08f9f1f1, 0x93e27171, 0x73abd8d8, 0x53623131, 0x3f2a1515, 0x0c080404, 0x5295c7c7, 0x65462323, 0x5e9dc3c3, 0x28301818, 0xa1379696, 0x0f0a0505, 0xb52f9a9a, 0x090e0707, 0x36241212, 0x9b1b8080, 0x3ddfe2e2, 0x26cdebeb, 0x694e2727, 0xcd7fb2b2, 0x9fea7575, 0x1b120909, 0x9e1d8383, 0x74582c2c, 0x2e341a1a, 0x2d361b1b, 0xb2dc6e6e, 0xeeb45a5a, 0xfb5ba0a0, 0xf6a45252, 0x4d763b3b, 0x61b7d6d6, 0xce7db3b3, 0x7b522929, 0x3edde3e3, 0x715e2f2f, 0x97138484, 0xf5a65353, 0x68b9d1d1, 0x00000000, 0x2cc1eded, 0x60402020, 0x1fe3fcfc, 0xc879b1b1, 0xedb65b5b, 0xbed46a6a, 0x468dcbcb, 0xd967bebe, 0x4b723939, 0xde944a4a, 0xd4984c4c, 0xe8b05858, 0x4a85cfcf, 0x6bbbd0d0, 0x2ac5efef, 0xe54faaaa, 0x16edfbfb, 0xc5864343, 0xd79a4d4d, 0x55663333, 0x94118585, 0xcf8a4545, 0x10e9f9f9, 0x06040202, 0x81fe7f7f, 0xf0a05050, 0x44783c3c, 0xba259f9f, 0xe34ba8a8, 0xf3a25151, 0xfe5da3a3, 0xc0804040, 0x8a058f8f, 0xad3f9292, 0xbc219d9d, 0x48703838, 0x04f1f5f5, 0xdf63bcbc, 0xc177b6b6, 0x75afdada, 0x63422121, 0x30201010, 0x1ae5ffff, 0x0efdf3f3, 0x6dbfd2d2, 0x4c81cdcd, 0x14180c0c, 0x35261313, 0x2fc3ecec, 0xe1be5f5f, 0xa2359797, 0xcc884444, 0x392e1717, 0x5793c4c4, 0xf255a7a7, 0x82fc7e7e, 0x477a3d3d, 0xacc86464, 0xe7ba5d5d, 0x2b321919, 0x95e67373, 0xa0c06060, 0x98198181, 0xd19e4f4f, 0x7fa3dcdc, 0x66442222, 0x7e542a2a, 0xab3b9090, 0x830b8888, 0xca8c4646, 0x29c7eeee, 0xd36bb8b8, 0x3c281414, 0x79a7dede, 0xe2bc5e5e, 0x1d160b0b, 0x76addbdb, 0x3bdbe0e0, 0x56643232, 0x4e743a3a, 0x1e140a0a, 0xdb924949, 0x0a0c0606, 0x6c482424, 0xe4b85c5c, 0x5d9fc2c2, 0x6ebdd3d3, 0xef43acac, 0xa6c46262, 0xa8399191, 0xa4319595, 0x37d3e4e4, 0x8bf27979, 0x32d5e7e7, 0x438bc8c8, 0x596e3737, 0xb7da6d6d, 0x8c018d8d, 0x64b1d5d5, 0xd29c4e4e, 0xe049a9a9, 0xb4d86c6c, 0xfaac5656, 0x07f3f4f4, 0x25cfeaea, 0xafca6565, 0x8ef47a7a, 0xe947aeae, 0x18100808, 0xd56fbaba, 0x88f07878, 0x6f4a2525, 0x725c2e2e, 0x24381c1c, 0xf157a6a6, 0xc773b4b4, 0x5197c6c6, 0x23cbe8e8, 0x7ca1dddd, 0x9ce87474, 0x213e1f1f, 0xdd964b4b, 0xdc61bdbd, 0x860d8b8b, 0x850f8a8a, 0x90e07070, 0x427c3e3e, 0xc471b5b5, 0xaacc6666, 0xd8904848, 0x05060303, 0x01f7f6f6, 0x121c0e0e, 0xa3c26161, 0x5f6a3535, 0xf9ae5757, 0xd069b9b9, 0x91178686, 0x5899c1c1, 0x273a1d1d, 0xb9279e9e, 0x38d9e1e1, 0x13ebf8f8, 0xb32b9898, 0x33221111, 0xbbd26969, 0x70a9d9d9, 0x89078e8e, 0xa7339494, 0xb62d9b9b, 0x223c1e1e, 0x92158787, 0x20c9e9e9, 0x4987cece, 0xffaa5555, 0x78502828, 0x7aa5dfdf, 0x8f038c8c, 0xf859a1a1, 0x80098989, 0x171a0d0d, 0xda65bfbf, 0x31d7e6e6, 0xc6844242, 0xb8d06868, 0xc3824141, 0xb0299999, 0x775a2d2d, 0x111e0f0f, 0xcb7bb0b0, 0xfca85454, 0xd66dbbbb, 0x3a2c1616 ]
+ T3 = [ 0x63a5c663, 0x7c84f87c, 0x7799ee77, 0x7b8df67b, 0xf20dfff2, 0x6bbdd66b, 0x6fb1de6f, 0xc55491c5, 0x30506030, 0x01030201, 0x67a9ce67, 0x2b7d562b, 0xfe19e7fe, 0xd762b5d7, 0xabe64dab, 0x769aec76, 0xca458fca, 0x829d1f82, 0xc94089c9, 0x7d87fa7d, 0xfa15effa, 0x59ebb259, 0x47c98e47, 0xf00bfbf0, 0xadec41ad, 0xd467b3d4, 0xa2fd5fa2, 0xafea45af, 0x9cbf239c, 0xa4f753a4, 0x7296e472, 0xc05b9bc0, 0xb7c275b7, 0xfd1ce1fd, 0x93ae3d93, 0x266a4c26, 0x365a6c36, 0x3f417e3f, 0xf702f5f7, 0xcc4f83cc, 0x345c6834, 0xa5f451a5, 0xe534d1e5, 0xf108f9f1, 0x7193e271, 0xd873abd8, 0x31536231, 0x153f2a15, 0x040c0804, 0xc75295c7, 0x23654623, 0xc35e9dc3, 0x18283018, 0x96a13796, 0x050f0a05, 0x9ab52f9a, 0x07090e07, 0x12362412, 0x809b1b80, 0xe23ddfe2, 0xeb26cdeb, 0x27694e27, 0xb2cd7fb2, 0x759fea75, 0x091b1209, 0x839e1d83, 0x2c74582c, 0x1a2e341a, 0x1b2d361b, 0x6eb2dc6e, 0x5aeeb45a, 0xa0fb5ba0, 0x52f6a452, 0x3b4d763b, 0xd661b7d6, 0xb3ce7db3, 0x297b5229, 0xe33edde3, 0x2f715e2f, 0x84971384, 0x53f5a653, 0xd168b9d1, 0x00000000, 0xed2cc1ed, 0x20604020, 0xfc1fe3fc, 0xb1c879b1, 0x5bedb65b, 0x6abed46a, 0xcb468dcb, 0xbed967be, 0x394b7239, 0x4ade944a, 0x4cd4984c, 0x58e8b058, 0xcf4a85cf, 0xd06bbbd0, 0xef2ac5ef, 0xaae54faa, 0xfb16edfb, 0x43c58643, 0x4dd79a4d, 0x33556633, 0x85941185, 0x45cf8a45, 0xf910e9f9, 0x02060402, 0x7f81fe7f, 0x50f0a050, 0x3c44783c, 0x9fba259f, 0xa8e34ba8, 0x51f3a251, 0xa3fe5da3, 0x40c08040, 0x8f8a058f, 0x92ad3f92, 0x9dbc219d, 0x38487038, 0xf504f1f5, 0xbcdf63bc, 0xb6c177b6, 0xda75afda, 0x21634221, 0x10302010, 0xff1ae5ff, 0xf30efdf3, 0xd26dbfd2, 0xcd4c81cd, 0x0c14180c, 0x13352613, 0xec2fc3ec, 0x5fe1be5f, 0x97a23597, 0x44cc8844, 0x17392e17, 0xc45793c4, 0xa7f255a7, 0x7e82fc7e, 0x3d477a3d, 0x64acc864, 0x5de7ba5d, 0x192b3219, 0x7395e673, 0x60a0c060, 0x81981981, 0x4fd19e4f, 0xdc7fa3dc, 0x22664422, 0x2a7e542a, 0x90ab3b90, 0x88830b88, 0x46ca8c46, 0xee29c7ee, 0xb8d36bb8, 0x143c2814, 0xde79a7de, 0x5ee2bc5e, 0x0b1d160b, 0xdb76addb, 0xe03bdbe0, 0x32566432, 0x3a4e743a, 0x0a1e140a, 0x49db9249, 0x060a0c06, 0x246c4824, 0x5ce4b85c, 0xc25d9fc2, 0xd36ebdd3, 0xacef43ac, 0x62a6c462, 0x91a83991, 0x95a43195, 0xe437d3e4, 0x798bf279, 0xe732d5e7, 0xc8438bc8, 0x37596e37, 0x6db7da6d, 0x8d8c018d, 0xd564b1d5, 0x4ed29c4e, 0xa9e049a9, 0x6cb4d86c, 0x56faac56, 0xf407f3f4, 0xea25cfea, 0x65afca65, 0x7a8ef47a, 0xaee947ae, 0x08181008, 0xbad56fba, 0x7888f078, 0x256f4a25, 0x2e725c2e, 0x1c24381c, 0xa6f157a6, 0xb4c773b4, 0xc65197c6, 0xe823cbe8, 0xdd7ca1dd, 0x749ce874, 0x1f213e1f, 0x4bdd964b, 0xbddc61bd, 0x8b860d8b, 0x8a850f8a, 0x7090e070, 0x3e427c3e, 0xb5c471b5, 0x66aacc66, 0x48d89048, 0x03050603, 0xf601f7f6, 0x0e121c0e, 0x61a3c261, 0x355f6a35, 0x57f9ae57, 0xb9d069b9, 0x86911786, 0xc15899c1, 0x1d273a1d, 0x9eb9279e, 0xe138d9e1, 0xf813ebf8, 0x98b32b98, 0x11332211, 0x69bbd269, 0xd970a9d9, 0x8e89078e, 0x94a73394, 0x9bb62d9b, 0x1e223c1e, 0x87921587, 0xe920c9e9, 0xce4987ce, 0x55ffaa55, 0x28785028, 0xdf7aa5df, 0x8c8f038c, 0xa1f859a1, 0x89800989, 0x0d171a0d, 0xbfda65bf, 0xe631d7e6, 0x42c68442, 0x68b8d068, 0x41c38241, 0x99b02999, 0x2d775a2d, 0x0f111e0f, 0xb0cb7bb0, 0x54fca854, 0xbbd66dbb, 0x163a2c16 ]
+ T4 = [ 0x6363a5c6, 0x7c7c84f8, 0x777799ee, 0x7b7b8df6, 0xf2f20dff, 0x6b6bbdd6, 0x6f6fb1de, 0xc5c55491, 0x30305060, 0x01010302, 0x6767a9ce, 0x2b2b7d56, 0xfefe19e7, 0xd7d762b5, 0xababe64d, 0x76769aec, 0xcaca458f, 0x82829d1f, 0xc9c94089, 0x7d7d87fa, 0xfafa15ef, 0x5959ebb2, 0x4747c98e, 0xf0f00bfb, 0xadadec41, 0xd4d467b3, 0xa2a2fd5f, 0xafafea45, 0x9c9cbf23, 0xa4a4f753, 0x727296e4, 0xc0c05b9b, 0xb7b7c275, 0xfdfd1ce1, 0x9393ae3d, 0x26266a4c, 0x36365a6c, 0x3f3f417e, 0xf7f702f5, 0xcccc4f83, 0x34345c68, 0xa5a5f451, 0xe5e534d1, 0xf1f108f9, 0x717193e2, 0xd8d873ab, 0x31315362, 0x15153f2a, 0x04040c08, 0xc7c75295, 0x23236546, 0xc3c35e9d, 0x18182830, 0x9696a137, 0x05050f0a, 0x9a9ab52f, 0x0707090e, 0x12123624, 0x80809b1b, 0xe2e23ddf, 0xebeb26cd, 0x2727694e, 0xb2b2cd7f, 0x75759fea, 0x09091b12, 0x83839e1d, 0x2c2c7458, 0x1a1a2e34, 0x1b1b2d36, 0x6e6eb2dc, 0x5a5aeeb4, 0xa0a0fb5b, 0x5252f6a4, 0x3b3b4d76, 0xd6d661b7, 0xb3b3ce7d, 0x29297b52, 0xe3e33edd, 0x2f2f715e, 0x84849713, 0x5353f5a6, 0xd1d168b9, 0x00000000, 0xeded2cc1, 0x20206040, 0xfcfc1fe3, 0xb1b1c879, 0x5b5bedb6, 0x6a6abed4, 0xcbcb468d, 0xbebed967, 0x39394b72, 0x4a4ade94, 0x4c4cd498, 0x5858e8b0, 0xcfcf4a85, 0xd0d06bbb, 0xefef2ac5, 0xaaaae54f, 0xfbfb16ed, 0x4343c586, 0x4d4dd79a, 0x33335566, 0x85859411, 0x4545cf8a, 0xf9f910e9, 0x02020604, 0x7f7f81fe, 0x5050f0a0, 0x3c3c4478, 0x9f9fba25, 0xa8a8e34b, 0x5151f3a2, 0xa3a3fe5d, 0x4040c080, 0x8f8f8a05, 0x9292ad3f, 0x9d9dbc21, 0x38384870, 0xf5f504f1, 0xbcbcdf63, 0xb6b6c177, 0xdada75af, 0x21216342, 0x10103020, 0xffff1ae5, 0xf3f30efd, 0xd2d26dbf, 0xcdcd4c81, 0x0c0c1418, 0x13133526, 0xecec2fc3, 0x5f5fe1be, 0x9797a235, 0x4444cc88, 0x1717392e, 0xc4c45793, 0xa7a7f255, 0x7e7e82fc, 0x3d3d477a, 0x6464acc8, 0x5d5de7ba, 0x19192b32, 0x737395e6, 0x6060a0c0, 0x81819819, 0x4f4fd19e, 0xdcdc7fa3, 0x22226644, 0x2a2a7e54, 0x9090ab3b, 0x8888830b, 0x4646ca8c, 0xeeee29c7, 0xb8b8d36b, 0x14143c28, 0xdede79a7, 0x5e5ee2bc, 0x0b0b1d16, 0xdbdb76ad, 0xe0e03bdb, 0x32325664, 0x3a3a4e74, 0x0a0a1e14, 0x4949db92, 0x06060a0c, 0x24246c48, 0x5c5ce4b8, 0xc2c25d9f, 0xd3d36ebd, 0xacacef43, 0x6262a6c4, 0x9191a839, 0x9595a431, 0xe4e437d3, 0x79798bf2, 0xe7e732d5, 0xc8c8438b, 0x3737596e, 0x6d6db7da, 0x8d8d8c01, 0xd5d564b1, 0x4e4ed29c, 0xa9a9e049, 0x6c6cb4d8, 0x5656faac, 0xf4f407f3, 0xeaea25cf, 0x6565afca, 0x7a7a8ef4, 0xaeaee947, 0x08081810, 0xbabad56f, 0x787888f0, 0x25256f4a, 0x2e2e725c, 0x1c1c2438, 0xa6a6f157, 0xb4b4c773, 0xc6c65197, 0xe8e823cb, 0xdddd7ca1, 0x74749ce8, 0x1f1f213e, 0x4b4bdd96, 0xbdbddc61, 0x8b8b860d, 0x8a8a850f, 0x707090e0, 0x3e3e427c, 0xb5b5c471, 0x6666aacc, 0x4848d890, 0x03030506, 0xf6f601f7, 0x0e0e121c, 0x6161a3c2, 0x35355f6a, 0x5757f9ae, 0xb9b9d069, 0x86869117, 0xc1c15899, 0x1d1d273a, 0x9e9eb927, 0xe1e138d9, 0xf8f813eb, 0x9898b32b, 0x11113322, 0x6969bbd2, 0xd9d970a9, 0x8e8e8907, 0x9494a733, 0x9b9bb62d, 0x1e1e223c, 0x87879215, 0xe9e920c9, 0xcece4987, 0x5555ffaa, 0x28287850, 0xdfdf7aa5, 0x8c8c8f03, 0xa1a1f859, 0x89898009, 0x0d0d171a, 0xbfbfda65, 0xe6e631d7, 0x4242c684, 0x6868b8d0, 0x4141c382, 0x9999b029, 0x2d2d775a, 0x0f0f111e, 0xb0b0cb7b, 0x5454fca8, 0xbbbbd66d, 0x16163a2c ]
+
+ # Transformations for decryption
+ T5 = [ 0x51f4a750, 0x7e416553, 0x1a17a4c3, 0x3a275e96, 0x3bab6bcb, 0x1f9d45f1, 0xacfa58ab, 0x4be30393, 0x2030fa55, 0xad766df6, 0x88cc7691, 0xf5024c25, 0x4fe5d7fc, 0xc52acbd7, 0x26354480, 0xb562a38f, 0xdeb15a49, 0x25ba1b67, 0x45ea0e98, 0x5dfec0e1, 0xc32f7502, 0x814cf012, 0x8d4697a3, 0x6bd3f9c6, 0x038f5fe7, 0x15929c95, 0xbf6d7aeb, 0x955259da, 0xd4be832d, 0x587421d3, 0x49e06929, 0x8ec9c844, 0x75c2896a, 0xf48e7978, 0x99583e6b, 0x27b971dd, 0xbee14fb6, 0xf088ad17, 0xc920ac66, 0x7dce3ab4, 0x63df4a18, 0xe51a3182, 0x97513360, 0x62537f45, 0xb16477e0, 0xbb6bae84, 0xfe81a01c, 0xf9082b94, 0x70486858, 0x8f45fd19, 0x94de6c87, 0x527bf8b7, 0xab73d323, 0x724b02e2, 0xe31f8f57, 0x6655ab2a, 0xb2eb2807, 0x2fb5c203, 0x86c57b9a, 0xd33708a5, 0x302887f2, 0x23bfa5b2, 0x02036aba, 0xed16825c, 0x8acf1c2b, 0xa779b492, 0xf307f2f0, 0x4e69e2a1, 0x65daf4cd, 0x0605bed5, 0xd134621f, 0xc4a6fe8a, 0x342e539d, 0xa2f355a0, 0x058ae132, 0xa4f6eb75, 0x0b83ec39, 0x4060efaa, 0x5e719f06, 0xbd6e1051, 0x3e218af9, 0x96dd063d, 0xdd3e05ae, 0x4de6bd46, 0x91548db5, 0x71c45d05, 0x0406d46f, 0x605015ff, 0x1998fb24, 0xd6bde997, 0x894043cc, 0x67d99e77, 0xb0e842bd, 0x07898b88, 0xe7195b38, 0x79c8eedb, 0xa17c0a47, 0x7c420fe9, 0xf8841ec9, 0x00000000, 0x09808683, 0x322bed48, 0x1e1170ac, 0x6c5a724e, 0xfd0efffb, 0x0f853856, 0x3daed51e, 0x362d3927, 0x0a0fd964, 0x685ca621, 0x9b5b54d1, 0x24362e3a, 0x0c0a67b1, 0x9357e70f, 0xb4ee96d2, 0x1b9b919e, 0x80c0c54f, 0x61dc20a2, 0x5a774b69, 0x1c121a16, 0xe293ba0a, 0xc0a02ae5, 0x3c22e043, 0x121b171d, 0x0e090d0b, 0xf28bc7ad, 0x2db6a8b9, 0x141ea9c8, 0x57f11985, 0xaf75074c, 0xee99ddbb, 0xa37f60fd, 0xf701269f, 0x5c72f5bc, 0x44663bc5, 0x5bfb7e34, 0x8b432976, 0xcb23c6dc, 0xb6edfc68, 0xb8e4f163, 0xd731dcca, 0x42638510, 0x13972240, 0x84c61120, 0x854a247d, 0xd2bb3df8, 0xaef93211, 0xc729a16d, 0x1d9e2f4b, 0xdcb230f3, 0x0d8652ec, 0x77c1e3d0, 0x2bb3166c, 0xa970b999, 0x119448fa, 0x47e96422, 0xa8fc8cc4, 0xa0f03f1a, 0x567d2cd8, 0x223390ef, 0x87494ec7, 0xd938d1c1, 0x8ccaa2fe, 0x98d40b36, 0xa6f581cf, 0xa57ade28, 0xdab78e26, 0x3fadbfa4, 0x2c3a9de4, 0x5078920d, 0x6a5fcc9b, 0x547e4662, 0xf68d13c2, 0x90d8b8e8, 0x2e39f75e, 0x82c3aff5, 0x9f5d80be, 0x69d0937c, 0x6fd52da9, 0xcf2512b3, 0xc8ac993b, 0x10187da7, 0xe89c636e, 0xdb3bbb7b, 0xcd267809, 0x6e5918f4, 0xec9ab701, 0x834f9aa8, 0xe6956e65, 0xaaffe67e, 0x21bccf08, 0xef15e8e6, 0xbae79bd9, 0x4a6f36ce, 0xea9f09d4, 0x29b07cd6, 0x31a4b2af, 0x2a3f2331, 0xc6a59430, 0x35a266c0, 0x744ebc37, 0xfc82caa6, 0xe090d0b0, 0x33a7d815, 0xf104984a, 0x41ecdaf7, 0x7fcd500e, 0x1791f62f, 0x764dd68d, 0x43efb04d, 0xccaa4d54, 0xe49604df, 0x9ed1b5e3, 0x4c6a881b, 0xc12c1fb8, 0x4665517f, 0x9d5eea04, 0x018c355d, 0xfa877473, 0xfb0b412e, 0xb3671d5a, 0x92dbd252, 0xe9105633, 0x6dd64713, 0x9ad7618c, 0x37a10c7a, 0x59f8148e, 0xeb133c89, 0xcea927ee, 0xb761c935, 0xe11ce5ed, 0x7a47b13c, 0x9cd2df59, 0x55f2733f, 0x1814ce79, 0x73c737bf, 0x53f7cdea, 0x5ffdaa5b, 0xdf3d6f14, 0x7844db86, 0xcaaff381, 0xb968c43e, 0x3824342c, 0xc2a3405f, 0x161dc372, 0xbce2250c, 0x283c498b, 0xff0d9541, 0x39a80171, 0x080cb3de, 0xd8b4e49c, 0x6456c190, 0x7bcb8461, 0xd532b670, 0x486c5c74, 0xd0b85742 ]
+ T6 = [ 0x5051f4a7, 0x537e4165, 0xc31a17a4, 0x963a275e, 0xcb3bab6b, 0xf11f9d45, 0xabacfa58, 0x934be303, 0x552030fa, 0xf6ad766d, 0x9188cc76, 0x25f5024c, 0xfc4fe5d7, 0xd7c52acb, 0x80263544, 0x8fb562a3, 0x49deb15a, 0x6725ba1b, 0x9845ea0e, 0xe15dfec0, 0x02c32f75, 0x12814cf0, 0xa38d4697, 0xc66bd3f9, 0xe7038f5f, 0x9515929c, 0xebbf6d7a, 0xda955259, 0x2dd4be83, 0xd3587421, 0x2949e069, 0x448ec9c8, 0x6a75c289, 0x78f48e79, 0x6b99583e, 0xdd27b971, 0xb6bee14f, 0x17f088ad, 0x66c920ac, 0xb47dce3a, 0x1863df4a, 0x82e51a31, 0x60975133, 0x4562537f, 0xe0b16477, 0x84bb6bae, 0x1cfe81a0, 0x94f9082b, 0x58704868, 0x198f45fd, 0x8794de6c, 0xb7527bf8, 0x23ab73d3, 0xe2724b02, 0x57e31f8f, 0x2a6655ab, 0x07b2eb28, 0x032fb5c2, 0x9a86c57b, 0xa5d33708, 0xf2302887, 0xb223bfa5, 0xba02036a, 0x5ced1682, 0x2b8acf1c, 0x92a779b4, 0xf0f307f2, 0xa14e69e2, 0xcd65daf4, 0xd50605be, 0x1fd13462, 0x8ac4a6fe, 0x9d342e53, 0xa0a2f355, 0x32058ae1, 0x75a4f6eb, 0x390b83ec, 0xaa4060ef, 0x065e719f, 0x51bd6e10, 0xf93e218a, 0x3d96dd06, 0xaedd3e05, 0x464de6bd, 0xb591548d, 0x0571c45d, 0x6f0406d4, 0xff605015, 0x241998fb, 0x97d6bde9, 0xcc894043, 0x7767d99e, 0xbdb0e842, 0x8807898b, 0x38e7195b, 0xdb79c8ee, 0x47a17c0a, 0xe97c420f, 0xc9f8841e, 0x00000000, 0x83098086, 0x48322bed, 0xac1e1170, 0x4e6c5a72, 0xfbfd0eff, 0x560f8538, 0x1e3daed5, 0x27362d39, 0x640a0fd9, 0x21685ca6, 0xd19b5b54, 0x3a24362e, 0xb10c0a67, 0x0f9357e7, 0xd2b4ee96, 0x9e1b9b91, 0x4f80c0c5, 0xa261dc20, 0x695a774b, 0x161c121a, 0x0ae293ba, 0xe5c0a02a, 0x433c22e0, 0x1d121b17, 0x0b0e090d, 0xadf28bc7, 0xb92db6a8, 0xc8141ea9, 0x8557f119, 0x4caf7507, 0xbbee99dd, 0xfda37f60, 0x9ff70126, 0xbc5c72f5, 0xc544663b, 0x345bfb7e, 0x768b4329, 0xdccb23c6, 0x68b6edfc, 0x63b8e4f1, 0xcad731dc, 0x10426385, 0x40139722, 0x2084c611, 0x7d854a24, 0xf8d2bb3d, 0x11aef932, 0x6dc729a1, 0x4b1d9e2f, 0xf3dcb230, 0xec0d8652, 0xd077c1e3, 0x6c2bb316, 0x99a970b9, 0xfa119448, 0x2247e964, 0xc4a8fc8c, 0x1aa0f03f, 0xd8567d2c, 0xef223390, 0xc787494e, 0xc1d938d1, 0xfe8ccaa2, 0x3698d40b, 0xcfa6f581, 0x28a57ade, 0x26dab78e, 0xa43fadbf, 0xe42c3a9d, 0x0d507892, 0x9b6a5fcc, 0x62547e46, 0xc2f68d13, 0xe890d8b8, 0x5e2e39f7, 0xf582c3af, 0xbe9f5d80, 0x7c69d093, 0xa96fd52d, 0xb3cf2512, 0x3bc8ac99, 0xa710187d, 0x6ee89c63, 0x7bdb3bbb, 0x09cd2678, 0xf46e5918, 0x01ec9ab7, 0xa8834f9a, 0x65e6956e, 0x7eaaffe6, 0x0821bccf, 0xe6ef15e8, 0xd9bae79b, 0xce4a6f36, 0xd4ea9f09, 0xd629b07c, 0xaf31a4b2, 0x312a3f23, 0x30c6a594, 0xc035a266, 0x37744ebc, 0xa6fc82ca, 0xb0e090d0, 0x1533a7d8, 0x4af10498, 0xf741ecda, 0x0e7fcd50, 0x2f1791f6, 0x8d764dd6, 0x4d43efb0, 0x54ccaa4d, 0xdfe49604, 0xe39ed1b5, 0x1b4c6a88, 0xb8c12c1f, 0x7f466551, 0x049d5eea, 0x5d018c35, 0x73fa8774, 0x2efb0b41, 0x5ab3671d, 0x5292dbd2, 0x33e91056, 0x136dd647, 0x8c9ad761, 0x7a37a10c, 0x8e59f814, 0x89eb133c, 0xeecea927, 0x35b761c9, 0xede11ce5, 0x3c7a47b1, 0x599cd2df, 0x3f55f273, 0x791814ce, 0xbf73c737, 0xea53f7cd, 0x5b5ffdaa, 0x14df3d6f, 0x867844db, 0x81caaff3, 0x3eb968c4, 0x2c382434, 0x5fc2a340, 0x72161dc3, 0x0cbce225, 0x8b283c49, 0x41ff0d95, 0x7139a801, 0xde080cb3, 0x9cd8b4e4, 0x906456c1, 0x617bcb84, 0x70d532b6, 0x74486c5c, 0x42d0b857 ]
+ T7 = [ 0xa75051f4, 0x65537e41, 0xa4c31a17, 0x5e963a27, 0x6bcb3bab, 0x45f11f9d, 0x58abacfa, 0x03934be3, 0xfa552030, 0x6df6ad76, 0x769188cc, 0x4c25f502, 0xd7fc4fe5, 0xcbd7c52a, 0x44802635, 0xa38fb562, 0x5a49deb1, 0x1b6725ba, 0x0e9845ea, 0xc0e15dfe, 0x7502c32f, 0xf012814c, 0x97a38d46, 0xf9c66bd3, 0x5fe7038f, 0x9c951592, 0x7aebbf6d, 0x59da9552, 0x832dd4be, 0x21d35874, 0x692949e0, 0xc8448ec9, 0x896a75c2, 0x7978f48e, 0x3e6b9958, 0x71dd27b9, 0x4fb6bee1, 0xad17f088, 0xac66c920, 0x3ab47dce, 0x4a1863df, 0x3182e51a, 0x33609751, 0x7f456253, 0x77e0b164, 0xae84bb6b, 0xa01cfe81, 0x2b94f908, 0x68587048, 0xfd198f45, 0x6c8794de, 0xf8b7527b, 0xd323ab73, 0x02e2724b, 0x8f57e31f, 0xab2a6655, 0x2807b2eb, 0xc2032fb5, 0x7b9a86c5, 0x08a5d337, 0x87f23028, 0xa5b223bf, 0x6aba0203, 0x825ced16, 0x1c2b8acf, 0xb492a779, 0xf2f0f307, 0xe2a14e69, 0xf4cd65da, 0xbed50605, 0x621fd134, 0xfe8ac4a6, 0x539d342e, 0x55a0a2f3, 0xe132058a, 0xeb75a4f6, 0xec390b83, 0xefaa4060, 0x9f065e71, 0x1051bd6e, 0x8af93e21, 0x063d96dd, 0x05aedd3e, 0xbd464de6, 0x8db59154, 0x5d0571c4, 0xd46f0406, 0x15ff6050, 0xfb241998, 0xe997d6bd, 0x43cc8940, 0x9e7767d9, 0x42bdb0e8, 0x8b880789, 0x5b38e719, 0xeedb79c8, 0x0a47a17c, 0x0fe97c42, 0x1ec9f884, 0x00000000, 0x86830980, 0xed48322b, 0x70ac1e11, 0x724e6c5a, 0xfffbfd0e, 0x38560f85, 0xd51e3dae, 0x3927362d, 0xd9640a0f, 0xa621685c, 0x54d19b5b, 0x2e3a2436, 0x67b10c0a, 0xe70f9357, 0x96d2b4ee, 0x919e1b9b, 0xc54f80c0, 0x20a261dc, 0x4b695a77, 0x1a161c12, 0xba0ae293, 0x2ae5c0a0, 0xe0433c22, 0x171d121b, 0x0d0b0e09, 0xc7adf28b, 0xa8b92db6, 0xa9c8141e, 0x198557f1, 0x074caf75, 0xddbbee99, 0x60fda37f, 0x269ff701, 0xf5bc5c72, 0x3bc54466, 0x7e345bfb, 0x29768b43, 0xc6dccb23, 0xfc68b6ed, 0xf163b8e4, 0xdccad731, 0x85104263, 0x22401397, 0x112084c6, 0x247d854a, 0x3df8d2bb, 0x3211aef9, 0xa16dc729, 0x2f4b1d9e, 0x30f3dcb2, 0x52ec0d86, 0xe3d077c1, 0x166c2bb3, 0xb999a970, 0x48fa1194, 0x642247e9, 0x8cc4a8fc, 0x3f1aa0f0, 0x2cd8567d, 0x90ef2233, 0x4ec78749, 0xd1c1d938, 0xa2fe8cca, 0x0b3698d4, 0x81cfa6f5, 0xde28a57a, 0x8e26dab7, 0xbfa43fad, 0x9de42c3a, 0x920d5078, 0xcc9b6a5f, 0x4662547e, 0x13c2f68d, 0xb8e890d8, 0xf75e2e39, 0xaff582c3, 0x80be9f5d, 0x937c69d0, 0x2da96fd5, 0x12b3cf25, 0x993bc8ac, 0x7da71018, 0x636ee89c, 0xbb7bdb3b, 0x7809cd26, 0x18f46e59, 0xb701ec9a, 0x9aa8834f, 0x6e65e695, 0xe67eaaff, 0xcf0821bc, 0xe8e6ef15, 0x9bd9bae7, 0x36ce4a6f, 0x09d4ea9f, 0x7cd629b0, 0xb2af31a4, 0x23312a3f, 0x9430c6a5, 0x66c035a2, 0xbc37744e, 0xcaa6fc82, 0xd0b0e090, 0xd81533a7, 0x984af104, 0xdaf741ec, 0x500e7fcd, 0xf62f1791, 0xd68d764d, 0xb04d43ef, 0x4d54ccaa, 0x04dfe496, 0xb5e39ed1, 0x881b4c6a, 0x1fb8c12c, 0x517f4665, 0xea049d5e, 0x355d018c, 0x7473fa87, 0x412efb0b, 0x1d5ab367, 0xd25292db, 0x5633e910, 0x47136dd6, 0x618c9ad7, 0x0c7a37a1, 0x148e59f8, 0x3c89eb13, 0x27eecea9, 0xc935b761, 0xe5ede11c, 0xb13c7a47, 0xdf599cd2, 0x733f55f2, 0xce791814, 0x37bf73c7, 0xcdea53f7, 0xaa5b5ffd, 0x6f14df3d, 0xdb867844, 0xf381caaf, 0xc43eb968, 0x342c3824, 0x405fc2a3, 0xc372161d, 0x250cbce2, 0x498b283c, 0x9541ff0d, 0x017139a8, 0xb3de080c, 0xe49cd8b4, 0xc1906456, 0x84617bcb, 0xb670d532, 0x5c74486c, 0x5742d0b8 ]
+ T8 = [ 0xf4a75051, 0x4165537e, 0x17a4c31a, 0x275e963a, 0xab6bcb3b, 0x9d45f11f, 0xfa58abac, 0xe303934b, 0x30fa5520, 0x766df6ad, 0xcc769188, 0x024c25f5, 0xe5d7fc4f, 0x2acbd7c5, 0x35448026, 0x62a38fb5, 0xb15a49de, 0xba1b6725, 0xea0e9845, 0xfec0e15d, 0x2f7502c3, 0x4cf01281, 0x4697a38d, 0xd3f9c66b, 0x8f5fe703, 0x929c9515, 0x6d7aebbf, 0x5259da95, 0xbe832dd4, 0x7421d358, 0xe0692949, 0xc9c8448e, 0xc2896a75, 0x8e7978f4, 0x583e6b99, 0xb971dd27, 0xe14fb6be, 0x88ad17f0, 0x20ac66c9, 0xce3ab47d, 0xdf4a1863, 0x1a3182e5, 0x51336097, 0x537f4562, 0x6477e0b1, 0x6bae84bb, 0x81a01cfe, 0x082b94f9, 0x48685870, 0x45fd198f, 0xde6c8794, 0x7bf8b752, 0x73d323ab, 0x4b02e272, 0x1f8f57e3, 0x55ab2a66, 0xeb2807b2, 0xb5c2032f, 0xc57b9a86, 0x3708a5d3, 0x2887f230, 0xbfa5b223, 0x036aba02, 0x16825ced, 0xcf1c2b8a, 0x79b492a7, 0x07f2f0f3, 0x69e2a14e, 0xdaf4cd65, 0x05bed506, 0x34621fd1, 0xa6fe8ac4, 0x2e539d34, 0xf355a0a2, 0x8ae13205, 0xf6eb75a4, 0x83ec390b, 0x60efaa40, 0x719f065e, 0x6e1051bd, 0x218af93e, 0xdd063d96, 0x3e05aedd, 0xe6bd464d, 0x548db591, 0xc45d0571, 0x06d46f04, 0x5015ff60, 0x98fb2419, 0xbde997d6, 0x4043cc89, 0xd99e7767, 0xe842bdb0, 0x898b8807, 0x195b38e7, 0xc8eedb79, 0x7c0a47a1, 0x420fe97c, 0x841ec9f8, 0x00000000, 0x80868309, 0x2bed4832, 0x1170ac1e, 0x5a724e6c, 0x0efffbfd, 0x8538560f, 0xaed51e3d, 0x2d392736, 0x0fd9640a, 0x5ca62168, 0x5b54d19b, 0x362e3a24, 0x0a67b10c, 0x57e70f93, 0xee96d2b4, 0x9b919e1b, 0xc0c54f80, 0xdc20a261, 0x774b695a, 0x121a161c, 0x93ba0ae2, 0xa02ae5c0, 0x22e0433c, 0x1b171d12, 0x090d0b0e, 0x8bc7adf2, 0xb6a8b92d, 0x1ea9c814, 0xf1198557, 0x75074caf, 0x99ddbbee, 0x7f60fda3, 0x01269ff7, 0x72f5bc5c, 0x663bc544, 0xfb7e345b, 0x4329768b, 0x23c6dccb, 0xedfc68b6, 0xe4f163b8, 0x31dccad7, 0x63851042, 0x97224013, 0xc6112084, 0x4a247d85, 0xbb3df8d2, 0xf93211ae, 0x29a16dc7, 0x9e2f4b1d, 0xb230f3dc, 0x8652ec0d, 0xc1e3d077, 0xb3166c2b, 0x70b999a9, 0x9448fa11, 0xe9642247, 0xfc8cc4a8, 0xf03f1aa0, 0x7d2cd856, 0x3390ef22, 0x494ec787, 0x38d1c1d9, 0xcaa2fe8c, 0xd40b3698, 0xf581cfa6, 0x7ade28a5, 0xb78e26da, 0xadbfa43f, 0x3a9de42c, 0x78920d50, 0x5fcc9b6a, 0x7e466254, 0x8d13c2f6, 0xd8b8e890, 0x39f75e2e, 0xc3aff582, 0x5d80be9f, 0xd0937c69, 0xd52da96f, 0x2512b3cf, 0xac993bc8, 0x187da710, 0x9c636ee8, 0x3bbb7bdb, 0x267809cd, 0x5918f46e, 0x9ab701ec, 0x4f9aa883, 0x956e65e6, 0xffe67eaa, 0xbccf0821, 0x15e8e6ef, 0xe79bd9ba, 0x6f36ce4a, 0x9f09d4ea, 0xb07cd629, 0xa4b2af31, 0x3f23312a, 0xa59430c6, 0xa266c035, 0x4ebc3774, 0x82caa6fc, 0x90d0b0e0, 0xa7d81533, 0x04984af1, 0xecdaf741, 0xcd500e7f, 0x91f62f17, 0x4dd68d76, 0xefb04d43, 0xaa4d54cc, 0x9604dfe4, 0xd1b5e39e, 0x6a881b4c, 0x2c1fb8c1, 0x65517f46, 0x5eea049d, 0x8c355d01, 0x877473fa, 0x0b412efb, 0x671d5ab3, 0xdbd25292, 0x105633e9, 0xd647136d, 0xd7618c9a, 0xa10c7a37, 0xf8148e59, 0x133c89eb, 0xa927eece, 0x61c935b7, 0x1ce5ede1, 0x47b13c7a, 0xd2df599c, 0xf2733f55, 0x14ce7918, 0xc737bf73, 0xf7cdea53, 0xfdaa5b5f, 0x3d6f14df, 0x44db8678, 0xaff381ca, 0x68c43eb9, 0x24342c38, 0xa3405fc2, 0x1dc37216, 0xe2250cbc, 0x3c498b28, 0x0d9541ff, 0xa8017139, 0x0cb3de08, 0xb4e49cd8, 0x56c19064, 0xcb84617b, 0x32b670d5, 0x6c5c7448, 0xb85742d0 ]
+
+ # Transformations for decryption key expansion
+ U1 = [ 0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, 0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, 0x486c5c74, 0x4665517f, 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb, 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, 0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf, 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d, 0xc920ac66, 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28, 0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, 0x3bab6bcb, 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec, 0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, 0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd, 0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1, 0x894043cc, 0x87494ec7, 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89, 0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b, 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815, 0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, 0x764dd68d, 0x7844db86, 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, 0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 0x141ea9c8, 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36, 0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c, 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742, 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, 0x79c8eedb, 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, 0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e, 0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360, 0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502, 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 0x94de6c87, 0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd, 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3, 0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, 0x42638510, 0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, 0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 0x2e39f75e, 0x2030fa55, 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26, 0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844, 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba, 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, 0x7c420fe9, 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, 0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67, 0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929, 0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713, 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6, 0xe11ce5ed, 0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f, 0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3 ]
+ U2 = [ 0x00000000, 0x0b0e090d, 0x161c121a, 0x1d121b17, 0x2c382434, 0x27362d39, 0x3a24362e, 0x312a3f23, 0x58704868, 0x537e4165, 0x4e6c5a72, 0x4562537f, 0x74486c5c, 0x7f466551, 0x62547e46, 0x695a774b, 0xb0e090d0, 0xbbee99dd, 0xa6fc82ca, 0xadf28bc7, 0x9cd8b4e4, 0x97d6bde9, 0x8ac4a6fe, 0x81caaff3, 0xe890d8b8, 0xe39ed1b5, 0xfe8ccaa2, 0xf582c3af, 0xc4a8fc8c, 0xcfa6f581, 0xd2b4ee96, 0xd9bae79b, 0x7bdb3bbb, 0x70d532b6, 0x6dc729a1, 0x66c920ac, 0x57e31f8f, 0x5ced1682, 0x41ff0d95, 0x4af10498, 0x23ab73d3, 0x28a57ade, 0x35b761c9, 0x3eb968c4, 0x0f9357e7, 0x049d5eea, 0x198f45fd, 0x12814cf0, 0xcb3bab6b, 0xc035a266, 0xdd27b971, 0xd629b07c, 0xe7038f5f, 0xec0d8652, 0xf11f9d45, 0xfa119448, 0x934be303, 0x9845ea0e, 0x8557f119, 0x8e59f814, 0xbf73c737, 0xb47dce3a, 0xa96fd52d, 0xa261dc20, 0xf6ad766d, 0xfda37f60, 0xe0b16477, 0xebbf6d7a, 0xda955259, 0xd19b5b54, 0xcc894043, 0xc787494e, 0xaedd3e05, 0xa5d33708, 0xb8c12c1f, 0xb3cf2512, 0x82e51a31, 0x89eb133c, 0x94f9082b, 0x9ff70126, 0x464de6bd, 0x4d43efb0, 0x5051f4a7, 0x5b5ffdaa, 0x6a75c289, 0x617bcb84, 0x7c69d093, 0x7767d99e, 0x1e3daed5, 0x1533a7d8, 0x0821bccf, 0x032fb5c2, 0x32058ae1, 0x390b83ec, 0x241998fb, 0x2f1791f6, 0x8d764dd6, 0x867844db, 0x9b6a5fcc, 0x906456c1, 0xa14e69e2, 0xaa4060ef, 0xb7527bf8, 0xbc5c72f5, 0xd50605be, 0xde080cb3, 0xc31a17a4, 0xc8141ea9, 0xf93e218a, 0xf2302887, 0xef223390, 0xe42c3a9d, 0x3d96dd06, 0x3698d40b, 0x2b8acf1c, 0x2084c611, 0x11aef932, 0x1aa0f03f, 0x07b2eb28, 0x0cbce225, 0x65e6956e, 0x6ee89c63, 0x73fa8774, 0x78f48e79, 0x49deb15a, 0x42d0b857, 0x5fc2a340, 0x54ccaa4d, 0xf741ecda, 0xfc4fe5d7, 0xe15dfec0, 0xea53f7cd, 0xdb79c8ee, 0xd077c1e3, 0xcd65daf4, 0xc66bd3f9, 0xaf31a4b2, 0xa43fadbf, 0xb92db6a8, 0xb223bfa5, 0x83098086, 0x8807898b, 0x9515929c, 0x9e1b9b91, 0x47a17c0a, 0x4caf7507, 0x51bd6e10, 0x5ab3671d, 0x6b99583e, 0x60975133, 0x7d854a24, 0x768b4329, 0x1fd13462, 0x14df3d6f, 0x09cd2678, 0x02c32f75, 0x33e91056, 0x38e7195b, 0x25f5024c, 0x2efb0b41, 0x8c9ad761, 0x8794de6c, 0x9a86c57b, 0x9188cc76, 0xa0a2f355, 0xabacfa58, 0xb6bee14f, 0xbdb0e842, 0xd4ea9f09, 0xdfe49604, 0xc2f68d13, 0xc9f8841e, 0xf8d2bb3d, 0xf3dcb230, 0xeecea927, 0xe5c0a02a, 0x3c7a47b1, 0x37744ebc, 0x2a6655ab, 0x21685ca6, 0x10426385, 0x1b4c6a88, 0x065e719f, 0x0d507892, 0x640a0fd9, 0x6f0406d4, 0x72161dc3, 0x791814ce, 0x48322bed, 0x433c22e0, 0x5e2e39f7, 0x552030fa, 0x01ec9ab7, 0x0ae293ba, 0x17f088ad, 0x1cfe81a0, 0x2dd4be83, 0x26dab78e, 0x3bc8ac99, 0x30c6a594, 0x599cd2df, 0x5292dbd2, 0x4f80c0c5, 0x448ec9c8, 0x75a4f6eb, 0x7eaaffe6, 0x63b8e4f1, 0x68b6edfc, 0xb10c0a67, 0xba02036a, 0xa710187d, 0xac1e1170, 0x9d342e53, 0x963a275e, 0x8b283c49, 0x80263544, 0xe97c420f, 0xe2724b02, 0xff605015, 0xf46e5918, 0xc544663b, 0xce4a6f36, 0xd3587421, 0xd8567d2c, 0x7a37a10c, 0x7139a801, 0x6c2bb316, 0x6725ba1b, 0x560f8538, 0x5d018c35, 0x40139722, 0x4b1d9e2f, 0x2247e964, 0x2949e069, 0x345bfb7e, 0x3f55f273, 0x0e7fcd50, 0x0571c45d, 0x1863df4a, 0x136dd647, 0xcad731dc, 0xc1d938d1, 0xdccb23c6, 0xd7c52acb, 0xe6ef15e8, 0xede11ce5, 0xf0f307f2, 0xfbfd0eff, 0x92a779b4, 0x99a970b9, 0x84bb6bae, 0x8fb562a3, 0xbe9f5d80, 0xb591548d, 0xa8834f9a, 0xa38d4697 ]
+ U3 = [ 0x00000000, 0x0d0b0e09, 0x1a161c12, 0x171d121b, 0x342c3824, 0x3927362d, 0x2e3a2436, 0x23312a3f, 0x68587048, 0x65537e41, 0x724e6c5a, 0x7f456253, 0x5c74486c, 0x517f4665, 0x4662547e, 0x4b695a77, 0xd0b0e090, 0xddbbee99, 0xcaa6fc82, 0xc7adf28b, 0xe49cd8b4, 0xe997d6bd, 0xfe8ac4a6, 0xf381caaf, 0xb8e890d8, 0xb5e39ed1, 0xa2fe8cca, 0xaff582c3, 0x8cc4a8fc, 0x81cfa6f5, 0x96d2b4ee, 0x9bd9bae7, 0xbb7bdb3b, 0xb670d532, 0xa16dc729, 0xac66c920, 0x8f57e31f, 0x825ced16, 0x9541ff0d, 0x984af104, 0xd323ab73, 0xde28a57a, 0xc935b761, 0xc43eb968, 0xe70f9357, 0xea049d5e, 0xfd198f45, 0xf012814c, 0x6bcb3bab, 0x66c035a2, 0x71dd27b9, 0x7cd629b0, 0x5fe7038f, 0x52ec0d86, 0x45f11f9d, 0x48fa1194, 0x03934be3, 0x0e9845ea, 0x198557f1, 0x148e59f8, 0x37bf73c7, 0x3ab47dce, 0x2da96fd5, 0x20a261dc, 0x6df6ad76, 0x60fda37f, 0x77e0b164, 0x7aebbf6d, 0x59da9552, 0x54d19b5b, 0x43cc8940, 0x4ec78749, 0x05aedd3e, 0x08a5d337, 0x1fb8c12c, 0x12b3cf25, 0x3182e51a, 0x3c89eb13, 0x2b94f908, 0x269ff701, 0xbd464de6, 0xb04d43ef, 0xa75051f4, 0xaa5b5ffd, 0x896a75c2, 0x84617bcb, 0x937c69d0, 0x9e7767d9, 0xd51e3dae, 0xd81533a7, 0xcf0821bc, 0xc2032fb5, 0xe132058a, 0xec390b83, 0xfb241998, 0xf62f1791, 0xd68d764d, 0xdb867844, 0xcc9b6a5f, 0xc1906456, 0xe2a14e69, 0xefaa4060, 0xf8b7527b, 0xf5bc5c72, 0xbed50605, 0xb3de080c, 0xa4c31a17, 0xa9c8141e, 0x8af93e21, 0x87f23028, 0x90ef2233, 0x9de42c3a, 0x063d96dd, 0x0b3698d4, 0x1c2b8acf, 0x112084c6, 0x3211aef9, 0x3f1aa0f0, 0x2807b2eb, 0x250cbce2, 0x6e65e695, 0x636ee89c, 0x7473fa87, 0x7978f48e, 0x5a49deb1, 0x5742d0b8, 0x405fc2a3, 0x4d54ccaa, 0xdaf741ec, 0xd7fc4fe5, 0xc0e15dfe, 0xcdea53f7, 0xeedb79c8, 0xe3d077c1, 0xf4cd65da, 0xf9c66bd3, 0xb2af31a4, 0xbfa43fad, 0xa8b92db6, 0xa5b223bf, 0x86830980, 0x8b880789, 0x9c951592, 0x919e1b9b, 0x0a47a17c, 0x074caf75, 0x1051bd6e, 0x1d5ab367, 0x3e6b9958, 0x33609751, 0x247d854a, 0x29768b43, 0x621fd134, 0x6f14df3d, 0x7809cd26, 0x7502c32f, 0x5633e910, 0x5b38e719, 0x4c25f502, 0x412efb0b, 0x618c9ad7, 0x6c8794de, 0x7b9a86c5, 0x769188cc, 0x55a0a2f3, 0x58abacfa, 0x4fb6bee1, 0x42bdb0e8, 0x09d4ea9f, 0x04dfe496, 0x13c2f68d, 0x1ec9f884, 0x3df8d2bb, 0x30f3dcb2, 0x27eecea9, 0x2ae5c0a0, 0xb13c7a47, 0xbc37744e, 0xab2a6655, 0xa621685c, 0x85104263, 0x881b4c6a, 0x9f065e71, 0x920d5078, 0xd9640a0f, 0xd46f0406, 0xc372161d, 0xce791814, 0xed48322b, 0xe0433c22, 0xf75e2e39, 0xfa552030, 0xb701ec9a, 0xba0ae293, 0xad17f088, 0xa01cfe81, 0x832dd4be, 0x8e26dab7, 0x993bc8ac, 0x9430c6a5, 0xdf599cd2, 0xd25292db, 0xc54f80c0, 0xc8448ec9, 0xeb75a4f6, 0xe67eaaff, 0xf163b8e4, 0xfc68b6ed, 0x67b10c0a, 0x6aba0203, 0x7da71018, 0x70ac1e11, 0x539d342e, 0x5e963a27, 0x498b283c, 0x44802635, 0x0fe97c42, 0x02e2724b, 0x15ff6050, 0x18f46e59, 0x3bc54466, 0x36ce4a6f, 0x21d35874, 0x2cd8567d, 0x0c7a37a1, 0x017139a8, 0x166c2bb3, 0x1b6725ba, 0x38560f85, 0x355d018c, 0x22401397, 0x2f4b1d9e, 0x642247e9, 0x692949e0, 0x7e345bfb, 0x733f55f2, 0x500e7fcd, 0x5d0571c4, 0x4a1863df, 0x47136dd6, 0xdccad731, 0xd1c1d938, 0xc6dccb23, 0xcbd7c52a, 0xe8e6ef15, 0xe5ede11c, 0xf2f0f307, 0xfffbfd0e, 0xb492a779, 0xb999a970, 0xae84bb6b, 0xa38fb562, 0x80be9f5d, 0x8db59154, 0x9aa8834f, 0x97a38d46 ]
+ U4 = [ 0x00000000, 0x090d0b0e, 0x121a161c, 0x1b171d12, 0x24342c38, 0x2d392736, 0x362e3a24, 0x3f23312a, 0x48685870, 0x4165537e, 0x5a724e6c, 0x537f4562, 0x6c5c7448, 0x65517f46, 0x7e466254, 0x774b695a, 0x90d0b0e0, 0x99ddbbee, 0x82caa6fc, 0x8bc7adf2, 0xb4e49cd8, 0xbde997d6, 0xa6fe8ac4, 0xaff381ca, 0xd8b8e890, 0xd1b5e39e, 0xcaa2fe8c, 0xc3aff582, 0xfc8cc4a8, 0xf581cfa6, 0xee96d2b4, 0xe79bd9ba, 0x3bbb7bdb, 0x32b670d5, 0x29a16dc7, 0x20ac66c9, 0x1f8f57e3, 0x16825ced, 0x0d9541ff, 0x04984af1, 0x73d323ab, 0x7ade28a5, 0x61c935b7, 0x68c43eb9, 0x57e70f93, 0x5eea049d, 0x45fd198f, 0x4cf01281, 0xab6bcb3b, 0xa266c035, 0xb971dd27, 0xb07cd629, 0x8f5fe703, 0x8652ec0d, 0x9d45f11f, 0x9448fa11, 0xe303934b, 0xea0e9845, 0xf1198557, 0xf8148e59, 0xc737bf73, 0xce3ab47d, 0xd52da96f, 0xdc20a261, 0x766df6ad, 0x7f60fda3, 0x6477e0b1, 0x6d7aebbf, 0x5259da95, 0x5b54d19b, 0x4043cc89, 0x494ec787, 0x3e05aedd, 0x3708a5d3, 0x2c1fb8c1, 0x2512b3cf, 0x1a3182e5, 0x133c89eb, 0x082b94f9, 0x01269ff7, 0xe6bd464d, 0xefb04d43, 0xf4a75051, 0xfdaa5b5f, 0xc2896a75, 0xcb84617b, 0xd0937c69, 0xd99e7767, 0xaed51e3d, 0xa7d81533, 0xbccf0821, 0xb5c2032f, 0x8ae13205, 0x83ec390b, 0x98fb2419, 0x91f62f17, 0x4dd68d76, 0x44db8678, 0x5fcc9b6a, 0x56c19064, 0x69e2a14e, 0x60efaa40, 0x7bf8b752, 0x72f5bc5c, 0x05bed506, 0x0cb3de08, 0x17a4c31a, 0x1ea9c814, 0x218af93e, 0x2887f230, 0x3390ef22, 0x3a9de42c, 0xdd063d96, 0xd40b3698, 0xcf1c2b8a, 0xc6112084, 0xf93211ae, 0xf03f1aa0, 0xeb2807b2, 0xe2250cbc, 0x956e65e6, 0x9c636ee8, 0x877473fa, 0x8e7978f4, 0xb15a49de, 0xb85742d0, 0xa3405fc2, 0xaa4d54cc, 0xecdaf741, 0xe5d7fc4f, 0xfec0e15d, 0xf7cdea53, 0xc8eedb79, 0xc1e3d077, 0xdaf4cd65, 0xd3f9c66b, 0xa4b2af31, 0xadbfa43f, 0xb6a8b92d, 0xbfa5b223, 0x80868309, 0x898b8807, 0x929c9515, 0x9b919e1b, 0x7c0a47a1, 0x75074caf, 0x6e1051bd, 0x671d5ab3, 0x583e6b99, 0x51336097, 0x4a247d85, 0x4329768b, 0x34621fd1, 0x3d6f14df, 0x267809cd, 0x2f7502c3, 0x105633e9, 0x195b38e7, 0x024c25f5, 0x0b412efb, 0xd7618c9a, 0xde6c8794, 0xc57b9a86, 0xcc769188, 0xf355a0a2, 0xfa58abac, 0xe14fb6be, 0xe842bdb0, 0x9f09d4ea, 0x9604dfe4, 0x8d13c2f6, 0x841ec9f8, 0xbb3df8d2, 0xb230f3dc, 0xa927eece, 0xa02ae5c0, 0x47b13c7a, 0x4ebc3774, 0x55ab2a66, 0x5ca62168, 0x63851042, 0x6a881b4c, 0x719f065e, 0x78920d50, 0x0fd9640a, 0x06d46f04, 0x1dc37216, 0x14ce7918, 0x2bed4832, 0x22e0433c, 0x39f75e2e, 0x30fa5520, 0x9ab701ec, 0x93ba0ae2, 0x88ad17f0, 0x81a01cfe, 0xbe832dd4, 0xb78e26da, 0xac993bc8, 0xa59430c6, 0xd2df599c, 0xdbd25292, 0xc0c54f80, 0xc9c8448e, 0xf6eb75a4, 0xffe67eaa, 0xe4f163b8, 0xedfc68b6, 0x0a67b10c, 0x036aba02, 0x187da710, 0x1170ac1e, 0x2e539d34, 0x275e963a, 0x3c498b28, 0x35448026, 0x420fe97c, 0x4b02e272, 0x5015ff60, 0x5918f46e, 0x663bc544, 0x6f36ce4a, 0x7421d358, 0x7d2cd856, 0xa10c7a37, 0xa8017139, 0xb3166c2b, 0xba1b6725, 0x8538560f, 0x8c355d01, 0x97224013, 0x9e2f4b1d, 0xe9642247, 0xe0692949, 0xfb7e345b, 0xf2733f55, 0xcd500e7f, 0xc45d0571, 0xdf4a1863, 0xd647136d, 0x31dccad7, 0x38d1c1d9, 0x23c6dccb, 0x2acbd7c5, 0x15e8e6ef, 0x1ce5ede1, 0x07f2f0f3, 0x0efffbfd, 0x79b492a7, 0x70b999a9, 0x6bae84bb, 0x62a38fb5, 0x5d80be9f, 0x548db591, 0x4f9aa883, 0x4697a38d ]
+
+ def __init__(self, key):
+
+ if len(key) not in (16, 24, 32):
+ raise_exception( ValueError('Invalid key size') )
+
+ rounds = self.number_of_rounds[len(key)]
+
+ # Encryption round keys
+ self._Ke = [[0] * 4 for i in range(rounds + 1)]
+
+ # Decryption round keys
+ self._Kd = [[0] * 4 for i in range(rounds + 1)]
+
+ round_key_count = (rounds + 1) * 4
+ KC = len(key) // 4
+
+ # Convert the key into ints
+ tk = [ struct.unpack('>i', key[i:i + 4])[0] for i in range(0, len(key), 4) ]
+
+ # Copy values into round key arrays
+ for i in range(0, KC):
+ self._Ke[i // 4][i % 4] = tk[i]
+ self._Kd[rounds - (i // 4)][i % 4] = tk[i]
+
+ # Key expansion (fips-197 section 5.2)
+ rconpointer = 0
+ t = KC
+ while t < round_key_count:
+
+ tt = tk[KC - 1]
+ tk[0] ^= ((self.S[(tt >> 16) & 0xFF] << 24) ^
+ (self.S[(tt >> 8) & 0xFF] << 16) ^
+ (self.S[ tt & 0xFF] << 8) ^
+ self.S[(tt >> 24) & 0xFF] ^
+ (self.rcon[rconpointer] << 24))
+ rconpointer += 1
+
+ if KC != 8:
+ for i in range(1, KC):
+ tk[i] ^= tk[i - 1]
+
+ # Key expansion for 256-bit keys is "slightly different" (fips-197)
+ else:
+ for i in range(1, KC // 2):
+ tk[i] ^= tk[i - 1]
+ tt = tk[KC // 2 - 1]
+
+ tk[KC // 2] ^= (self.S[ tt & 0xFF] ^
+ (self.S[(tt >> 8) & 0xFF] << 8) ^
+ (self.S[(tt >> 16) & 0xFF] << 16) ^
+ (self.S[(tt >> 24) & 0xFF] << 24))
+
+ for i in range(KC // 2 + 1, KC):
+ tk[i] ^= tk[i - 1]
+
+ # Copy values into round key arrays
+ j = 0
+ while j < KC and t < round_key_count:
+ self._Ke[t // 4][t % 4] = tk[j]
+ self._Kd[rounds - (t // 4)][t % 4] = tk[j]
+ j += 1
+ t += 1
+
+ # Inverse-Cipher-ify the decryption round key (fips-197 section 5.3)
+ for r in range(1, rounds):
+ for j in range(0, 4):
+ tt = self._Kd[r][j]
+ self._Kd[r][j] = (self.U1[(tt >> 24) & 0xFF] ^
+ self.U2[(tt >> 16) & 0xFF] ^
+ self.U3[(tt >> 8) & 0xFF] ^
+ self.U4[ tt & 0xFF])
+
+ def encrypt(self, plaintext):
+ 'Encrypt a block of plain text using the AES block cipher.'
+
+ if len(plaintext) != 16:
+ raise_exception( ValueError('wrong block length') )
+
+ rounds = len(self._Ke) - 1
+ (s1, s2, s3) = [1, 2, 3]
+ a = [0, 0, 0, 0]
+
+ # Convert plaintext to (ints ^ key)
+ t = [(AES._compact_word(plaintext[4 * i:4 * i + 4]) ^ self._Ke[0][i]) for i in range(0, 4)]
+
+ # Apply round transforms
+ for r in range(1, rounds):
+ for i in range(0, 4):
+ a[i] = (self.T1[(t[ i ] >> 24) & 0xFF] ^
+ self.T2[(t[(i + s1) % 4] >> 16) & 0xFF] ^
+ self.T3[(t[(i + s2) % 4] >> 8) & 0xFF] ^
+ self.T4[ t[(i + s3) % 4] & 0xFF] ^
+ self._Ke[r][i])
+ t = copy.copy(a)
+
+ # The last round is special
+ result = [ ]
+ for i in range(0, 4):
+ tt = self._Ke[rounds][i]
+ result.append((self.S[(t[ i ] >> 24) & 0xFF] ^ (tt >> 24)) & 0xFF)
+ result.append((self.S[(t[(i + s1) % 4] >> 16) & 0xFF] ^ (tt >> 16)) & 0xFF)
+ result.append((self.S[(t[(i + s2) % 4] >> 8) & 0xFF] ^ (tt >> 8)) & 0xFF)
+ result.append((self.S[ t[(i + s3) % 4] & 0xFF] ^ tt ) & 0xFF)
+
+ return result
+
+ def decrypt(self, ciphertext):
+ 'Decrypt a block of cipher text using the AES block cipher.'
+
+ if len(ciphertext) != 16:
+ raise_exception( ValueError('wrong block length') )
+
+ rounds = len(self._Kd) - 1
+ (s1, s2, s3) = [3, 2, 1]
+ a = [0, 0, 0, 0]
+
+ # Convert ciphertext to (ints ^ key)
+ t = [(AES._compact_word(ciphertext[4 * i:4 * i + 4]) ^ self._Kd[0][i]) for i in range(0, 4)]
+
+ # Apply round transforms
+ for r in range(1, rounds):
+ for i in range(0, 4):
+ a[i] = (self.T5[(t[ i ] >> 24) & 0xFF] ^
+ self.T6[(t[(i + s1) % 4] >> 16) & 0xFF] ^
+ self.T7[(t[(i + s2) % 4] >> 8) & 0xFF] ^
+ self.T8[ t[(i + s3) % 4] & 0xFF] ^
+ self._Kd[r][i])
+ t = copy.copy(a)
+
+ # The last round is special
+ result = [ ]
+ for i in range(0, 4):
+ tt = self._Kd[rounds][i]
+ result.append((self.Si[(t[ i ] >> 24) & 0xFF] ^ (tt >> 24)) & 0xFF)
+ result.append((self.Si[(t[(i + s1) % 4] >> 16) & 0xFF] ^ (tt >> 16)) & 0xFF)
+ result.append((self.Si[(t[(i + s2) % 4] >> 8) & 0xFF] ^ (tt >> 8)) & 0xFF)
+ result.append((self.Si[ t[(i + s3) % 4] & 0xFF] ^ tt ) & 0xFF)
+
+ return result
+
+ class AES_128_CBC:
+
+ def __init__(self, key, iv = None):
+ self._aes = AES(key)
+ if iv is None:
+ self._last_cipherblock = [ 0 ] * 16
+ elif len(iv) != 16:
+ raise_exception( ValueError('initialization vector must be 16 bytes') )
+ else:
+ self._last_cipherblock = iv
+
+
+ def encrypt(self, plaintext):
+ if len(plaintext) != 16:
+ raise_exception( ValueError('plaintext block must be 16 bytes') )
+
+ precipherblock = [ (p ^ l) for (p, l) in zip(plaintext, self._last_cipherblock) ]
+ self._last_cipherblock = self._aes.encrypt(precipherblock)
+
+ return b''.join(map(lambda x: x.to_bytes(1, 'little'), self._last_cipherblock))
+
+ def decrypt(self, ciphertext):
+ if len(ciphertext) != 16:
+ raise_exception( ValueError('ciphertext block must be 16 bytes') )
+
+ cipherblock = ciphertext
+ plaintext = [ (p ^ l) for (p, l) in zip(self._aes.decrypt(cipherblock), self._last_cipherblock) ]
+ self._last_cipherblock = cipherblock
+
+ return b''.join(map(lambda x: x.to_bytes(1, 'little'), plaintext))
+
+ ISP_PROG = '789cedbd0d545357d63f7c6e929b1b10140d102cb14522a04ceb5851b1d53aa084285ac7fa01b6535be80511452b554b6dcb3421b9848816e905828253c40a96697dda418d152d5245ac9d765aa78afdd0a201828a1f5420a260fefbdc7b1320759e79def5bc6bfdd7bbde49d7cf7dcfd73efb9cb3f739fb9c7b2e1dbbefd6e71f5f22108186fe362c9a3469c3a2204014c614b30821363b7bc486ed8b27e9a288685d34315b379b98a39b43c4e86208b54e4dc4ea62098d4e43ccd5cd25e6e9e61171ba3862be6e3eb140b7807856f72cb150b790f8a3ee8f3b5ed9502e9ab4c167125a82d0ed7f02961040014b4440014bc440014b2440014b48a0802552a080251450c0121950c0120fa080259e40014b8601052cf1020a58e20d14b0643850c092114001661db44957ffa9e28a0cc9457ffb45fe9aa86f434854a79cf043b3885105af06f9241019d216cff6e11da36efb773d72f7d1be8ae6ca96eaf6fd1d7fbb7da8ebc8ddcffb665f8e6d8dbbbaf0c6e2cef8ee177a5feabf72b9adf5dad59b377eedece9bed7fba03f2c88f0091b37d2276cfc589fb0c79ff4090b8a1e1536eeb95161e39346853d9e312a2c48e71b36aec0376cfc6edfb0c73ff50d0baaf70f1bf79d7fd8f8cbfe618f77fa43f9d1507e34941f0de54743f940281f08e503a17c20941f03e5c740f931507e0c947f0cca3f06e51f83f28f6d08099a7227c4678a678eaf885e46a25b41b7ff34bafcd6a4f2e736f8f84da9489c9d742549f45ac56bb3375cd9204dae4c8e4d694b91be5ef97a6c665ba6e7aaea557169d7d23cdfac7e33eead6b6f0d4fdf9fbe70edcdb5c3ffbcffcf0bdfb9f90e056d3306e97ca8b1c448e358dd482a9818650cd68da25484dca8d2c9a97184af719cce970a21fc8c213a3f2a94f03786eafca93042610cd329a8f1448071bc2e809a408c364ed08da6c289478ce1ba47a8df1181c6dfe902a9c709a5f1719d927a8218637c4237869a483c6a9ca87b94fa3df198f1f7bac7e40411b401054de235367aa4b46543585427a3a1957644aacd106fd396c7dcc98c99b4012df2e9ae33fbe098e33f552412ea68225babd884909c54079833410f8c8d0ada54851462a4958bc5ffa0c56224d2676b719abe91f2676e61fe66843934f79929a4658d557f377da548c13c1afcb814404522a351401995d43e0ad701b5bc819078eedd916334331414c1d745c9cd10ab3f2d937bcf2da36704041011a9144184959c0834f6382e9c2035258dd545f498832278faeaef4b7421814612d15d8750a0518a74ea40064274ab88f5a344ba821d7f9958dcf940b58f42aa0f2844a8b3b52429d6743b0eff33ab4ebc8f924690871043aa10495cb6f0d20478f0d2307305793cf97899274853227349a3fa4041801cfe07255b97c82924aa252d51138d6e72a40fc8416a2616977c25279188b956105b92e097677db4e9a1926db260a9c46a1224dbf7cf94baad4b30c719b28351f4c60b28909261eeb9c07d553be2b94f2cdef197b59608d9212c276e4f3945f5d611237768c62398796219b5b44325e944c218755e81512693f811648db6fb657420e5ec5bdfe803ff5c0a28f9eafb25ba505c33bdf13cd40a6d8a0d6420b4ae15b1fe50eb7ba3ff72a82863480bb81e65ce21468a7bf4cbbacd19a11dfd09d5864deae0dbd22e956f275224834e484e7e648ee2f46d5f6bcb1835ff1cb4f719e129b14aa70e119eb51f7faa1e2be86b7364038ee79e83220bd41384e7c46945ea279c3a3d7587fa4967fe29bbd4539df9a7281339dd9b6eefa8e7b4708fd87e6d37af8f227bc739fe89b45fe3fba4ea5a19ed01bd77e12b55252572b611741bd252bdb8bc91f6365d2c1f13369f8835a9b9d849f636be97b53f55ac176dbc924ca8d5d0d31384f61c2f9e273ca11d3a2c29dff6f795e95ce9a7ec5770fd7b18aaf9435e2289fdca0f9a220b3132b8bd48136e98843c19861f4fe41c4ff477bd4687f098aa50179a9d8c47961829273b91b44390a54facee841ca409a76dce3069545e9da8348124f600651318c4daed2382c915dba45dc1b727b64c6e568dd9ede4fe73454af6caf1b28939056a417fbe266384b47b44887518f300b7946f273192055bc0bac67197b871ef50f939f96acff3bae9e4aa3dedd44acc2388fc9ff0883a3b9447d4c9c13cb4fdff131ee89ba13cd0f1c13c9074b0e5447de5b427217ccc9977454645f3c2aec5b7e33b5e687fa925a725b42fee6eb569e296c906d613f9c8872191f92dd094bcbf9ef0e8a84c94265fd9387b73c566d19b5756cf5e53b1865027010fd6de3b6286f15ed41123bda10555184b0d141a53166aa2379622b9074cb99661e82cb39009947aa06c33abf010e9d85ac3b8e85a8fa788593b2ff7adb08cc9587c57be532a8aef7ae1f62bedf217ae118a17c1debc16f47aac29585dd17ea67961df4b1d391d952de18689a6bf990ee5bdb23370586070e9962d63e9f73d505b622cac73d2b42b9b67bf59f1a6e8ad2b6b66a713ea102c1b8c6aa9c103e6d948829520519186be9929d68779a22be66ce3360ddfd312a1a70d48ae3070bdfd43becaaf1355e6c481f68c77f6f86ed62c01d943ca66eda835ed887adef2f1bf29df9fa092f25c8ad46beb58ea13f1ac93bc9d867d5248633b116ba84f4c9a5ab30d295e8750eca18ff02cde887ec8e7c3a11f934238f8942eacec0b5575fc88d09c338c53a6e3ff75d0027c87cd3a590a35cf3ac573d7543bb987550fe67ebe7228f7d82a2777cc9ba57c8255d53dc3d598a3d429a971ef769851f83553b3d70cebabbe6159c5aed85a851dd5161f42e7f2cdc04b7f2aa76286a2499053f9852a3c7ec46edce2e14325ab2a1fe0965ace73dbb4ebb7dc2a77f1dc785e2b473c696162611d47a968cfc548e3e11bfd09728a9aac6b9537d81dd95a7d2c890ee6ef8e0d3caf404c5e2d753baa37ffd3fcfe69bab0fe1e92ec9f7ab9eea98cb8db911e32147c37b42b421242541bc85816661a0ff5c20e69df1e8a40faa70c4898c7ff01fe864fb704cf3d2cf925515924f4f5eba514ac5e5f5122e58240a302652b746cc0dfbf31abb4552860417d6a3d4577db10f4e270e5b757d6cfde58b151b4f94a1aa11e8be7ae04abd9f6c037d9424950012537c6a04a33bdb30df9b62b5b2cb0327e5ea8fa4882ae5a94ed012d0d75d8827dbca51dc1ed78ed093708569b6c72e962d0aa6086f77d82b69592248210175fbe52989592ae24f2336a35031e7cecd8580fb5620eee3ff1197da31f123792a882fa21bfd468fb952da6c4f5eff969e8d4a6d98a04b03b4a73823587a223e6b239cf6754dcaeec38d39ed3f54dcbd9e6f8be17eebed4f5caed951dabdbd7b51c314f364d34541bb28de28622184f06911a3c4be91bf7a22f284c0fa22bd4973086f4463bda96c094974479e48dbc25efb68f1066641311529030b6b52c8ab585a1b2e3ba84a9fb94d1a6bcce9f76abe5a441686be265b16629d26b621011124cadc8d76b92317fa01b813fd611da50253225ec41bda872bd74635b726c5a659a74f5953767bf55f196e8ed2be9b3d756ac4d81bed06bbe47fa9893d0f2867c7d4c0bfa42826917ba22b9b85537eeb3047a5797b37f3f12ea36132159bd7b2d7a4d215893014ae27a3f40e2980320c30ff9af48566c25c631a911a985a85f91953fda969519f2bea5c701334e1b62120e5aa2d7ec5ea39b27f7baef60b7de77906b676d61e298b535990682b9556b9c124d5f4d153b474f5b4e848cae2f4a18532784f3f13ab5cc519f5a6b8a249e29b3b6eee8eb3c569359486cb37165af640e942d214236770a33d556bedceed4cb969acc18e2b21de7b65eaeea77e64e2c2042a2fb85b69af8dcb5a6678819866d28ad0e8f8135976ad1379e037d6940782c2aa81a9b86109f6945b33d6b52ef417c377ac53362f53d448497925b847e2b3ff5efc6ca5a56d5827b531f6340cc6a7e243e40fd8f289661af3b64173f26078431a9b12f257eb0d56c7e81a0b77bc876af899644afe1fbd1bc02e6936d4ffc854cb776cfbb589fdaaf68cdafb7d5524f47d397533d9e8835033f9609d9493a7d95a250a1ed415ba0bd8f92ede6db0e0758d5662284d1583dbb1fb045b0321544afac70e5d4becbf7fcb1b28c3a41be42e9c6caf5ff4ac3f8194a7fb2c65e487c769d93a53d9374ca92f29e5396c4ad5003577b5016c8124036f321edfaa1b28c1d24cb7166776a511dee0fdd7dccd9da5ad53921f626e36a9fd1c9b37c03d7be1f85f6ad19ca33942181abd03e6dadc74ca2565286361d13c358eb1b1b10376a8dadfca835760ba3365263dd693b9b3b4fe8c1da1d9f656ba347b2649464a41af650bc3f6b62c945123fc173d5e6b26490c4e9eb961b2b12597292e409d8a52922b85ecad99c81bdb6d08eb8764127eff379a3b6091c567a086d2b2fc84866494990732613eacb72b6bd3c1fa7e01c63639dbb44ed5b0a351e31324be0fe54a45486e4d21c914ecdeff05a9f11521e33a7726bf2337c89d6b714a932a48ab0cf147a7eaa4eed9424d10cabd74ac89d237d5a2185dcd2533b4dae5464e639a8df14fa69b22219ea94c444b292a07e451aa47998a679ad625a958b6efca25cd4ff139ed1b1efa092142033aef5036a9a2095f7e53a3dccd271cc2484bd8c3d12c2391f7ec0ad0338f7416ab230929ecfc2aab187da8df0aa46421f810fcdf77c0af8cf30f7c10ece8bd74f6b3fdef7c2decf8bf66915c9c94fbc05be7d72f2b87745228c10978fbe2fa73ef1b606b43e10d2efc9c96fbd1b2c9b33f0a849bbaa0d444c29ac67b4cd82f83d03f6a46b8c06246ea0d0c4165222c8d65b917219a4937684b74c6c16e2ecd929c129ce71c712f2758a7bb05c65d174602bd2d9184d59fdd87daa7212f526cc6260a7a9a18d36648aa5df6d02dfaadf52aa20092c636913156df5697d60d2d483cf71dc9bf6ef4625f5e0fb795db5b0d26fbdfb13ac23cff5e1984fbc53ea9e99136ea4334e88d84c3baab71ebbccbe2e753cb3e548b197d5cb164d59d7363d187905da213d11b5458acfc88a8b53b595484559d01ea905a9007b48a0803d12a0803d62a0803d22a0803d0450c01e0414007e6877f708b69841e7b6b1c524c1fd2b3ab7ed790b5b1c86f83a72b26ddad07bc5da7ac598fc59c5d68c137777599ecfa8eca8364c642a606f93d325e8d470b386f3cb967ddecc683e6f510654a4ccea3069667d7b746e781f494ebc1bdea55d556073cd61010b646013415c4f1fd28749863179ba5b7af059593b15b4c32627259e7ceaf16ff40a0921378789e96729e4910a3e6c4017c225366766297af355e3bb3c439949b20ae78c34ba7fe9c8cb1fc6fc773c83feb958bd40c63f6bf7e3d53994694bc66bb16073f66a269716e6cdce6a2343891bed8eb58e08a62a2acb0fcf31c1cd52f0fa550107916a7403ec5349a49a02184f7aaa66020d2245aa71a4686cac0e3c06c653f094ae98159cb7d9a5ece39f52ed339b85a7be992dfc93d181eece6cc7b28a9239ad57715a7fc4ecc7ad1cbebc54739ee1670bb247483f2a84bbf9b0b8810f335dcef242f88e907ec2d906613cfa67ced57d25d4c8db593fbf1bb7dd9dd9214b863dc9b8aec52c6558a29adeb518efef5493248b85b2b764abc8d8bdc22eaefca62cdd23f64b2174fc06a399793ac5a25cadb3e934d85af44d24313aa3e2ee99db67db73fa2abbbee938dff263f34b7dafdc5dd9b5faf6ba8edd7993b74c34849bce3596ad6d68c4a3a77fca13c9ed61881e45f9c088c6d15a2a8050ebe613f369346cbcc78d17723e54bf24f89d89b9b437194a92b59e9ba2e3b7d21bfe44bcb05596a84cf75d44775585c6c41c2ca3bf35845d62427384fcef29132bc0f5a9342b9b8598503a80f4a9ddb2338a54d33b3c114e15cef3c6655dd5477a1295a511c34aa36a0ce628d5f49de860df87e50379507b7fc293e79ed8a73fe281f4074ca8dea3ff42650ebda114fd983333d1eb0d5d687c4e1c936da6e3cb3d31afea9da6ad58ab54d3abd1e65e9da66d7decc6ca8dd2cd6d69b1ab2b574bd75c796bf6db156f8bb2aeac9dc578807e460e435a5d9c2e463e7fd8f115165c8bf818ae2526a6d268f5f07e2086fe9225b2af534174b6d4875ebb4b06cf73bf3c2359e4950e2baac87b5ba93709a33a065d33d79e2c14d3dd5d880ca995ec25e49954d48a1395b825bcb7f6a85feba71a55502fe22cc84649b0ddf5277c56876560e75f7710cfcae7df77782f302d9867f14a5f97132e9c5a1ecfc05254a4ca33ed16792a255305b4206587e4db9be65ac381686573ccc96bc66b067a433fba669425ceca39cfcc124a6a372f8fa9481df3fef2930189476044b8dede19e1bdcbd5db3af03443739c320665551b57747aa53b7b3f3198b776bb1dcb6ab228d3e9d62a0463ffd64511bd6117ba660885da04295f7b316686d11ca54c5c7e128ffe73f707463148fafc77132cd78cf49dbf123f1a6b1b9b44d361ecf0c8d5e6348944e66a83754e794feb417d2df47fad0911ea7a8fa2da52cf40945143cfff19e1917e891b67c839bffcc7ac63afe45c12ea8d5af362cc1543add118fde24965e2155c732d3eef08ed1b38ef88bbbbb02b7ccbfe2dac845c4cc490f3fbff64ea08667e7bd281cf39c49f81857c6840fd4fd1df7b2043e20f75fa040f827eeb3ed22b2610b4319338c32c66b277ce831d01acf3c32ed78dc9c8e9a868af6cc1e7178befe2d38d973a5e695fd9c21a37c1bad52ca2dfb48bd82eca61c167cf30efd15d66d1a71a653da17ed88946453a77a2214122ebcd037de126e74e8fa5d63f667e1e6610d3bcb174b359c2364d41ba30bc430d5428d0706aa119a5b252ca41fb7f8fd0aba6307ab851a24c0e48f75dd5595a612eb9e97bbd24559eaa4025b6a472795321ec606f8b89af0a3474ab4dc63625a352a351ecc68da41c596adae3000a48ce288d909aa3e8c50d9efd914c98f8808788f77699d1b4e8804f40727fac90e3e75332d6e68b942d35d24264867da6ea505300473f6ff26753fdd1d69b5baf95b5059b7dac4ead3bbe146667e2dcb1efb02ca894b2907b617d8f22691becb39b4e826436e92e0bc4f8f1315d10934915d4b1d2a8652cd54c595bdbbad8a67144a9b1917aa6ce379d9e2b45ca5585b7caaed5502d6882659a616a9d391e24f8f4900f473f3b341ce709362b53599b02296dbb80d7edc7c4874d88bed2e6efad27c202e3c3a2c8302616f7464df129ae476adaa48402977fe6bccc9796435ffb74f8b623abf6666013e49e1321b722b10578bc922aad793d15ed68eb2c958af1534158eba5ac8503bd1bad58687e3a7716239e924bd0a325a3c910f6f5a9285ad67a8fed8944f42ea912f36135771cbdf978afae9a6217e118a9984e869564b458099642880fe421f6cd930edab61345187746f56be8af6de1fc8a6bcc53a4e23d3ea5d5d2be747f42c4d63f11a1854f6fa177f504c8251251856b5e4accea4f08cfa3477407d11b19822e9d31d69c2e43ecd68eade22a2f34f67dce032db76da5fdd315ac6281987e8ff2d75b3c88f84279b22fd2daf87a8c7a3de40ea0e9d7ed08c7805f9dcda7a46643ec7abb928b9d69d72eab96c79b51412c7df994848d4f45a53939e2c01c7f14e8ef8f864b1716cb49a9c3e7153aa0414a6a4acf8746d5f83721aee7713f4c6afa55d6e1d38eaea29b1907bf8ba55b4fa152e921b21efc3fac2fa7101bdf081cdba45938c68f8fb143cceb54469d9c047d9182bea435dc65e3c388d29c53d4f3169fd5b4b401f9aeecdc695dd3f440b64e6df14df649efdc59935b1c45ffe95131afcdca55115421aa28de7e4b798dd3e65a1b4f6b6cd7585b00f2bae5755d69537de24f3c51437f25839c652bb16e95b52957e132236b271b461f8b56f8aee98fb4bedbd6ec7dac208cd78dd64bad35d5c68b75646a16f574617f66d6d6a283fa699eb032d0c53d9e5c1dc75269f9dbf7914e434bbd50bda606e6ba59a5644ac4962af44261965f4de60728c2f35e54c49bd5e8ac6b5c9b5f060ea3bb513043935ee0a97839828b88383c4a11644a74ad514384ef5424c0d806dbd7c9573fc2dbea81d48baa29f3096bce0c6b96865e97206634aa2930f3c17897a5769646c0fc4eb79a1168da699bc465bf01633eafa1f2a23f7b9fe3176e5f65aad35bf290dcb0e541740993579faf3a701fed8dad31e6a1425be1756ba6f167961946b8d6f8a39b6a614621847903fa99b3d2cf7bceea3ec71e757831eddbc0bdc1d16b4864dd66794092fd969ac6bd68575e04d5003b885d1afa6623aa36d2eb5b3df5a748c4500cb927bfe981f59aed01cca5af6f82b482338353d89e4cd46f615f373ae439d23efa76a3545f4322fddf18a4af2309711d43e83f2745e2cf1991b88614eb0f336298eb24aa4f3291f830e3501d4840aac3764275d446a83e6912ab0e348a55875345aaa30a31d89e447594726cb26c4fda4ded2655471b1f58af832c2db69e6c2d7d67afa426a701d1ef9c13b1ea1e874ed3afa0d96ed83b44187b90782e0596dc88c2cd2a4411172d11c66ea48f8538aa1b2457a1266455f4408b749a56e1a482795621e7bccb914278011f163f3226a3a23da763a261e8baf4376674476c725be2d0552744d8979d60abb74c6e71ee032b52f4d30c0e986145ac6913c10e9338e4bda71cf4bd48315ec9e4f73d1cfc6a962a06bfa6fc1e22e2f07ab69871e70dbbd261b09aadabeda313d2a6f2678fd4419f3535c6df1125a9b4ac07c937d91cb38a6429a469ec8d8cd21a8fab88f6e991c8c96122fad487921f4b6b4c69d1bc7e66d6b05747039d015eacc111cf046f617b47a39aab69846ae61487a08fb7f6d6d167d2889257cbd694dc525ebf64985a81ef37305be80269b07e8ac45163288d121f3120f99b671c713be91c2aa0c64343d0ca1e4f96823abfe9f52f5955962e979a1cf22d124279abe4ba9cd24ae89446192b5d2f3a6ba4fb4f21656259bb32b9ac03d665316d6d94444b58a344149058620d482eb105ac2ab95e634c26b0e4dccc1569afe4258f24ca9299bc9aaba984eac01422deb97f6bf9eea07255d96d657a59174db5213c47033fb1ba4eb91e9ec56577c59130164689a4a42fa3ae023c1061947e4aaba34fa579e3b672f2321202b719cb8fe566b1dccd8d9e726abd88ce6a44205f3bc8d721c752bf8aa586122265a2f2b23259d9aa5ca5bc5a925c9393169d154be6d518a710f4faf38fd4a45d4758d61a269960dbfc51616b496a3d19cff0de84d0e7ef385bd2dc84fbec622df4c0ed80f412684d0fd71aa8479c845bc348247c8bf4d0a2b2bee72cce9d66f937cf59e8a8d51e65e925ab9c6d71b5e166a3e4a16d58db887edb86b3a627ea1e567fe743eabf3c50ffa9cb9678e7891d1dbec52a22db701e39453a7a4b2f99e9121bd23fc538d8de2f1d6776acadc13272b2b5354a39d9de69940424065c0e480e68e564a31b45720afc678a247ce942ab6f6aa12d604dc9f50ac6d95789e9c4c18055015703d2036e70725230ea1429fa12cb4949c4ca4edf8d1016fb76d75baa8dc1c6b5754e599b6bd7d69d318da9a9b97a951b1ba76ff7f131bc0f0d374c64cc8ddc3953a5f3dcae39825f0f703c6ba4f696cd2938a13c5e91284ac6b71d70a989067d510801f9b959b9bc989e47a21757559b5f6c77e6c2bb812cfe9400f603372c78efc99f13c5b52f6c9176b176caa7da30d130d974c864fa0a7333c512b18286bf3db4b4de6f1c21da58b1fe9b9cb89c8ab4d969a10c3e5912ce87c821f2f0e5dfe84fc0fb203ab01bf567f60b5c9c9231c239c6dcf67e0b2e259c818d72f6c6df9869395c8ffc952a74f6080a1fdc233676688f1023f18cc31a53af87b6541b72e9e07629cca6a31b66ce33d984335742ac80d15550e27a96ed31a2cf6eb23d1461bab95753761cf66912bc4fcb5a86dfd05470ef680af298af1e4fd77dcd5231140d33bbf3ec062d50cd944870efa8c649106bb7f4e39628d361bfc6ed148d880fefe0ce5ee4140a827e1e4fe7da602fede4d1bc9e4bb32b10d9a85ca40a9520fc7e4cf9bd329d501f7370273e764a36f527e7be73afc59447680aac018b969fecac1ba233d554b6ebacb76f700f35ea86f6d0c0c9eec17a3cea83fb467b2b1ddfe4e17791dbfec5d9117f0ab0174bb7cbcae71992f2f164753a1276902662deb3e503ed2df79cb92adcb4a3d1eb8d50bcfb5f42a2ace705ee32884d77e68b9af6b01e6f9e827bfcf1b7755fbacedd232046cacb7efc172c8b2a00c64222f164f2b85336de263e703e3517f379d1254e469eeb9ff1f9681ce8f1ec347c46aa37f3d6213753e268169fa5622b019f03e1dea2df93fa90a9d843ff21bf44ad2ae946f4b3cde8f0f3745c33f83afc49ebecb40a8ed3f4e4ac26f187204f71a458552e41f48f52d9a255b8bd05793b1a953163de9d99bee3c4cce54093bdded0c5e23ee94fd0c783b58ce94665519b34748a5d16494505915444821d91794ffca33f9335dadf0948efce2f3553043e5b0d68c69a8175506e8e14d3cb29ec83fae2f205d6b9ed8fa7abcac711c7be73efcba020dc979f59bcde206219a859043587e7584775f794457df60bd4ccd8d0f31abad026c1e5c758589b94d3c0ac654fd6e93f6308eb168fdbe2cf48e49da7fa642a31c3e3a9689d66a4b5ecb9174f5a5704ddc23bff33390b73b851d694bbce4eb2eaaa77ccf0f830aab3ce794e1dd7eeae83518d58b38879074f70bac8eb4df2bfd045de12b306344cdb8273869bfe95de36eb07463eeae5a1233f30274e3448bb600f3f0fefdbbf0c11f42b19fbd364aa2195a5ecfd11066354674968e193da2cdfc912fae5161427ac4151b4bb1ee8d4aed3a40acca3d26c7da4bbaf86d44639e3b5e5306663ba45033913df1743cefed81aaa35cafacf9e7bd8b7667372fe52f80abff7f5db668e07abffafca8f922c98a76e2bdbe28b0c367302b679e3476573e2981920230eab3e32560bf6fd3ca92eb2d039e4a3f8ee4f684bb861bf41da21b42f5e7f107c951c8943784fe2cfda5b1d11393d2860a5783a4930a68c527acc69c911b3e9aad82271ec7877fbea23e6927501377daecb41a6923685063ca6594da384f7d485b083ecb0217e3eb6edda4a3bdf6f365f0d6666275f49c4f3abe28ec3012bc7a28036626ed165fd4189c33c17f2e7ae1ab1edddfde6adabe92d7e1efac339e0b3fb11aac387510dd986b6a630a6a2d623e680d5f41899d4ace6dedf79d10a8b54118bef3b9df7e2e893e7bd4a6e965c23e7f2d2614f5d69b5ca6577e5d4edc7e864bb44de1489f833034653636e443e29dfe57325a7f7484b29052a352bd0bb54b5b98496e7508eedc00bbc815b051672eec7753eeb7c6e055c5b61919f37a3911a3a09fc9ca654144819c5815285b02b0e2f66f95d71498394d10426844545986d4899b2221fbf25501db4a1ad37b75f2bbcea7bb3e1d87360eb8d501eef8ae5f81425b511c99b708c0d76c5727c8ac2c5d821261376c52cec8ae5f814e56ac35d795318114835f2bb62d8a504accc28b55eb73df0825d31ef23b8d6520b68c35e2ac8b95268ab8495c282b526ecb1a12bc5d48cd0d6fddc6a1e7c557a63b281fe19f65a4db0de954b119eb1995b2c85a2c6ec9b249be6dc7d8caa5869fd23d9f7abe6995432a537df2375473e6b81fdf41738a7b2594e92da09e5f02c513613ea6b8971c9d5c9de49fc6938b63e6917b63f53de4483e91f2cb59152362b3b188df25ba73d616b5a8a26c14c2c58704f454ab8c9f96e35ea04714358338336db3b4bf1bd053c67ada833db1ce08557bd7db403cf09b2665907cc4632ce1349557efb9e863981fd1ad71ce2417c89f3610e0a8e030e45a4f5c2f338a2a8ee373dfa11e5e9ecd1f2a2c13d4a79fed65fe34b72e5ca2999b3dc71e3e07246e9c3cb09e32771960a320d193ff1d052fc7fc34973136ebd6634d6e4ac5ff07c44a827eb457afcd62fb85d7d63a2817f6b55f59202f8c8a930c7d8f2024ab59f7a60bd617bc0bf4716f6fc7b85b7c8fceafe8187f0eeaabc4658690b1521dcfddce784b7560b781ab55478e3641066e17d42385b98177b14e71d0eb93474460543a8cd1a68e521ea1517e5f3740bbce6c952b3cde7eac25b9c5208fe4a96f39d6554a74283db51f59292eebc8fef2213eaef2cf824227aa4622af77ea8cce99f9687f331ada54278829cdcbe4478febd1c12cd919c3f597ac42caea190486f8e85bece697b5ea79966944b51d4d657e89d7b51b62249ad636b8c55a208d28ec0b30dbb2cb5b28d0f70ad7c8953f103250a6ee0fb4997636b8c4da223e65cabea008554872984df0c7125df6fecd369beae1b816e8f2034bf8f6cf522806756c211e37f45767be1d8fefbd95a56f62dc97f09b001e4c5be2f1ecfd096b8e60d13a23afb139c798f599defb7cabbc65c76cec2c8ee71c33523f70a3d775f1fa945a2edca94222bd85dab6a7a08a18b71dd62b163af187c8534de330e48eb5f6a1d15e6602865ebd5bafea55f5b8477669d43dfaa3577b96e40758c6e70bd259c8e6f460d7ed7a6efc4ab92b403af4b77c64539efcb743a4b1f6f1f903ee8fa80f4e8a630fbdc724a6fba85a5970c5e6778c9ae07a4d1452d084b7ccee22a7fcd1c032364f860665972bfc3d5daeb6b7b077601c4c8d016dcbb71cdd506dcbb427fb9dee4a25fc20d23afba3c5541bba2da94ab6845af4899dcaf50b6d0736f43ab25d07ac02409c2b28960073548becb2ecf5678171f74e56a1dbf564b3ba03f631096335cac96a091ad03d2952592926cf30d8b534a90711cfac45bb0d3a8f9223fa220822c12593423f0ac342e6259b7e84e18fa44976fbd51f580e7c3df39bd1316d54994c37fa0b7c4d7e6a697f1bc728eeea842dc9a555be59fad551cf4c0365e97ad7d6e19e4c277b4a7e7c8cc61dc3aff0e31529e7977c411b3be9142c1ed930de0950a3614f6ee1173688b1ef47cbf61e69fa7bf39e5f5c7d3c7af9af49ab423bb647c3b9642cec420be455953190ddd5b259293da7bb87da6afc40d249adc2237f9a16c73f0ca334c96efc8e3adddce95613233e0c161af72b2d0572d8aab75136e8cc9707fcf83dffdac6cc1f75575318a3898013ccff8f6bfa0980f4fc3feea7b70fe840534be992af710e1d3b150469a5699fcdbf73dbc74fa484fb4ad113c5d729958beb17b840a99903e721862bd462346b2e3443078c156ef8df7adc30cf7579afa47afb0e012f575210d7cbf5451253431f2d3547eec6699c5e38c0e7d58a3a3da20f2cd5610dbbdd52bb60af3eb448bfd9ea8d448c96a13ba4591ea11782e1b772511cf2635095da2d9c9114d55a21a7b95a804d6d7b2164177618498fae8911319b9542bd5e13b41cddc5da4ab1589b80578ade05bc2af33c21c3ecf3947265e186aa77413cca35c1e728533cff13e5e739c29adf1ce94a0fb4353d4cb5d6703bd4353f62e767df161e753c02f40de9a6d7974990de9f791486ebf4bd162bb6897869c4323bbc82587abb6a82e4183e79436cd25022f58a268a90cdffafd033ef50cbc701ac933a72372ee8c807614d8741765e50da7269b03c0679f65d66922865721f1c2e1a8f4d1a98824231ebd44d4d81a89c0e124b2ce19ee086c7a03f2cb8b02c4c3297a3e29a2478b45a6587ac405fc5e84b820626269ff0be0351a615f668c7eba587965ec3ee72eedeb3a5d58bfc52a153f38525c7645cea811b71a71d287a85d3dddeed6eebfd85049b49c9c84efc350f826a59c5c2f82b66bab5c6d576b5cfdd9e26c3b9912b85c4394266422c22f621349f4e7e19b9ef27316542a93218f06577f2cb723f91b7789e1b2c925e2a9b066dec5cfd5667a9858f44571ee2b81098d88891d9337c3dc86bfd4289e8622729b50447c03f735c669149823455675db03be3db38b65aff45a9c72354c77ca857ee2e5e266904355976045c44fc7aa7e06bdc32b2c3773343eee5c61c1f26f55214fd20201f059e6c0cc9437bab1640ea9de5c5a7202e68665834f3136c04a0133f22496d2caee583493eea44a26c929ad28826a1199ab38bfe8f2e7865966df574da7641b26b6641757a4dcc9944c32a5821de5dea9a2266df099874b8b6aa82e51a5b9648db7b52c75c73f223548345cf27421ff0ede39cf4ce4e619f060b9ba0666dcfd062c07fef609d7ef5ab1ee8c9228f6cab03d9c0f2e5226ed38214bc9360fadfd4e6acc247e5de5ad7545c626758eb3e7de067f41a2537b32bcc56af713b1f8e68a5c6c7d462e433ef284f828d63f14b17e61a80ced2cfebca86c36d8499f7c530f517ade48305b6a8b2b514d9b3f319652959febf3a40ad134b33e94ea2b6d32134c5eadb90a9dcb5705d9fbc850eb23d2fb5b8c842692fcdda2b1b15b97b0fe61a8ba58557e68f8d6396418f883e587bcac7e8d0f2a13f92f0b601725aa36d2ab4127a9db23b296d12b2da26c3f4518f79e604aafee485149b445da87fafd31c72db08fda945f7202cf4578fc58284ddfac920e78fd0b5b1637634e130de0d3aeb248604428621efd6eb7a8da10e9f9bb45ac071207921e8805f53a6b2e9b836ff2d33b8d8896152196d4524eaf869c601df354ffa033b66e9d66603f2e5a3d8b1bc17eeece1ad64bb9911259a4c82b989a66560551486e36a223c51ea9100a06af6c1c85f0be56acd1ecf3b35a48e42597fa4870dfec2fc6fb2032ccfa48e3035263c6fb466d5b255bdc842229e435cd6c9106011f6eaf2445b3b1a767aec47e60ec31b9344872c8ac8b557d02fcc1f36342eb29ebce530f7009965a249d665e3a4717bae38bfec8560783f5447ba74a3309f7998f846ead12e1afee4a1396a147a823e62d546418f2827df81c26168ff5b27cfc1dd9402f43896b5548e407b6e4b55937abc8abde99c6b59d0a92d4186d22ec1f28aab0cf9c5a536d7e0ff86eb56eb77179a6c8cd1a31bd88f27c2a43da876fe8c7dd5ed881cbde019bc3fd262f6c42d30a23a920146c8e99239e4021dd3879b14444bc27f70b050d2a9c4d4cd085fa9e009b946d88d44cdac0d9275f2f5f67d8477fe3ea2ca13d1a73532782d956a45880dfacc298e36e96ba7dde2455d03862e006ff4406dfe09f0863d9a9a1af540d17091a687b76b3eee9226534633a62ce364652318b947fea2dbdb8cdeba76c2d0ebdc88516b842a5457ea8bbb4dfe20c85a01ba50daed05474b1f4cb3a67488d8e957ee74a5b865797fe65aed4141cbebfcc95be0987edcfb9d2b92f866e3de74a2fc2e15f8a5ce97b71b8aec86291c62cfaf985acccd2a283d01efb3bbdf917b7fdfdc76c2d1f5f5ad480f0a9fc0d8b337c0e6dce6ca873865a5146e6d7aeb46e9494f99d2b8d24a2337f70a5f91144668a2b2d8488a4fa1c29aed4a910beeb4872a5ab217cdb91e44a5f06e166c75e577a0a848f3bf6bad2374158ebd8ed4a67208c1cbb5de94538fc20c495be1787fb42065a85c3cd63ebc02e44747b95c839be619183c717e72e8bc59cb2149827eeabada7b0a6737cdc52fe7eea22c7bf2cceadc4995e6e5494099ca634d50ba1c1ba814303ba814303ba814303ba8143437483e3baa0e9637ee487707d7108d71787707d7108571ce23566992b55a8c5952e68982b9dd7a8e7f83e8d77d3a8f3578ff1f16e1a153f44a3e2876854fc108d8a1fa251f143342ade4da3e25d1ae44ae73528c9952e68902b9dd7a0bdae745e4376bbd2790ddded4ae7352cc4952e68982bfd200edf1deb4a1734ccd57bbcfdee38e60cf3f6bbe360f44806fc34ec1f0bbeda6713d4c2db8409bc7fac533b3de43d16962a17d1d62a29becd1d4885382e6ae8669b089f33da506463180a5164e593d648cd0594953fc6ba236f97cdf9fddff1ef9cdf4bf35a84df24299bbeb6384314f1759deb5974d182e7f2ab1ada5615ea9afb86f3b6e19af9966c33616d6b2dfd3a5ff94f6c157cec2e13d633d69ed9d76a1988e1da6ffd81eb9fb2c55999bb4ca02b8f61adebcdff3abfecac60152f1f33d5632bf9455de70c633d85b2b7a1965fd2f8f22f1d33617d63b0be8de0ca5f8ab63853b0c6a941e35ab99863a6b297b02645529d8e6e7e345ee66e66dba9db6037bf0823fc128e8b1ec2f3e74b53b9349c1249118e9f393e598a734209185f025b39c35bffa57e6e6c67ce19e0fef8891b0771dea3b37fcbfde817bd0707733f3a7b30f7a3b1380ea7e11a48822b712ae398336d70cd1f9d7aee20aef96dcd40cde98d0c97b72ff6b735f79d2a3836b8e6bed8c135f7b971ef383586e33e73fea0767de5c14b12179d896331675c0327e5998bb59c3473bef0ab7fbdbea01b78a49ff8ba868fc3357da1a867f99198a919c8f37863562dd6b9020d3e1570ea5ceacd019dc31a26bc11f623d5fc934ae4a1be5807bb4c9190e21bd9b095809ddbbec1befcc216f0fdc96ecf90af4d1a1a757b717feb621e219c636851b5c9750bd951cd2c74de44cae1ce80f9b38e07d5aefbab8975d506e79778c7fbaa19671ea4174e0ebb8990a16f6a2cd056f1874664d06835f2cdbda8f4fb18c4767589490f4612b8f403f44c2e969a9460b90f5af8dc8de8a4e6f86f72c3dc2d01ab98ebad21d4a54d55c4b63c6b9eedaeb07679c04ea78172be7fbc2e9e20212473d15c270f5c13e6f34c2e1182799112c24208fdb8e70637b374543deeec79ea02dff378a6096ee6fbdf79023c78d73ea78f540f0e8baf7aa81b7829173179f4bb5428a1bedce4dc992b17619fb0b44981b6e5316111cbba1111b2d682c74ff0b3efe2d697bd7c2c6f5bf9406c790f1f5bdaa4411707e50eea76c65344efa0f8f23bcef846b4a26e50fe5fb9f825a54d916817d43f6359b768ea607eb79de9a9a86130bf9bce7833ba6c71be3d4cfcd1598b11e9ea3c9cdf64ff8063fbe6602d1fbdcf195bdec4c762499930fc06e8398b33adf91c4e3baae9e5467edf7cf9a6ee116448a9c20f61ad08049d8055894b095cc6a0af2dc27cde82e37e7e19ef57b28438ad958fc312b55a9cdf4538e328e23be11b436804964673d9196ee6c39dcef02f7c18f810a63a67db61cf9ea7fb07a12e6814daf43311c2f3be5ce7b4ba0657ee26b7dcc77fe0731f9df399e5b7b96d6eb99bcf3b73fb3d84b7dd2d37fade997bc2a0dccea70f6b06cd1c6707763e78479dad15ce10bfcd9d33cb48b672b3dae2d2a630a8a1e01f268d791aecbf2a7abee1e3f17b9ba3676573b2b5384f24e4d971621bf41a0e692074f51706461173d4db8c5f712794dc1904b51fef42b296bd381fe46e94cdc1239cadd5a79222eeab2c573ee35f8f98f1df7228d3e051657bec882e6813f1126a4e95cdd185991a9569b0db5f9b6d76aee6bbf2b8eff41e2893fa9b6429ad42ed552706b88655e2da5f9c0f73b7e8868308919d000bf693279c238473a20f749aa78be8a24614c850285beb9b74218eccdbf453e16c7ce390bf69f8b5852f81b9ab3ea28ef22599725e36e3d1a78b4ae61061f85d63ee1c22245bcb90e2c66e87783a89f4a17309b6472a6a7d4084a982da5109ecfab95efdb0ed70a76573465c7ba0c72107dead871b423bf04e7c9b86be5f8584f3be52e1fbc622a2bc48433fda83600637f78884facb8477cc2c510e337c690f1a1a1ff51e513ead65623394b966f3142984feb010ec2cf368b53ec63957965fca4e11f96ed2ce58765054b1b2b4700aaa581f18df80d8cc9e11818a5328b26704cac85784e26fff620b2617fa24cea05aa30213346841ac68a32e846d25650b4ebdf8059b691fa1fc221036f63591df229ca714aaacb1851172485105b57935e4ab42a54817f6e2a91763f1faa00bc35e208466c3938d92010f6abb58790aaf1ac2795781f08e9dc1279ad84f4c0991b608712f0792be8430fb726fbcf57fe2dfd6e0afdba1d557abb83372d5deaa0a46b387ea448a29dcdf34d92d8b72be99914575a6f0df58b20c1924d8938dd722cdfb035ad4a8c3baa9da4fc9f49a4eeeef1d308d0a124b98f29d20cd69fce6818f232f38dfc1eb4f09fafb41196dbacea7aabfe14b240a27d5d49e32baf39fceafd7457e2cd64d3f8ef79bb38a9449aafd1619f7372e14a408b78e99ab631525b0c797b53f49eff2a3d8229032807bbf9fb9bf445c2343faf173906e3cdb3e1ea982e5042bd38a6a7215e22f4a54874f23d5d10b308e10636c14054a0ea2234c84f42e929d0d66260bfd9af86bf04a58e1497c03803cc5c735ffcabff571dd2db8619a6bdde5777fa0ee7daf0ead3bc0bdee4fa0ee031760e65f9181bf43c15fa5e06f51f82f53f6e76d080f4259cfb3cfabc5f2e7bf446c6fef3b4478c4e60f11fb42b798d67a8858eaf63bf4b65ef0f6877b5c52e0f7c6ac69f47162be2e26641f4d7ac85c77bd338990528a71b01edf1e8f18dd8b6a4c1f465dada3290f29ab00be1eb7dff19e5f1f636da0fad8a6f9e2aca54f6a6134df89d8b891607fba2ffeac518eebd1dba4a466b8e425c5f35b59a3e238a161fd7f877e78b7c6d41bd5efff9926e2d49b04ddd624e5bf9b23d3b648f71797cdde0f5e826e1e39ff9805d7e2317f97c5fbb4ebbdd73a5eaa08df2ec452df1e37e56fb278fc9d559c44f43714fefee41d6f4d7d4c5a9d4e436a9eabc3610f4d86858f7fce22f73320fa0d934fff685dac7c2929aa596e12f527e8d8abf9baf722324da2534c04f4b148b12c9f7e9b22c2cd2c73d741a756217a1345b04cbb23dc1c4151d111cb8da2884ca3a8268712b30a4a34db48f735a16ab31c767ab0d341747713783eed0e8829244545f9cf6fad89bc8d56400ff4fe815e767bb83c7323f23ee1a1c1776268c9352f6f0d3dfc9a271de089e4995df8b45edc84464ae48a8d88bf2f7545d1afc882d21e5172aaf91d6f2dfdb21d5be5f07b3298e3a4f76434e929cb5aca421adbb214652dc3e3f0a42e69db5985dcb747bc625bf4b61dc73794fba2877f9bc4faf782a68c460dc7e273e20c2f1831673b9e3d45765f4663f5b777113164c54b39ad16b6c5808818dc97197564cc425f22d65bf365ddd80763250575137ebc5137f5019ffa715dca03a68ed4ecbacebebe11051b777d21b475d83519b4557c4d166ca4477b22f67568ad9a361c82de8a4149ac5ca340641ea9aea1baa358a9564c7fd123c36b09be91617abf26fe0384473d628a162ddbca421f6e3b61e2f992f72420ef887b22dc872cdf877adc87ac02c6fb0225c2b98818688d88bac9b68c439dc7828dd1f7e49401a559828dcf9fbd58b7f9de58f08a93a015de5a9dc63a9cba26b7fba2fa3aefe3421dc43d11d441dd437e31b4d4139131a3cb4362d63ef0d6627e3a4ddac190984df76e5870bfe03e2062eb63761d1b087d7cf0e1d67a07acb57fa91cacf5532d78d8efe8c2af6e659f074b1de1c169333d0c5beabb924b8a8b5be51ed84e8938bf7df5275db7419ee1ed410e565a5308bdc3dd5f3b7692359f4472ce46a3e3ac8d0fb7d1dd5f71366a78b88d9e318385aa234e6d26e4b90a44b79ef3e4ad3465f280951260a54c9d9cb3d2bd83ac34688abb95aefd8d9546c72571563a4fb0d234c14ae70deac3e8b88769332df1441b821ef917fa9c9540b0ec7989885d2611f56eddbc35822c14451872c05a0f896a9822110b765f51b4bf90ee36205223521c29ce5a4a6c8fb01b50d2369122dc2cf73523dd76ac652bd84385d1f99592889616c459e30b948c4df045642ed83275f70ff4a2db9e4e5bc65fbbd0f9d7a4a0dfa66b52bae4dfd83225136cd9bac8fe2b589c89d360dd3d09adf594f0b62c5ffd02f2b02ccc09e56d92b48fc2d66e1f055a3cca7e9788798ab3c959b9bbea9efd75ac6473dd73976ed46dfe95b7c0ef2c290fd6ba592027611e67817ace0277fcbf63811c5f86933f1f2cb0e4e1168873711628a3aec85787a39083ffc6022554b33cf311c102b93a749c051a390bcc196c81989f4ef3432d6f817c0f5cae19d0a24db577c2c0ca12e40960657af0a1de61a5cd7fb89a9f55409f6a43e4ad5dd7b1673fe62ac446d367da444c2c1176d65f4e4e9a732e7ff4ae40aae978c4b92a84cfc68810d33f18cd867205be43037be78b75f59a1b80ac65dddc5d36bcc7f5fe5aee4b8a88edaebf972286d19c637a5f4e4d9a3383b44745f87e80e4ddf677fa133ed5676d5dec17bdcd753b3c46a7b90856a01547247423eceb8db65e5674df9743ef8fc9af8138de9b211f54733bf419645514fe2b3df8ef733977e0aae1bc9fa52173692c914e3df8ae4ba282ff7edde6914bcf5c5b7022dbecbafb124a8ce4d3c23c83db15bed8bf93788ed98adf1f7a1b3e378c6c19b8cf91e5cb820358097e5cb6b9d5e22c5725759593e27271cdb8a42e6696892e3688842fe8257c8e16f198ad42dafb06c47316a561deac790a3a039c1949b6f9b26570e807ee56aeebfdbf6462c7e4f6692dd22ee1b6c029be064d5f095db172f64a7da4f1b12b29261b4b5141aa99f6474b34596afae556e77e00f1a59aff9eb50c9fb1603fd9fbb4dc2f12cd2a524d6ff011efa39e246367f8b7a18855e06d414835fd5c902996567c8ff4959a2797bdabaa6e9c542a55200f6a3855d878c4ccf34db9bfd5ca738e6a24d42bc0438befa8de22dc1fe8c5b3fe0bedce35e0a596895b04298e087f55e0b6fe330a91f3f5074c8fed6a962657260e9ddd847d56775292c2caf98ef5da98408f2ec7704968a1759e471fede189f49186201a5433eba924df6e4b598c6f727f246d0e13ab3e1847749f1757499e9ce1ff3b42ff5703ec4488308f5bd9c56531d692cc5ebdc5f49835c7dcf79c05dffff9a14e5f15f3a47eaac1a7335f17a6b3c533d9c597eb26c2bf5fd6f15a3ef0175e59d97631bee1156ea05f20d10c8936caf9cd0eaacf5a1a484a5cdf530c2ef32d89cbd02f9188df8d485b064a467d8feaf12d1f7cc3537a63bf21f8ea1666a024221f561bfa0ed716ca6c71bedbf6c5350fdce11c9df138cae91324bbd79f407b74a3c9eac065e7a24853db7a0fee1e4aabb36d424dcd0f6d57e2195c53303370fb717099db0f2d13d438b48cb09fffa184c6a5c3f5b372c75c77fed55ccc25d11b73012995ddcebf2077027fdd0dda9ae82caf3a5cf5bd783afecb98446c0429269c12f06567b356df943e2edf81aab3b399cb96a17222c9c3e42c3f3a54ceb224954f372a4b518d847fe7bd58fff33c15bebbffaccaaf1bfdfcacca1f9e33540af877b3f2ead1a49957cb56cc6c3d9aa2bc7174adb2fbe826657fb61671bfb39f381ca33e7538a20025806b80c97f7338e20e381c0b01670f3a1ca1404f591c0e11d0e8f4b4d47529c94129afbdf6ea6b633dd1829475a91b57b98268da94351048da90e2edc9f18f983c34ec968cfe14a39ebd4cb32248bd6e63ca6b41b1e9491b56053dfb6a720a4243d3b9149cf07450dabab48d419b925edb084f50e8b54deb373e345ffaabafae4742352879d3daf52fd3afbe96f2345ff3a675ab92d625a7434b063181df9f7f8fb40fa3df463e3cde49e7fe9bf4fd4ffff7e9a7a6f0b459a0f704ea3b95a71305ea358da7a102bd22d0f393ff7bfaca6b29496bd6bf0a8de5fb6365d2a6f48d412b5336d2ab0685d35f4d4a1e9cbe6123f418174e4b4f4f494d4a87dedab0f1b54df4c6b457d771f16bd33624092a31c06c683cc774507880e9ffe64771ffc24c32f4271d1c1089fed7d5b87eb2ff2799c5ffe39c95c2f8ec1368b9403f12e8f8089e6e14e81b825e9c15d2bd843042db11011001c48f2124f9c32788044801144006f00078028601bc208f3760386004c0076d178f043a0acacb81fa02f503f8c3b30210f0d876341af0082010a0048c013c0a780c1004180b0806a800e3002180504018603c6002201cf03bc0e38027001301bf074c023c09980c88004c014c054c034402a6039e023c0d980198097806300bf0074014c81a0d72ce063a07680c5035d05868ab063017300f1007980f58007816b010f2fc11b008f01c6031f4c312a04b216d19f0880724407839e079c00b10fe13e045c00ac04b10f732201190047805400392012990be12900a58054883b8d580358074c05ac03ac0ab80f5909e01780db001b011e236015e076402de8011de0c7813f016e06d4016e0cf3e3bd03b002d4007c806e8010628c300720046e0970b3001b600f2005b01db00ef02f201f8bf02c07b937620165008cf45806280195002d801bc76024a0165805d80bf00de07940376032a20df1ec00780bd804a4015c4ef037c08a806fc15f011e063c07ec07f013e817c9f02fe06a8011c001c84f843000be030e033c011402de028e018e073401de038a01ef005e004e024a001700ad008380df8127006f015e0ef80af01df00fe01f816f01de02ce09f80ef01e74086f38026c005c00fd0433f3eb603fd04cf3f032e022ec118fc02b419f25f065c0158012d8056401bc00668075c055c035c0774006e006e026e016e033a01bf02ee00ba00dd801e801d7017d00bb807b80fe803f4031e001c8f7113c062614a59c293718b84f052fccfb49f1c8e18c0624022601de06dc016c04e4035e008e00ce047c03580e867f00d0041808980998038c072c02ac01b805c4009601fe030e034e002a01d5001380af81ed001b807905d7438fc01e3009301b3018b002f01d2016f024a006d971c8e1ec03e78ce051c069c0634036e031e00bc20fd11c078c03440312016100f5809781d50093804c8019c029c078cfbc5e1781ab000f012e00d402ee02f80c38033809f01b7015eb00f08063c0d5808580d987d19ea00ac0468215c063800380d6801dc038c82b450c062c024c0f4cb7cb95840c51587e313c071c049c0af0019ec1b1601d603720141563ead1ce874e119a707b5381c53007301db018720eeef8076c08b104e07bcddc2e75d348827a69f437c07e091569011c2be2d03e97321aee40a8f9302701c4263053d0a16a88aa3c9491b935ece4c4b06df6fd6334153834243830645cd7c26683a9f1b16fbf5af80bf36f699a065d18b97bebc64e91f17bd3cf95fc43ff9f254e7ba383678debad7c163480e5a9ff45adac6cdc142bcff758763386094409fee18083f2200c7e170cfb501044378e94d1eab018b04ccbe3110c6cf8b84f48583907b0bfa811089c4f093083fd2ed27fd373fea7ff993fd5ffeed4b76fa198877aa08c1b722785f2748ec4ae77ecd697cb864354f17ad199afefff59ff3ffc3323ce2ebbf4e19b5b6ade3128986fd5f95e83fbffffcfef3fbcfef3fbfff3ffd64e9fcbaeaa4016e74bc1b9dee46e7bad1e56e74951b7dc38de6bad11237bacf8d1e76a3a7dde80537daee46efba51d9daa134c08d8e77a3d3dde85c37badc8dae72a36fb8d15c375ae246f7b9d1c36ef4b41bbde046dbdde85d372a5b379406b8d1f16e74ba1b9deb4697bbd1556ef40d379aeb464bdce83e377ad88d9e76a317dc68bb1bbdeb4665af0ea5016e74bc1b9dee46e7bad1e56e74951b7dc38de6bad11237bacf8d1e76a3a7dde80537daee46efba51d9faa134c08d8e77a3d3dde85c37badc8dae72a36fb8d15c375ae246f7b9d1c36ef4b41bbde046dbdde85d372acb184a03dce878373add8dce75a3cbdde82a37fa861bcd75a3256e749f1b3dec464fbbd10b6eb4dd8dde75a3b2d786d200373ade8d4e77a373dde87237baca8dbee14673dd68891bdde7460fbbd1d36ef4821b6d77a377dda86cc3501ae046c7bbd1e96e74ae1b5dee4657b9d137dc68ae1b2d71a3fbdce861377ada8d5e70a3ed6ef4ae1b75eecb1dc2cfb93d3f7ec9838b1ffcfbdfbc0df93f99c1f709'
+ ISP_PROG = binascii.unhexlify(ISP_PROG)
+ ISP_PROG = zlib.decompress(ISP_PROG)
+
+ def printProgressBar (iteration, total, prefix = '', suffix = '', filename = '', decimals = 1, length = 100, fill = '='):
+ """
+ Call in a loop to create terminal progress bar
+ @params:
+ iteration - Required : current iteration (Int)
+ total - Required : total iterations (Int)
+ prefix - Optional : prefix string (Str)
+ suffix - Optional : suffix string (Str)
+ decimals - Optional : positive number of decimals in percent complete (Int)
+ length - Optional : character length of bar (Int)
+ fill - Optional : bar fill character (Str)
+ """
+ percent = ("{0:." + str(decimals) + "f}").format(100 * (iteration / float(total)))
+ filledLength = int(length * iteration // total)
+ bar = fill * filledLength + '-' * (length - filledLength)
+ KFlash.log('\r%s |%s| %s%% %s' % (prefix, bar, percent, suffix), end = '\r')
+ # Print New Line on Complete
+ if iteration == total:
+ KFlash.log()
+ if callback:
+ fileTypeStr = filename
+ if prefix == "Downloading ISP:":
+ fileTypeStr = "ISP"
+ elif prefix == "Programming BIN:" and fileTypeStr == "":
+ fileTypeStr = "BIN"
+ callback(fileTypeStr, iteration, total, suffix)
+
+ def slip_reader(port):
+ partial_packet = None
+ in_escape = False
+
+ while True:
+ waiting = port.inWaiting()
+ read_bytes = port.read(1 if waiting == 0 else waiting)
+ if read_bytes == b'':
+ raise_exception( Exception("Timed out waiting for packet %s" % ("header" if partial_packet is None else "content")) )
+ for b in read_bytes:
+
+ if type(b) is int:
+ b = bytes([b]) # python 2/3 compat
+
+ if partial_packet is None: # waiting for packet header
+ if b == b'\xc0':
+ partial_packet = b""
+ else:
+ raise_exception( Exception('Invalid head of packet (%r)' % b) )
+ elif in_escape: # part-way through escape sequence
+ in_escape = False
+ if b == b'\xdc':
+ partial_packet += b'\xc0'
+ elif b == b'\xdd':
+ partial_packet += b'\xdb'
+ else:
+ raise_exception( Exception('Invalid SLIP escape (%r%r)' % (b'\xdb', b)) )
+ elif b == b'\xdb': # start of escape sequence
+ in_escape = True
+ elif b == b'\xc0': # end of packet
+ yield partial_packet
+ partial_packet = None
+ else: # normal byte in packet
+ partial_packet += b
+
+
+ class ISPResponse:
+ class ISPOperation(Enum):
+ ISP_ECHO = 0xC1
+ ISP_NOP = 0xC2
+ ISP_MEMORY_WRITE = 0xC3
+ ISP_MEMORY_READ = 0xC4
+ ISP_MEMORY_BOOT = 0xC5
+ ISP_DEBUG_INFO = 0xD1
+ ISP_CHANGE_BAUDRATE = 0xc6
+
+ class ErrorCode(Enum):
+ ISP_RET_DEFAULT = 0
+ ISP_RET_OK = 0xE0
+ ISP_RET_BAD_DATA_LEN = 0xE1
+ ISP_RET_BAD_DATA_CHECKSUM = 0xE2
+ ISP_RET_INVALID_COMMAND = 0xE3
+
+ @staticmethod
+ def parse(data):
+ # type: (bytes) -> (int, int, str)
+ op = 0
+ reason = 0
+ text = ''
+ if len(data) < 2:
+ return op, reason, "data null"
+
+ if (sys.version_info > (3, 0)):
+ op = int(data[0])
+ reason = int(data[1])
+ else:
+ op = ord(data[0])
+ reason = ord(data[1])
+
+ try:
+ if ISPResponse.ISPOperation(op) == ISPResponse.ISPOperation.ISP_DEBUG_INFO:
+ text = data[2:].decode()
+ except ValueError:
+ KFlash.log('Warning: recv unknown op', op)
+
+ return (op, reason, text)
+
+
+ class FlashModeResponse:
+ class Operation(Enum):
+ ISP_DEBUG_INFO = 0xD1
+ ISP_NOP = 0xD2
+ ISP_FLASH_ERASE = 0xD3
+ ISP_FLASH_WRITE = 0xD4
+ ISP_REBOOT = 0xD5
+ ISP_UARTHS_BAUDRATE_SET = 0xD6
+ FLASHMODE_FLASH_INIT = 0xD7
+
+ class ErrorCode(Enum):
+ ISP_RET_DEFAULT = 0
+ ISP_RET_OK = 0xE0
+ ISP_RET_BAD_DATA_LEN = 0xE1
+ ISP_RET_BAD_DATA_CHECKSUM = 0xE2
+ ISP_RET_INVALID_COMMAND = 0xE3
+ ISP_RET_BAD_INITIALIZATION = 0xE4
+ ISP_RET_BAD_EXEC = 0xE5
+
+ @staticmethod
+ def parse(data):
+ # type: (bytes) -> (int, int, str)
+ op = 0
+ reason = 0
+ text = ''
+
+ if (sys.version_info > (3, 0)):
+ op = int(data[0])
+ reason = int(data[1])
+ else:
+ op = ord(data[0])
+ reason = ord(data[1])
+
+ if FlashModeResponse.Operation(op) == FlashModeResponse.Operation.ISP_DEBUG_INFO:
+ text = data[2:].decode()
+ reason_enum = FlashModeResponse.ErrorCode(reason)
+ if (not text) or (text.strip() == ""):
+ if reason_enum == FlashModeResponse.ErrorCode.ISP_RET_OK:
+ text = None
+ elif reason_enum == FlashModeResponse.ErrorCode.ISP_RET_BAD_DATA_LEN:
+ text = "bad data len"
+ elif reason_enum == FlashModeResponse.ErrorCode.ISP_RET_BAD_DATA_CHECKSUM:
+ text = "bad data checksum"
+ elif reason_enum == FlashModeResponse.ErrorCode.ISP_RET_BAD_INITIALIZATION:
+ text = "bad initialization"
+ elif reason_enum == FlashModeResponse.ErrorCode.ISP_RET_INVALID_COMMAND:
+ text = "invalid command"
+ elif reason_enum == FlashModeResponse.ErrorCode.ISP_RET_BAD_EXEC:
+ text = "execute cmd error"
+ else:
+ text = "unknown error"
+ return (op, reason, text)
+
+
+ def chunks(l, n, address=None):
+ """Yield successive n-sized chunks from l."""
+ if address != None and (address % n != 0):
+ start_pos = n - (address - address // n * n)
+ if start_pos % ISP_FLASH_SECTOR_SIZE != 0:
+ raise_exception(Exception("data should 4KiB align"))
+ count_4k_blocks = start_pos // ISP_FLASH_SECTOR_SIZE
+ count = math.ceil((len(l) - start_pos)/n) + count_4k_blocks
+ for i in range(count):
+ if i < count_4k_blocks:
+ yield l[ISP_FLASH_SECTOR_SIZE*i:ISP_FLASH_SECTOR_SIZE*(i+1)]
+ if ISP_FLASH_SECTOR_SIZE*(i+1) > len(l):
+ break
+ else:
+ start = start_pos+(i-count_4k_blocks)*n
+ yield l[start:start+n]
+ if start+n > len(l):
+ break
+ else:
+ for i in range(0, len(l), n):
+ yield l[i:i + n]
+
+ class TerminalSize:
+ @staticmethod
+ def getTerminalSize():
+ import platform
+ current_os = platform.system()
+ tuple_xy=None
+ if current_os == 'Windows':
+ tuple_xy = TerminalSize._getTerminalSize_windows()
+ if tuple_xy is None:
+ tuple_xy = TerminalSize._getTerminalSize_tput()
+ # needed for window's python in cygwin's xterm!
+ if current_os == 'Linux' or current_os == 'Darwin' or current_os.startswith('CYGWIN'):
+ tuple_xy = TerminalSize._getTerminalSize_linux()
+ if tuple_xy is None:
+ # Use default value
+ tuple_xy = (80, 25) # default value
+ return tuple_xy
+
+ @staticmethod
+ def _getTerminalSize_windows():
+ res=None
+ try:
+ from ctypes import windll, create_string_buffer
+
+ # stdin handle is -10
+ # stdout handle is -11
+ # stderr handle is -12
+
+ h = windll.kernel32.GetStdHandle(-12)
+ csbi = create_string_buffer(22)
+ res = windll.kernel32.GetConsoleScreenBufferInfo(h, csbi)
+ except:
+ return None
+ if res:
+ import struct
+ (bufx, bufy, curx, cury, wattr,
+ left, top, right, bottom, maxx, maxy) = struct.unpack("hhhhHhhhhhh", csbi.raw)
+ sizex = right - left + 1
+ sizey = bottom - top + 1
+ return sizex, sizey
+ else:
+ return None
+
+ @staticmethod
+ def _getTerminalSize_tput():
+ # get terminal width
+ # src: http://stackoverflow.com/questions/263890/how-do-i-find-the-width-height-of-a-terminal-window
+ try:
+ import subprocess
+ proc=subprocess.Popen(["tput", "cols"],stdin=subprocess.PIPE,stdout=subprocess.PIPE)
+ output=proc.communicate(input=None)
+ cols=int(output[0])
+ proc=subprocess.Popen(["tput", "lines"],stdin=subprocess.PIPE,stdout=subprocess.PIPE)
+ output=proc.communicate(input=None)
+ rows=int(output[0])
+ return (cols,rows)
+ except:
+ return None
+
+ @staticmethod
+ def _getTerminalSize_linux():
+ def ioctl_GWINSZ(fd):
+ try:
+ import fcntl, termios, struct, os
+ cr = struct.unpack('hh', fcntl.ioctl(fd, termios.TIOCGWINSZ,'1234'))
+ except:
+ return None
+ return cr
+ cr = ioctl_GWINSZ(0) or ioctl_GWINSZ(1) or ioctl_GWINSZ(2)
+ if not cr:
+ try:
+ fd = os.open(os.ctermid(), os.O_RDONLY)
+ cr = ioctl_GWINSZ(fd)
+ os.close(fd)
+ except:
+ pass
+ if not cr:
+ try:
+ cr = (os.env['LINES'], os.env['COLUMNS'])
+ except:
+ return None
+ return int(cr[1]), int(cr[0])
+
+ @staticmethod
+ def get_terminal_size(fallback=(100, 24), terminal = False):
+ try:
+ columns, rows = TerminalSize.getTerminalSize()
+ if not terminal:
+ if not terminal_auto_size:
+ columns, rows = terminal_size
+ except:
+ columns, rows = fallback
+
+ return columns, rows
+
+ class MAIXLoader:
+ def change_baudrate(self, baudrate):
+ KFlash.log(INFO_MSG,"Selected Baudrate: ", baudrate, BASH_TIPS['DEFAULT'])
+ out = struct.pack('III', 0, 4, baudrate)
+ crc32_checksum = struct.pack('I', binascii.crc32(out) & 0xFFFFFFFF)
+ out = struct.pack('HH', 0xd6, 0x00) + crc32_checksum + out
+ self.write(out)
+ time.sleep(0.05)
+ self._port.baudrate = baudrate
+ if args.Board == "goE":
+ if baudrate >= 4500000:
+ # OPENEC super baudrate
+ KFlash.log(INFO_MSG, "Enable OPENEC super baudrate!!!", BASH_TIPS['DEFAULT'])
+ if baudrate == 4500000:
+ self._port.baudrate = 300
+ if baudrate == 6000000:
+ self._port.baudrate = 250
+ if baudrate == 7500000:
+ self._port.baudrate = 350
+
+ def change_baudrate_stage0(self, baudrate):
+ # Dangerous, here are dinosaur infested!!!!!
+ # Don't touch this code unless you know what you are doing
+ # Stage0 baudrate is fixed
+ # Contributor: [@rgwan](https://github.com/rgwan)
+ # rgwan <dv.xw@qq.com>
+ baudrate = 1500000
+ if args.Board == "goE" or args.Board == "trainer":
+ KFlash.log(INFO_MSG,"Selected Stage0 Baudrate: ", baudrate, BASH_TIPS['DEFAULT'])
+ # This is for openec, contained ft2232, goE and trainer
+ KFlash.log(INFO_MSG,"FT2232 mode", BASH_TIPS['DEFAULT'])
+ baudrate_stage0 = int(baudrate * 38.6 / 38)
+ out = struct.pack('III', 0, 4, baudrate_stage0)
+ crc32_checksum = struct.pack('I', binascii.crc32(out) & 0xFFFFFFFF)
+ out = struct.pack('HH', 0xc6, 0x00) + crc32_checksum + out
+ self.write(out)
+ time.sleep(0.05)
+ self._port.baudrate = baudrate
+
+ retry_count = 0
+ while 1:
+ self.checkKillExit()
+ retry_count = retry_count + 1
+ if retry_count > 3:
+ err = (ERROR_MSG,'Fast mode failed, please use slow mode by add parameter ' + BASH_TIPS['GREEN'] + '--Slow', BASH_TIPS['DEFAULT'])
+ err = tuple2str(err)
+ raise_exception( Exception(err) )
+ try:
+ self.greeting()
+ break
+ except TimeoutError:
+ pass
+ elif args.Board == "dan" or args.Board == "bit" or args.Board == "kd233":
+ KFlash.log(INFO_MSG,"CH340 mode", BASH_TIPS['DEFAULT'])
+ # This is for CH340, contained dan, bit and kd233
+ baudrate_stage0 = int(baudrate * 38.4 / 38)
+ # CH340 can not use this method, test failed, take risks at your own risk
+ else:
+ # This is for unknown board
+ KFlash.log(WARN_MSG,"Unknown mode", BASH_TIPS['DEFAULT'])
+
+ def __init__(self, port='/dev/ttyUSB1', baudrate=115200):
+ # configure the serial connections (the parameters differs on the device you are connecting to)
+ self._port = serial.Serial(
+ port=port,
+ baudrate=baudrate,
+ parity=serial.PARITY_NONE,
+ stopbits=serial.STOPBITS_ONE,
+ bytesize=serial.EIGHTBITS,
+ timeout=0.1
+ )
+ KFlash.log(INFO_MSG, "Default baudrate is", baudrate, ", later it may be changed to the value you set.", BASH_TIPS['DEFAULT'])
+
+ self._port.isOpen()
+ self._slip_reader = slip_reader(self._port)
+ self._kill_process = False
+
+ """ Read a SLIP packet from the serial port """
+
+ def read(self):
+ return next(self._slip_reader)
+
+ """ Write bytes to the serial port while performing SLIP escaping """
+
+ def write(self, packet):
+ buf = b'\xc0' \
+ + (packet.replace(b'\xdb', b'\xdb\xdd').replace(b'\xc0', b'\xdb\xdc')) \
+ + b'\xc0'
+ #KFlash.log('[WRITE]', binascii.hexlify(buf))
+ return self._port.write(buf)
+
+ def read_loop(self):
+ #out = b''
+ # while self._port.inWaiting() > 0:
+ # out += self._port.read(1)
+
+ # KFlash.log(out)
+ while 1:
+ sys.stdout.write('[RECV] raw data: ')
+ sys.stdout.write(binascii.hexlify(self._port.read(1)).decode())
+ sys.stdout.flush()
+
+ def recv_one_return(self, timeout_s = None):
+ timeout_init = time.time()
+ data = b''
+ if timeout_s == None:
+ timeout_s = ISP_RECEIVE_TIMEOUT
+ # find start boarder
+ #sys.stdout.write('[RECV one return] raw data: ')
+ while 1:
+ if time.time() - timeout_init > timeout_s:
+ raise_exception( TimeoutError )
+ c = self._port.read(1)
+ #sys.stdout.write(binascii.hexlify(c).decode())
+ sys.stdout.flush()
+ if c == b'\xc0':
+ break
+
+ in_escape = False
+ while 1:
+ if time.time() - timeout_init > timeout_s:
+ raise_exception( TimeoutError )
+ c = self._port.read(1)
+ #sys.stdout.write(binascii.hexlify(c).decode())
+ sys.stdout.flush()
+ if c == b'\xc0':
+ break
+
+ elif in_escape: # part-way through escape sequence
+ in_escape = False
+ if c == b'\xdc':
+ data += b'\xc0'
+ elif c == b'\xdd':
+ data += b'\xdb'
+ else:
+ raise_exception( Exception('Invalid SLIP escape (%r%r)' % (b'\xdb', c)) )
+ elif c == b'\xdb': # start of escape sequence
+ in_escape = True
+
+ data += c
+
+ #sys.stdout.write('\n')
+ return data
+
+ # kd233 or open-ec or new cmsis-dap
+ def reset_to_isp_kd233(self):
+ self._port.setDTR (False)
+ self._port.setRTS (False)
+ time.sleep(0.1)
+ #KFlash.log('-- RESET to LOW, IO16 to HIGH --')
+ # Pull reset down and keep 10ms
+ self._port.setDTR (True)
+ self._port.setRTS (False)
+ time.sleep(0.1)
+ #KFlash.log('-- IO16 to LOW, RESET to HIGH --')
+ # Pull IO16 to low and release reset
+ self._port.setRTS (True)
+ self._port.setDTR (False)
+ time.sleep(0.1)
+ def reset_to_boot_kd233(self):
+ self._port.setDTR (False)
+ self._port.setRTS (False)
+ time.sleep(0.1)
+ #KFlash.log('-- RESET to LOW --')
+ # Pull reset down and keep 10ms
+ self._port.setDTR (True)
+ self._port.setRTS (False)
+ time.sleep(0.1)
+ #KFlash.log('-- RESET to HIGH, BOOT --')
+ # Pull IO16 to low and release reset
+ self._port.setRTS (False)
+ self._port.setDTR (False)
+ time.sleep(0.1)
+
+ #dan dock
+ def reset_to_isp_dan(self):
+ self._port.setDTR (False)
+ self._port.setRTS (False)
+ time.sleep(0.1)
+ #KFlash.log('-- RESET to LOW, IO16 to HIGH --')
+ # Pull reset down and keep 10ms
+ self._port.setDTR (False)
+ self._port.setRTS (True)
+ time.sleep(0.1)
+ #KFlash.log('-- IO16 to LOW, RESET to HIGH --')
+ # Pull IO16 to low and release reset
+ self._port.setRTS (False)
+ self._port.setDTR (True)
+ time.sleep(0.1)
+ def reset_to_boot_dan(self):
+ self._port.setDTR (False)
+ self._port.setRTS (False)
+ time.sleep(0.1)
+ #KFlash.log('-- RESET to LOW --')
+ # Pull reset down and keep 10ms
+ self._port.setDTR (False)
+ self._port.setRTS (True)
+ time.sleep(0.1)
+ #KFlash.log('-- RESET to HIGH, BOOT --')
+ # Pull IO16 to low and release reset
+ self._port.setRTS (False)
+ self._port.setDTR (False)
+ time.sleep(0.1)
+
+ # maix goD for old cmsis-dap firmware
+ def reset_to_isp_goD(self):
+ self._port.setDTR (True) ## output 0
+ self._port.setRTS (True)
+ time.sleep(0.1)
+ #KFlash.log('-- RESET to LOW --')
+ # Pull reset down and keep 10ms
+ self._port.setRTS (False)
+ self._port.setDTR (True)
+ time.sleep(0.1)
+ #KFlash.log('-- RESET to HIGH, BOOT --')
+ # Pull IO16 to low and release reset
+ self._port.setRTS (False)
+ self._port.setDTR (True)
+ time.sleep(0.1)
+ def reset_to_boot_goD(self):
+ self._port.setDTR (False)
+ self._port.setRTS (False)
+ time.sleep(0.1)
+ #KFlash.log('-- RESET to LOW --')
+ # Pull reset down and keep 10ms
+ self._port.setRTS (False)
+ self._port.setDTR (True)
+ time.sleep(0.1)
+ #KFlash.log('-- RESET to HIGH, BOOT --')
+ # Pull IO16 to low and release reset
+ self._port.setRTS (True)
+ self._port.setDTR (True)
+ time.sleep(0.1)
+
+ # maix goE for openec or new cmsis-dap firmware
+ def reset_to_boot_maixgo(self):
+ self._port.setDTR (False)
+ self._port.setRTS (False)
+ time.sleep(0.1)
+ #KFlash.log('-- RESET to LOW --')
+ # Pull reset down and keep 10ms
+ self._port.setRTS (False)
+ self._port.setDTR (True)
+ time.sleep(0.1)
+ #KFlash.log('-- RESET to HIGH, BOOT --')
+ # Pull IO16 to low and release reset
+ self._port.setRTS (False)
+ self._port.setDTR (False)
+ time.sleep(0.1)
+
+ def greeting(self):
+ self._port.write(b'\xc0\xc2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0')
+ op, reason, text = ISPResponse.parse(self.recv_one_return())
+
+ #KFlash.log('MAIX return op:', ISPResponse.ISPOperation(op).name, 'reason:', ISPResponse.ErrorCode(reason).name)
+
+
+ def flash_greeting(self):
+ retry_count = 0
+ while 1:
+ self.checkKillExit()
+ try:
+ self._port.write(b'\xc0\xd2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0')
+ except Exception:
+ raise_exception( Exception("Connection disconnected, try again or maybe need use Slow mode, or decrease baudrate") )
+ retry_count = retry_count + 1
+ try:
+ op, reason, text = FlashModeResponse.parse(self.recv_one_return())
+ except IndexError:
+ if retry_count > MAX_RETRY_TIMES:
+ err = (ERROR_MSG,"Failed to Connect to K210's Stub",BASH_TIPS['DEFAULT'])
+ err = tuple2str(err)
+ raise_exception( Exception(err) )
+ KFlash.log(WARN_MSG,"Index Error, retrying...",BASH_TIPS['DEFAULT'])
+ time.sleep(0.1)
+ continue
+ except TimeoutError:
+ if retry_count > MAX_RETRY_TIMES:
+ err = (ERROR_MSG,"Failed to Connect to K210's Stub",BASH_TIPS['DEFAULT'])
+ err = tuple2str(err)
+ raise_exception( Exception(err) )
+ KFlash.log(WARN_MSG,"Timeout Error, retrying...",BASH_TIPS['DEFAULT'])
+ time.sleep(0.1)
+ continue
+ except:
+ if retry_count > MAX_RETRY_TIMES:
+ err = (ERROR_MSG,"Failed to Connect to K210's Stub",BASH_TIPS['DEFAULT'])
+ err = tuple2str(err)
+ raise_exception( Exception(err) )
+ KFlash.log(WARN_MSG,"Unexcepted Error, retrying...",BASH_TIPS['DEFAULT'])
+ time.sleep(0.1)
+ continue
+ # KFlash.log('MAIX return op:', FlashModeResponse.Operation(op).name, 'reason:',
+ # FlashModeResponse.ErrorCode(reason).name)
+ if FlashModeResponse.Operation(op) == FlashModeResponse.Operation.ISP_NOP and FlashModeResponse.ErrorCode(reason) == FlashModeResponse.ErrorCode.ISP_RET_OK:
+ KFlash.log(INFO_MSG,"Boot to Flashmode Successfully",BASH_TIPS['DEFAULT'])
+ self._port.flushInput()
+ self._port.flushOutput()
+ break
+ else:
+ if retry_count > MAX_RETRY_TIMES:
+ err = (ERROR_MSG,"Failed to Connect to K210's Stub",BASH_TIPS['DEFAULT'])
+ err = tuple2str(err)
+ raise_exception( Exception(err) )
+ KFlash.log(WARN_MSG,"Unexcepted Return recevied, retrying...",BASH_TIPS['DEFAULT'])
+ time.sleep(0.1)
+ continue
+
+ def boot(self, address=0x80000000):
+ KFlash.log(INFO_MSG,"Booting From " + hex(address),BASH_TIPS['DEFAULT'])
+
+ out = struct.pack('II', address, 0)
+
+ crc32_checksum = struct.pack('I', binascii.crc32(out) & 0xFFFFFFFF)
+
+ out = struct.pack('HH', 0xc5, 0x00) + crc32_checksum + out # op: ISP_MEMORY_WRITE: 0xc3
+ self.write(out)
+
+ def recv_debug(self):
+ ret = self.recv_one_return()
+ if len(ret) < 2:
+ KFlash.log('-' * 30)
+ KFlash.log("receive data time out")
+ KFlash.log('-' * 30)
+ return False
+ op, reason, text = ISPResponse.parse(ret)
+ #KFlash.log('[RECV] op:', ISPResponse.ISPOperation(op).name, 'reason:', ISPResponse.ErrorCode(reason).name)
+ if text:
+ KFlash.log('-' * 30)
+ KFlash.log(text)
+ KFlash.log('-' * 30)
+ if ISPResponse.ErrorCode(reason) not in (ISPResponse.ErrorCode.ISP_RET_DEFAULT, ISPResponse.ErrorCode.ISP_RET_OK):
+ KFlash.log('Failed, retry, errcode=', hex(reason))
+ return False
+ return True
+
+ def flash_recv_debug(self):
+ op, reason, text = FlashModeResponse.parse(self.recv_one_return())
+ #KFlash.log('[Flash-RECV] op:', FlashModeResponse.Operation(op).name, 'reason:',
+ # FlashModeResponse.ErrorCode(reason).name)
+ if text:
+ KFlash.log('-' * 30)
+ KFlash.log(text)
+ KFlash.log('-' * 30)
+
+ if FlashModeResponse.ErrorCode(reason) not in (FlashModeResponse.ErrorCode.ISP_RET_OK, FlashModeResponse.ErrorCode.ISP_RET_OK):
+ KFlash.log('Failed, retry')
+ return False
+ return True
+
+ def init_flash(self, chip_type):
+ chip_type = int(chip_type)
+ KFlash.log(INFO_MSG,"Selected Flash: ",("In-Chip", "On-Board")[chip_type],BASH_TIPS['DEFAULT'])
+ out = struct.pack('II', chip_type, 0)
+ crc32_checksum = struct.pack('I', binascii.crc32(out) & 0xFFFFFFFF)
+ out = struct.pack('HH', 0xd7, 0x00) + crc32_checksum + out
+ '''Retry when it have error'''
+ retry_count = 0
+ while 1:
+ self.checkKillExit()
+ sent = self.write(out)
+ retry_count = retry_count + 1
+ try:
+ op, reason, text = FlashModeResponse.parse(self.recv_one_return())
+ except IndexError:
+ if retry_count > MAX_RETRY_TIMES:
+ err = (ERROR_MSG,"Failed to initialize flash",BASH_TIPS['DEFAULT'])
+ err = tuple2str(err)
+ raise_exception( Exception(err) )
+ KFlash.log(WARN_MSG,"Index Error, retrying...",BASH_TIPS['DEFAULT'])
+ time.sleep(0.1)
+ continue
+ except TimeoutError:
+ if retry_count > MAX_RETRY_TIMES:
+ err = (ERROR_MSG,"Failed to initialize flash",BASH_TIPS['DEFAULT'])
+ err = tuple2str(err)
+ raise_exception( Exception(err) )
+ KFlash.log(WARN_MSG,"Timeout Error, retrying...",BASH_TIPS['DEFAULT'])
+ time.sleep(0.1)
+ continue
+ except:
+ if retry_count > MAX_RETRY_TIMES:
+ err = (ERROR_MSG,"Failed to initialize flash",BASH_TIPS['DEFAULT'])
+ err = tuple2str(err)
+ raise_exception( Exception(err) )
+ KFlash.log(WARN_MSG,"Unexcepted Error, retrying...",BASH_TIPS['DEFAULT'])
+ time.sleep(0.1)
+ continue
+ # KFlash.log('MAIX return op:', FlashModeResponse.Operation(op).name, 'reason:',
+ # FlashModeResponse.ErrorCode(reason).name)
+ if FlashModeResponse.Operation(op) == FlashModeResponse.Operation.FLASHMODE_FLASH_INIT and FlashModeResponse.ErrorCode(reason) == FlashModeResponse.ErrorCode.ISP_RET_OK:
+ KFlash.log(INFO_MSG,"Initialization flash Successfully",BASH_TIPS['DEFAULT'])
+ break
+ else:
+ if retry_count > MAX_RETRY_TIMES:
+ err = (ERROR_MSG,"Failed to initialize flash",BASH_TIPS['DEFAULT'])
+ err = tuple2str(err)
+ raise_exception( Exception(err) )
+ KFlash.log(WARN_MSG,"Unexcepted Return recevied, retrying...",BASH_TIPS['DEFAULT'])
+ time.sleep(0.1)
+ continue
+
+ def flash_dataframe(self, data, address=0x80000000):
+ DATAFRAME_SIZE = 1024
+ data_chunks = chunks(data, DATAFRAME_SIZE)
+ #KFlash.log('[DEBUG] flash dataframe | data length:', len(data))
+ total_chunk = math.ceil(len(data)/DATAFRAME_SIZE)
+
+ time_start = time.time()
+ for n, chunk in enumerate(data_chunks):
+ self.checkKillExit()
+ while 1:
+ self.checkKillExit()
+ #KFlash.log('[INFO] sending chunk', i, '@address', hex(address), 'chunklen', len(chunk))
+ out = struct.pack('II', address, len(chunk))
+
+ crc32_checksum = struct.pack('I', binascii.crc32(out + chunk) & 0xFFFFFFFF)
+
+ out = struct.pack('HH', 0xc3, 0x00) + crc32_checksum + out + chunk # op: ISP_MEMORY_WRITE: 0xc3
+ sent = self.write(out)
+ #KFlash.log('[INFO]', 'sent', sent, 'bytes', 'checksum', binascii.hexlify(crc32_checksum).decode())
+
+ address += len(chunk)
+
+ if self.recv_debug():
+ break
+
+ columns, lines = TerminalSize.get_terminal_size((100, 24), terminal)
+ time_delta = time.time() - time_start
+ speed = ''
+ if (time_delta > 1):
+ speed = str(int((n + 1) * DATAFRAME_SIZE / 1024.0 / time_delta)) + 'kiB/s'
+ printProgressBar(n+1, total_chunk, prefix = 'Downloading ISP:', suffix = speed, length = columns - 35)
+
+ def dump_to_flash(self, data, address=0, size=None):
+ '''
+ typedef struct __attribute__((packed)) {
+ uint8_t op;
+ int32_t checksum; /* All the fields below are involved in the calculation of checksum */
+ uint32_t address;
+ uint32_t data_len;
+ uint8_t data_buf[1024];
+ } isp_request_t;
+ '''
+ if size == None:
+ DATAFRAME_SIZE = ISP_FLASH_DATA_FRAME_SIZE
+ size = DATAFRAME_SIZE
+ data_chunks = chunks(data, size)
+ #KFlash.log('[DEBUG] flash dataframe | data length:', len(data))
+
+
+
+ for n, chunk in enumerate(data_chunks):
+ #KFlash.log('[INFO] sending chunk', i, '@address', hex(address))
+ out = struct.pack('II', address, len(chunk))
+
+ crc32_checksum = struct.pack('I', binascii.crc32(out + chunk) & 0xFFFFFFFF)
+
+ out = struct.pack('HH', 0xd4, 0x00) + crc32_checksum + out + chunk
+ #KFlash.log("[$$$$]", binascii.hexlify(out[:32]).decode())
+ retry_count = 0
+ while True:
+ try:
+ sent = self.write(out)
+ #KFlash.log('[INFO]', 'sent', sent, 'bytes', 'checksum', crc32_checksum)
+ self.flash_recv_debug()
+ except:
+ retry_count = retry_count + 1
+ if retry_count > MAX_RETRY_TIMES:
+ err = (ERROR_MSG,"Error Count Exceeded, Stop Trying",BASH_TIPS['DEFAULT'])
+ err = tuple2str(err)
+ raise_exception( Exception(err) )
+ continue
+ break
+ address += len(chunk)
+
+
+
+ def flash_erase(self, erase_addr = 0, erase_len = 0):
+ #KFlash.log('[DEBUG] erasing spi flash.')
+ cmd0 = b'\xd3\x00\x00\x00'
+ cmd = struct.pack("I", erase_addr)
+ cmd += struct.pack("I", erase_len)
+ cmd = cmd0 + struct.pack('I', binascii.crc32(cmd) & 0xFFFFFFFF) + cmd
+ self.write(cmd)
+ t = time.time()
+ op, reason, text = FlashModeResponse.parse(self.recv_one_return(timeout_s=90))
+ if FlashModeResponse.ErrorCode(reason) != FlashModeResponse.ErrorCode.ISP_RET_OK:
+ err = (ERROR_MSG,"erase error, error code: 0x{:02X}: {}".format(reason, text))
+ err = tuple2str(err)
+ raise_exception( Exception(err) )
+ else:
+ KFlash.log(INFO_MSG,"erase ok")
+ #KFlash.log('MAIX return op:', FlashModeResponse.Operation(op).name, 'reason:',
+ # FlashModeResponse.ErrorCode(reason).name)
+
+ def install_flash_bootloader(self, data):
+ # Download flash bootloader
+ self.flash_dataframe(data, address=0x80000000)
+
+ def load_elf_to_sram(self, f):
+ try:
+ from elftools.elf.elffile import ELFFile
+ from elftools.elf.descriptions import describe_p_type
+ except ImportError:
+ err = (ERROR_MSG,'pyelftools must be installed, run '+BASH_TIPS['GREEN']+'`' + ('pip', 'pip3')[sys.version_info > (3, 0)] + ' install pyelftools`',BASH_TIPS['DEFAULT'])
+ err = tuple2str(err)
+ raise_exception( Exception(err) )
+
+ elffile = ELFFile(f)
+ if elffile['e_entry'] != 0x80000000:
+ KFlash.log(WARN_MSG,"ELF entry is 0x%x instead of 0x80000000" % (elffile['e_entry']), BASH_TIPS['DEFAULT'])
+
+ for segment in elffile.iter_segments():
+ t = describe_p_type(segment['p_type'])
+ KFlash.log(INFO_MSG, ("Program Header: Size: %d, Virtual Address: 0x%x, Type: %s" % (segment['p_filesz'], segment['p_vaddr'], t)), BASH_TIPS['DEFAULT'])
+ if not (segment['p_vaddr'] & 0x80000000):
+ continue
+ if segment['p_filesz']==0 or segment['p_vaddr']==0:
+ KFlash.log("Skipped")
+ continue
+ self.flash_dataframe(segment.data(), segment['p_vaddr'])
+
+ def flash_firmware(self, firmware_bin, aes_key = None, address_offset = 0, sha256Prefix = True, filename = ""):
+ # type: (bytes, bytes, int, bool) -> None
+ # Don't remove above code!
+
+ #KFlash.log('[DEBUG] flash_firmware DEBUG: aeskey=', aes_key)
+
+ if sha256Prefix == True:
+ # Add header to the firmware
+ # Format: SHA256(after)(32bytes) + AES_CIPHER_FLAG (1byte) + firmware_size(4bytes) + firmware_data
+ aes_cipher_flag = b'\x01' if aes_key else b'\x00'
+
+ # Encryption
+ if aes_key:
+ enc = AES_128_CBC(aes_key, iv=b'\x00'*16).encrypt
+ padded = firmware_bin + b'\x00'*15 # zero pad
+ firmware_bin = b''.join([enc(padded[i*16:i*16+16]) for i in range(len(padded)//16)])
+
+ firmware_len = len(firmware_bin)
+
+ data = aes_cipher_flag + struct.pack('I', firmware_len) + firmware_bin
+
+ sha256_hash = hashlib.sha256(data).digest()
+
+ firmware_with_header = data + sha256_hash
+
+ total_len = (len(firmware_with_header) + ISP_FLASH_SECTOR_SIZE - 1)//ISP_FLASH_SECTOR_SIZE * ISP_FLASH_SECTOR_SIZE
+ # Slice download firmware
+ data_chunks = chunks(firmware_with_header, ISP_FLASH_DATA_FRAME_SIZE) # 4kiB for a sector, 16kiB for dataframe
+ else:
+ total_len = (len(firmware_bin) + ISP_FLASH_SECTOR_SIZE - 1)//ISP_FLASH_SECTOR_SIZE * ISP_FLASH_SECTOR_SIZE
+ data_chunks = chunks(firmware_bin, ISP_FLASH_DATA_FRAME_SIZE, address = address_offset)
+
+ time_start = time.time()
+ write_len = 0
+ for n, chunk in enumerate(data_chunks):
+ self.checkKillExit()
+ # 4K align
+ aligned_chunk = len(chunk)
+ aligned_chunk = (ISP_FLASH_SECTOR_SIZE - (aligned_chunk % ISP_FLASH_SECTOR_SIZE))%ISP_FLASH_SECTOR_SIZE + aligned_chunk
+ chunk = chunk.ljust(aligned_chunk, b'\x00') # align by size of dataframe
+
+ # Download a dataframe
+ #KFlash.log('[INFO]', 'Write firmware data piece')
+ chunk_len = len(chunk)
+ self.dump_to_flash(chunk, address= write_len + address_offset, size=chunk_len)
+ write_len += chunk_len
+ columns, lines = TerminalSize.get_terminal_size((100, 24), terminal)
+ time_delta = time.time() - time_start
+ speed = ''
+ if (time_delta > 1):
+ speed = str(int(write_len / 1024.0 / time_delta)) + 'kiB/s'
+ printProgressBar(write_len, total_len, prefix = 'Programming BIN:', filename=filename, suffix = speed, length = columns - 35)
+
+ def kill(self):
+ self._kill_process = True
+
+ def checkKillExit(self):
+ if self._kill_process:
+ self._port.close()
+ self._kill_process = False
+ raise Exception("Cancel")
+
+ def open_terminal(reset):
+ control_signal = '0' if reset else '1'
+ control_signal_b = not reset
+ import serial.tools.miniterm
+ # For using the terminal with MaixPy the 'filter' option must be set to 'direct'
+ # because some control characters are emited
+ sys.argv = [sys.argv[0], _port, '115200', '--dtr='+control_signal, '--rts='+control_signal, '--filter=direct']
+ serial.tools.miniterm.main(default_port=_port, default_baudrate=115200, default_dtr=control_signal_b, default_rts=control_signal_b)
+ sys.exit(0)
+
+ boards_choices = ["kd233", "dan", "bit", "bit_mic", "goE", "goD", "maixduino", "trainer"]
+ if terminal:
+ parser = argparse.ArgumentParser()
+ parser.add_argument("-p", "--port", help="COM Port", default="DEFAULT")
+ parser.add_argument("-f", "--flash", help="SPI Flash type, 0 for SPI3, 1 for SPI0", default=1)
+ parser.add_argument("-b", "--baudrate", type=int, help="UART baudrate for uploading firmware", default=115200)
+ parser.add_argument("-l", "--bootloader", help="Bootloader bin path", required=False, default=None)
+ parser.add_argument("-k", "--key", help="AES key in hex, if you need encrypt your firmware.", required=False, default=None)
+ parser.add_argument("-v", "--version", help="Print version.", action='version', version='0.8.3')
+ parser.add_argument("--verbose", help="Increase output verbosity", default=False, action="store_true")
+ parser.add_argument("-t", "--terminal", help="Start a terminal after finish (Python miniterm)", default=False, action="store_true")
+ parser.add_argument("-n", "--noansi", help="Do not use ANSI colors, recommended in Windows CMD", default=False, action="store_true")
+ parser.add_argument("-s", "--sram", help="Download firmware to SRAM and boot", default=False, action="store_true")
+ parser.add_argument("-B", "--Board",required=False, type=str, help="Select dev board, e.g. kd233, dan, bit, goD, goE or trainer")
+ parser.add_argument("-S", "--Slow",required=False, help="Slow download mode", default=False)
+ parser.add_argument("-A", "--addr",required=False, help="flash addr", type=str, default="-1")
+ parser.add_argument("-L", "--length",required=False, help="flash addr", type=str, default="-1")
+ parser.add_argument("firmware", help="firmware bin path")
+ args = parser.parse_args()
+ else:
+ args = argparse.Namespace()
+ setattr(args, "port", "DEFAULT")
+ setattr(args, "flash", 1)
+ setattr(args, "baudrate", 115200)
+ setattr(args, "bootloader", None)
+ setattr(args, "key", None)
+ setattr(args, "verbose", False)
+ setattr(args, "terminal", False)
+ setattr(args, "noansi", False)
+ setattr(args, "sram", False)
+ setattr(args, "Board", None)
+ setattr(args, "Slow", False)
+ setattr(args, "addr", -1)
+ setattr(args, "length", -1)
+
+ # udpate args for none terminal call
+ if not terminal:
+ args.port = dev
+ args.baudrate = baudrate
+ args.noansi = noansi
+ args.sram = sram
+ args.Board = board
+ args.firmware = file
+ args.Slow = slow_mode
+ args.addr = addr
+ args.length = length
+
+ if args.Board == "maixduino" or args.Board == "bit_mic":
+ args.Board = "goE"
+
+ if (args.noansi == True):
+ BASH_TIPS = dict(NORMAL='',BOLD='',DIM='',UNDERLINE='',
+ DEFAULT='', RED='', YELLOW='', GREEN='',
+ BG_DEFAULT='', BG_WHITE='')
+ ERROR_MSG = BASH_TIPS['RED']+BASH_TIPS['BOLD']+'[ERROR]'+BASH_TIPS['NORMAL']
+ WARN_MSG = BASH_TIPS['YELLOW']+BASH_TIPS['BOLD']+'[WARN]'+BASH_TIPS['NORMAL']
+ INFO_MSG = BASH_TIPS['GREEN']+BASH_TIPS['BOLD']+'[INFO]'+BASH_TIPS['NORMAL']
+ KFlash.log(INFO_MSG,'ANSI colors not used',BASH_TIPS['DEFAULT'])
+
+ manually_set_the_board = False
+ if args.Board:
+ manually_set_the_board = True
+
+ if args.port == "DEFAULT":
+ if args.Board == "goE":
+ list_port_info = list(serial.tools.list_ports.grep("0403")) #Take the second one
+ if len(list_port_info) == 0:
+ err = (ERROR_MSG,"No vaild COM Port found in Auto Detect, Check Your Connection or Specify One by"+BASH_TIPS['GREEN']+'`--port/-p`',BASH_TIPS['DEFAULT'])
+ err = tuple2str(err)
+ raise_exception( Exception(err) )
+ list_port_info.sort()
+ if len(list_port_info) == 1:
+ _port = list_port_info[0].device
+ elif len(list_port_info) > 1:
+ _port = list_port_info[1].device
+ KFlash.log(INFO_MSG,"COM Port Auto Detected, Selected ", _port, BASH_TIPS['DEFAULT'])
+ elif args.Board == "trainer":
+ list_port_info = list(serial.tools.list_ports.grep("0403")) #Take the first one
+ if(len(list_port_info)==0):
+ err = (ERROR_MSG,"No vaild COM Port found in Auto Detect, Check Your Connection or Specify One by"+BASH_TIPS['GREEN']+'`--port/-p`',BASH_TIPS['DEFAULT'])
+ err = tuple2str(err)
+ raise_exception( Exception(err) )
+ list_port_info.sort()
+ _port = list_port_info[0].device
+ KFlash.log(INFO_MSG,"COM Port Auto Detected, Selected ", _port, BASH_TIPS['DEFAULT'])
+ else:
+ try:
+ list_port_info = next(serial.tools.list_ports.grep(VID_LIST_FOR_AUTO_LOOKUP)) #Take the first one within the list
+ _port = list_port_info.device
+ KFlash.log(INFO_MSG,"COM Port Auto Detected, Selected ", _port, BASH_TIPS['DEFAULT'])
+ except StopIteration:
+ err = (ERROR_MSG,"No vaild COM Port found in Auto Detect, Check Your Connection or Specify One by"+BASH_TIPS['GREEN']+'`--port/-p`',BASH_TIPS['DEFAULT'])
+ err = tuple2str(err)
+ raise_exception( Exception(err) )
+ else:
+ _port = args.port
+ KFlash.log(INFO_MSG,"COM Port Selected Manually: ", _port, BASH_TIPS['DEFAULT'])
+
+ self.loader = MAIXLoader(port=_port, baudrate=115200)
+ file_format = ProgramFileFormat.FMT_BINARY
+
+ # 0. Check firmware or cmd
+ cmds = ['erase']
+ if not args.firmware in cmds:
+ if not os.path.exists(args.firmware):
+ err = (ERROR_MSG,'Unable to find the firmware at ', args.firmware, BASH_TIPS['DEFAULT'])
+ err = tuple2str(err)
+ raise_exception( Exception(err) )
+
+ with open(args.firmware, 'rb') as f:
+ file_header = f.read(4)
+ #if file_header.startswith(bytes([0x50, 0x4B])):
+ if file_header.startswith(b'\x50\x4B'):
+ if ".kfpkg" != os.path.splitext(args.firmware)[1]:
+ KFlash.log(INFO_MSG, 'Find a zip file, but not with ext .kfpkg:', args.firmware, BASH_TIPS['DEFAULT'])
+ else:
+ file_format = ProgramFileFormat.FMT_KFPKG
+
+ #if file_header.startswith(bytes([0x7F, 0x45, 0x4C, 0x46])):
+ if file_header.startswith(b'\x7f\x45\x4c\x46'):
+ file_format = ProgramFileFormat.FMT_ELF
+ if args.sram:
+ KFlash.log(INFO_MSG, 'Find an ELF file:', args.firmware, BASH_TIPS['DEFAULT'])
+ else:
+ err = (ERROR_MSG, 'This is an ELF file and cannot be programmed to flash directly:', args.firmware, BASH_TIPS['DEFAULT'] , '\r\nPlease retry:', args.firmware + '.bin', BASH_TIPS['DEFAULT'])
+ err = tuple2str(err)
+ raise_exception( Exception(err) )
+
+ # 1. Greeting.
+ KFlash.log(INFO_MSG,"Trying to Enter the ISP Mode...",BASH_TIPS['DEFAULT'])
+
+ retry_count = 0
+
+ while 1:
+ self.checkKillExit()
+ if not self.loader._port.isOpen():
+ self.loader._port.open()
+ try:
+ retry_count = retry_count + 1
+ if retry_count > 15:
+ err = (ERROR_MSG,"No vaild Kendryte K210 found in Auto Detect, Check Your Connection or Specify One by"+BASH_TIPS['GREEN']+'`-p '+('/dev/ttyUSB0', 'COM3')[sys.platform == 'win32']+'`',BASH_TIPS['DEFAULT'])
+ err = tuple2str(err)
+ raise_exception( Exception(err) )
+ if args.Board == "dan" or args.Board == "bit" or args.Board == "trainer":
+ try:
+ KFlash.log('.', end='')
+ self.loader.reset_to_isp_dan()
+ self.loader.greeting()
+ break
+ except TimeoutError:
+ pass
+ elif args.Board == "kd233":
+ try:
+ KFlash.log('_', end='')
+ self.loader.reset_to_isp_kd233()
+ self.loader.greeting()
+ break
+ except TimeoutError:
+ pass
+ elif args.Board == "goE":
+ try:
+ KFlash.log('*', end='')
+ self.loader.reset_to_isp_kd233()
+ self.loader.greeting()
+ break
+ except TimeoutError:
+ pass
+ elif args.Board == "goD":
+ try:
+ KFlash.log('#', end='')
+ self.loader.reset_to_isp_goD()
+ self.loader.greeting()
+ break
+ except TimeoutError:
+ pass
+ else:
+ try:
+ KFlash.log('.', end='')
+ self.loader.reset_to_isp_dan()
+ self.loader.greeting()
+ args.Board = "dan"
+ KFlash.log()
+ KFlash.log(INFO_MSG,"Automatically detected dan/bit/trainer",BASH_TIPS['DEFAULT'])
+ break
+ except TimeoutError:
+ if not self.loader._port.isOpen():
+ self.loader._port.open()
+ pass
+ try:
+ KFlash.log('_', end='')
+ self.loader.reset_to_isp_kd233()
+ self.loader.greeting()
+ args.Board = "kd233"
+ KFlash.log()
+ KFlash.log(INFO_MSG,"Automatically detected goE/kd233",BASH_TIPS['DEFAULT'])
+ break
+ except TimeoutError:
+ if not self.loader._port.isOpen():
+ self.loader._port.open()
+ pass
+ try:
+ KFlash.log('.', end='')
+ self.loader.reset_to_isp_goD()
+ self.loader.greeting()
+ args.Board = "goD"
+ KFlash.log()
+ KFlash.log(INFO_MSG,"Automatically detected goD",BASH_TIPS['DEFAULT'])
+ break
+ except TimeoutError:
+ if not self.loader._port.isOpen():
+ self.loader._port.open()
+ pass
+ try:
+ # Magic, just repeat, don't remove, it may unstable, don't know why.
+ KFlash.log('_', end='')
+ self.loader.reset_to_isp_kd233()
+ self.loader.greeting()
+ args.Board = "kd233"
+ KFlash.log()
+ KFlash.log(INFO_MSG,"Automatically detected goE/kd233",BASH_TIPS['DEFAULT'])
+ break
+ except TimeoutError:
+ if not self.loader._port.isOpen():
+ self.loader._port.open()
+ pass
+ except Exception as e:
+ KFlash.log()
+ raise_exception( Exception("Greeting fail, check serial port ("+str(e)+")" ) )
+
+ # Don't remove this line
+ # Dangerous, here are dinosaur infested!!!!!
+ ISP_RECEIVE_TIMEOUT = 3
+
+ KFlash.log()
+ KFlash.log(INFO_MSG,"Greeting Message Detected, Start Downloading ISP",BASH_TIPS['DEFAULT'])
+
+ if manually_set_the_board and (not args.Slow):
+ if (args.baudrate >= 1500000) or args.sram:
+ self.loader.change_baudrate_stage0(args.baudrate)
+
+ # 2. download bootloader and firmware
+ if args.sram:
+ with open(args.firmware, 'rb') as firmware_bin:
+ if file_format == ProgramFileFormat.FMT_KFPKG:
+ err = (ERROR_MSG, "Unable to load kfpkg to SRAM")
+ err = tuple2str(err)
+ raise_exception( Exception(err) )
+ elif file_format == ProgramFileFormat.FMT_ELF:
+ self.loader.load_elf_to_sram(firmware_bin)
+ else:
+ self.loader.install_flash_bootloader(firmware_bin.read())
+ else:
+ # install bootloader at 0x80000000
+ if args.bootloader:
+ with open(args.bootloader, 'rb') as f:
+ isp_loader = f.read()
+ else:
+ isp_loader = ISP_PROG
+ self.loader.install_flash_bootloader(isp_loader)
+
+ # Boot the code from SRAM
+ self.loader.boot()
+ if args.sram:
+ # Dangerous, here are dinosaur infested!!!!!
+ # Don't touch this code unless you know what you are doing
+ self.loader._port.baudrate = args.baudrate
+ KFlash.log(INFO_MSG,"Boot user code from SRAM", BASH_TIPS['DEFAULT'])
+ if(args.terminal == True):
+ try:
+ self.loader._port.close()
+ except Exception:
+ pass
+ open_terminal(False)
+ msg = "Burn SRAM OK"
+ raise_exception( Exception(msg) )
+
+ # Dangerous, here are dinosaur infested!!!!!
+ # Don't touch this code unless you know what you are doing
+ self.loader._port.baudrate = 115200
+
+ KFlash.log(INFO_MSG,"Wait For 0.1 second for ISP to Boot", BASH_TIPS['DEFAULT'])
+
+ time.sleep(0.1)
+
+ self.loader.flash_greeting()
+
+ if args.baudrate != 115200:
+ self.loader.change_baudrate(args.baudrate)
+ KFlash.log(INFO_MSG,"Baudrate changed, greeting with ISP again ... ", BASH_TIPS['DEFAULT'])
+ self.loader.flash_greeting()
+
+ self.loader.init_flash(args.flash)
+
+ if file_format == ProgramFileFormat.FMT_KFPKG:
+ KFlash.log(INFO_MSG,"Extracting KFPKG ... ", BASH_TIPS['DEFAULT'])
+ with tempfile.TemporaryDirectory() as tmpdir:
+ try:
+ with zipfile.ZipFile(args.firmware) as zf:
+ zf.extractall(tmpdir)
+ if not os.path.exists(os.path.join(tmpdir, "flash-list.json")):
+ err = (ERROR_MSG,'Can not find flash-list.json in kfpkg root dir',BASH_TIPS['DEFAULT'])
+ err = tuple2str(err)
+ raise_exception( Exception(err) )
+ except zipfile.BadZipFile:
+ err = (ERROR_MSG,'Unable to Decompress the kfpkg, your file might be corrupted.',BASH_TIPS['DEFAULT'])
+ err = tuple2str(err)
+ raise_exception( Exception(err) )
+
+ fFlashList = open(os.path.join(tmpdir, 'flash-list.json'), "r")
+ sFlashList = re.sub(r'"address": (.*),', r'"address": "\1",', fFlashList.read()) #Pack the Hex Number in json into str
+ fFlashList.close()
+ jsonFlashList = json.loads(sFlashList)
+ for lBinFiles in jsonFlashList['files']:
+ self.checkKillExit()
+ KFlash.log(INFO_MSG,"Writing",lBinFiles['bin'],"into","0x%08x"%int(lBinFiles['address'], 0),BASH_TIPS['DEFAULT'])
+ with open(os.path.join(tmpdir, lBinFiles["bin"]), "rb") as firmware_bin:
+ self.loader.flash_firmware(firmware_bin.read(), None, int(lBinFiles['address'], 0), lBinFiles['sha256Prefix'], filename=lBinFiles['bin'])
+ else:
+ if args.firmware == "erase":
+ if args.addr.lower().startswith("0x"):
+ addr = int(args.addr, base=16)
+ else:
+ addr = int(args.addr)
+ if args.length.lower() == "all":
+ addr = 0
+ length = 0xFFFFFFEE
+ KFlash.log(INFO_MSG,"erase all")
+ else:
+ if args.length.lower().startswith("0x"):
+ length = int(args.length, base=16)
+ else:
+ length = int(args.length)
+ KFlash.log(INFO_MSG,"erase '0x{:x}' - '0x{:x}' ({}B, {:.02}KiB, {:.02}MiB)".format(addr, addr+length, length, length/1024.0, length/1024.0/1024.0))
+ if ((addr % 4096) != 0) or ( length != 0xFFFFFFEE and (length % 4096) != 0) or addr < 0 or addr > 0x01000000 or length < 0 or ( length > 0x01000000 and length != 0xFFFFFFEE):
+ err = (ERROR_MSG,"erase flash addr or length error, addr should >= 0x00000000, and length should >= 4096 or 'all'")
+ err = tuple2str(err)
+ raise_exception( Exception(err) )
+ self.loader.flash_erase(addr, length)
+ else:
+ with open(args.firmware, 'rb') as firmware_bin:
+ if args.key:
+ aes_key = binascii.a2b_hex(args.key)
+ if len(aes_key) != 16:
+ raise_exception( ValueError('AES key must by 16 bytes') )
+
+ self.loader.flash_firmware(firmware_bin.read(), aes_key=aes_key)
+ else:
+ self.loader.flash_firmware(firmware_bin.read())
+
+ # 3. boot
+ if args.Board == "dan" or args.Board == "bit" or args.Board == "trainer":
+ self.loader.reset_to_boot_dan()
+ elif args.Board == "kd233":
+ self.loader.reset_to_boot_kd233()
+ elif args.Board == "goE":
+ self.loader.reset_to_boot_maixgo()
+ elif args.Board == "goD":
+ self.loader.reset_to_boot_goD()
+ else:
+ KFlash.log(WARN_MSG,"Board unknown !! please press reset to boot!!")
+
+ KFlash.log(INFO_MSG,"Rebooting...", BASH_TIPS['DEFAULT'])
+ try:
+ self.loader._port.close()
+ except Exception:
+ pass
+
+ if(args.terminal == True):
+ open_terminal(True)
+
+ def kill(self):
+ if self.loader:
+ self.loader.kill()
+ self.killProcess = True
+
+ def checkKillExit(self):
+ if self.killProcess:
+ if self.loader:
+ self.loader._port.close()
+ raise Exception("Cancel")
+
+
+def main():
+ kflash = KFlash()
+ try:
+ kflash.process()
+ except Exception as e:
+ if str(e) == "Burn SRAM OK":
+ sys.exit(0)
+ kflash.log(str(e))
+ sys.exit(1)
+
+if __name__ == '__main__':
+ main()
diff --git a/scripts/nsim.sh b/scripts/nsim.sh
index 04877b9e1..424862c1d 100755
--- a/scripts/nsim.sh
+++ b/scripts/nsim.sh
@@ -12,11 +12,18 @@ if [ "$arch" = "arcv1" ]; then
nsimdrv -prop=nsim_isa_family=a700 -prop=nsim_isa_atomic_option=1 -prop=nsim_mmu=3 -prop=icache=32768,64,2,0 -prop=dcache=32768,64,4,0 -prop=nsim_isa_dpfp=none -prop=nsim_isa_shift_option=2 -prop=nsim_isa_swap_option=1 -prop=nsim_isa_bitscan_option=1 -prop=nsim_isa_sat=1 -prop=nsim_isa_mpy32=1 -prop=nsim_isa_enable_timer_0=1 -prop=nsim_isa_enable_timer_1=1 -prop=nsim_mem-dev=uart0 $kernel
fi
if [ "$arch" = "arcv2" ]; then
- nsimdrv -prop=nsim_isa_family=av2hs -prop=nsim_isa_core=1 -prop=chipid=0xffff -prop=nsim_isa_atomic_option=1 -prop=nsim_isa_ll64_option=1 -prop=nsim_mmu=4 -prop=mmu_pagesize=8192 -prop=mmu_super_pagesize=2097152 -prop=mmu_stlb_entries=16 -prop=mmu_ntlb_ways=4 -prop=mmu_ntlb_sets=128 -prop=icache=32768,64,4,0 -prop=dcache=16384,64,2,0 -prop=nsim_isa_shift_option=2 -prop=nsim_isa_swap_option=1 -prop=nsim_isa_bitscan_option=1 -prop=nsim_isa_sat=1 -prop=nsim_isa_div_rem_option=1 -prop=nsim_isa_mpy_option=9 -prop=nsim_isa_enable_timer_0=1 -prop=nsim_isa_enable_timer_1=1 -prop=nsim_isa_number_of_interrupts=32 -prop=nsim_isa_number_of_external_interrupts=32 -prop=isa_counters=1 -prop=nsim_isa_pct_counters=8 -prop=nsim_isa_pct_size=48 -prop=nsim_isa_pct_interrupt=0 -prop=nsim_mem-dev=uart0,base=0xc0fc1000,irq=24 -prop=nsim_isa_aps_feature=1 -prop=nsim_isa_num_actionpoints=4 $kernel
+ nsimdrv -prop=nsim_isa_family=av2hs -prop=nsim_isa_core=1 -prop=chipid=0xffff -prop=nsim_isa_atomic_option=1 -prop=nsim_isa_ll64_option=1 -prop=nsim_mmu=4 -prop=mmu_pagesize=8192 -prop=mmu_super_pagesize=2097152 -prop=mmu_stlb_entries=16 -prop=mmu_ntlb_ways=4 -prop=mmu_ntlb_sets=128 -prop=icache=32768,64,4,0 -prop=dcache=16384,64,2,0 -prop=nsim_isa_shift_option=2 -prop=nsim_isa_swap_option=1 -prop=nsim_isa_bitscan_option=1 -prop=nsim_isa_sat=1 -prop=nsim_isa_div_rem_option=1 -prop=nsim_isa_mpy_option=9 -prop=nsim_isa_enable_timer_0=1 -prop=nsim_isa_enable_timer_1=1 -prop=nsim_isa_number_of_interrupts=32 -prop=nsim_isa_number_of_external_interrupts=32 -prop=isa_counters=1 -prop=nsim_isa_pct_counters=8 -prop=nsim_isa_pct_size=48 -prop=nsim_isa_pct_interrupt=0 -prop=nsim_mem-dev=uart0,kind=dwuart,base=0xf0000000,irq=24 -prop=nsim_isa_aps_feature=1 -prop=nsim_isa_num_actionpoints=4 $kernel
fi
if [ "$arch" = "arcv1-be" ]; then
nsimdrv -prop=nsim_isa_big_endian=1 -prop=nsim_isa_family=a700 -prop=nsim_isa_atomic_option=1 -prop=nsim_mmu=3 -prop=icache=32768,64,2,0 -prop=dcache=32768,64,4,0 -prop=nsim_isa_dpfp=none -prop=nsim_isa_shift_option=2 -prop=nsim_isa_swap_option=1 -prop=nsim_isa_bitscan_option=1 -prop=nsim_isa_sat=1 -prop=nsim_isa_mpy32=1 -prop=nsim_isa_enable_timer_0=1 -prop=nsim_isa_enable_timer_1=1 -prop=nsim_mem-dev=uart0 $kernel
fi
if [ "$arch" = "arcv2-be" ]; then
- nsimdrv -prop=nsim_isa_big_endian=1 -prop=nsim_isa_family=av2hs -prop=nsim_isa_core=1 -prop=chipid=0xffff -prop=nsim_isa_atomic_option=1 -prop=nsim_isa_ll64_option=1 -prop=nsim_mmu=4 -prop=mmu_pagesize=8192 -prop=mmu_super_pagesize=2097152 -prop=mmu_stlb_entries=16 -prop=mmu_ntlb_ways=4 -prop=mmu_ntlb_sets=128 -prop=icache=32768,64,4,0 -prop=dcache=16384,64,2,0 -prop=nsim_isa_shift_option=2 -prop=nsim_isa_swap_option=1 -prop=nsim_isa_bitscan_option=1 -prop=nsim_isa_sat=1 -prop=nsim_isa_div_rem_option=1 -prop=nsim_isa_mpy_option=9 -prop=nsim_isa_enable_timer_0=1 -prop=nsim_isa_enable_timer_1=1 -prop=nsim_isa_number_of_interrupts=32 -prop=nsim_isa_number_of_external_interrupts=32 -prop=isa_counters=1 -prop=nsim_isa_pct_counters=8 -prop=nsim_isa_pct_size=48 -prop=nsim_isa_pct_interrupt=0 -prop=nsim_mem-dev=uart0,base=0xc0fc1000,irq=24 -prop=nsim_isa_aps_feature=1 -prop=nsim_isa_num_actionpoints=4 $kernel
+ nsimdrv -prop=nsim_isa_big_endian=1 -prop=nsim_isa_family=av2hs -prop=nsim_isa_core=1 -prop=chipid=0xffff -prop=nsim_isa_atomic_option=1 -prop=nsim_isa_ll64_option=1 -prop=nsim_mmu=4 -prop=mmu_pagesize=8192 -prop=mmu_super_pagesize=2097152 -prop=mmu_stlb_entries=16 -prop=mmu_ntlb_ways=4 -prop=mmu_ntlb_sets=128 -prop=icache=32768,64,4,0 -prop=dcache=16384,64,2,0 -prop=nsim_isa_shift_option=2 -prop=nsim_isa_swap_option=1 -prop=nsim_isa_bitscan_option=1 -prop=nsim_isa_sat=1 -prop=nsim_isa_div_rem_option=1 -prop=nsim_isa_mpy_option=9 -prop=nsim_isa_enable_timer_0=1 -prop=nsim_isa_enable_timer_1=1 -prop=nsim_isa_number_of_interrupts=32 -prop=nsim_isa_number_of_external_interrupts=32 -prop=isa_counters=1 -prop=nsim_isa_pct_counters=8 -prop=nsim_isa_pct_size=48 -prop=nsim_isa_pct_interrupt=0 -prop=nsim_mem-dev=uart0,kind=dwuart,base=0xf0000000,irq=24 -prop=nsim_isa_aps_feature=1 -prop=nsim_isa_num_actionpoints=4 $kernel
fi
+if [ "$arch" = "arcv3-arc32" ]; then
+ nsimdrv -prop=nsim_isa_family=av3hs -prop=nsim_isa_dc_hw_prefetch=1 -prop=nsim_isa_dual_issue_option=1 -prop=nsim_isa_atomic_option=2 -prop=nsim_isa_m128_option=0 -prop=nsim_isa_ll64_option=1 -prop=nsim_isa_mpy_option=9 -prop=nsim_isa_div_rem_option=2 -prop=nsim_isa_enable_timer_0=1 -prop=nsim_isa_enable_timer_1=1 -prop=nsim_isa_rtc_option=1 -prop=icache=16384,64,4 -prop=dcache=16384,64,2 -prop=mmu_version=16 -prop=mmu_pagesize=4096 -prop=mmu_address_space=32 -prop=nsim_mem-dev=uart0,kind=dwuart,base=0xf0000000,irq=24 -prop=nsim_isa_number_of_interrupts=32 -prop=nsim_isa_number_of_external_interrupts=32 -prop=nsim_isa_has_fp=1 -prop=nsim_isa_fp_dds_option=1 -prop=nsim_isa_fp_div_option=1 -prop=nsim_isa_fp_dp_option=1 -prop=nsim_isa_fp_hp_option=1 -prop=nsim_isa_fp_vec_option=1 -prop=nsim_isa_fp_wide_option=1 -prop=nsim_isa_mpy64=1 -prop=nsim_isa_div64_option=1 -prop=nsim_isa_dsp_option=3 -prop=nsim_isa_dsp_wide_option=1 $kernel
+fi
+if [ "$arch" = "arcv3-arc64" ]; then
+ nsimdrv -prop=nsim_fast=0 -prop=nsim_isa_dual_issue_option=1 -prop=nsim_isa_has_hw_pf=1 -prop=nsim_isa_m128_option=1 -prop=nsim_isa_has_hw_pf=1 -prop=nsim_isa_vec64=1 -prop=nsim_isa_family=arc64 -prop=nsim_isa_enable_timer_0=1 -prop=nsim_isa_enable_timer_1=1 -prop=nsim_isa_rtc_option=1 -prop=nsim_isa_addr_size=64 -prop=nsim_isa_pc_size=64 -prop=icache=16384,64,4,o -prop=dcache=16384,64,4,o -prop=mmu_version=16 -prop=mmu_pagesize=4096 -prop=mmu_address_space=48 -prop=nsim_mem-dev=uart0,kind=dwuart,base=0xf0000000,irq=24 -prop=nsim_isa_mpy_option=9 -prop=nsim_isa_mpy64=1 -prop=nsim_isa_div64_option=1 -prop=nsim_isa_div_rem_option=2 -prop=nsim_isa_atomic_option=2 -prop=nsim_isa_has_fp=1 -prop=nsim_isa_fp_dds_option=1 -prop=nsim_isa_fp_div_option=1 -prop=nsim_isa_fp_dp_option=1 -prop=nsim_isa_fp_hp_option=1 -prop=nsim_isa_fp_vec_option=1 -prop=nsim_isa_fp_wide_option=1 $kernel
+fi
+
diff --git a/scripts/patch_git.sh b/scripts/patch_git.sh
index 36a2d6af8..40653a576 100644
--- a/scripts/patch_git.sh
+++ b/scripts/patch_git.sh
@@ -3,7 +3,7 @@
# Patch sources using git-am, aligning things to use git-format-patch for
# update-patches.
#
-# (c) 2016 Phil Sutter <phil@nwl.cc>
+# (c) 2021 Phil Sutter <phil@nwl.cc>
#
# Based on the classic patch.sh, written by:
#
@@ -36,14 +36,11 @@ if [ ! -d .git ]; then
find . -name .gitignore -delete
git init
git add .
- git commit -a --allow-empty \
- --author="OpenADK <wbx@openadk.org>" \
- -m "OpenADK patch marker: 0000"
+elif [ -e .git/rebase-apply ]; then
+ git am --abort
fi
-[ -e .git/rebase-apply ] && \
- git am --abort
-i=1
+i=0
patch_tmp=$(printf ".git/patch_tmp/%04d" $i)
while [ -d $patch_tmp ]; do
let "i++"
@@ -52,6 +49,10 @@ done
mkdir -p $patch_tmp
patch_series=$(printf "%04d" $i)
+git commit --allow-empty --no-signoff --no-gpg-sign \
+ --author="OpenADK <wbx@openadk.org>" \
+ -m "OpenADK patch marker: $patch_series"
+
cd $wd
cd $patchdir
for i in $(eval echo ${patchpattern}); do
@@ -74,12 +75,15 @@ for i in $(eval echo ${patchpattern}); do
esac
[ -d "${i}" ] && echo "Ignoring subdirectory ${i}" && continue
echo "$(basename $i)" >>${targetdir}/${patch_tmp}/__patchfiles__
- fake_hdr=""
patchname="$(basename -s .gz -s .bz -s .bz2 -s .zip -s .Z -s .patch $i)"
- if ! grep -q '^Subject: ' ${i}; then
- fake_hdr="From: OpenADK <wbx@openadk.org>\nSubject: [PATCH] ${patchname#[0-9]*-}\n\n"
- fi
- { echo -en $fake_hdr; ${uncomp} ${i}; } >${targetdir}/${patch_tmp}/${patchname}.patch
+ {
+ if ! grep -q '^Subject: ' ${i}; then
+ echo "From: OpenADK <wbx@openadk.org>"
+ echo "Subject: [PATCH] ${patchname#[0-9]*-}"
+ echo ""
+ fi
+ ${uncomp} ${i}
+ } >${targetdir}/${patch_tmp}/${patchname}.patch
cd $patchdir
done
@@ -93,6 +97,7 @@ done
# XXX: this is unsafe and should be dropped at some point
am_opts="-C1"
+cd ${wd}
realpath $patchdir >${targetdir}/${patch_tmp}/__patchdir__
cd ${targetdir}
git am $am_opts ${patch_tmp}/*.patch
@@ -100,6 +105,3 @@ if [ $? != 0 ] ; then
echo "git-am failed! Please fix patches!"
exit 1
fi
-git commit -a --allow-empty \
- --author="OpenADK <wbx@openadk.org>" \
- -m "OpenADK patch marker: $patch_series"
diff --git a/scripts/prereq.sh b/scripts/prereq.sh
index b71adaac1..d73ae73f2 100755
--- a/scripts/prereq.sh
+++ b/scripts/prereq.sh
@@ -54,7 +54,7 @@ for tool in $tools; do
FETCHCMD="$(which $tool) --progress-bar -L -k -f -o "
;;
wget)
- FETCHCMD="$(which $tool) --no-check-certificate -O "
+ FETCHCMD="$(which $tool) -t2 --no-check-certificate -O "
;;
esac
break
@@ -233,7 +233,7 @@ printf " ---> checking if bash is installed.. "
if which bash >/dev/null; then
printf "found\n"
printf " ---> checking if it is bash 4.x or 5.x.. "
- LC_ALL=C bash --version 2>/dev/null| grep -i "version \(4\|5\)" >/dev/null
+ LC_ALL=C bash --version 2>/dev/null| egrep -i 'version 4|5' >/dev/null
if [ $? -eq 0 ]; then
printf "yes\n"
else
@@ -304,6 +304,16 @@ if ! which git >/dev/null 2>&1; then
fi
printf "found\n"
+printf " ---> checking if ncurses is installed.. "
+check_lxdialog=${topdir}/adk/config/lxdialog/check-lxdialog.sh
+CURSES_CFLAGS=$(/bin/sh ${check_lxdialog} -ccflags | tr '\n' ' ')
+CURSES_LIBS=$(/bin/sh ${check_lxdialog} -ldflags ${CC})
+if [ $? -eq 0 ]; then
+ printf "found\n"
+else
+ printf "not found\n"
+ out=1
+fi
# creating prereq.mk
echo "ADK_TOPDIR:=$(readlink -nf . 2>/dev/null || pwd -P)" > $topdir/prereq.mk
@@ -327,6 +337,8 @@ echo "ARCH_FOR_BUILD:=$(${CC} -dumpmachine | sed \
-e 's/mipsel-.*/mipsel/' \
-e 's/i[3-9]86/x86/' \
)" >>prereq.mk
+echo "CURSES_LIBS:=${CURSES_LIBS}" >> $topdir/prereq.mk
+echo "CURSES_CFLAGS:=${CURSES_CFLAGS}" >> $topdir/prereq.mk
if [ "$CC" = "clang" ]; then
echo "HOST_CC:=${CC} -fbracket-depth=1024" >> $topdir/prereq.mk
@@ -339,8 +351,8 @@ else
echo "HOST_CXX:=${CXX}" >> $topdir/prereq.mk
fi
-echo "HOST_CFLAGS:=-O0 -g0" >> $topdir/prereq.mk
-echo "HOST_CXXFLAGS:=-O0 -g0" >> $topdir/prereq.mk
+echo "HOST_CFLAGS:=-O0 -g0 -fcommon" >> $topdir/prereq.mk
+echo "HOST_CXXFLAGS:=-O0 -g0 -fcommon" >> $topdir/prereq.mk
echo 'LANGUAGE:=C' >> $topdir/prereq.mk
echo 'LC_ALL:=C' >> $topdir/prereq.mk
echo "_PATH:=$PATH" >> $topdir/prereq.mk
@@ -423,17 +435,6 @@ fi
rm test.c test 2>/dev/null
rm Makefile.tmp 2>/dev/null
-# for make kernelconfig pkg-config is required to find ncurses
-if [ $os = "Darwin" ]; then
- printf " ---> checking if pkg-config is installed.. "
- if ! which pkg-config >/dev/null 2>&1; then
- printf "not found\n"
- out=1
- else
- printf "found\n"
- fi
-fi
-
# error out on any required prerequisite
if [ $out -ne 0 ]; then
exit
@@ -642,6 +643,11 @@ if ! which lzma >/dev/null 2>&1; then
host_build_lzma=1
fi
+host_build_zstd=0
+if ! which zstd >/dev/null 2>&1; then
+ host_build_zstd=1
+fi
+
host_build_lz4=0
if ! which lz4c >/dev/null 2>&1; then
host_build_lz4=1
@@ -732,6 +738,9 @@ fi
if [ $host_build_lzma -eq 1 ]; then
printf "\t%s\n" "select ADK_HOST_BUILD_LZMA if ADK_HOST_NEED_LZMA" >> $topdir/target/config/Config.in.prereq
fi
+if [ $host_build_zstd -eq 1 ]; then
+ printf "\t%s\n" "select ADK_HOST_BUILD_ZSTD if ADK_HOST_NEED_ZSTD" >> $topdir/target/config/Config.in.prereq
+fi
if [ $host_build_lz4 -eq 1 ]; then
printf "\t%s\n" "select ADK_HOST_BUILD_LZ4 if ADK_HOST_NEED_LZ4" >> $topdir/target/config/Config.in.prereq
fi
@@ -793,6 +802,19 @@ if [ ! -f $topdir/.config ]; then
else
# scan host-tool prerequisites of certain packages before building.
. $topdir/.config
+
+ if [ -n "$ADK_PACKAGE_FIREFOX" ]; then
+ NEED_RUST="$NEED_RUST firefox"
+ fi
+ if [ -n "$ADK_PACKAGE_FIREFOX" ]; then
+ NEED_CARGO="$NEED_CARGO firefox"
+ fi
+ if [ -n "$ADK_PACKAGE_FIREFOX" ]; then
+ NEED_CLANG="$NEED_CLANG firefox"
+ fi
+ if [ -n "$ADK_PACKAGE_FIREFOX" ]; then
+ NEED_CBINDGEN="$NEED_CBINDGEN firefox"
+ fi
if [ -n "$ADK_PACKAGE_KODI" ]; then
NEED_JAVA="$NEED_JAVA kodi"
fi
@@ -889,6 +911,34 @@ else
fi
fi
+ if [ -n "$NEED_RUST" ]; then
+ if ! which rustc >/dev/null 2>&1; then
+ printf "You need rustc to build $NEED_RUST \n"
+ out=1
+ fi
+ fi
+
+ if [ -n "$NEED_CARGO" ]; then
+ if ! which cargo >/dev/null 2>&1; then
+ printf "You need cargo to build $NEED_CARGO \n"
+ out=1
+ fi
+ fi
+
+ if [ -n "$NEED_CLANG" ]; then
+ if ! which clang-13 >/dev/null 2>&1; then
+ printf "You need clang-13 to build $NEED_CLANG \n"
+ out=1
+ fi
+ fi
+
+ if [ -n "$NEED_CBINDGEN" ]; then
+ if ! which cbindgen >/dev/null 2>&1; then
+ printf "You need cbindgen to build $NEED_CBINDGEN \n"
+ out=1
+ fi
+ fi
+
if [ -n "$NEED_STATIC_LIBSTDCXX" ]; then
cat >test.c <<-'EOF'
#include <stdio.h>
diff --git a/scripts/update-patches-git b/scripts/update-patches-git
index 8337fa847..6f0bbfedb 100644
--- a/scripts/update-patches-git
+++ b/scripts/update-patches-git
@@ -3,29 +3,20 @@
# Update patches using git-format-patch from a source tree prepared by
# patch_git.sh.
#
-# (c) 2016 Phil Sutter <phil@nwl.cc>
+# (c) 2021 Phil Sutter <phil@nwl.cc>
wrkdist=$1
wd=$(pwd)
cd "$wrkdist"
-top=""
-top_series=""
-git log --grep="^OpenADK patch marker:" --oneline | while read hash subject; do
- [ -n "$top" ] || {
- top=$hash
- top_series="${subject#OpenADK patch marker: }"
- continue
- }
- bottom=$hash
- bottom_series="${subject#OpenADK patch marker: }"
-
- patchdir=$(<.git/patch_tmp/${top_series}/__patchdir__)
+top="HEAD"
+git log --grep='^OpenADK patch marker:' --format='%H %s'$logopt | \
+ while read hash o p m series; do
+ patchdir=$(<.git/patch_tmp/${series}/__patchdir__)
while read patchfile; do
rm ${patchdir}/$patchfile
- done < .git/patch_tmp/${top_series}/__patchfiles__
- git format-patch -N -o "$patchdir" ${bottom}..${top}
-
- top=$bottom
- top_series=$bottom_series
+ done < .git/patch_tmp/${series}/__patchfiles__
+ git format-patch --no-numbered --no-signoff --no-cover-letter \
+ --no-signature -o "$patchdir" ${hash}..${top}
+ top=${hash}^
done
diff --git a/target/Makefile b/target/Makefile
index 3a063ef84..9c5c8616e 100644
--- a/target/Makefile
+++ b/target/Makefile
@@ -71,7 +71,6 @@ ifeq ($(ADK_TARGET_SYSTEM_QEMU_M68K_Q800)$(ADK_TARGET_SYSTEM_QEMU_M68K_MCF5208),
@$(SED) 's#^\(CONFIG_.*BOOTPARAM_STRING="\)\(.*\)"#\1\2 ro $(FS_CMDLINE)"#' \
$(BUILD_DIR)/.kernelconfig.board
endif
-ifneq ($(ADK_RUNTIME_INIT_SYSTEMD),y)
ifeq ($(ADK_TARGET_ROOTFS_NFSROOT),)
@$(SED) 's#^\(CONFIG_.*CMDLINE="\)\(.*\)"#\1\2 ro"#' \
$(BUILD_DIR)/.kernelconfig.board
@@ -79,7 +78,6 @@ else
@$(SED) 's#^\(CONFIG_.*CMDLINE="\)\(.*\)"#\1\2 rw"#' \
$(BUILD_DIR)/.kernelconfig.board
endif
-endif
@$(SED) 's#^\(CONFIG_.*CMDLINE="\)\(.*\)"#\1\2 $(FS_CMDLINE)"#' \
$(BUILD_DIR)/.kernelconfig.board
ifneq ($(ADK_TARGET_CMDLINE),)
diff --git a/target/aarch64/Makefile b/target/aarch64/Makefile
index c96264c39..a461cf4d3 100644
--- a/target/aarch64/Makefile
+++ b/target/aarch64/Makefile
@@ -24,6 +24,18 @@ ifeq ($(ADK_TARGET_BOARD_BCM28XX),y)
@echo "Use following command to install it on SD card:"
@echo "sudo ./scripts/install.sh $(ADK_TARGET_SYSTEM) /dev/sdX $(FW_DIR)/$(ROOTFSTARBALL)"
endif
+ifeq ($(ADK_TARGET_SYSTEM_ROCKPI4_PLUS)$(ADK_TARGET_SYSTEM_RASPBERRY_PI5),y)
+ifeq ($(ADK_RUNTIME_DATA_PARTITION),y)
+ @echo "Use following command to install with a writable data partition"
+ @echo "sudo ./scripts/install.sh -d 256 $(ADK_TARGET_SYSTEM) /dev/sdX $(FW_DIR)/$(ROOTFSTARBALL)"
+ @echo "If you want to update a card without loosing existing data on the writable partition use:"
+ @echo "sudo ./scripts/install.sh -k -d 256 $(ADK_TARGET_SYSTEM) /dev/sdX $(FW_DIR)/$(ROOTFSTARBALL)"
+ @echo "In both cases the cfgfs partition is _not_ removed!"
+else
+ @echo "Use following command to install it on SD card:"
+ @echo "sudo ./scripts/install.sh $(ADK_TARGET_SYSTEM) /dev/sdX $(FW_DIR)/$(ROOTFSTARBALL)"
+endif
+endif
ifeq ($(ADK_TARGET_QEMU),y)
@echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
@echo "Use following command to create a QEMU Image:"
@@ -54,6 +66,20 @@ ifeq ($(ADK_TARGET_QEMU),y)
@echo 'qemu-system-${ADK_TARGET_CPU_ARCH} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL)'
endif
endif
+ifeq ($(ADK_TARGET_FS),nfsroot)
+targethelp:
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+ @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
+endif
+ifeq ($(ADK_TARGET_FS),genimage)
+targethelp:
+ @echo "The disk image is: $(FW_DIR)/sdcard.img"
+ @echo "Use following command to install it on SD card:"
+ @echo 'sudo dd if=$(FW_DIR)/sdcard.img of=/dev/sdX bs=2048k'
+endif
+ifeq ($(ADK_TARGET_FS),nfsroot)
+imageinstall: kernel-install $(FW_DIR)/$(ROOTFSUSERTARBALL) targethelp
+endif
kernel-strip:
@cp $(KERNEL) $(BUILD_DIR)/$(TARGET_KERNEL)
@@ -63,8 +89,7 @@ kernel-install: kernel-strip
dtb-install:
ifeq ($(ADK_TARGET_BOARD_BCM28XX),y)
- env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \
- dtbs $(MAKE_TRACE)
+ ${KERNEL_MAKE} dtbs $(MAKE_TRACE)
mkdir -p $(FW_DIR)/overlays
for x in $(LINUX_DIR)/arch/arm64/boot/dts/overlays/*.dtbo; do \
[[ -e "$$x" ]] && cp $(LINUX_DIR)/arch/arm64/boot/dts/overlays/*.dtbo $(FW_DIR)/overlays; \
@@ -75,6 +100,13 @@ ifeq ($(ADK_TARGET_BOARD_BCM28XX),y)
break; \
done
endif
+ifeq ($(ADK_TARGET_SYSTEM_ROCKPI4_PLUS),y)
+ ${KERNEL_MAKE} rockchip/rk3399-rock-pi-4b-plus.dtb $(MAKE_TRACE)
+endif
+ for x in $(LINUX_DIR)/arch/arm64/boot/dts/*/*.dtb; do \
+ [[ -e "$$x" ]] && cp $(LINUX_DIR)/arch/arm64/boot/dts/*/*.dtb $(FW_DIR); \
+ break; \
+ done
# filesystem specific targets
ifeq ($(ADK_TARGET_FS),archive)
@@ -89,3 +121,6 @@ endif
ifeq ($(ADK_TARGET_FS),initramfspiggyback)
imageinstall: createinitramfs targethelp
endif
+ifeq ($(ADK_TARGET_FS),genimage)
+imageinstall: dtb-install $(FW_DIR)/$(GENIMAGE) targethelp
+endif
diff --git a/target/aarch64/kernel/raspberry-pi3p-64 b/target/aarch64/kernel/raspberry-pi3p-64
deleted file mode 100644
index 6d9ace351..000000000
--- a/target/aarch64/kernel/raspberry-pi3p-64
+++ /dev/null
@@ -1,10 +0,0 @@
-CONFIG_ARM64=y
-CONFIG_ARCH_BCM2835=y
-CONFIG_BRCM_CHAR_DRIVERS=y
-CONFIG_BCM2708_VCMEM=y
-CONFIG_BCM_VCIO=y
-CONFIG_BCMA=y
-CONFIG_MAILBOX=y
-CONFIG_BCM2835_MBOX=y
-CONFIG_RASPBERRYPI_POWER=y
-CONFIG_RASPBERRYPI_FIRMWARE=y
diff --git a/target/aarch64/kernel/raspberry-pi4-64 b/target/aarch64/kernel/raspberry-pi4-64
new file mode 100644
index 000000000..d818141cc
--- /dev/null
+++ b/target/aarch64/kernel/raspberry-pi4-64
@@ -0,0 +1,1874 @@
+CONFIG_ARM64=y
+CONFIG_ARCH_BCM=y
+CONFIG_ARCH_BCM2835=y
+CONFIG_BRCM_CHAR_DRIVERS=y
+CONFIG_BCM2708_VCMEM=y
+CONFIG_BCM_VCIO=y
+CONFIG_BCMA=y
+CONFIG_MAILBOX=y
+CONFIG_BCM2835_MBOX=y
+CONFIG_RASPBERRYPI_POWER=y
+CONFIG_RASPBERRYPI_FIRMWARE=y
+CONFIG_CLK_RASPBERRYPI=y
+CONFIG_KUSER_HELPERS=y
+
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+
+
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_ATTR_SET=y
+CONFIG_CPU_FREQ_GOV_COMMON=y
+CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
+
+CONFIG_CPUFREQ_DT=y
+CONFIG_CPUFREQ_DT_PLATDEV=y
+CONFIG_ARM_RASPBERRYPI_CPUFREQ=y
+
+CONFIG_ARCH_HAS_SUBPAGE_FAULTS=y
+CONFIG_KPROBES=y
+CONFIG_JUMP_LABEL=y
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_KRETPROBES=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y
+CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
+CONFIG_HAVE_NMI=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_CONTIGUOUS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_GENERIC_IDLE_POLL_SETUP=y
+CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
+CONFIG_ARCH_HAS_KEEPINITRD=y
+CONFIG_ARCH_HAS_SET_MEMORY=y
+CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
+CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
+CONFIG_ARCH_WANTS_NO_INSTR=y
+CONFIG_HAVE_ASM_MODVERSIONS=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_RSEQ=y
+CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_PERF_REGS=y
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
+CONFIG_MMU_GATHER_TABLE_FREE=y
+CONFIG_MMU_GATHER_RCU_TABLE_FREE=y
+CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
+CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
+CONFIG_HAVE_CMPXCHG_LOCAL=y
+CONFIG_HAVE_CMPXCHG_DOUBLE=y
+CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
+CONFIG_HAVE_ARCH_SECCOMP=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_SECCOMP=y
+CONFIG_SECCOMP_FILTER=y
+CONFIG_HAVE_ARCH_STACKLEAK=y
+CONFIG_HAVE_STACKPROTECTOR=y
+CONFIG_STACKPROTECTOR=y
+CONFIG_STACKPROTECTOR_STRONG=y
+CONFIG_ARCH_SUPPORTS_SHADOW_CALL_STACK=y
+CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
+CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
+CONFIG_LTO_NONE=y
+CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
+CONFIG_HAVE_CONTEXT_TRACKING_USER=y
+CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_MOVE_PUD=y
+CONFIG_HAVE_MOVE_PMD=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_HAVE_ARCH_HUGE_VMAP=y
+CONFIG_HAVE_ARCH_HUGE_VMALLOC=y
+CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
+CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
+CONFIG_MODULES_USE_ELF_RELA=y
+CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
+CONFIG_SOFTIRQ_ON_OWN_STACK=y
+CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
+CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
+CONFIG_ARCH_MMAP_RND_BITS=18
+CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11
+CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
+CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
+CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
+CONFIG_CLONE_BACKWARDS=y
+CONFIG_OLD_SIGSUSPEND3=y
+CONFIG_COMPAT_OLD_SIGACTION=y
+CONFIG_COMPAT_32BIT_TIME=y
+CONFIG_HAVE_ARCH_VMAP_STACK=y
+CONFIG_VMAP_STACK=y
+CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y
+CONFIG_RANDOMIZE_KSTACK_OFFSET=y
+CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
+CONFIG_STRICT_KERNEL_RWX=y
+CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
+CONFIG_STRICT_MODULE_RWX=y
+CONFIG_HAVE_ARCH_COMPILER_H=y
+CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
+CONFIG_ARCH_USE_MEMREMAP_PROT=y
+CONFIG_ARCH_HAS_RELR=y
+CONFIG_HAVE_PREEMPT_DYNAMIC=y
+CONFIG_HAVE_PREEMPT_DYNAMIC_KEY=y
+CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
+CONFIG_ARCH_HAVE_TRACE_MMIO_ACCESS=y
+
+CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
+
+CONFIG_HAVE_GCC_PLUGINS=y
+CONFIG_GCC_PLUGINS=y
+
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_ASM_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+CONFIG_MODULE_COMPRESS_XZ=y
+CONFIG_MODPROBE_PATH="/sbin/modprobe"
+CONFIG_MODULES_TREE_LOOKUP=y
+CONFIG_BLOCK=y
+CONFIG_BLOCK_LEGACY_AUTOLOAD=y
+CONFIG_BLK_CGROUP_RWSTAT=y
+CONFIG_BLK_DEV_BSG_COMMON=y
+CONFIG_BLK_DEV_BSGLIB=y
+CONFIG_BLK_DEV_INTEGRITY=y
+CONFIG_BLK_DEV_INTEGRITY_T10=y
+CONFIG_BLK_DEV_THROTTLING=y
+CONFIG_BLK_DEBUG_FS=y
+
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_MAC_PARTITION=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_EFI_PARTITION=y
+
+CONFIG_BLOCK_COMPAT=y
+CONFIG_BLK_MQ_PCI=y
+CONFIG_BLK_PM=y
+CONFIG_BLOCK_HOLDER_DEPRECATED=y
+CONFIG_BLK_MQ_STACKING=y
+
+CONFIG_MQ_IOSCHED_DEADLINE=y
+CONFIG_MQ_IOSCHED_KYBER=y
+
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_ASN1=y
+CONFIG_UNINLINE_SPIN_UNLOCK=y
+CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
+CONFIG_MUTEX_SPIN_ON_OWNER=y
+CONFIG_RWSEM_SPIN_ON_OWNER=y
+CONFIG_LOCK_SPIN_ON_OWNER=y
+CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
+CONFIG_QUEUED_SPINLOCKS=y
+CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
+CONFIG_QUEUED_RWLOCKS=y
+CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
+CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
+CONFIG_FREEZER=y
+
+CONFIG_BINFMT_ELF=y
+CONFIG_COMPAT_BINFMT_ELF=y
+CONFIG_ARCH_BINFMT_ELF_STATE=y
+CONFIG_ARCH_BINFMT_ELF_EXTRA_PHDRS=y
+CONFIG_ARCH_HAVE_ELF_PROT=y
+CONFIG_ARCH_USE_GNU_PROPERTY=y
+CONFIG_ELFCORE=y
+CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
+CONFIG_BINFMT_SCRIPT=y
+CONFIG_COREDUMP=y
+
+CONFIG_ZPOOL=y
+CONFIG_SWAP=y
+CONFIG_ZSWAP=y
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"
+CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
+CONFIG_ZSWAP_ZPOOL_DEFAULT="zbud"
+CONFIG_ZBUD=y
+
+CONFIG_SLUB=y
+CONFIG_SLAB_MERGE_DEFAULT=y
+CONFIG_SLUB_CPU_PARTIAL=y
+
+CONFIG_SPARSEMEM=y
+CONFIG_SPARSEMEM_EXTREME=y
+CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_SPARSEMEM_VMEMMAP=y
+CONFIG_HAVE_FAST_GUP=y
+CONFIG_ARCH_KEEP_MEMBLOCK=y
+CONFIG_MEMORY_ISOLATION=y
+CONFIG_EXCLUSIVE_SYSTEM_RAM=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
+CONFIG_COMPACTION=y
+CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
+CONFIG_MIGRATION=y
+CONFIG_CONTIG_ALLOC=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_MMU_NOTIFIER=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_ARCH_WANTS_THP_SWAP=y
+CONFIG_FRONTSWAP=y
+CONFIG_CMA=y
+CONFIG_CMA_AREAS=7
+CONFIG_GENERIC_EARLY_IOREMAP=y
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
+CONFIG_ARCH_HAS_PTE_DEVMAP=y
+CONFIG_ARCH_HAS_ZONE_DMA_SET=y
+CONFIG_ZONE_DMA=y
+CONFIG_ZONE_DMA32=y
+CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_ARCH_HAS_PTE_SPECIAL=y
+CONFIG_LRU_GEN=y
+CONFIG_LRU_GEN_ENABLED=y
+
+
+CONFIG_NET=y
+CONFIG_COMPAT_NETLINK_MESSAGES=y
+CONFIG_NET_INGRESS=y
+CONFIG_NET_EGRESS=y
+CONFIG_NET_REDIRECT=y
+CONFIG_SKB_EXTENSIONS=y
+
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_UNIX_SCM=y
+CONFIG_AF_UNIX_OOB=y
+CONFIG_XFRM=y
+CONFIG_XFRM_OFFLOAD=y
+CONFIG_XFRM_SUB_POLICY=y
+CONFIG_XFRM_STATISTICS=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IP_ROUTE_CLASSID=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_RARP=y
+CONFIG_IP_MROUTE_COMMON=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+CONFIG_SYN_COOKIES=y
+CONFIG_INET_TABLE_PERTURB_ORDER=16
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+CONFIG_IPV6_SIT_6RD=y
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_IPV6_SUBTREES=y
+CONFIG_IPV6_MROUTE=y
+CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
+CONFIG_IPV6_PIMSM_V2=y
+CONFIG_NET_PTP_CLASSIFY=y
+CONFIG_NETWORK_PHY_TIMESTAMPING=y
+CONFIG_NETFILTER=y
+CONFIG_NETFILTER_ADVANCED=y
+
+CONFIG_NETFILTER_INGRESS=y
+CONFIG_NETFILTER_EGRESS=y
+CONFIG_NETFILTER_SKIP_EGRESS=y
+CONFIG_NETFILTER_FAMILY_BRIDGE=y
+CONFIG_NETFILTER_FAMILY_ARP=y
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CONNTRACK_TIMESTAMP=y
+CONFIG_NF_CONNTRACK_LABELS=y
+CONFIG_NF_CT_PROTO_DCCP=y
+CONFIG_NF_CT_PROTO_GRE=y
+CONFIG_NF_CT_PROTO_SCTP=y
+CONFIG_NF_CT_PROTO_UDPLITE=y
+CONFIG_NF_NAT_REDIRECT=y
+CONFIG_NF_NAT_MASQUERADE=y
+CONFIG_NF_TABLES_INET=y
+CONFIG_NF_TABLES_NETDEV=y
+CONFIG_NETFILTER_XTABLES_COMPAT=y
+
+
+
+
+CONFIG_IP_SET_MAX=256
+CONFIG_IP_VS_IPV6=y
+CONFIG_IP_VS_TAB_BITS=12
+
+CONFIG_IP_VS_PROTO_TCP=y
+CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_PROTO_AH_ESP=y
+CONFIG_IP_VS_PROTO_ESP=y
+CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_SCTP=y
+
+
+CONFIG_IP_VS_SH_TAB_BITS=8
+
+CONFIG_IP_VS_MH_TAB_INDEX=12
+
+CONFIG_IP_VS_NFCT=y
+
+CONFIG_NF_TABLES_IPV4=y
+CONFIG_NF_TABLES_ARP=y
+
+CONFIG_NF_TABLES_IPV6=y
+
+CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
+CONFIG_SCTP_COOKIE_HMAC_MD5=y
+CONFIG_SCTP_COOKIE_HMAC_SHA1=y
+CONFIG_L2TP_V3=y
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+CONFIG_VLAN_8021Q_GVRP=y
+CONFIG_NET_SCHED=y
+
+
+CONFIG_NET_CLS=y
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_BPF=y
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_CLS_ACT=y
+CONFIG_GACT_PROB=y
+CONFIG_NET_SCH_FIFO=y
+CONFIG_DNS_RESOLVER=y
+CONFIG_BATMAN_ADV_BATMAN_V=y
+CONFIG_BATMAN_ADV_BLA=y
+CONFIG_BATMAN_ADV_DAT=y
+CONFIG_BATMAN_ADV_MCAST=y
+CONFIG_MPLS=y
+CONFIG_NET_L3_MASTER_DEV=y
+CONFIG_PCPU_DEV_REFCNT=y
+CONFIG_RPS=y
+CONFIG_RFS_ACCEL=y
+CONFIG_SOCK_RX_QUEUE_MAPPING=y
+CONFIG_XPS=y
+CONFIG_CGROUP_NET_PRIO=y
+CONFIG_CGROUP_NET_CLASSID=y
+CONFIG_NET_RX_BUSY_POLL=y
+CONFIG_BQL=y
+CONFIG_NET_FLOW_LIMIT=y
+
+
+CONFIG_HAMRADIO=y
+
+CONFIG_AX25_DAMA_SLAVE=y
+
+
+CONFIG_BT_BREDR=y
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_LE=y
+CONFIG_BT_DEBUGFS=y
+
+CONFIG_BT_HCIBTUSB_BCM=y
+CONFIG_BT_HCIBTUSB_RTL=y
+CONFIG_BT_HCIUART_SERDEV=y
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_3WIRE=y
+CONFIG_BT_HCIUART_BCM=y
+
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
+CONFIG_WEXT_PRIV=y
+CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
+CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
+CONFIG_CFG80211_DEFAULT_PS=y
+CONFIG_CFG80211_CRDA_SUPPORT=y
+CONFIG_CFG80211_WEXT=y
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+CONFIG_MAC80211_MESH=y
+CONFIG_MAC80211_LEDS=y
+CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+
+
+CONFIG_LWTUNNEL=y
+CONFIG_LWTUNNEL_BPF=y
+CONFIG_DST_CACHE=y
+CONFIG_GRO_CELLS=y
+CONFIG_NET_SELFTESTS=y
+CONFIG_NET_SOCK_MSG=y
+CONFIG_PAGE_POOL=y
+CONFIG_ETHTOOL_NETLINK=y
+
+CONFIG_ARM_AMBA=y
+CONFIG_HAVE_PCI=y
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_DOMAINS_GENERIC=y
+CONFIG_PCI_SYSCALL=y
+CONFIG_PCIEASPM=y
+CONFIG_PCIEASPM_DEFAULT=y
+CONFIG_PCI_MSI=y
+CONFIG_PCI_MSI_IRQ_DOMAIN=y
+CONFIG_PCI_QUIRKS=y
+CONFIG_PCI_LABEL=y
+CONFIG_PCIE_BUS_DEFAULT=y
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+
+CONFIG_PCIE_BRCMSTB=y
+
+
+
+
+
+
+
+CONFIG_UEVENT_HELPER=y
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+
+CONFIG_FW_LOADER=y
+CONFIG_EXTRA_FIRMWARE=""
+
+CONFIG_WANT_DEV_COREDUMP=y
+CONFIG_ALLOW_DEV_COREDUMP=y
+CONFIG_DEV_COREDUMP=y
+CONFIG_GENERIC_CPU_AUTOPROBE=y
+CONFIG_GENERIC_CPU_VULNERABILITIES=y
+CONFIG_SOC_BUS=y
+CONFIG_REGMAP=y
+CONFIG_REGMAP_MMIO=y
+CONFIG_REGMAP_IRQ=y
+CONFIG_DMA_SHARED_BUFFER=y
+CONFIG_GENERIC_ARCH_TOPOLOGY=y
+
+
+
+
+
+CONFIG_DMIID=y
+CONFIG_RASPBERRYPI_FIRMWARE=y
+
+CONFIG_EFI_ESRT=y
+CONFIG_EFI_PARAMS_FROM_FDT=y
+CONFIG_EFI_RUNTIME_WRAPPERS=y
+CONFIG_EFI_GENERIC_STUB=y
+CONFIG_EFI_ARMSTUB_DTB_LOADER=y
+CONFIG_EFI_EARLYCON=y
+
+CONFIG_ARM_PSCI_FW=y
+CONFIG_HAVE_ARM_SMCCC=y
+CONFIG_HAVE_ARM_SMCCC_DISCOVERY=y
+CONFIG_ARM_SMCCC_SOC_ID=y
+
+
+
+
+
+
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+
+
+
+
+
+CONFIG_MTD_NAND_ECC=y
+
+
+CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
+CONFIG_MTD_SPI_NOR_SWP_DISABLE_ON_VOLATILE=y
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_LIMIT=20
+CONFIG_DTC=y
+CONFIG_OF=y
+CONFIG_OF_FLATTREE=y
+CONFIG_OF_EARLY_FLATTREE=y
+CONFIG_OF_KOBJ=y
+CONFIG_OF_DYNAMIC=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_RESERVED_MEM=y
+CONFIG_OF_RESOLVE=y
+CONFIG_OF_OVERLAY=y
+CONFIG_OF_CONFIGFS=y
+CONFIG_BLK_DEV=y
+CONFIG_ZRAM_DEF_COMP_LZORLE=y
+CONFIG_ZRAM_DEF_COMP="lzo-rle"
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=4096
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+
+CONFIG_NVME_CORE=y
+CONFIG_BLK_DEV_NVME=y
+
+
+
+
+
+
+CONFIG_SCSI_MOD=y
+CONFIG_SCSI_COMMON=y
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_BSG=y
+
+CONFIG_SCSI_ISCSI_ATTRS=y
+
+CONFIG_SCSI_LOWLEVEL=y
+
+CONFIG_SATA_HOST=y
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_ATA_FORCE=y
+CONFIG_SATA_PMP=y
+
+CONFIG_SATA_MOBILE_LPM_POLICY=0
+CONFIG_ATA_SFF=y
+
+CONFIG_ATA_BMDMA=y
+
+
+
+
+CONFIG_MD=y
+CONFIG_BLK_DEV_DM_BUILTIN=y
+CONFIG_DM_AUDIT=y
+
+
+CONFIG_NETDEVICES=y
+CONFIG_MII=y
+CONFIG_NET_CORE=y
+CONFIG_IPVLAN_L3S=y
+CONFIG_NETPOLL=y
+CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_ATM_DRIVERS=y
+CONFIG_ETHERNET=y
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_NET_VENDOR_ADAPTEC=y
+CONFIG_NET_VENDOR_AGERE=y
+CONFIG_NET_VENDOR_ALACRITECH=y
+CONFIG_NET_VENDOR_ALTEON=y
+CONFIG_NET_VENDOR_AMAZON=y
+CONFIG_NET_VENDOR_AMD=y
+CONFIG_NET_VENDOR_AQUANTIA=y
+CONFIG_NET_VENDOR_ARC=y
+CONFIG_NET_VENDOR_ASIX=y
+CONFIG_NET_VENDOR_ATHEROS=y
+CONFIG_NET_VENDOR_BROADCOM=y
+CONFIG_BCMGENET=y
+CONFIG_NET_VENDOR_CADENCE=y
+CONFIG_NET_VENDOR_CAVIUM=y
+CONFIG_NET_VENDOR_CHELSIO=y
+CONFIG_NET_VENDOR_CISCO=y
+CONFIG_NET_VENDOR_CORTINA=y
+CONFIG_NET_VENDOR_DAVICOM=y
+CONFIG_NET_VENDOR_DEC=y
+CONFIG_NET_VENDOR_DLINK=y
+CONFIG_NET_VENDOR_EMULEX=y
+CONFIG_NET_VENDOR_ENGLEDER=y
+CONFIG_NET_VENDOR_EZCHIP=y
+CONFIG_NET_VENDOR_FUNGIBLE=y
+CONFIG_NET_VENDOR_GOOGLE=y
+CONFIG_NET_VENDOR_HISILICON=y
+CONFIG_NET_VENDOR_HUAWEI=y
+CONFIG_NET_VENDOR_I825XX=y
+CONFIG_NET_VENDOR_INTEL=y
+CONFIG_NET_VENDOR_WANGXUN=y
+CONFIG_NET_VENDOR_ADI=y
+CONFIG_NET_VENDOR_LITEX=y
+CONFIG_NET_VENDOR_MARVELL=y
+CONFIG_NET_VENDOR_MELLANOX=y
+CONFIG_NET_VENDOR_MICREL=y
+CONFIG_NET_VENDOR_MICROCHIP=y
+CONFIG_NET_VENDOR_MICROSEMI=y
+CONFIG_NET_VENDOR_MICROSOFT=y
+CONFIG_NET_VENDOR_MYRI=y
+CONFIG_NET_VENDOR_NI=y
+CONFIG_NET_VENDOR_NATSEMI=y
+CONFIG_NET_VENDOR_NETERION=y
+CONFIG_NET_VENDOR_NETRONOME=y
+CONFIG_NET_VENDOR_8390=y
+CONFIG_NET_VENDOR_NVIDIA=y
+CONFIG_NET_VENDOR_OKI=y
+CONFIG_NET_VENDOR_PACKET_ENGINES=y
+CONFIG_NET_VENDOR_PENSANDO=y
+CONFIG_NET_VENDOR_QLOGIC=y
+CONFIG_NET_VENDOR_BROCADE=y
+CONFIG_NET_VENDOR_QUALCOMM=y
+CONFIG_NET_VENDOR_RDC=y
+CONFIG_NET_VENDOR_REALTEK=y
+CONFIG_NET_VENDOR_RENESAS=y
+CONFIG_NET_VENDOR_ROCKER=y
+CONFIG_NET_VENDOR_SAMSUNG=y
+CONFIG_NET_VENDOR_SEEQ=y
+CONFIG_NET_VENDOR_SILAN=y
+CONFIG_NET_VENDOR_SIS=y
+CONFIG_NET_VENDOR_SOLARFLARE=y
+CONFIG_NET_VENDOR_SMSC=y
+CONFIG_NET_VENDOR_SOCIONEXT=y
+CONFIG_NET_VENDOR_STMICRO=y
+CONFIG_NET_VENDOR_SUN=y
+CONFIG_NET_VENDOR_SYNOPSYS=y
+CONFIG_NET_VENDOR_TEHUTI=y
+CONFIG_NET_VENDOR_TI=y
+CONFIG_NET_VENDOR_VERTEXCOM=y
+CONFIG_NET_VENDOR_VIA=y
+CONFIG_NET_VENDOR_WIZNET=y
+CONFIG_WIZNET_BUS_ANY=y
+CONFIG_NET_VENDOR_XILINX=y
+CONFIG_PHYLIB=y
+CONFIG_SWPHY=y
+CONFIG_FIXED_PHY=y
+
+CONFIG_BROADCOM_PHY=y
+CONFIG_BCM7XXX_PHY=y
+CONFIG_BCM_NET_PHYLIB=y
+CONFIG_BCM_NET_PHYPTP=y
+CONFIG_MICREL_PHY=y
+CONFIG_MICROCHIP_PHY=y
+CONFIG_SMSC_PHY=y
+CONFIG_CAN_NETLINK=y
+CONFIG_CAN_CALC_BITTIMING=y
+CONFIG_CAN_RX_OFFLOAD=y
+
+
+
+CONFIG_MDIO_DEVICE=y
+CONFIG_MDIO_BUS=y
+CONFIG_FWNODE_MDIO=y
+CONFIG_OF_MDIO=y
+CONFIG_MDIO_DEVRES=y
+CONFIG_MDIO_BCM_UNIMAC=y
+
+
+
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_MULTILINK=y
+CONFIG_SLIP_COMPRESSED=y
+CONFIG_SLIP_SMART=y
+CONFIG_USB_NET_DRIVERS=y
+CONFIG_USB_RTL8152=y
+CONFIG_USB_LAN78XX=y
+CONFIG_USB_USBNET=y
+CONFIG_USB_NET_SMSC95XX=y
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_KC2190=y
+CONFIG_WLAN=y
+CONFIG_WLAN_VENDOR_ADMTEK=y
+CONFIG_WLAN_VENDOR_ATH=y
+CONFIG_ATH9K_BTCOEX_SUPPORT=y
+CONFIG_ATH9K_PCI=y
+CONFIG_ATH9K_RFKILL=y
+CONFIG_ATH9K_PCOEM=y
+CONFIG_CARL9170_LEDS=y
+CONFIG_CARL9170_WPC=y
+CONFIG_WLAN_VENDOR_ATMEL=y
+CONFIG_WLAN_VENDOR_BROADCOM=y
+CONFIG_B43_BCMA=y
+CONFIG_B43_SSB=y
+CONFIG_B43_BUSES_BCMA_AND_SSB=y
+CONFIG_B43_PCI_AUTOSELECT=y
+CONFIG_B43_PCICORE_AUTOSELECT=y
+CONFIG_B43_BCMA_PIO=y
+CONFIG_B43_PIO=y
+CONFIG_B43_PHY_G=y
+CONFIG_B43_PHY_LP=y
+CONFIG_B43_PHY_HT=y
+CONFIG_B43_LEDS=y
+CONFIG_B43_HWRNG=y
+CONFIG_B43LEGACY_PCI_AUTOSELECT=y
+CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
+CONFIG_B43LEGACY_LEDS=y
+CONFIG_B43LEGACY_HWRNG=y
+CONFIG_B43LEGACY_DEBUG=y
+CONFIG_B43LEGACY_DMA=y
+CONFIG_B43LEGACY_PIO=y
+CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
+CONFIG_BRCMFMAC_PROTO_BCDC=y
+CONFIG_BRCMFMAC_SDIO=y
+CONFIG_BRCMFMAC_USB=y
+CONFIG_BRCMDBG=y
+CONFIG_WLAN_VENDOR_CISCO=y
+CONFIG_WLAN_VENDOR_INTEL=y
+CONFIG_WLAN_VENDOR_INTERSIL=y
+CONFIG_P54_LEDS=y
+CONFIG_WLAN_VENDOR_MARVELL=y
+CONFIG_WLAN_VENDOR_MEDIATEK=y
+CONFIG_MT76_LEDS=y
+CONFIG_WLAN_VENDOR_MICROCHIP=y
+CONFIG_WLAN_VENDOR_PURELIFI=y
+CONFIG_WLAN_VENDOR_RALINK=y
+CONFIG_RT2800USB_RT33XX=y
+CONFIG_RT2800USB_RT35XX=y
+CONFIG_RT2800USB_RT3573=y
+CONFIG_RT2800USB_RT53XX=y
+CONFIG_RT2800USB_RT55XX=y
+CONFIG_RT2800USB_UNKNOWN=y
+CONFIG_RT2X00_LIB_FIRMWARE=y
+CONFIG_RT2X00_LIB_CRYPTO=y
+CONFIG_RT2X00_LIB_LEDS=y
+CONFIG_WLAN_VENDOR_REALTEK=y
+CONFIG_RTL8187_LEDS=y
+CONFIG_RTLWIFI_DEBUG=y
+CONFIG_WLAN_VENDOR_RSI=y
+CONFIG_WLAN_VENDOR_SILABS=y
+CONFIG_WLAN_VENDOR_ST=y
+CONFIG_WLAN_VENDOR_TI=y
+CONFIG_WLAN_VENDOR_ZYDAS=y
+CONFIG_WLAN_VENDOR_QUANTENNA=y
+
+
+
+CONFIG_INPUT=y
+CONFIG_INPUT_LEDS=y
+
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_EVDEV=y
+
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_XPAD_FF=y
+CONFIG_JOYSTICK_XPAD_LEDS=y
+CONFIG_JOYSTICK_PSXPAD_SPI_FF=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_USB_EGALAX=y
+CONFIG_TOUCHSCREEN_USB_PANJIT=y
+CONFIG_TOUCHSCREEN_USB_3M=y
+CONFIG_TOUCHSCREEN_USB_ITM=y
+CONFIG_TOUCHSCREEN_USB_ETURBO=y
+CONFIG_TOUCHSCREEN_USB_GUNZE=y
+CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
+CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
+CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
+CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
+CONFIG_TOUCHSCREEN_USB_GOTOP=y
+CONFIG_TOUCHSCREEN_USB_JASTEC=y
+CONFIG_TOUCHSCREEN_USB_ELO=y
+CONFIG_TOUCHSCREEN_USB_E2I=y
+CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
+CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
+CONFIG_TOUCHSCREEN_USB_NEXIO=y
+CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
+CONFIG_INPUT_MISC=y
+
+
+CONFIG_BRCM_CHAR_DRIVERS=y
+CONFIG_BCM2708_VCMEM=y
+CONFIG_BCM_VCIO=y
+CONFIG_BCM2835_DEVGPIOMEM=y
+CONFIG_TTY=y
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_LDISC_AUTOLOAD=y
+
+CONFIG_SERIAL_EARLYCON=y
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_16550A_VARIANTS=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_EXAR=y
+CONFIG_SERIAL_8250_NR_UARTS=1
+CONFIG_SERIAL_8250_RUNTIME_UARTS=0
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_BCM2835AUX=y
+CONFIG_SERIAL_8250_FSL=y
+CONFIG_SERIAL_8250_PERICOM=y
+CONFIG_SERIAL_OF_PLATFORM=y
+
+CONFIG_SERIAL_AMBA_PL011=y
+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_CONSOLE_POLL=y
+CONFIG_SERIAL_SC16IS7XX_I2C=y
+CONFIG_SERIAL_SC16IS7XX_SPI=y
+
+CONFIG_SERIAL_MCTRL_GPIO=y
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
+CONFIG_TTY_PRINTK=y
+CONFIG_TTY_PRINTK_LEVEL=6
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_BCM2835=y
+CONFIG_HW_RANDOM_IPROC_RNG200=y
+CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y
+CONFIG_HW_RANDOM_CN10K=y
+CONFIG_DEVMEM=y
+CONFIG_DEVPORT=y
+CONFIG_HW_RANDOM_TPM=y
+CONFIG_RANDOM_TRUST_CPU=y
+CONFIG_RANDOM_TRUST_BOOTLOADER=y
+
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+
+
+CONFIG_I2C_HELPER_AUTO=y
+
+
+CONFIG_I2C_BCM2708_BAUDRATE=100000
+
+
+
+
+
+CONFIG_SPI=y
+CONFIG_SPI_MASTER=y
+CONFIG_SPI_MEM=y
+
+
+
+CONFIG_SPI_SLAVE=y
+CONFIG_SPI_DYNAMIC=y
+CONFIG_PPS=y
+
+
+
+CONFIG_PTP_1588_CLOCK=y
+CONFIG_PTP_1588_CLOCK_OPTIONAL=y
+CONFIG_PTP_1588_CLOCK_KVM=y
+
+CONFIG_PINCTRL=y
+CONFIG_PINMUX=y
+CONFIG_PINCONF=y
+CONFIG_GENERIC_PINCONF=y
+CONFIG_PINCTRL_BCM2835=y
+
+
+CONFIG_GPIOLIB=y
+CONFIG_GPIOLIB_FASTPATH_LIMIT=512
+CONFIG_OF_GPIO=y
+CONFIG_GPIOLIB_IRQCHIP=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_CDEV=y
+CONFIG_GPIO_CDEV_V1=y
+
+CONFIG_GPIO_RASPBERRYPI_EXP=y
+CONFIG_GPIO_BCM_VIRT=y
+
+CONFIG_GPIO_PCA953X_IRQ=y
+
+CONFIG_GPIO_STMPE=y
+
+
+
+
+
+CONFIG_W1_CON=y
+
+
+CONFIG_W1_SLAVE_DS2408_READBACK=y
+
+CONFIG_POWER_RESET=y
+CONFIG_POWER_RESET_GPIO=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_POWER_SUPPLY_HWMON=y
+CONFIG_HWMON=y
+
+CONFIG_THERMAL=y
+CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
+CONFIG_THERMAL_HWMON=y
+CONFIG_THERMAL_OF=y
+CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
+CONFIG_THERMAL_GOV_STEP_WISE=y
+
+CONFIG_BCM2711_THERMAL=y
+CONFIG_BCM2835_THERMAL=y
+
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
+CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
+CONFIG_WATCHDOG_OPEN_TIMEOUT=0
+
+
+CONFIG_BCM2835_WDT=y
+
+
+CONFIG_SSB_POSSIBLE=y
+CONFIG_SSB_SPROM=y
+CONFIG_SSB_BLOCKIO=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+CONFIG_SSB_B43_PCI_BRIDGE=y
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE=y
+CONFIG_BCMA_POSSIBLE=y
+CONFIG_BCMA_BLOCKIO=y
+CONFIG_BCMA_HOST_PCI_POSSIBLE=y
+CONFIG_BCMA_HOST_PCI=y
+CONFIG_BCMA_DRIVER_PCI=y
+
+CONFIG_MFD_CORE=y
+CONFIG_MFD_STMPE=y
+
+CONFIG_STMPE_I2C=y
+CONFIG_STMPE_SPI=y
+
+CONFIG_MFD_SYSCON=y
+CONFIG_MFD_WM5102=y
+
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_GPIO=y
+CONFIG_RC_CORE=y
+CONFIG_BPF_LIRC_MODE2=y
+CONFIG_LIRC=y
+CONFIG_RC_MAP=y
+CONFIG_RC_DECODERS=y
+CONFIG_RC_DEVICES=y
+
+CONFIG_MEDIA_CEC_RC=y
+CONFIG_MEDIA_CEC_SUPPORT=y
+
+
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
+CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
+CONFIG_MEDIA_RADIO_SUPPORT=y
+CONFIG_MEDIA_SDR_SUPPORT=y
+CONFIG_MEDIA_PLATFORM_SUPPORT=y
+CONFIG_MEDIA_TEST_SUPPORT=y
+
+CONFIG_MEDIA_CONTROLLER=y
+
+CONFIG_VIDEO_V4L2_I2C=y
+CONFIG_VIDEO_V4L2_SUBDEV_API=y
+
+CONFIG_MEDIA_CONTROLLER_DVB=y
+CONFIG_MEDIA_CONTROLLER_REQUEST_API=y
+
+CONFIG_DVB_NET=y
+CONFIG_DVB_MAX_ADAPTERS=16
+CONFIG_DVB_DYNAMIC_MINORS=y
+
+
+CONFIG_MEDIA_USB_SUPPORT=y
+
+CONFIG_USB_PWC_INPUT_EVDEV=y
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_PVRUSB2_DVB=y
+
+CONFIG_VIDEO_AU0828_V4L2=y
+CONFIG_VIDEO_AU0828_RC=y
+CONFIG_VIDEO_CX231XX_RC=y
+
+CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
+
+
+CONFIG_MEDIA_PLATFORM_DRIVERS=y
+CONFIG_V4L_PLATFORM_DRIVERS=y
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+CONFIG_V4L_TEST_DRIVERS=y
+CONFIG_VIDEO_VIVID_MAX_DEVS=64
+CONFIG_MEDIA_COMMON_OPTIONS=y
+
+CONFIG_SMS_SIANO_RC=y
+
+CONFIG_MEDIA_ATTACH=y
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+CONFIG_APERTURE_HELPERS=y
+CONFIG_DRM_MIPI_DSI=y
+CONFIG_DRM_FBDEV_EMULATION=y
+CONFIG_DRM_FBDEV_OVERALLOC=100
+CONFIG_DRM_LOAD_EDID_FIRMWARE=y
+CONFIG_DRM_DISPLAY_HDMI_HELPER=y
+
+
+
+CONFIG_DRM_PANEL=y
+
+
+CONFIG_DRM_BRIDGE=y
+CONFIG_DRM_PANEL_BRIDGE=y
+
+
+CONFIG_DRM_NOMODESET=y
+
+CONFIG_SOUND=y
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SND_PCM_ELD=y
+CONFIG_SND_PCM_IEC958=y
+CONFIG_SND_JACK=y
+CONFIG_SND_JACK_INPUT_DEV=y
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_PCM_TIMER=y
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_PROC_FS=y
+CONFIG_SND_VERBOSE_PROCFS=y
+CONFIG_SND_CTL_FAST_LOOKUP=y
+CONFIG_SND_VMASTER=y
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
+CONFIG_SND_DRIVERS=y
+CONFIG_SND_PCI=y
+
+
+CONFIG_SND_HDA_PREALLOC_SIZE=64
+CONFIG_SND_SPI=y
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER=y
+CONFIG_SND_USB_CAIAQ_INPUT=y
+CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
+CONFIG_SND_SOC_COMPRESS=y
+
+
+
+
+
+
+
+
+CONFIG_HID=y
+CONFIG_HID_BATTERY_STRENGTH=y
+CONFIG_HIDRAW=y
+CONFIG_HID_GENERIC=y
+
+CONFIG_LOGITECH_FF=y
+CONFIG_LOGIRUMBLEPAD2_FF=y
+CONFIG_LOGIG940_FF=y
+CONFIG_LOGIWHEELS_FF=y
+CONFIG_PLAYSTATION_FF=y
+CONFIG_SONY_FF=y
+
+CONFIG_USB_HID=y
+CONFIG_HID_PID=y
+CONFIG_USB_HIDDEV=y
+
+
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB=y
+CONFIG_USB_PCI=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+
+CONFIG_USB_DEFAULT_PERSIST=y
+CONFIG_USB_AUTOSUSPEND_DELAY=2
+
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_XHCI_PCI=y
+CONFIG_USB_XHCI_PLATFORM=y
+CONFIG_USB_DWCOTG=y
+
+
+
+CONFIG_USB_STORAGE=y
+CONFIG_REALTEK_AUTOPM=y
+CONFIG_USB_UAS=y
+
+CONFIG_USBIP_VHCI_HC_PORTS=8
+CONFIG_USBIP_VHCI_NR_HCS=1
+
+CONFIG_USB_DWC2_DUAL_ROLE=y
+
+CONFIG_USB_SERIAL_GENERIC=y
+
+
+CONFIG_USB_PHY=y
+CONFIG_NOP_USB_XCEIV=y
+
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
+
+
+CONFIG_USB_CONFIGFS_SERIAL=y
+CONFIG_USB_CONFIGFS_ACM=y
+CONFIG_USB_CONFIGFS_OBEX=y
+CONFIG_USB_CONFIGFS_NCM=y
+CONFIG_USB_CONFIGFS_ECM=y
+CONFIG_USB_CONFIGFS_ECM_SUBSET=y
+CONFIG_USB_CONFIGFS_RNDIS=y
+CONFIG_USB_CONFIGFS_EEM=y
+CONFIG_USB_CONFIGFS_MASS_STORAGE=y
+CONFIG_USB_CONFIGFS_F_LB_SS=y
+CONFIG_USB_CONFIGFS_F_FS=y
+CONFIG_USB_CONFIGFS_F_UAC1=y
+CONFIG_USB_CONFIGFS_F_UAC2=y
+CONFIG_USB_CONFIGFS_F_MIDI=y
+CONFIG_USB_CONFIGFS_F_HID=y
+CONFIG_USB_CONFIGFS_F_UVC=y
+CONFIG_USB_CONFIGFS_F_PRINTER=y
+
+CONFIG_USB_ETH_RNDIS=y
+CONFIG_USB_G_MULTI_RNDIS=y
+
+CONFIG_MMC=y
+CONFIG_PWRSEQ_EMMC=y
+CONFIG_PWRSEQ_SIMPLE=y
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_MINORS=32
+
+CONFIG_MMC_BCM2835_MMC=y
+CONFIG_MMC_BCM2835_DMA=y
+CONFIG_MMC_BCM2835_PIO_DMA_BARRIER=2
+CONFIG_MMC_BCM2835_SDHOST=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_IO_ACCESSORS=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_IPROC=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_PWM=y
+
+
+
+
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_ONESHOT=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_BACKLIGHT=y
+CONFIG_LEDS_TRIGGER_CPU=y
+CONFIG_LEDS_TRIGGER_GPIO=y
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
+
+CONFIG_LEDS_TRIGGER_INPUT=y
+CONFIG_LEDS_TRIGGER_PANIC=y
+CONFIG_LEDS_TRIGGER_ACTPWR=y
+
+CONFIG_ACCESSIBILITY=y
+
+
+CONFIG_EDAC_SUPPORT=y
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+CONFIG_RTC_SYSTOHC=y
+CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
+CONFIG_RTC_NVMEM=y
+
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+
+
+CONFIG_RTC_I2C_AND_SPI=y
+
+CONFIG_RTC_DRV_DS3232_HWMON=y
+CONFIG_RTC_DRV_RV3029_HWMON=y
+
+
+
+CONFIG_DMADEVICES=y
+
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_VIRTUAL_CHANNELS=y
+CONFIG_DMA_OF=y
+CONFIG_DMA_BCM2835=y
+CONFIG_DMA_BCM2708=y
+
+
+CONFIG_SYNC_FILE=y
+CONFIG_DMABUF_HEAPS=y
+CONFIG_DMABUF_HEAPS_SYSTEM=y
+CONFIG_DMABUF_HEAPS_CMA=y
+
+CONFIG_AUXDISPLAY=y
+CONFIG_CHARLCD_BL_FLASH=y
+CONFIG_VIRTIO_MENU=y
+CONFIG_VHOST_MENU=y
+CONFIG_VHOST_CROSS_ENDIAN_LEGACY=y
+
+
+CONFIG_STAGING=y
+
+
+
+
+
+
+
+
+
+CONFIG_STAGING_MEDIA=y
+CONFIG_STAGING_MEDIA_DEPRECATED=y
+CONFIG_BCM_VIDEOCORE=y
+CONFIG_BCM2835_VCHIQ=y
+CONFIG_VCHIQ_CDEV=y
+CONFIG_SURFACE_PLATFORMS=y
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+
+
+CONFIG_CLK_BCM2711_DVP=y
+CONFIG_CLK_BCM2835=y
+CONFIG_CLK_RASPBERRYPI=y
+
+CONFIG_TIMER_OF=y
+CONFIG_TIMER_PROBE=y
+CONFIG_CLKSRC_MMIO=y
+CONFIG_ARM_ARCH_TIMER=y
+CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
+CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y
+CONFIG_FSL_ERRATUM_A008585=y
+CONFIG_HISILICON_ERRATUM_161010101=y
+CONFIG_ARM64_ERRATUM_858921=y
+CONFIG_ARM_TIMER_SP804=y
+
+CONFIG_MAILBOX=y
+CONFIG_BCM2835_MBOX=y
+
+
+
+
+
+
+CONFIG_BCM2835_POWER=y
+CONFIG_RASPBERRYPI_POWER=y
+
+
+
+
+
+
+
+
+CONFIG_EXTCON=y
+
+CONFIG_IIO_BUFFER=y
+CONFIG_IIO_TRIGGER=y
+CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+CONFIG_PWM=y
+CONFIG_PWM_SYSFS=y
+
+CONFIG_IRQCHIP=y
+CONFIG_ARM_GIC=y
+CONFIG_ARM_GIC_MAX_NR=1
+CONFIG_ARM_GIC_V2M=y
+CONFIG_ARM_GIC_V3=y
+CONFIG_ARM_GIC_V3_ITS=y
+CONFIG_ARM_GIC_V3_ITS_PCI=y
+CONFIG_BRCMSTB_L2_IRQ=y
+CONFIG_PARTITION_PERCPU=y
+
+CONFIG_RESET_CONTROLLER=y
+CONFIG_RESET_RASPBERRYPI=y
+CONFIG_RESET_SIMPLE=y
+
+CONFIG_GENERIC_PHY=y
+
+
+
+
+CONFIG_ARM_PMU=y
+
+
+CONFIG_ANDROID_BINDER_IPC=y
+CONFIG_ANDROID_BINDERFS=y
+CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder"
+
+CONFIG_NVMEM=y
+CONFIG_NVMEM_SYSFS=y
+
+
+
+
+CONFIG_PM_OPP=y
+
+CONFIG_DCACHE_WORD_ACCESS=y
+CONFIG_FS_IOMAP=y
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_USE_FOR_EXT2=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_JBD2=y
+CONFIG_FS_MBCACHE=y
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+CONFIG_JFS_POSIX_ACL=y
+CONFIG_JFS_SECURITY=y
+CONFIG_JFS_STATISTICS=y
+CONFIG_XFS_SUPPORT_V4=y
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_POSIX_ACL=y
+CONFIG_XFS_RT=y
+CONFIG_OCFS2_FS_STATS=y
+CONFIG_OCFS2_DEBUG_MASKLOG=y
+CONFIG_BTRFS_FS_POSIX_ACL=y
+CONFIG_F2FS_FS=y
+CONFIG_F2FS_STAT_FS=y
+CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_POSIX_ACL=y
+CONFIG_F2FS_FS_SECURITY=y
+CONFIG_F2FS_IOSTAT=y
+CONFIG_FS_POSIX_ACL=y
+CONFIG_EXPORTFS=y
+CONFIG_FILE_LOCKING=y
+CONFIG_FS_ENCRYPTION=y
+CONFIG_FS_ENCRYPTION_ALGS=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_FANOTIFY=y
+CONFIG_QUOTA=y
+CONFIG_PRINT_QUOTA_WARNING=y
+CONFIG_QUOTACTL=y
+CONFIG_AUTOFS4_FS=y
+CONFIG_AUTOFS_FS=y
+CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
+
+CONFIG_NETFS_SUPPORT=y
+CONFIG_NETFS_STATS=y
+CONFIG_FSCACHE=y
+CONFIG_FSCACHE_STATS=y
+CONFIG_CACHEFILES=y
+
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_NTFS_RW=y
+
+CONFIG_PROC_FS=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_KERNFS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
+CONFIG_ARCH_SUPPORTS_HUGETLBFS=y
+CONFIG_MEMFD_CREATE=y
+CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
+CONFIG_CONFIGFS_FS=y
+
+CONFIG_MISC_FILESYSTEMS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+CONFIG_UBIFS_FS_LZO=y
+CONFIG_UBIFS_FS_ZLIB=y
+CONFIG_UBIFS_FS_ZSTD=y
+CONFIG_UBIFS_FS_XATTR=y
+CONFIG_UBIFS_FS_SECURITY=y
+CONFIG_SQUASHFS_FILE_CACHE=y
+CONFIG_SQUASHFS_DECOMP_SINGLE=y
+CONFIG_SQUASHFS_XATTR=y
+CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_LZO=y
+CONFIG_SQUASHFS_XZ=y
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+CONFIG_PSTORE=y
+CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
+CONFIG_PSTORE_DEFLATE_COMPRESS=y
+CONFIG_PSTORE_COMPRESS=y
+CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
+CONFIG_PSTORE_COMPRESS_DEFAULT="deflate"
+CONFIG_PSTORE_CONSOLE=y
+CONFIG_PSTORE_RAM=y
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V2=y
+CONFIG_NFS_V3=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+CONFIG_NFS_SWAP=y
+CONFIG_NFS_V4_1=y
+CONFIG_NFS_V4_2=y
+CONFIG_PNFS_FILE_LAYOUT=y
+CONFIG_PNFS_FLEXFILE_LAYOUT=y
+CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
+CONFIG_NFS_V4_SECURITY_LABEL=y
+CONFIG_ROOT_NFS=y
+CONFIG_NFS_FSCACHE=y
+CONFIG_NFS_USE_KERNEL_DNS=y
+CONFIG_NFS_DISABLE_UDP_SUPPORT=y
+CONFIG_NFSD_V2_ACL=y
+CONFIG_NFSD_V3_ACL=y
+CONFIG_NFSD_V4=y
+CONFIG_GRACE_PERIOD=y
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_ACL_SUPPORT=y
+CONFIG_NFS_COMMON=y
+CONFIG_NFS_V4_2_SSC_HELPER=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_SUNRPC_BACKCHANNEL=y
+CONFIG_SUNRPC_SWAP=y
+CONFIG_CIFS_STATS2=y
+CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
+CONFIG_CIFS_UPCALL=y
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+CONFIG_CIFS_DEBUG=y
+CONFIG_CIFS_DFS_UPCALL=y
+CONFIG_CIFS_FSCACHE=y
+CONFIG_SMB_SERVER_CHECK_CAP_NET_ADMIN=y
+CONFIG_9P_FS_POSIX_ACL=y
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ASCII=y
+CONFIG_IO_WQ=y
+
+CONFIG_KEYS=y
+CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
+CONFIG_SECURITY_NETWORK=y
+CONFIG_SECURITY_PATH=y
+CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
+CONFIG_SECURITY_APPARMOR=y
+CONFIG_SECURITY_APPARMOR_INTROSPECT_POLICY=y
+CONFIG_SECURITY_APPARMOR_HASH=y
+CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y
+CONFIG_SECURITY_APPARMOR_EXPORT_BINARY=y
+CONFIG_SECURITY_APPARMOR_PARANOID_LOAD=y
+CONFIG_INTEGRITY=y
+CONFIG_INTEGRITY_AUDIT=y
+CONFIG_DEFAULT_SECURITY_APPARMOR=y
+CONFIG_LSM=""
+
+
+CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y
+CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_BARE=y
+CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y
+CONFIG_INIT_STACK_ALL_ZERO=y
+CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
+
+CONFIG_RANDSTRUCT_NONE=y
+
+CONFIG_CRYPTO=y
+
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_SKCIPHER=y
+CONFIG_CRYPTO_SKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_AKCIPHER2=y
+CONFIG_CRYPTO_AKCIPHER=y
+CONFIG_CRYPTO_KPP2=y
+CONFIG_CRYPTO_ACOMP2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+CONFIG_CRYPTO_NULL2=y
+
+CONFIG_CRYPTO_RSA=y
+
+CONFIG_CRYPTO_DES=y
+
+CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_ECB=y
+CONFIG_CRYPTO_XTS=y
+
+
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA256=y
+CONFIG_CRYPTO_SHA512=y
+
+CONFIG_CRYPTO_CRC32C=y
+CONFIG_CRYPTO_CRC32=y
+CONFIG_CRYPTO_CRCT10DIF=y
+CONFIG_CRYPTO_CRC64_ROCKSOFT=y
+
+CONFIG_CRYPTO_DEFLATE=y
+CONFIG_CRYPTO_LZO=y
+
+CONFIG_CRYPTO_DRBG_HMAC=y
+
+CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
+
+CONFIG_CRYPTO_HASH_INFO=y
+
+
+CONFIG_ASYMMETRIC_KEY_TYPE=y
+CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
+CONFIG_X509_CERTIFICATE_PARSER=y
+CONFIG_PKCS7_MESSAGE_PARSER=y
+
+CONFIG_SYSTEM_TRUSTED_KEYRING=y
+CONFIG_SYSTEM_TRUSTED_KEYS=""
+
+CONFIG_BINARY_PRINTF=y
+
+CONFIG_RAID6_PQ_BENCHMARK=y
+CONFIG_LINEAR_RANGES=y
+CONFIG_BITREVERSE=y
+CONFIG_HAVE_ARCH_BITREVERSE=y
+CONFIG_GENERIC_STRNCPY_FROM_USER=y
+CONFIG_GENERIC_STRNLEN_USER=y
+CONFIG_GENERIC_NET_UTILS=y
+CONFIG_RATIONAL=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
+CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
+CONFIG_ARCH_USE_SYM_ANNOTATIONS=y
+
+CONFIG_CRYPTO_LIB_UTILS=y
+CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
+CONFIG_CRYPTO_LIB_DES=y
+CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9
+CONFIG_CRYPTO_LIB_SHA1=y
+CONFIG_CRYPTO_LIB_SHA256=y
+
+CONFIG_CRC16=y
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC64_ROCKSOFT=y
+CONFIG_CRC_ITU_T=y
+CONFIG_CRC32=y
+CONFIG_CRC32_SLICEBY8=y
+CONFIG_CRC64=y
+CONFIG_LIBCRC32C=y
+CONFIG_XXHASH=y
+CONFIG_AUDIT_GENERIC=y
+CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y
+CONFIG_AUDIT_COMPAT_GENERIC=y
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_LZ4_DECOMPRESS=y
+CONFIG_ZSTD_COMMON=y
+CONFIG_ZSTD_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_IA64=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+CONFIG_XZ_DEC_BCJ=y
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_DECOMPRESS_LZ4=y
+CONFIG_DECOMPRESS_ZSTD=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_REED_SOLOMON=y
+CONFIG_REED_SOLOMON_ENC8=y
+CONFIG_REED_SOLOMON_DEC8=y
+CONFIG_TEXTSEARCH=y
+CONFIG_BTREE=y
+CONFIG_INTERVAL_TREE=y
+CONFIG_XARRAY_MULTI=y
+CONFIG_ASSOCIATIVE_ARRAY=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT_MAP=y
+CONFIG_HAS_DMA=y
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_DMA_DECLARE_COHERENT=y
+CONFIG_ARCH_HAS_SETUP_DMA_OPS=y
+CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y
+CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y
+CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y
+CONFIG_SWIOTLB=y
+CONFIG_DMA_NONCOHERENT_MMAP=y
+CONFIG_DMA_COHERENT_POOL=y
+CONFIG_DMA_DIRECT_REMAP=y
+CONFIG_DMA_CMA=y
+
+CONFIG_CMA_SIZE_MBYTES=5
+CONFIG_CMA_SIZE_SEL_MBYTES=y
+CONFIG_CMA_ALIGNMENT=8
+CONFIG_SGL_ALLOC=y
+CONFIG_CPU_RMAP=y
+CONFIG_DQL=y
+CONFIG_GLOB=y
+CONFIG_NLATTR=y
+CONFIG_CLZ_TAB=y
+CONFIG_MPILIB=y
+CONFIG_DIMLIB=y
+CONFIG_LIBFDT=y
+CONFIG_OID_REGISTRY=y
+CONFIG_UCS2_STRING=y
+CONFIG_HAVE_GENERIC_VDSO=y
+CONFIG_GENERIC_GETTIMEOFDAY=y
+CONFIG_GENERIC_VDSO_TIME_NS=y
+CONFIG_FONT_SUPPORT=y
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_SG_POOL=y
+CONFIG_ARCH_STACKWALK=y
+CONFIG_STACKDEPOT=y
+CONFIG_SBITMAP=y
+
+CONFIG_GENERIC_IOREMAP=y
+CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y
+
+
+CONFIG_PRINTK_TIME=y
+CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
+CONFIG_CONSOLE_LOGLEVEL_QUIET=4
+CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
+CONFIG_BOOT_PRINTK_DELAY=y
+CONFIG_SYMBOLIC_ERRNAME=y
+CONFIG_DEBUG_BUGVERBOSE=y
+
+CONFIG_DEBUG_KERNEL=y
+CONFIG_DEBUG_MISC=y
+
+CONFIG_AS_HAS_NON_CONST_LEB128=y
+CONFIG_DEBUG_INFO_NONE=y
+CONFIG_FRAME_WARN=2048
+CONFIG_SECTION_MISMATCH_WARN_ONLY=y
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
+CONFIG_MAGIC_SYSRQ_SERIAL=y
+CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
+CONFIG_DEBUG_FS=y
+CONFIG_DEBUG_FS_ALLOW_ALL=y
+CONFIG_HAVE_ARCH_KGDB=y
+CONFIG_KGDB=y
+CONFIG_KGDB_HONOUR_BLOCKLIST=y
+CONFIG_KGDB_SERIAL_CONSOLE=y
+CONFIG_KGDB_KDB=y
+CONFIG_KDB_DEFAULT_ENABLE=0x1
+CONFIG_KDB_KEYBOARD=y
+CONFIG_KDB_CONTINUE_CATASTROPHIC=0
+CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
+CONFIG_HAVE_ARCH_KCSAN=y
+CONFIG_HAVE_KCSAN_COMPILER=y
+
+
+CONFIG_SLUB_DEBUG=y
+CONFIG_ARCH_HAS_DEBUG_WX=y
+CONFIG_GENERIC_PTDUMP=y
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
+CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
+CONFIG_DEBUG_MEMORY_INIT=y
+CONFIG_HAVE_ARCH_KASAN=y
+CONFIG_HAVE_ARCH_KASAN_SW_TAGS=y
+CONFIG_HAVE_ARCH_KASAN_HW_TAGS=y
+CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
+CONFIG_CC_HAS_KASAN_GENERIC=y
+CONFIG_CC_HAS_KASAN_SW_TAGS=y
+CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
+CONFIG_HAVE_ARCH_KFENCE=y
+
+
+CONFIG_PANIC_ON_OOPS_VALUE=0
+CONFIG_PANIC_TIMEOUT=0
+CONFIG_DETECT_HUNG_TASK=y
+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
+
+CONFIG_SCHED_DEBUG=y
+CONFIG_SCHED_INFO=y
+CONFIG_SCHEDSTATS=y
+
+CONFIG_DEBUG_PREEMPT=y
+
+CONFIG_LOCK_DEBUGGING_SUPPORT=y
+
+CONFIG_TRACE_IRQFLAGS=y
+CONFIG_TRACE_IRQFLAGS_NMI=y
+CONFIG_STACKTRACE=y
+
+
+
+CONFIG_RCU_CPU_STALL_TIMEOUT=21
+CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0
+CONFIG_RCU_TRACE=y
+
+CONFIG_LATENCYTOP=y
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_TRACER_MAX_TRACE=y
+CONFIG_TRACE_CLOCK=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_PREEMPTIRQ_TRACEPOINTS=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+CONFIG_FUNCTION_TRACER=y
+CONFIG_FUNCTION_GRAPH_TRACER=y
+CONFIG_DYNAMIC_FTRACE=y
+CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
+CONFIG_FUNCTION_PROFILER=y
+CONFIG_STACK_TRACER=y
+CONFIG_IRQSOFF_TRACER=y
+CONFIG_SCHED_TRACER=y
+CONFIG_TRACER_SNAPSHOT=y
+CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP=y
+CONFIG_BRANCH_PROFILE_NONE=y
+CONFIG_BLK_DEV_IO_TRACE=y
+CONFIG_KPROBE_EVENTS=y
+CONFIG_BPF_EVENTS=y
+CONFIG_DYNAMIC_EVENTS=y
+CONFIG_PROBE_EVENTS=y
+CONFIG_FTRACE_MCOUNT_RECORD=y
+CONFIG_FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY=y
+CONFIG_STRICT_DEVMEM=y
+
+
+CONFIG_ARCH_HAS_KCOV=y
+CONFIG_CC_HAS_SANCOV_TRACE_PC=y
+CONFIG_RUNTIME_TESTING_MENU=y
+CONFIG_ARCH_USE_MEMTEST=y
+
diff --git a/target/aarch64/kernel/raspberry-pi5 b/target/aarch64/kernel/raspberry-pi5
new file mode 100644
index 000000000..6b026aa9c
--- /dev/null
+++ b/target/aarch64/kernel/raspberry-pi5
@@ -0,0 +1,149 @@
+CONFIG_ARM64=y
+CONFIG_64BIT=y
+CONFIG_ARCH_BCM=y
+CONFIG_ARCH_BCM2835=y
+CONFIG_ARCH_BRCMSTB=y
+CONFIG_ARM_AMBA=y
+CONFIG_PCI=y
+CONFIG_PCI_MSI=y
+CONFIG_PCI_MSI_IRQ_DOMAIN=y
+CONFIG_PCIE_BRCMSTB=y
+CONFIG_RASPBERRYPI_FIRMWARE=y
+CONFIG_BRCM_CHAR_DRIVERS=y
+CONFIG_BCM2708_VCMEM=y
+CONFIG_BCM_VCIO=y
+CONFIG_SPI=y
+CONFIG_SPI_MASTER=y
+CONFIG_SPI_MEM=y
+CONFIG_SPI_DW_DMA=y
+CONFIG_SPI_SLAVE=y
+CONFIG_SPI_DYNAMIC=y
+CONFIG_PINCTRL=y
+CONFIG_PINMUX=y
+CONFIG_PINCONF=y
+CONFIG_GENERIC_PINCONF=y
+CONFIG_PINCTRL_RP1=y
+CONFIG_PINCTRL_BCM2712=y
+CONFIG_PINCTRL_BCM2835=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIOLIB_FASTPATH_LIMIT=512
+CONFIG_OF_GPIO=y
+CONFIG_GPIOLIB_IRQCHIP=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_CDEV=y
+CONFIG_GPIO_CDEV_V1=y
+CONFIG_GPIO_GENERIC=y
+CONFIG_GPIO_RASPBERRYPI_EXP=y
+CONFIG_GPIO_BCM_VIRT=y
+CONFIG_GPIO_BRCMSTB=y
+CONFIG_GPIO_PCA953X_IRQ=y
+CONFIG_GPIO_STMPE=y
+CONFIG_MFD_CORE=y
+CONFIG_MFD_RP1=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_GPIO=y
+CONFIG_LOGO=y
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_HID=y
+CONFIG_HID_BATTERY_STRENGTH=y
+CONFIG_HIDRAW=y
+CONFIG_HID_GENERIC=y
+CONFIG_LOGITECH_FF=y
+CONFIG_LOGIRUMBLEPAD2_FF=y
+CONFIG_LOGIG940_FF=y
+CONFIG_LOGIWHEELS_FF=y
+CONFIG_NINTENDO_FF=y
+CONFIG_PLAYSTATION_FF=y
+CONFIG_SONY_FF=y
+CONFIG_USB_HID=y
+CONFIG_HID_PID=y
+CONFIG_USB_HIDDEV=y
+CONFIG_USB_DWC3=y
+CONFIG_USB_DWC3_DUAL_ROLE=y
+CONFIG_USB_DWC3_HAPS=y
+CONFIG_USB_DWC3_OF_SIMPLE=y
+CONFIG_USB_DWC2_DUAL_ROLE=y
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_BRCM_USB_PINMAP=y
+CONFIG_USB_PHY=y
+CONFIG_NOP_USB_XCEIV=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
+CONFIG_USB_BDC_UDC=y
+CONFIG_USB_ETH_RNDIS=y
+CONFIG_USB_G_MULTI_RNDIS=y
+CONFIG_USB_ROLE_SWITCH=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_EDAC_SUPPORT=y
+CONFIG_DMADEVICES=y
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_VIRTUAL_CHANNELS=y
+CONFIG_DMA_OF=y
+CONFIG_DMA_BCM2835=y
+CONFIG_DW_AXI_DMAC=y
+CONFIG_DMA_BCM2708=y
+CONFIG_BCM_VIDEOCORE=y
+CONFIG_BCM2835_VCHIQ=y
+CONFIG_VCHIQ_CDEV=y
+CONFIG_SURFACE_PLATFORMS=y
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+CONFIG_COMMON_CLK_RP1=y
+CONFIG_COMMON_CLK_RP1_SDIO=y
+CONFIG_CLK_BCM2711_DVP=y
+CONFIG_CLK_BCM2835=y
+CONFIG_CLK_RASPBERRYPI=y
+CONFIG_TIMER_OF=y
+CONFIG_TIMER_PROBE=y
+CONFIG_CLKSRC_MMIO=y
+CONFIG_ARM_ARCH_TIMER=y
+CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
+CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y
+CONFIG_FSL_ERRATUM_A008585=y
+CONFIG_HISILICON_ERRATUM_161010101=y
+CONFIG_ARM64_ERRATUM_858921=y
+CONFIG_ARM_TIMER_SP804=y
+CONFIG_MAILBOX=y
+CONFIG_BCM2835_MBOX=y
+CONFIG_IOMMU_IOVA=y
+CONFIG_IOMMU_API=y
+CONFIG_IOMMU_SUPPORT=y
+CONFIG_IOMMU_DEFAULT_DMA_STRICT=y
+CONFIG_OF_IOMMU=y
+CONFIG_IOMMU_DMA=y
+CONFIG_BCM2712_IOMMU=y
+CONFIG_BCM2835_POWER=y
+CONFIG_RASPBERRYPI_POWER=y
+CONFIG_SOC_BRCMSTB=y
+CONFIG_BRCMSTB_PM=y
+CONFIG_PWM=y
+CONFIG_PWM_SYSFS=y
+CONFIG_PWM_BRCMSTB=y
+CONFIG_PWM_RP1=y
+CONFIG_IRQCHIP=y
+CONFIG_ARM_GIC=y
+CONFIG_ARM_GIC_MAX_NR=1
+CONFIG_ARM_GIC_V2M=y
+CONFIG_ARM_GIC_V3=y
+CONFIG_ARM_GIC_V3_ITS=y
+CONFIG_ARM_GIC_V3_ITS_PCI=y
+CONFIG_BCM2712_MIP=y
+CONFIG_BCM7038_L1_IRQ=y
+CONFIG_BCM7120_L2_IRQ=y
+CONFIG_BRCMSTB_L2_IRQ=y
+CONFIG_PARTITION_PERCPU=y
+CONFIG_ARCH_HAS_RESET_CONTROLLER=y
+CONFIG_RESET_CONTROLLER=y
+CONFIG_RESET_BRCMSTB=y
+CONFIG_RESET_BRCMSTB_RESCAL=y
+CONFIG_RESET_RASPBERRYPI=y
+CONFIG_RESET_SIMPLE=y
+CONFIG_GENERIC_PHY=y
+CONFIG_GENERIC_PHY_MIPI_DPHY=y
+CONFIG_PHY_BRCM_USB=y
+CONFIG_ARM_PMU=y
+CONFIG_RAS=y
diff --git a/target/aarch64/kernel/rockpi4-plus b/target/aarch64/kernel/rockpi4-plus
new file mode 100644
index 000000000..95e45c5ec
--- /dev/null
+++ b/target/aarch64/kernel/rockpi4-plus
@@ -0,0 +1,863 @@
+CONFIG_ARM64=y
+CONFIG_ARCH_ROCKCHIP=y
+CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y
+CONFIG_ARM64_ERRATUM_826319=y
+CONFIG_ARM64_ERRATUM_827319=y
+CONFIG_ARM64_ERRATUM_824069=y
+CONFIG_ARM64_ERRATUM_819472=y
+CONFIG_ARM64_ERRATUM_832075=y
+CONFIG_ARM64_ERRATUM_834220=y
+CONFIG_ARM64_ERRATUM_1742098=y
+CONFIG_ARM64_ERRATUM_845719=y
+CONFIG_ARM64_ERRATUM_843419=y
+CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419=y
+CONFIG_ARM64_ERRATUM_1024718=y
+CONFIG_ARM64_ERRATUM_1418040=y
+CONFIG_ARM64_WORKAROUND_SPECULATIVE_AT=y
+CONFIG_ARM64_ERRATUM_1165522=y
+CONFIG_ARM64_ERRATUM_1319367=y
+CONFIG_ARM64_ERRATUM_1530923=y
+CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y
+CONFIG_ARM64_ERRATUM_2441007=y
+CONFIG_ARM64_ERRATUM_1286807=y
+CONFIG_ARM64_ERRATUM_1463225=y
+CONFIG_ARM64_ERRATUM_1542419=y
+CONFIG_ARM64_ERRATUM_1508412=y
+CONFIG_ARM64_ERRATUM_2441009=y
+CONFIG_ARM64_ERRATUM_2457168=y
+CONFIG_CAVIUM_ERRATUM_22375=y
+CONFIG_CAVIUM_ERRATUM_23144=y
+CONFIG_CAVIUM_ERRATUM_23154=y
+CONFIG_CAVIUM_ERRATUM_27456=y
+CONFIG_CAVIUM_ERRATUM_30115=y
+CONFIG_CAVIUM_TX2_ERRATUM_219=y
+CONFIG_FUJITSU_ERRATUM_010001=y
+CONFIG_HISILICON_ERRATUM_161600802=y
+CONFIG_QCOM_FALKOR_ERRATUM_1003=y
+CONFIG_QCOM_FALKOR_ERRATUM_1009=y
+CONFIG_QCOM_QDF2400_ERRATUM_0065=y
+CONFIG_QCOM_FALKOR_ERRATUM_E1041=y
+CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y
+CONFIG_SOCIONEXT_SYNQUACER_PREITS=y
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+CONFIG_DT_IDLE_STATES=y
+CONFIG_ARM_CPUIDLE=y
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_ATTR_SET=y
+CONFIG_CPU_FREQ_GOV_COMMON=y
+CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
+
+CONFIG_CPUFREQ_DT_PLATDEV=y
+CONFIG_ARM_SCPI_CPUFREQ=y
+
+CONFIG_ARCH_SUPPORTS_ACPI=y
+CONFIG_IRQ_BYPASS_MANAGER=y
+
+CONFIG_STREAM_PARSER=y
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
+CONFIG_WEXT_PRIV=y
+CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
+CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
+CONFIG_CFG80211_CRDA_SUPPORT=y
+CONFIG_CFG80211_WEXT=y
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+CONFIG_MAC80211_MESH=y
+CONFIG_MAC80211_LEDS=y
+CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y
+CONFIG_NFC_SHDLC=y
+
+
+CONFIG_LWTUNNEL=y
+CONFIG_LWTUNNEL_BPF=y
+CONFIG_DST_CACHE=y
+CONFIG_GRO_CELLS=y
+CONFIG_SOCK_VALIDATE_XMIT=y
+CONFIG_NET_SELFTESTS=y
+CONFIG_NET_SOCK_MSG=y
+CONFIG_NET_DEVLINK=y
+CONFIG_PAGE_POOL=y
+CONFIG_ETHTOOL_NETLINK=y
+
+CONFIG_ARM_AMBA=y
+CONFIG_HAVE_PCI=y
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_DOMAINS_GENERIC=y
+CONFIG_PCI_SYSCALL=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_PCIEAER=y
+CONFIG_PCIEASPM=y
+CONFIG_PCIEASPM_PERFORMANCE=y
+CONFIG_PCIE_PME=y
+CONFIG_PCI_MSI=y
+CONFIG_PCI_MSI_IRQ_DOMAIN=y
+CONFIG_PCI_QUIRKS=y
+CONFIG_PCI_ATS=y
+CONFIG_PCI_IOV=y
+CONFIG_PCI_LABEL=y
+CONFIG_PCIE_BUS_DEFAULT=y
+CONFIG_HOTPLUG_PCI=y
+
+CONFIG_PCIE_ROCKCHIP=y
+CONFIG_PCIE_ROCKCHIP_HOST=y
+CONFIG_PCIE_ROCKCHIP_EP=y
+
+CONFIG_PCIE_DW=y
+CONFIG_PCIE_DW_HOST=y
+CONFIG_PCIE_ROCKCHIP_DW_HOST=y
+
+
+
+CONFIG_PCI_ENDPOINT=y
+CONFIG_PCI_ENDPOINT_CONFIGFS=y
+
+CONFIG_SOC_BUS=y
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=y
+CONFIG_REGMAP_MMIO=y
+CONFIG_REGMAP_IRQ=y
+CONFIG_DMA_SHARED_BUFFER=y
+CONFIG_GENERIC_ARCH_TOPOLOGY=y
+CONFIG_GENERIC_ARCH_NUMA=y
+
+CONFIG_ARM_CCI=y
+CONFIG_BRCMSTB_GISB_ARB=y
+CONFIG_SUN50I_DE2_BUS=y
+CONFIG_VEXPRESS_CONFIG=y
+
+
+
+
+CONFIG_ARM_SCPI_PROTOCOL=y
+CONFIG_ARM_SCPI_POWER_DOMAIN=y
+CONFIG_DMIID=y
+CONFIG_SYSFB=y
+CONFIG_ROCKCHIP_SIP=y
+CONFIG_ARM_FFA_SMCCC=y
+
+CONFIG_MESON_SM=y
+CONFIG_ARM_PSCI_FW=y
+CONFIG_HAVE_ARM_SMCCC=y
+CONFIG_HAVE_ARM_SMCCC_DISCOVERY=y
+CONFIG_ARM_SMCCC_SOC_ID=y
+
+CONFIG_DTC=y
+CONFIG_OF=y
+CONFIG_OF_FLATTREE=y
+CONFIG_OF_EARLY_FLATTREE=y
+CONFIG_OF_KOBJ=y
+CONFIG_OF_DYNAMIC=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_RESERVED_MEM=y
+CONFIG_OF_RESOLVE=y
+CONFIG_OF_OVERLAY=y
+CONFIG_OF_NUMA=y
+CONFIG_OF_CONFIGFS=y
+CONFIG_BLK_DEV=y
+CONFIG_ZRAM_DEF_COMP_LZORLE=y
+CONFIG_ZRAM_DEF_COMP="lzo-rle"
+CONFIG_ZRAM_WRITEBACK=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
+CONFIG_BLK_DEV_RAM_COUNT=8
+CONFIG_BLK_DEV_RAM_SIZE=4096
+CONFIG_XEN_BLKDEV_FRONTEND=y
+CONFIG_VIRTIO_BLK=y
+
+CONFIG_NVME_CORE=y
+CONFIG_BLK_DEV_NVME=y
+CONFIG_NVME_MULTIPATH=y
+
+CONFIG_SRAM=y
+
+CONFIG_CB710_DEBUG_ASSUMPTIONS=y
+
+CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0
+
+CONFIG_FIXED_PHY=y
+CONFIG_MICREL_PHY=y
+CONFIG_ROCKCHIP_PHY=y
+
+CONFIG_MDIO_DEVICE=y
+CONFIG_MDIO_BUS=y
+CONFIG_FWNODE_MDIO=y
+CONFIG_OF_MDIO=y
+CONFIG_MDIO_DEVRES=y
+CONFIG_MDIO_BITBANG=y
+CONFIG_MDIO_CAVIUM=y
+CONFIG_MDIO_THUNDER=y
+
+CONFIG_MDIO_BUS_MUX=y
+CONFIG_MDIO_BUS_MUX_MMIOREG=y
+
+CONFIG_SERIO=y
+CONFIG_SERIO_AMBAKMI=y
+CONFIG_SERIO_LIBPS2=y
+
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=y
+
+
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_ALGOBIT=y
+
+CONFIG_I2C_DESIGNWARE_CORE=y
+CONFIG_I2C_DESIGNWARE_PLATFORM=y
+CONFIG_I2C_RK3X=y
+
+CONFIG_I2C_CROS_EC_TUNNEL=y
+
+CONFIG_I2C_SLAVE=y
+
+CONFIG_SPI=y
+CONFIG_SPI_MASTER=y
+CONFIG_SPI_MEM=y
+
+CONFIG_SPI_PL022=y
+CONFIG_SPI_ROCKCHIP=y
+
+
+CONFIG_SPI_SLAVE=y
+CONFIG_SPI_DYNAMIC=y
+CONFIG_SPMI=y
+CONFIG_PPS=y
+
+CONFIG_PTP_1588_CLOCK=y
+CONFIG_PTP_1588_CLOCK_OPTIONAL=y
+
+CONFIG_PINCTRL=y
+CONFIG_GENERIC_PINCTRL_GROUPS=y
+CONFIG_PINMUX=y
+CONFIG_GENERIC_PINMUX_FUNCTIONS=y
+CONFIG_PINCONF=y
+CONFIG_GENERIC_PINCONF=y
+CONFIG_PINCTRL_ROCKCHIP=y
+CONFIG_PINCTRL_SINGLE=y
+CONFIG_PINCTRL_SX150X=y
+CONFIG_PINCTRL_MAX77620=y
+CONFIG_PINCTRL_RK805=y
+
+
+CONFIG_PINCTRL_SUNXI=y
+CONFIG_PINCTRL_SUN5I=y
+CONFIG_PINCTRL_SUN6I_A31=y
+CONFIG_PINCTRL_SUN6I_A31_R=y
+CONFIG_PINCTRL_SUN8I_A23=y
+CONFIG_PINCTRL_SUN8I_A33=y
+CONFIG_PINCTRL_SUN8I_A83T=y
+CONFIG_PINCTRL_SUN8I_A83T_R=y
+CONFIG_PINCTRL_SUN8I_A23_R=y
+CONFIG_PINCTRL_SUN8I_H3=y
+CONFIG_PINCTRL_SUN8I_H3_R=y
+CONFIG_PINCTRL_SUN8I_V3S=y
+CONFIG_PINCTRL_SUN9I_A80=y
+CONFIG_PINCTRL_SUN9I_A80_R=y
+CONFIG_PINCTRL_SUN50I_A64=y
+CONFIG_PINCTRL_SUN50I_A64_R=y
+CONFIG_PINCTRL_SUN50I_A100=y
+CONFIG_PINCTRL_SUN50I_A100_R=y
+CONFIG_PINCTRL_SUN50I_H5=y
+CONFIG_PINCTRL_SUN50I_H6=y
+CONFIG_PINCTRL_SUN50I_H6_R=y
+CONFIG_PINCTRL_SUN50I_H616=y
+CONFIG_PINCTRL_SUN50I_H616_R=y
+CONFIG_PINCTRL_MESON=y
+CONFIG_PINCTRL_MESON_GXBB=y
+CONFIG_PINCTRL_MESON_GXL=y
+CONFIG_PINCTRL_MESON8_PMX=y
+CONFIG_PINCTRL_MESON_AXG=y
+CONFIG_PINCTRL_MESON_AXG_PMX=y
+CONFIG_PINCTRL_MESON_G12A=y
+CONFIG_PINCTRL_MESON_A1=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIOLIB_FASTPATH_LIMIT=512
+CONFIG_OF_GPIO=y
+CONFIG_GPIOLIB_IRQCHIP=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_CDEV=y
+CONFIG_GPIO_CDEV_V1=y
+CONFIG_GPIO_GENERIC=y
+
+CONFIG_GPIO_GENERIC_PLATFORM=y
+CONFIG_GPIO_PL061=y
+CONFIG_GPIO_ROCKCHIP=y
+CONFIG_GPIO_XILINX=y
+
+CONFIG_GPIO_PCA953X=y
+CONFIG_GPIO_PCA953X_IRQ=y
+
+CONFIG_GPIO_MAX77620=y
+
+CONFIG_W1_CON=y
+CONFIG_W1_SLAVE_DS2408_READBACK=y
+
+CONFIG_POWER_RESET=y
+CONFIG_POWER_RESET_BRCMSTB=y
+CONFIG_POWER_RESET_VEXPRESS=y
+CONFIG_POWER_RESET_XGENE=y
+CONFIG_POWER_RESET_SYSCON=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_POWER_SUPPLY_HWMON=y
+CONFIG_HWMON=y
+
+CONFIG_SENSORS_LTC2978_REGULATOR=y
+CONFIG_THERMAL=y
+CONFIG_THERMAL_STATISTICS=y
+CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
+CONFIG_THERMAL_HWMON=y
+CONFIG_THERMAL_OF=y
+CONFIG_THERMAL_WRITABLE_TRIPS=y
+CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
+CONFIG_THERMAL_GOV_FAIR_SHARE=y
+CONFIG_THERMAL_GOV_STEP_WISE=y
+CONFIG_THERMAL_GOV_BANG_BANG=y
+CONFIG_THERMAL_GOV_USER_SPACE=y
+CONFIG_CPU_THERMAL=y
+CONFIG_CPU_FREQ_THERMAL=y
+CONFIG_DEVFREQ_THERMAL=y
+CONFIG_THERMAL_EMULATION=y
+CONFIG_ROCKCHIP_THERMAL=y
+CONFIG_AMLOGIC_THERMAL=y
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
+CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
+CONFIG_WATCHDOG_OPEN_TIMEOUT=0
+CONFIG_WATCHDOG_SYSFS=y
+
+
+CONFIG_DW_WATCHDOG=y
+
+
+CONFIG_SSB_POSSIBLE=y
+CONFIG_SSB_SPROM=y
+CONFIG_SSB_BLOCKIO=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+CONFIG_SSB_B43_PCI_BRIDGE=y
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE=y
+CONFIG_BCMA_POSSIBLE=y
+CONFIG_BCMA_BLOCKIO=y
+CONFIG_BCMA_HOST_PCI_POSSIBLE=y
+CONFIG_BCMA_HOST_PCI=y
+CONFIG_BCMA_DRIVER_PCI=y
+
+CONFIG_MFD_CORE=y
+CONFIG_MFD_AS3711=y
+CONFIG_PMIC_ADP5520=y
+CONFIG_MFD_AAT2870_CORE=y
+CONFIG_MFD_AXP20X=y
+CONFIG_MFD_AXP20X_I2C=y
+CONFIG_MFD_CROS_EC_DEV=y
+CONFIG_MFD_MAX77620=y
+CONFIG_MFD_RC5T583=y
+CONFIG_MFD_RK808=y
+CONFIG_MFD_SEC_CORE=y
+CONFIG_MFD_SUN6I_PRCM=y
+CONFIG_MFD_SYSCON=y
+CONFIG_MFD_VEXPRESS_SYSREG=y
+
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_AXP20X=y
+CONFIG_REGULATOR_FAN53555=y
+CONFIG_REGULATOR_GPIO=y
+CONFIG_REGULATOR_MAX77620=y
+CONFIG_REGULATOR_PWM=y
+CONFIG_REGULATOR_QCOM_SPMI=y
+CONFIG_REGULATOR_RK808=y
+CONFIG_REGULATOR_S2MPS11=y
+
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+CONFIG_DRM=y
+CONFIG_DRM_MIPI_DSI=y
+CONFIG_DRM_KMS_HELPER=y
+CONFIG_DRM_FBDEV_EMULATION=y
+CONFIG_DRM_FBDEV_OVERALLOC=100
+CONFIG_DRM_DP_CEC=y
+CONFIG_DRM_GEM_CMA_HELPER=y
+CONFIG_DRM_KMS_CMA_HELPER=y
+CONFIG_DRM_GEM_SHMEM_HELPER=y
+
+CONFIG_DRM_ROCKCHIP=y
+CONFIG_DRM_PANFROST=y
+CONFIG_ROCKCHIP_VOP=y
+CONFIG_ROCKCHIP_VOP2=y
+CONFIG_ROCKCHIP_ANALOGIX_DP=y
+CONFIG_ROCKCHIP_CDN_DP=y
+CONFIG_ROCKCHIP_DW_HDMI=y
+CONFIG_ROCKCHIP_DW_MIPI_DSI=y
+CONFIG_ROCKCHIP_INNO_HDMI=y
+CONFIG_ROCKCHIP_LVDS=y
+CONFIG_ROCKCHIP_RGB=y
+CONFIG_ROCKCHIP_RK3066_HDMI=y
+CONFIG_DRM_SUN4I_HDMI_CEC=y
+CONFIG_DRM_PANEL=y
+
+
+CONFIG_DRM_BRIDGE=y
+CONFIG_DRM_PANEL_BRIDGE=y
+
+CONFIG_DRM_ANALOGIX_DP=y
+CONFIG_DRM_I2C_ADV7511_CEC=y
+CONFIG_DRM_DW_HDMI=y
+CONFIG_DRM_DW_MIPI_DSI=y
+
+CONFIG_DRM_ETNAVIV_THERMAL=y
+CONFIG_DRM_XEN=y
+CONFIG_DRM_LEGACY=y
+CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
+
+CONFIG_FB_CMDLINE=y
+CONFIG_FB_NOTIFY=y
+CONFIG_FB=y
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+CONFIG_FB_SYS_FILLRECT=y
+CONFIG_FB_SYS_COPYAREA=y
+CONFIG_FB_SYS_IMAGEBLIT=y
+CONFIG_FB_SYS_FOPS=y
+CONFIG_FB_DEFERRED_IO=y
+CONFIG_FB_MODE_HELPERS=y
+
+CONFIG_FB_ARMCLCD=y
+CONFIG_XEN_FBDEV_FRONTEND=y
+
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_LP855X=y
+
+CONFIG_VIDEOMODE_HELPERS=y
+CONFIG_HDMI=y
+
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_DUMMY_CONSOLE_COLUMNS=80
+CONFIG_DUMMY_CONSOLE_ROWS=25
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=y
+CONFIG_USB_LED_TRIG=y
+CONFIG_USB_ULPI_BUS=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB=y
+CONFIG_USB_PCI=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+
+CONFIG_USB_DEFAULT_PERSIST=y
+CONFIG_USB_OTG=y
+CONFIG_USB_LEDS_TRIGGER_USBPORT=y
+CONFIG_USB_AUTOSUSPEND_DELAY=2
+
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_XHCI_PCI=y
+CONFIG_USB_XHCI_PLATFORM=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+CONFIG_USB_EHCI_PCI=y
+CONFIG_USB_EHCI_HCD_PLATFORM=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_HCD_PCI=y
+CONFIG_USB_OHCI_HCD_PLATFORM=y
+
+
+
+CONFIG_USB_STORAGE=y
+
+CONFIG_USBIP_VHCI_HC_PORTS=8
+CONFIG_USBIP_VHCI_NR_HCS=1
+CONFIG_USB_DWC3=y
+CONFIG_USB_DWC3_DUAL_ROLE=y
+
+CONFIG_USB_DWC3_HAPS=y
+CONFIG_USB_DWC3_OF_SIMPLE=y
+CONFIG_USB_DWC2=y
+
+CONFIG_USB_DWC2_DUAL_ROLE=y
+CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_USB_CHIPIDEA_PCI=y
+CONFIG_USB_CHIPIDEA_MSM=y
+CONFIG_USB_CHIPIDEA_IMX=y
+CONFIG_USB_CHIPIDEA_GENERIC=y
+CONFIG_USB_CHIPIDEA_TEGRA=y
+CONFIG_USB_ISP1760=y
+CONFIG_USB_ISP1760_HCD=y
+CONFIG_USB_ISP1761_UDC=y
+CONFIG_USB_ISP1760_DUAL_ROLE=y
+
+CONFIG_USB_SERIAL_GENERIC=y
+
+CONFIG_USB_HSIC_USB3503=y
+
+CONFIG_USB_PHY=y
+CONFIG_NOP_USB_XCEIV=y
+CONFIG_USB_ULPI=y
+CONFIG_USB_ULPI_VIEWPORT=y
+
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
+CONFIG_U_SERIAL_CONSOLE=y
+
+
+CONFIG_USB_CONFIGFS_SERIAL=y
+CONFIG_USB_CONFIGFS_ACM=y
+CONFIG_USB_CONFIGFS_OBEX=y
+CONFIG_USB_CONFIGFS_NCM=y
+CONFIG_USB_CONFIGFS_ECM=y
+CONFIG_USB_CONFIGFS_ECM_SUBSET=y
+CONFIG_USB_CONFIGFS_RNDIS=y
+CONFIG_USB_CONFIGFS_EEM=y
+CONFIG_USB_CONFIGFS_MASS_STORAGE=y
+CONFIG_USB_CONFIGFS_F_LB_SS=y
+CONFIG_USB_CONFIGFS_F_FS=y
+CONFIG_USB_CONFIGFS_F_UAC1=y
+CONFIG_USB_CONFIGFS_F_UAC2=y
+CONFIG_USB_CONFIGFS_F_MIDI=y
+CONFIG_USB_CONFIGFS_F_HID=y
+CONFIG_USB_CONFIGFS_F_UVC=y
+CONFIG_USB_CONFIGFS_F_PRINTER=y
+CONFIG_USB_CONFIGFS_F_TCM=y
+
+CONFIG_USB_ETH_RNDIS=y
+CONFIG_USB_ETH_EEM=y
+CONFIG_USB_FUNCTIONFS_ETH=y
+CONFIG_USB_FUNCTIONFS_RNDIS=y
+CONFIG_USB_FUNCTIONFS_GENERIC=y
+CONFIG_USB_G_MULTI_RNDIS=y
+CONFIG_USB_G_MULTI_CDC=y
+
+
+
+
+CONFIG_USB_ROLE_SWITCH=y
+CONFIG_MMC=y
+CONFIG_PWRSEQ_EMMC=y
+CONFIG_PWRSEQ_SIMPLE=y
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_MINORS=32
+
+CONFIG_MMC_ARMMMCI=y
+CONFIG_MMC_STM32_SDMMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_IO_ACCESSORS=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_OF_ARASAN=y
+CONFIG_MMC_SDHCI_CADENCE=y
+CONFIG_MMC_SPI=y
+CONFIG_MMC_DW=y
+CONFIG_MMC_DW_PLTFM=y
+CONFIG_MMC_DW_EXYNOS=y
+CONFIG_MMC_DW_K3=y
+CONFIG_MMC_DW_ROCKCHIP=y
+CONFIG_MMC_CQHCI=y
+CONFIG_MMC_SDHCI_XENON=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+CONFIG_LEDS_GPIO=y
+
+CONFIG_LEDS_SYSCON=y
+CONFIG_LEDS_USER=y
+
+
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_DISK=y
+CONFIG_LEDS_TRIGGER_MTD=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_CPU=y
+CONFIG_LEDS_TRIGGER_ACTIVITY=y
+CONFIG_LEDS_TRIGGER_GPIO=y
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
+
+CONFIG_LEDS_TRIGGER_PANIC=y
+CONFIG_EDAC_SUPPORT=y
+CONFIG_EDAC=y
+CONFIG_EDAC_LEGACY_SYSFS=y
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+CONFIG_RTC_SYSTOHC=y
+CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
+CONFIG_RTC_NVMEM=y
+
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+
+CONFIG_RTC_DRV_DS1307=y
+CONFIG_RTC_DRV_HYM8563=y
+CONFIG_RTC_DRV_MAX77686=y
+CONFIG_RTC_DRV_RK808=y
+CONFIG_RTC_DRV_M41T80_WDT=y
+
+CONFIG_RTC_I2C_AND_SPI=y
+
+CONFIG_RTC_DRV_DS3232_HWMON=y
+CONFIG_RTC_DRV_RV3029_HWMON=y
+
+CONFIG_RTC_DRV_EFI=y
+
+CONFIG_RTC_DRV_PL031=y
+CONFIG_RTC_DRV_SUN6I=y
+
+CONFIG_DMADEVICES=y
+
+CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH=y
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_OF=y
+CONFIG_MV_XOR_V2=y
+CONFIG_PL330_DMA=y
+CONFIG_QCOM_HIDMA_MGMT=y
+CONFIG_QCOM_HIDMA=y
+
+CONFIG_DMA_ENGINE_RAID=y
+
+CONFIG_SYNC_FILE=y
+
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+
+CONFIG_COMMON_CLK_RK808=y
+CONFIG_COMMON_CLK_SCPI=y
+CONFIG_COMMON_CLK_CS2000_CP=y
+CONFIG_COMMON_CLK_S2MPS11=y
+CONFIG_COMMON_CLK_XGENE=y
+CONFIG_COMMON_CLK_PWM=y
+
+CONFIG_COMMON_CLK_MESON_REGMAP=y
+CONFIG_COMMON_CLK_MESON_DUALDIV=y
+CONFIG_COMMON_CLK_MESON_MPLL=y
+CONFIG_COMMON_CLK_MESON_PLL=y
+CONFIG_COMMON_CLK_MESON_VID_PLL_DIV=y
+CONFIG_COMMON_CLK_MESON_AO_CLKC=y
+CONFIG_COMMON_CLK_MESON_EE_CLKC=y
+CONFIG_COMMON_CLK_MESON_CPU_DYNDIV=y
+CONFIG_COMMON_CLK_GXBB=y
+CONFIG_COMMON_CLK_AXG=y
+CONFIG_COMMON_CLK_G12A=y
+
+CONFIG_COMMON_CLK_ROCKCHIP=y
+CONFIG_CLK_PX30=y
+CONFIG_CLK_RK3308=y
+CONFIG_CLK_RK3328=y
+CONFIG_CLK_RK3368=y
+CONFIG_CLK_RK3399=y
+CONFIG_CLK_SUNXI=y
+CONFIG_CLK_SUNXI_CLOCKS=y
+CONFIG_CLK_SUNXI_PRCM_SUN6I=y
+CONFIG_CLK_SUNXI_PRCM_SUN8I=y
+CONFIG_CLK_SUNXI_PRCM_SUN9I=y
+CONFIG_SUNXI_CCU=y
+CONFIG_SUN50I_A64_CCU=y
+CONFIG_SUN50I_A100_CCU=y
+CONFIG_SUN50I_A100_R_CCU=y
+CONFIG_SUN50I_H6_CCU=y
+CONFIG_SUN50I_H616_CCU=y
+CONFIG_SUN50I_H6_R_CCU=y
+CONFIG_SUN8I_A83T_CCU=y
+CONFIG_SUN8I_H3_CCU=y
+CONFIG_SUN8I_DE2_CCU=y
+CONFIG_SUN8I_R_CCU=y
+
+CONFIG_TIMER_OF=y
+CONFIG_TIMER_PROBE=y
+CONFIG_CLKSRC_MMIO=y
+CONFIG_ROCKCHIP_TIMER=y
+CONFIG_SUN4I_TIMER=y
+CONFIG_ARM_ARCH_TIMER=y
+CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
+CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y
+CONFIG_FSL_ERRATUM_A008585=y
+CONFIG_HISILICON_ERRATUM_161010101=y
+CONFIG_ARM64_ERRATUM_858921=y
+CONFIG_SUN50I_ERRATUM_UNKNOWN1=y
+
+CONFIG_MAILBOX=y
+CONFIG_ARM_MHU=y
+CONFIG_PLATFORM_MHU=y
+CONFIG_ROCKCHIP_MBOX=y
+CONFIG_SUN6I_MSGBOX=y
+CONFIG_IOMMU_IOVA=y
+CONFIG_IOMMU_API=y
+CONFIG_IOMMU_SUPPORT=y
+
+CONFIG_IOMMU_IO_PGTABLE=y
+CONFIG_IOMMU_IO_PGTABLE_LPAE=y
+
+CONFIG_IOMMU_DEFAULT_DMA_STRICT=y
+CONFIG_OF_IOMMU=y
+CONFIG_IOMMU_DMA=y
+CONFIG_ROCKCHIP_IOMMU=y
+CONFIG_ARM_SMMU=y
+CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT=y
+CONFIG_ARM_SMMU_V3=y
+
+
+
+
+
+CONFIG_MESON_CLK_MEASURE=y
+CONFIG_MESON_GX_SOCINFO=y
+CONFIG_MESON_GX_PM_DOMAINS=y
+CONFIG_MESON_EE_PM_DOMAINS=y
+CONFIG_MESON_SECURE_PM_DOMAINS=y
+
+CONFIG_SOC_BRCMSTB=y
+
+
+
+CONFIG_LITEX=y
+
+
+CONFIG_ROCKCHIP_GRF=y
+CONFIG_ROCKCHIP_IODOMAIN=y
+CONFIG_ROCKCHIP_PM_DOMAINS=y
+CONFIG_ROCKCHIP_SUSPEND_MODE=y
+CONFIG_SUNXI_MBUS=y
+CONFIG_SUNXI_SRAM=y
+
+
+CONFIG_VENDOR_FRIENDLYELEC=y
+
+CONFIG_PM_DEVFREQ=y
+
+CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
+
+CONFIG_ARM_RK3328_DMC_DEVFREQ=y
+CONFIG_ARM_RK3399_DMC_DEVFREQ=y
+CONFIG_PM_DEVFREQ_EVENT=y
+CONFIG_DEVFREQ_EVENT_ROCKCHIP_DFI=y
+CONFIG_EXTCON=y
+
+CONFIG_EXTCON_USB_GPIO=y
+CONFIG_IIO=y
+CONFIG_IIO_BUFFER=y
+CONFIG_IIO_KFIFO_BUF=y
+CONFIG_IIO_TRIGGERED_BUFFER=y
+CONFIG_IIO_TRIGGER=y
+CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
+
+
+CONFIG_MESON_SARADC=y
+CONFIG_ROCKCHIP_SARADC=y
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+CONFIG_IIO_ADIS_LIB_BUFFER=y
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+CONFIG_PWM=y
+CONFIG_PWM_SYSFS=y
+CONFIG_PWM_ROCKCHIP=y
+
+CONFIG_IRQCHIP=y
+CONFIG_ARM_GIC=y
+CONFIG_ARM_GIC_MAX_NR=1
+CONFIG_ARM_GIC_V2M=y
+CONFIG_ARM_GIC_V3=y
+CONFIG_ARM_GIC_V3_ITS=y
+CONFIG_ARM_GIC_V3_ITS_PCI=y
+CONFIG_PARTITION_PERCPU=y
+CONFIG_MESON_IRQ_GPIO=y
+
+CONFIG_ARCH_HAS_RESET_CONTROLLER=y
+CONFIG_RESET_CONTROLLER=y
+CONFIG_RESET_MESON=y
+CONFIG_RESET_SIMPLE=y
+CONFIG_RESET_SUNXI=y
+
+CONFIG_GENERIC_PHY=y
+CONFIG_GENERIC_PHY_MIPI_DPHY=y
+CONFIG_PHY_XGENE=y
+CONFIG_PHY_MESON_AXG_PCIE=y
+CONFIG_PHY_MESON_AXG_MIPI_PCIE_ANALOG=y
+CONFIG_PHY_ROCKCHIP_DP=y
+CONFIG_PHY_ROCKCHIP_EMMC=y
+CONFIG_PHY_ROCKCHIP_INNO_HDMI=y
+CONFIG_PHY_ROCKCHIP_INNO_USB2=y
+CONFIG_PHY_ROCKCHIP_PCIE=y
+CONFIG_PHY_ROCKCHIP_TYPEC=y
+CONFIG_PHY_ROCKCHIP_USB=y
+CONFIG_PHY_SAMSUNG_USB2=y
+
+
+CONFIG_ARM_PMU=y
+
+CONFIG_RAS=y
+
+
+CONFIG_DAX=y
+CONFIG_NVMEM=y
+CONFIG_NVMEM_SYSFS=y
+CONFIG_ROCKCHIP_EFUSE=y
+
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
+
+
diff --git a/target/aarch64/rockpi4-plus/extlinux.conf b/target/aarch64/rockpi4-plus/extlinux.conf
new file mode 100644
index 000000000..d754675c4
--- /dev/null
+++ b/target/aarch64/rockpi4-plus/extlinux.conf
@@ -0,0 +1,4 @@
+label rockpi4-plus-openadk
+ kernel /kernel
+ devicetree /rk3399-rock-pi-4b-plus.dtb
+ append console=ttyS2,115200n8 root=/dev/mmcblk0p2 rootwait
diff --git a/target/aarch64/rockpi4-plus/genimage-dual.cfg b/target/aarch64/rockpi4-plus/genimage-dual.cfg
new file mode 100644
index 000000000..27f9a797e
--- /dev/null
+++ b/target/aarch64/rockpi4-plus/genimage-dual.cfg
@@ -0,0 +1,34 @@
+image sdcard.img {
+ hdimage {
+ }
+
+ partition loader1 {
+ in-partition-table = "no"
+ image = "idbloader.img"
+ offset = 32K
+ }
+
+ partition loader2 {
+ in-partition-table = "no"
+ image = "u-boot.itb"
+ offset = 8M
+ }
+
+ partition root1 {
+ partition-type = 0x83
+ bootable = "true"
+ image = "rootfs1.ext"
+ size = 64M
+ }
+
+ partition root2 {
+ partition-type = 0x83
+ image = "rootfs2.ext"
+ size = 64M
+ }
+
+ partition cfgfs {
+ partition-type = 0x88
+ image = "cfgfs.img"
+ }
+}
diff --git a/target/aarch64/rockpi4-plus/genimage.cfg b/target/aarch64/rockpi4-plus/genimage.cfg
new file mode 100644
index 000000000..4cb5f3593
--- /dev/null
+++ b/target/aarch64/rockpi4-plus/genimage.cfg
@@ -0,0 +1,45 @@
+image boot.vfat {
+ vfat {
+ files = {
+ "kernel",
+ "rk3399-rock-pi-4b-plus.dtb",
+ "extlinux"
+ }
+ }
+
+ size = 32M
+}
+
+image sdcard.img {
+ hdimage {
+ }
+
+ partition loader1 {
+ in-partition-table = "no"
+ image = "idbloader.img"
+ offset = 32K
+ }
+
+ partition loader2 {
+ in-partition-table = "no"
+ image = "u-boot.itb"
+ offset = 8M
+ }
+
+ partition boot {
+ partition-type = 0xC
+ bootable = "true"
+ image = "boot.vfat"
+ offset = 16M
+ }
+
+ partition rootfs {
+ partition-type = 0x83
+ image = "rootfs.ext"
+ }
+
+ partition cfgfs {
+ partition-type = 0x88
+ image = "cfgfs.img"
+ }
+}
diff --git a/target/aarch64/systems/raspberry-pi3p-64 b/target/aarch64/systems/raspberry-pi3p-64
deleted file mode 100644
index 3ac86b45b..000000000
--- a/target/aarch64/systems/raspberry-pi3p-64
+++ /dev/null
@@ -1,26 +0,0 @@
-config ADK_TARGET_SYSTEM_RASPBERRY_PI3P_64
- bool "Raspberry PI 3 Model B+"
- select ADK_TARGET_LITTLE_ENDIAN
- select ADK_TARGET_CPU_AARCH64_CORTEX_A53
- select ADK_TARGET_BOARD_BCM28XX
- select ADK_TARGET_WITH_VGA
- select ADK_TARGET_WITH_SERIAL
- select ADK_TARGET_WITH_CPU_FREQ
- select ADK_TARGET_WITH_USB
- select ADK_TARGET_WITH_INPUT
- select ADK_TARGET_WITH_SD
- select ADK_TARGET_WITH_I2C
- select ADK_TARGET_WITH_SPI
- select ADK_TARGET_WITH_SMP
- select ADK_TARGET_WITH_NET
- select ADK_TARGET_WITH_NETDEVICE
- select ADK_TARGET_WITH_WIFI
- select ADK_TARGET_WITH_BLOCK
- select ADK_TARGET_WITH_SOUND
- select ADK_TARGET_WITH_SDIO
- select ADK_PACKAGE_BCM28XX_BOOTLOADER
- select ADK_TARGET_WITH_ROOT_RW
- select ADK_TARGET_KERNEL_IMAGE
- help
- Raspberry PI 3 Model B+ (AARCH64)
-
diff --git a/target/aarch64/systems/raspberry-pi4-64 b/target/aarch64/systems/raspberry-pi4-64
new file mode 100644
index 000000000..e06ac6dbe
--- /dev/null
+++ b/target/aarch64/systems/raspberry-pi4-64
@@ -0,0 +1,26 @@
+config ADK_TARGET_SYSTEM_RASPBERRY_PI4_64
+ bool "Raspberry PI 4"
+ select ADK_TARGET_LITTLE_ENDIAN
+ select ADK_TARGET_CPU_AARCH64_CORTEX_A72
+ select ADK_TARGET_BOARD_BCM28XX
+ select ADK_TARGET_WITH_VGA
+ select ADK_TARGET_WITH_SERIAL
+ select ADK_TARGET_WITH_CPU_FREQ
+ select ADK_TARGET_WITH_USB
+ select ADK_TARGET_WITH_INPUT
+ select ADK_TARGET_WITH_SD
+ select ADK_TARGET_WITH_I2C
+ select ADK_TARGET_WITH_SPI
+ select ADK_TARGET_WITH_SMP
+ select ADK_TARGET_WITH_NET
+ select ADK_TARGET_WITH_NETDEVICE
+ select ADK_TARGET_WITH_WIFI
+ select ADK_TARGET_WITH_BLOCK
+ select ADK_TARGET_WITH_SOUND
+ select ADK_TARGET_WITH_SDIO
+ select ADK_PACKAGE_BCM28XX_BOOTLOADER
+ select ADK_TARGET_WITH_ROOT_RW
+ select ADK_TARGET_KERNEL_IMAGE
+ help
+ Raspberry PI 4 (AARCH64)
+
diff --git a/target/aarch64/systems/raspberry-pi5 b/target/aarch64/systems/raspberry-pi5
new file mode 100644
index 000000000..770758b5e
--- /dev/null
+++ b/target/aarch64/systems/raspberry-pi5
@@ -0,0 +1,26 @@
+config ADK_TARGET_SYSTEM_RASPBERRY_PI5
+ bool "Raspberry PI 5"
+ select ADK_TARGET_LITTLE_ENDIAN
+ select ADK_TARGET_CPU_AARCH64_CORTEX_A76
+ select ADK_TARGET_BOARD_BCM28XX
+ select ADK_TARGET_WITH_VGA
+ select ADK_TARGET_WITH_SERIAL
+ select ADK_TARGET_WITH_CPU_FREQ
+ select ADK_TARGET_WITH_USB
+ select ADK_TARGET_WITH_INPUT
+ select ADK_TARGET_WITH_SD
+ select ADK_TARGET_WITH_I2C
+ select ADK_TARGET_WITH_SPI
+ select ADK_TARGET_WITH_SMP
+ select ADK_TARGET_WITH_NET
+ select ADK_TARGET_WITH_NETDEVICE
+ select ADK_TARGET_WITH_WIFI
+ select ADK_TARGET_WITH_BLOCK
+ select ADK_TARGET_WITH_SOUND
+ select ADK_TARGET_WITH_SDIO
+ select ADK_PACKAGE_BCM28XX_BOOTLOADER
+ select ADK_TARGET_WITH_ROOT_RW
+ select ADK_TARGET_KERNEL_IMAGE
+ help
+ Raspberry PI 5
+
diff --git a/target/aarch64/systems/rockpi4-plus b/target/aarch64/systems/rockpi4-plus
new file mode 100644
index 000000000..875e5a90f
--- /dev/null
+++ b/target/aarch64/systems/rockpi4-plus
@@ -0,0 +1,27 @@
+config ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+ bool "Rock PI 4 Plus"
+ depends on ADK_TARGET_OS_LINUX
+ select ADK_TARGET_LITTLE_ENDIAN
+ select ADK_TARGET_CPU_AARCH64_CORTEX_A53
+ select ADK_TARGET_WITH_VGA
+ select ADK_TARGET_WITH_SERIAL
+ select ADK_TARGET_WITH_CPU_FREQ
+ select ADK_TARGET_WITH_USB
+ select ADK_TARGET_WITH_INPUT
+ select ADK_TARGET_WITH_SD
+ select ADK_TARGET_WITH_SDIO
+ select ADK_TARGET_WITH_I2C
+ select ADK_TARGET_WITH_SPI
+ select ADK_TARGET_WITH_PCI
+ select ADK_TARGET_WITH_SMP
+ select ADK_TARGET_WITH_NET
+ select ADK_TARGET_WITH_NETDEVICE
+ select ADK_TARGET_WITH_BLOCK
+ select ADK_TARGET_WITH_SOUND
+ select ADK_TARGET_WITH_RTC
+ select ADK_TARGET_WITH_WIFI
+ select ADK_TARGET_KERNEL_IMAGE
+ select ADK_PACKAGE_U_BOOT
+ help
+ Rock PI 4 Plus
+
diff --git a/target/alpha/kernel/qemu-alpha b/target/alpha/kernel/qemu-alpha
index ddf62d2fb..0a66ab9d3 100644
--- a/target/alpha/kernel/qemu-alpha
+++ b/target/alpha/kernel/qemu-alpha
@@ -3,3 +3,4 @@ CONFIG_ALPHA_DP264=y
CONFIG_ALPHA_QEMU=y
CONFIG_ISA=y
CONFIG_ISA_DMA_API=y
+CONFIG_SECTION_MISMATCH_WARN_ONLY=y
diff --git a/target/arc/Makefile b/target/arc/Makefile
index bdd3e4c9a..decdd8176 100644
--- a/target/arc/Makefile
+++ b/target/arc/Makefile
@@ -5,10 +5,36 @@ include $(ADK_TOPDIR)/rules.mk
include $(ADK_TOPDIR)/mk/kernel-build.mk
include $(ADK_TOPDIR)/mk/image.mk
+KERNEL:=$(LINUX_DIR)/$(ADK_TARGET_KERNEL)
ifeq ($(ADK_TARGET_KERNEL_UIMAGE),y)
KERNEL:=$(LINUX_DIR)/arch/arc/boot/uImage
-else
-KERNEL:=$(LINUX_DIR)/$(ADK_TARGET_KERNEL)
+endif
+ifeq ($(ADK_TARGET_KERNEL_LOADER),y)
+KERNEL:=$(LINUX_DIR)/arch/arc/boot/loader
+endif
+
+QEMU_ARGS:=-monitor none -serial stdio
+QEMU_ARGS+=-netdev user,id=eth0 -device virtio-net-device,netdev=eth0
+QEMU_ARGS+=${ADK_QEMU_ARGS}
+
+ifeq ($(ADK_TARGET_CPU_ARC_ARC700),y)
+QEMU:=qemu-system-arc
+QEMU_ARGS+=-cpu arc700
+endif
+
+ifeq ($(ADK_TARGET_CPU_ARC_ARCHS),y)
+QEMU:=qemu-system-arc
+QEMU_ARGS+=-cpu archs
+endif
+
+ifeq ($(ADK_TARGET_CPU_ARC_ARC32),y)
+QEMU:=qemu-system-arc
+QEMU_ARGS+=-cpu hs5x -M virt,ram_start=0
+endif
+
+ifeq ($(ADK_TARGET_CPU_ARC_ARC64),y)
+QEMU:=qemu-system-arc64
+QEMU_ARGS+=-cpu hs6x -M virt,ram_start=0
endif
# target helper text
@@ -29,6 +55,10 @@ endif
ifeq ($(ADK_TARGET_FS),initramfspiggyback)
targethelp:
@echo 'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}'
+ifeq ($(ADK_TARGET_QEMU),y)
+ @echo "Start qemu with following command line:"
+ @echo '${QEMU} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL)'
+endif
ifeq ($(ADK_TARGET_SYSTEM_SYNOPSYS_NSIM),y)
ifeq ($(ADK_TARGET_LITTLE_ENDIAN),y)
ifeq ($(ADK_TARGET_CPU_ARC_ARC700),y)
diff --git a/target/arc/kernel/qemu-arc b/target/arc/kernel/qemu-arc
new file mode 100644
index 000000000..d537406d4
--- /dev/null
+++ b/target/arc/kernel/qemu-arc
@@ -0,0 +1,3 @@
+CONFIG_ARC=y
+CONFIG_ARC_HAS_ACCL_REGS=y
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/arc/kernel/synopsys-hsdk b/target/arc/kernel/synopsys-hsdk
index 93dae4062..8deed79ef 100644
--- a/target/arc/kernel/synopsys-hsdk
+++ b/target/arc/kernel/synopsys-hsdk
@@ -3,3 +3,10 @@ CONFIG_ARC_SOC_HSDK=y
CONFIG_ARC_UBOOT_SUPPORT=y
CONFIG_ARC_DBG=y
CONFIG_ARC_DW2_UNWIND=y
+CONFIG_ARC_HAS_LLSC=y
+CONFIG_ARC_HAS_SWAPE=y
+CONFIG_ARC_USE_UNALIGNED_MEM_ACCESS=y
+CONFIG_ARC_HAS_LL64=y
+CONFIG_ARC_HAS_DIV_REM=y
+CONFIG_ARC_HAS_ACCL_REGS=y
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/arc/kernel/synopsys-nsim b/target/arc/kernel/synopsys-nsim
index ad1683b1c..c7bb2706c 100644
--- a/target/arc/kernel/synopsys-nsim
+++ b/target/arc/kernel/synopsys-nsim
@@ -2,3 +2,10 @@ CONFIG_ARC=y
CONFIG_ARC_PLAT_SIM=y
CONFIG_ARC_DBG=y
CONFIG_ARC_DW2_UNWIND=y
+CONFIG_ARC_HAS_LLSC=y
+CONFIG_ARC_HAS_SWAPE=y
+CONFIG_ARC_USE_UNALIGNED_MEM_ACCESS=y
+CONFIG_ARC_HAS_LL64=y
+CONFIG_ARC_HAS_DIV_REM=y
+CONFIG_ARC_HAS_ACCL_REGS=y
+
diff --git a/target/arc/systems/qemu-arc b/target/arc/systems/qemu-arc
new file mode 100644
index 000000000..017042e3a
--- /dev/null
+++ b/target/arc/systems/qemu-arc
@@ -0,0 +1,8 @@
+config ADK_TARGET_SYSTEM_QEMU_ARC
+ bool "Qemu Emulator"
+ select ADK_TARGET_QEMU
+ select ADK_TARGET_KERNEL_WITH_COMPRESSION
+ select ADK_TARGET_LITTLE_ENDIAN
+ help
+ Support for QEMU ARC Emulator.
+
diff --git a/target/arc/uclibc-ng.config b/target/arc/uclibc-ng.config
index b20bca4ff..2842123a9 100644
--- a/target/arc/uclibc-ng.config
+++ b/target/arc/uclibc-ng.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# uClibc-ng 1.0.25 C Library Configuration
+# uClibc-ng 1.0.45 C Library Configuration
#
# TARGET_aarch64 is not set
# TARGET_alpha is not set
@@ -10,11 +10,13 @@ TARGET_arc=y
# TARGET_bfin is not set
# TARGET_c6x is not set
# TARGET_cris is not set
+# TARGET_csky is not set
# TARGET_frv is not set
# TARGET_h8300 is not set
# TARGET_hppa is not set
# TARGET_i386 is not set
# TARGET_ia64 is not set
+# TARGET_kvx is not set
# TARGET_lm32 is not set
# TARGET_m68k is not set
# TARGET_metag is not set
@@ -24,11 +26,16 @@ TARGET_arc=y
# TARGET_nios2 is not set
# TARGET_or1k is not set
# TARGET_powerpc is not set
+# TARGET_riscv64 is not set
+# TARGET_riscv32 is not set
# TARGET_sh is not set
# TARGET_sparc is not set
# TARGET_sparc64 is not set
+# TARGET_tile is not set
# TARGET_x86_64 is not set
# TARGET_xtensa is not set
+TARGET_LDSO_NAME="ld-uClibc"
+TARGET_ARCH_BITS=32
#
# Target Architecture Features and Options
@@ -45,16 +52,15 @@ TARGET_SUBARCH=""
# Using ELF file format
#
ARCH_ANY_ENDIAN=y
-ARCH_BIG_ENDIAN=y
-ARCH_WANTS_BIG_ENDIAN=y
-# ARCH_WANTS_LITTLE_ENDIAN is not set
+ARCH_LITTLE_ENDIAN=y
+# ARCH_WANTS_BIG_ENDIAN is not set
+ARCH_WANTS_LITTLE_ENDIAN=y
ARCH_HAS_MMU=y
ARCH_USE_MMU=y
UCLIBC_HAS_FLOATS=y
UCLIBC_HAS_FPU=y
DO_C99_MATH=y
DO_XSI_MATH=y
-# UCLIBC_HAS_FENV is not set
UCLIBC_HAS_LONG_DOUBLE_MATH=y
KERNEL_HEADERS=""
HAVE_DOT_CONFIG=y
@@ -63,6 +69,7 @@ HAVE_DOT_CONFIG=y
# General Library Settings
#
DOPIC=y
+HAVE_LDSO=y
HAVE_SHARED=y
# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
LDSO_LDD_SUPPORT=y
@@ -78,7 +85,6 @@ LDSO_RUNPATH_OF_EXECUTABLE=y
LDSO_SAFE_RUNPATH=y
LDSO_SEARCH_INTERP_PATH=y
LDSO_LD_LIBRARY_PATH=y
-LDSO_NO_CLEANUP=y
UCLIBC_CTOR_DTOR=y
# LDSO_GNU_HASH_SUPPORT is not set
# HAS_NO_THREADS is not set
@@ -87,6 +93,7 @@ UCLIBC_HAS_THREADS_NATIVE=y
UCLIBC_HAS_THREADS=y
UCLIBC_HAS_TLS=y
PTHREADS_DEBUG_SUPPORT=y
+PTHREADS_STACK_DEFAULT_SIZE=2097152
UCLIBC_HAS_SYSLOG=y
UCLIBC_HAS_LFS=y
# MALLOC is not set
@@ -115,6 +122,7 @@ UCLIBC_HAS_TZ_FILE=y
UCLIBC_HAS_TZ_FILE_READ_MANY=y
UCLIBC_TZ_FILE_PATH="/etc/TZ"
UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
+UCLIBC_USE_TIME64=y
#
# Advanced Library Settings
@@ -130,6 +138,7 @@ UCLIBC_HAS_GNU_ERROR=y
UCLIBC_BSD_SPECIFIC=y
UCLIBC_HAS_BSD_ERR=y
UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
+# UCLIBC_HAS_BSD_B64_NTOP_B64_PTON is not set
# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
# UCLIBC_NTP_LEGACY is not set
UCLIBC_SV4_DEPRECATED=y
@@ -152,6 +161,10 @@ UCLIBC_HAS_BSD_RES_CLOSE=y
UCLIBC_HAS_COMPAT_RES_STATE=y
# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
UCLIBC_HAS_RESOLVER_SUPPORT=y
+# UCLIBC_DNSRAND_MODE_URANDOM is not set
+# UCLIBC_DNSRAND_MODE_CLOCK is not set
+UCLIBC_DNSRAND_MODE_PRNGPLUS=y
+# UCLIBC_DNSRAND_MODE_SIMPLECOUNTER is not set
#
# String and Stdio Support
@@ -221,7 +234,6 @@ HARDWIRED_ABSPATH=y
#
# Security options
#
-# UCLIBC_HAS_ARC4RANDOM is not set
# UCLIBC_HAS_SSP is not set
# UCLIBC_BUILD_RELRO is not set
# UCLIBC_BUILD_NOW is not set
diff --git a/target/arch.lst b/target/arch.lst
index f0bc76d79..d801075d8 100644
--- a/target/arch.lst
+++ b/target/arch.lst
@@ -14,7 +14,9 @@ ft32
h8300
hppa
ia64
+kvx
lm32
+loongarch
m32c
m32r
m68k
diff --git a/target/arm/Makefile b/target/arm/Makefile
index f17d6e96e..e5c7a3a6d 100644
--- a/target/arm/Makefile
+++ b/target/arm/Makefile
@@ -33,7 +33,7 @@ ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_REALVIEW_EB_MPCORE),y)
QEMU_ARGS+=-M realview-eb-mpcore -net user -net nic -dtb $(FW_DIR)/arm-realview-eb-11mp-ctrevb.dtb
endif
ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB),y)
-QEMU_ARGS+=-M versatilepb -net user -net nic,model=smc91c111 -dtb $(FW_DIR)/versatile-pb.dtb
+QEMU_ARGS+=-M versatilepb -m 256 -net user -net nic,model=smc91c111 -dtb $(FW_DIR)/versatile-pb.dtb
endif
ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_VEXPRESS_A9),y)
QEMU_ARGS+=-M vexpress-a9 -cpu cortex-a9 -m 256 -net user -net nic,model=lan9118 -dtb $(FW_DIR)/vexpress-v2p-ca9.dtb
@@ -48,6 +48,7 @@ endif
# target helper text
ifeq ($(ADK_TARGET_FS),archive)
targethelp:
+ @echo "#################################################"
@echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSTARBALL)"
ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_VEXPRESS_A9)$(ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB)$(ADK_TARGET_SYSTEM_QEMU_ARM_TERRIER)$(ADK_TARGET_SYSTEM_QEMU_ARM_SPITZ),y)
@echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
@@ -90,6 +91,12 @@ ifeq ($(ADK_TARGET_SYSTEM_BANANA_PRO),y)
@echo "Use following command to install with a writable data partition"
@echo "sudo ./scripts/install.sh -d 256 banana-pro /dev/sdX $(FW_DIR)/$(ROOTFSTARBALL)"
endif
+ifeq ($(ADK_TARGET_SYSTEM_BANANA_P2_ZERO),y)
+ @echo "Use following command to install it on SD card:"
+ @echo "sudo ./scripts/install.sh banana-pro-zero /dev/sdX $(FW_DIR)/$(ROOTFSTARBALL)"
+ @echo "Use following command to install with a writable data partition"
+ @echo "sudo ./scripts/install.sh -d 256 banana-pro-zero /dev/sdX $(FW_DIR)/$(ROOTFSTARBALL)"
+endif
ifeq ($(ADK_TARGET_SYSTEM_ORANGE_PI0),y)
@echo "Use following command to install it on SD card:"
@echo "sudo ./scripts/install.sh orange-pi0 /dev/sdX $(FW_DIR)/$(ROOTFSTARBALL)"
@@ -148,9 +155,9 @@ endif
endif
ifeq ($(ADK_TARGET_FS),genimage)
targethelp:
- @echo "The disk image is: $(FW_DIR)/disk.img"
+ @echo "The disk image is: $(FW_DIR)/sdcard.img"
@echo "Use following command to install it on SD card:"
- @echo 'sudo dd if=$(FW_DIR)/disk.img of=/dev/sdX bs=2048k'
+ @echo 'sudo dd if=$(FW_DIR)/sdcard.img of=/dev/sdX bs=2048k'
endif
kernel-strip:
@@ -168,69 +175,85 @@ ifeq ($(ADK_TARGET_FS),squashfs)
dd conv=notrunc if=$(BUILD_DIR)/root.squashfs of=$(FW_DIR)/$(ROOTFSSQUASHFS)
endif
+ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_6_6),y)
+ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB),y)
+VENDOR:=arm/
+endif
+ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_REALVIEW_EB_MPCORE),y)
+VENDOR:=arm/
+endif
+ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_VEXPRESS_A9),y)
+VENDOR:=arm/
+endif
+ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_XILINX_ZYNQ),y)
+VENDOR:=xilinx/
+endif
+endif
+
dtb-install:
ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_XILINX_ZYNQ),y)
- env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \
- dtbs $(MAKE_TRACE)
+ ${KERNEL_MAKE} dtbs $(MAKE_TRACE)
endif
ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_VEXPRESS_A9),y)
- env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \
- vexpress-v2p-ca9.dtb $(MAKE_TRACE)
+ ${KERNEL_MAKE} $(VENDOR)vexpress-v2p-ca9.dtb $(MAKE_TRACE)
endif
ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_REALVIEW_EB_MPCORE),y)
- env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \
- arm-realview-eb-11mp-ctrevb.dtb $(MAKE_TRACE)
+ ${KERNEL_MAKE} $(VENDOR)arm-realview-eb-11mp-ctrevb.dtb $(MAKE_TRACE)
endif
ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB),y)
- env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \
- versatile-pb.dtb $(MAKE_TRACE)
+ ${KERNEL_MAKE} $(VENDOR)versatile-pb.dtb $(MAKE_TRACE)
endif
ifeq ($(ADK_TARGET_SYSTEM_PHYTEC_WEGA),y)
- env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \
- am335x-wega-rdk.dtb
+ ${KERNEL_MAKE} am335x-wega-rdk.dtb $(MAKE_TRACE)
cp $(LINUX_DIR)/arch/arm/boot/dts/am335x-wega-rdk.dtb ${TARGET_DIR}/boot
endif
ifeq ($(ADK_TARGET_SYSTEM_PHYTEC_IMX6),y)
- env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \
- imx6q-phytec-pbab01.dtb
+ ${KERNEL_MAKE} imx6q-phytec-pbab01.dtb $(MAKE_TRACE)
cp $(LINUX_DIR)/arch/arm/boot/dts/imx6q-phytec-pbab01.dtb ${TARGET_DIR}/boot
endif
ifeq ($(ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK),y)
- env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \
- am335x-boneblack.dtb
+ ${KERNEL_MAKE} am335x-boneblack.dtb $(MAKE_TRACE)
cp $(LINUX_DIR)/arch/arm/boot/dts/am335x-boneblack.dtb ${TARGET_DIR}/boot
endif
ifeq ($(ADK_TARGET_BOARD_BCM28XX),y)
- env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \
- dtbs $(MAKE_TRACE)
+ ${KERNEL_MAKE} dtbs $(MAKE_TRACE)
mkdir -p $(FW_DIR)/overlays
for x in $(LINUX_DIR)/arch/arm/boot/dts/overlays/*.dtbo; do \
[[ -e "$$x" ]] && cp $(LINUX_DIR)/arch/arm/boot/dts/overlays/*.dtbo $(FW_DIR)/overlays; \
break; \
done
+ for x in $(LINUX_DIR)/arch/arm/boot/dts/overlays/*.dtb; do \
+ [[ -e "$$x" ]] && cp $(LINUX_DIR)/arch/arm/boot/dts/overlays/*.dtb $(FW_DIR)/overlays; \
+ break; \
+ done
endif
ifeq ($(ADK_TARGET_SYSTEM_BANANA_PRO),y)
- env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \
- sun7i-a20-bananapro.dtb $(MAKE_TRACE)
+ ${KERNEL_MAKE} sun7i-a20-bananapro.dtb $(MAKE_TRACE)
endif
ifeq ($(ADK_TARGET_SYSTEM_ORANGE_PI0),y)
- env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \
- sun8i-h2-plus-orangepi-zero.dtb $(MAKE_TRACE)
+ ${KERNEL_MAKE} sun8i-h2-plus-orangepi-zero.dtb $(MAKE_TRACE)
+endif
+ifeq ($(ADK_TARGET_SYSTEM_BANANA_P2_ZERO),y)
+ ${KERNEL_MAKE} sun8i-h2-plus-bananapi-m2-zero.dtb $(MAKE_TRACE)
endif
ifeq ($(ADK_TARGET_SYSTEM_SOLIDRUN_IMX6),y)
- env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \
- imx6q-cubox-i.dtb imx6dl-cubox-i.dtb imx6dl-hummingboard.dtb imx6q-hummingboard.dtb $(MAKE_TRACE)
+ ${KERNEL_MAKE} imx6q-cubox-i.dtb imx6dl-cubox-i.dtb \
+ imx6dl-hummingboard.dtb imx6q-hummingboard.dtb $(MAKE_TRACE)
endif
ifeq ($(ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG),y)
- env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \
- armada-388-clearfog.dtb $(MAKE_TRACE)
+ ${KERNEL_MAKE} armada-388-clearfog.dtb $(MAKE_TRACE)
+endif
+ifeq ($(ADK_TARGET_SYSTEM_ST_STM32F429),y)
+ ${KERNEL_MAKE} dtbs $(MAKE_TRACE)
endif
ifeq ($(ADK_TARGET_SYSTEM_ST_STM32F769),y)
- env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \
- dtbs $(MAKE_TRACE)
+ ${KERNEL_MAKE} dtbs $(MAKE_TRACE)
+endif
+ifeq ($(ADK_TARGET_SYSTEM_ST_STM32F746G),y)
+ ${KERNEL_MAKE} dtbs $(MAKE_TRACE)
endif
- for x in $(LINUX_DIR)/arch/arm/boot/dts/*.dtb; do \
- [[ -e "$$x" ]] && cp $(LINUX_DIR)/arch/arm/boot/dts/*.dtb $(FW_DIR); \
+ for x in $(LINUX_DIR)/arch/arm/boot/dts/$(VENDOR)*.dtb; do \
+ [[ -e "$$x" ]] && cp $(LINUX_DIR)/arch/arm/boot/dts/$(VENDOR)*.dtb $(FW_DIR); \
break; \
done
diff --git a/target/arm/banana-p2-zero/extlinux.conf b/target/arm/banana-p2-zero/extlinux.conf
new file mode 100644
index 000000000..08a063d7f
--- /dev/null
+++ b/target/arm/banana-p2-zero/extlinux.conf
@@ -0,0 +1,4 @@
+label banana-p2-zero-openadk
+ kernel /kernel
+ devicetree /sun8i-h2-plus-bananapi-m2-zero.dtb
+ append console=ttyS0,115200n8 rw rootwait
diff --git a/target/arm/banana-p2-zero/genimage.cfg b/target/arm/banana-p2-zero/genimage.cfg
new file mode 100644
index 000000000..98c9de077
--- /dev/null
+++ b/target/arm/banana-p2-zero/genimage.cfg
@@ -0,0 +1,35 @@
+image boot.vfat {
+ vfat {
+ files = {
+ "kernel",
+ "sun8i-h2-plus-bananapi-m2-zero.dtb",
+ "boot.scr"
+ }
+ }
+
+ size = 64M
+}
+
+image sdcard.img {
+ hdimage {
+ }
+
+ partition u-boot {
+ in-partition-table = "no"
+ image = "u-boot-sunxi-with-spl.bin"
+ offset = 8K
+ size = 1016K # 1MB - 8KB
+ }
+
+ partition boot {
+ partition-type = 0xC
+ bootable = "true"
+ image = "boot.vfat"
+ }
+
+ partition rootfs {
+ partition-type = 0x83
+ image = "rootfs.ext"
+ }
+
+}
diff --git a/target/arm/kernel/banana-p2-zero b/target/arm/kernel/banana-p2-zero
new file mode 100644
index 000000000..586bc605a
--- /dev/null
+++ b/target/arm/kernel/banana-p2-zero
@@ -0,0 +1,323 @@
+CONFIG_ARM=y
+CONFIG_ARCH_MULTIPLATFORM=y
+CONFIG_ARCH_MULTI_V7=y
+CONFIG_ARCH_MULTI_V6_V7=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_MACH_SUN8I=y
+CONFIG_ARCH_SUNXI_MC_SMP=y
+CONFIG_ARM_THUMB=y
+CONFIG_KUSER_HELPERS=y
+CONFIG_VDSO=y
+CONFIG_ATAGS=y
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_ATTR_SET=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
+CONFIG_CPUFREQ_DT=y
+CONFIG_CPUFREQ_DT_PLATDEV=y
+CONFIG_VFP=y
+CONFIG_VFPv3=y
+CONFIG_NEON=y
+CONFIG_HAVE_CONTEXT_TRACKING_USER=y
+CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
+CONFIG_MODULES_USE_ELF_REL=y
+CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
+CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
+CONFIG_SOFTIRQ_ON_OWN_STACK=y
+CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
+CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
+CONFIG_HAVE_EXIT_THREAD=y
+CONFIG_ARCH_MMAP_RND_BITS=8
+CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
+CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
+CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
+CONFIG_CLONE_BACKWARDS=y
+CONFIG_OLD_SIGSUSPEND3=y
+CONFIG_OLD_SIGACTION=y
+CONFIG_COMPAT_32BIT_TIME=y
+CONFIG_HAVE_ARCH_VMAP_STACK=y
+CONFIG_VMAP_STACK=y
+CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y
+CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y
+CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
+CONFIG_STRICT_KERNEL_RWX=y
+CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
+CONFIG_STRICT_MODULE_RWX=y
+CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
+CONFIG_HAVE_ARCH_PFN_VALID=y
+CONFIG_FREEZER=y
+CONFIG_COMPAT_BRK=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+CONFIG_FLATMEM=y
+CONFIG_ARCH_KEEP_MEMBLOCK=y
+CONFIG_MEMORY_ISOLATION=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_COMPACTION=y
+CONFIG_MIGRATION=y
+CONFIG_CONTIG_ALLOC=y
+CONFIG_BOUNCE=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
+CONFIG_CMA=y
+CONFIG_CMA_AREAS=7
+CONFIG_GENERIC_EARLY_IOREMAP=y
+CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_KMAP_LOCAL=y
+CONFIG_KMAP_LOCAL_NON_LINEAR_PTE_ARRAY=y
+CONFIG_HAVE_PCI=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+CONFIG_EXTRA_FIRMWARE=""
+CONFIG_FW_CACHE=y
+CONFIG_ALLOW_DEV_COREDUMP=y
+CONFIG_GENERIC_CPU_AUTOPROBE=y
+CONFIG_GENERIC_CPU_VULNERABILITIES=y
+CONFIG_SOC_BUS=y
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=y
+CONFIG_REGMAP_SPI=y
+CONFIG_REGMAP_MMIO=y
+CONFIG_REGMAP_IRQ=y
+CONFIG_DMA_SHARED_BUFFER=y
+CONFIG_GENERIC_ARCH_TOPOLOGY=y
+CONFIG_ARM_CCI=y
+CONFIG_ARM_CCI400_COMMON=y
+CONFIG_ARM_CCI400_PORT_CTRL=y
+CONFIG_SUNXI_RSB=y
+CONFIG_ARM_PSCI_FW=y
+CONFIG_HAVE_ARM_SMCCC=y
+CONFIG_HAVE_ARM_SMCCC_DISCOVERY=y
+CONFIG_ARM_SMCCC_SOC_ID=y
+CONFIG_DTC=y
+CONFIG_OF=y
+CONFIG_OF_FLATTREE=y
+CONFIG_OF_EARLY_FLATTREE=y
+CONFIG_OF_KOBJ=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_RESERVED_MEM=y
+CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
+CONFIG_BLK_DEV=y
+CONFIG_NETDEVICES=y
+CONFIG_MII=y
+CONFIG_NET_CORE=y
+CONFIG_ETHERNET=y
+CONFIG_NET_VENDOR_ALACRITECH=y
+CONFIG_NET_VENDOR_ALLWINNER=y
+CONFIG_SUN4I_EMAC=y
+CONFIG_STMMAC_ETH=y
+CONFIG_NET_VENDOR_STMICRO=y
+CONFIG_STMMAC_PLATFORM=y
+CONFIG_DWMAC_GENERIC=y
+CONFIG_DWMAC_SUNXI=y
+CONFIG_DWMAC_SUN8I=y
+CONFIG_PHYLINK=y
+CONFIG_PHYLIB=y
+CONFIG_SWPHY=y
+CONFIG_FIXED_PHY=y
+CONFIG_MICREL_PHY=y
+CONFIG_REALTEK_PHY=y
+CONFIG_MDIO_DEVICE=y
+CONFIG_MDIO_BUS=y
+CONFIG_FWNODE_MDIO=y
+CONFIG_OF_MDIO=y
+CONFIG_MDIO_DEVRES=y
+CONFIG_MDIO_SUN4I=y
+CONFIG_MDIO_BUS_MUX=y
+CONFIG_SERIAL_EARLYCON=y
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
+CONFIG_SERIAL_8250_16550A_VARIANTS=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_DMA=y
+CONFIG_SERIAL_8250_NR_UARTS=8
+CONFIG_SERIAL_8250_RUNTIME_UARTS=8
+CONFIG_SERIAL_8250_DWLIB=y
+CONFIG_SERIAL_8250_FSL=y
+CONFIG_SERIAL_8250_DW=y
+CONFIG_SERIAL_OF_PLATFORM=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_MCTRL_GPIO=y
+CONFIG_DEVMEM=y
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_MUX=y
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_ALGOBIT=y
+CONFIG_I2C_MV64XXX=y
+CONFIG_I2C_SUN6I_P2WI=y
+CONFIG_SPI=y
+CONFIG_SPI_MASTER=y
+CONFIG_SPI_SUN4I=y
+CONFIG_SPI_SUN6I=y
+CONFIG_PTP_1588_CLOCK=y
+CONFIG_PTP_1588_CLOCK_OPTIONAL=y
+CONFIG_PTP_1588_CLOCK_KVM=y
+CONFIG_PINCTRL=y
+CONFIG_PINMUX=y
+CONFIG_PINCONF=y
+CONFIG_GENERIC_PINCONF=y
+CONFIG_PINCTRL_SUNXI=y
+CONFIG_PINCTRL_SUN4I_A10=y
+CONFIG_PINCTRL_SUN5I=y
+CONFIG_PINCTRL_SUN6I_A31=y
+CONFIG_PINCTRL_SUN6I_A31_R=y
+CONFIG_PINCTRL_SUN8I_A23=y
+CONFIG_PINCTRL_SUN8I_A33=y
+CONFIG_PINCTRL_SUN8I_A83T=y
+CONFIG_PINCTRL_SUN8I_A83T_R=y
+CONFIG_PINCTRL_SUN8I_A23_R=y
+CONFIG_PINCTRL_SUN8I_H3=y
+CONFIG_PINCTRL_SUN8I_H3_R=y
+CONFIG_PINCTRL_SUN8I_V3S=y
+CONFIG_PINCTRL_SUN9I_A80=y
+CONFIG_PINCTRL_SUN9I_A80_R=y
+CONFIG_PINCTRL_SUN20I_D1=y
+CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIOLIB_FASTPATH_LIMIT=512
+CONFIG_OF_GPIO=y
+CONFIG_GPIO_CDEV=y
+CONFIG_GPIO_CDEV_V1=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_POWER_SUPPLY_HWMON=y
+CONFIG_CHARGER_AXP20X=y
+CONFIG_BATTERY_AXP20X=y
+CONFIG_AXP20X_POWER=y
+CONFIG_MFD_CORE=y
+CONFIG_MFD_AC100=y
+CONFIG_MFD_AXP20X=y
+CONFIG_MFD_AXP20X_I2C=y
+CONFIG_MFD_AXP20X_RSB=y
+CONFIG_MFD_SUN6I_PRCM=y
+CONFIG_MFD_SYSCON=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_AXP20X=y
+CONFIG_REGULATOR_GPIO=y
+CONFIG_RC_CORE=y
+CONFIG_RC_MAP=y
+CONFIG_RC_DEVICES=y
+CONFIG_IR_SUNXI=y
+CONFIG_CEC_CORE=y
+CONFIG_CEC_PIN=y
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_HID=y
+CONFIG_HID_GENERIC=y
+CONFIG_USB_HID=y
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB=y
+CONFIG_USB_DEFAULT_PERSIST=y
+CONFIG_USB_AUTOSUSPEND_DELAY=2
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+CONFIG_USB_EHCI_HCD_PLATFORM=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_HCD_PLATFORM=y
+CONFIG_USB_MUSB_HDRC=y
+CONFIG_USB_MUSB_DUAL_ROLE=y
+CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_PHY=y
+CONFIG_NOP_USB_XCEIV=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
+CONFIG_MMC=y
+CONFIG_PWRSEQ_EMMC=y
+CONFIG_PWRSEQ_SIMPLE=y
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_MINORS=8
+CONFIG_MMC_SUNXI=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
+CONFIG_EDAC_ATOMIC_SCRUB=y
+CONFIG_EDAC_SUPPORT=y
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+CONFIG_RTC_SYSTOHC=y
+CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
+CONFIG_RTC_NVMEM=y
+CONFIG_RTC_INTF_DEV=y
+CONFIG_RTC_DRV_AC100=y
+CONFIG_RTC_I2C_AND_SPI=y
+CONFIG_RTC_DRV_SUN6I=y
+CONFIG_RTC_DRV_SUNXI=y
+CONFIG_DMADEVICES=y
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_VIRTUAL_CHANNELS=y
+CONFIG_DMA_OF=y
+CONFIG_DMA_SUN4I=y
+CONFIG_DMA_SUN6I=y
+CONFIG_SYNC_FILE=y
+CONFIG_VIRTIO_MENU=y
+CONFIG_VHOST_MENU=y
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+CONFIG_CLK_SUNXI=y
+CONFIG_CLK_SUNXI_CLOCKS=y
+CONFIG_CLK_SUNXI_PRCM_SUN6I=y
+CONFIG_CLK_SUNXI_PRCM_SUN8I=y
+CONFIG_CLK_SUNXI_PRCM_SUN9I=y
+CONFIG_SUNXI_CCU=y
+CONFIG_SUN4I_A10_CCU=y
+CONFIG_SUN5I_CCU=y
+CONFIG_SUN6I_A31_CCU=y
+CONFIG_SUN6I_RTC_CCU=y
+CONFIG_SUN8I_A23_CCU=y
+CONFIG_SUN8I_A33_CCU=y
+CONFIG_SUN8I_A83T_CCU=y
+CONFIG_SUN8I_H3_CCU=y
+CONFIG_SUN8I_V3S_CCU=y
+CONFIG_SUN8I_DE2_CCU=y
+CONFIG_SUN8I_R40_CCU=y
+CONFIG_SUN9I_A80_CCU=y
+CONFIG_SUN8I_R_CCU=y
+CONFIG_TIMER_OF=y
+CONFIG_TIMER_PROBE=y
+CONFIG_CLKSRC_MMIO=y
+CONFIG_SUN4I_TIMER=y
+CONFIG_SUN5I_HSTIMER=y
+CONFIG_ARM_ARCH_TIMER=y
+CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
+CONFIG_MAILBOX=y
+CONFIG_SUN6I_MSGBOX=y
+CONFIG_SUNXI_MBUS=y
+CONFIG_SUNXI_SRAM=y
+CONFIG_PM_DEVFREQ=y
+CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
+CONFIG_PWM=y
+CONFIG_PWM_SYSFS=y
+CONFIG_PWM_SUN4I=y
+CONFIG_IRQCHIP=y
+CONFIG_ARM_GIC=y
+CONFIG_ARM_GIC_MAX_NR=1
+CONFIG_SUN4I_INTC=y
+CONFIG_SUN6I_R_INTC=y
+CONFIG_SUNXI_NMI_INTC=y
+CONFIG_ARCH_HAS_RESET_CONTROLLER=y
+CONFIG_RESET_CONTROLLER=y
+CONFIG_RESET_SIMPLE=y
+CONFIG_RESET_SUNXI=y
+CONFIG_GENERIC_PHY=y
+CONFIG_GENERIC_PHY_MIPI_DPHY=y
diff --git a/target/arm/kernel/qemu-arm-realview-eb-mpcore b/target/arm/kernel/qemu-arm-realview-eb-mpcore
index 9f967f4f2..acd059cc8 100644
--- a/target/arm/kernel/qemu-arm-realview-eb-mpcore
+++ b/target/arm/kernel/qemu-arm-realview-eb-mpcore
@@ -16,3 +16,4 @@ CONFIG_KUSER_HELPERS=y
CONFIG_ATAGS=y
CONFIG_CMDLINE="console=ttyAMA0 mem=128M"
CONFIG_CMDLINE_FROM_BOOTLOADER=y
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/arm/kernel/qemu-arm-spitz b/target/arm/kernel/qemu-arm-spitz
index 8ae5f01d4..259028d95 100644
--- a/target/arm/kernel/qemu-arm-spitz
+++ b/target/arm/kernel/qemu-arm-spitz
@@ -39,3 +39,9 @@ CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_GENERIC=y
CONFIG_HID=y
CONFIG_HID_GENERIC=y
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_NON8250=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/arm/kernel/qemu-arm-terrier b/target/arm/kernel/qemu-arm-terrier
index 0b0100306..4a947ea14 100644
--- a/target/arm/kernel/qemu-arm-terrier
+++ b/target/arm/kernel/qemu-arm-terrier
@@ -39,3 +39,9 @@ CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_GENERIC=y
CONFIG_HID=y
CONFIG_HID_GENERIC=y
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_NON8250=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/arm/kernel/qemu-arm-versatilepb b/target/arm/kernel/qemu-arm-versatilepb
index 968177c97..148fda569 100644
--- a/target/arm/kernel/qemu-arm-versatilepb
+++ b/target/arm/kernel/qemu-arm-versatilepb
@@ -1,5 +1,5 @@
CONFIG_ARM=y
-CONFIG_ARM_SINGLE_ARCH_VERSATILE=y
+CONFIG_ARM_SINGLE_ARM926=y
CONFIG_ARM_PATCH_PHYS_VIRT=y
CONFIG_ARCH_VERSATILE=y
CONFIG_KUSER_HELPERS=y
@@ -15,3 +15,4 @@ CONFIG_PLAT_VERSATILE_SCHED_CLOCK=y
CONFIG_PLAT_VERSATILE=y
CONFIG_VECTORS_BASE=0x00000000
CONFIG_PHYS_OFFSET=0x00000000
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/arm/kernel/qemu-arm-vexpress-a9 b/target/arm/kernel/qemu-arm-vexpress-a9
index 90541c644..b3953ad10 100644
--- a/target/arm/kernel/qemu-arm-vexpress-a9
+++ b/target/arm/kernel/qemu-arm-vexpress-a9
@@ -1,9 +1,27 @@
CONFIG_ARM=y
+CONFIG_ARCH_MULTIPLATFORM=y
CONFIG_ARCH_MULTI_V7=y
+CONFIG_ARCH_MULTI_V6_V7=y
CONFIG_ARCH_VEXPRESS=y
-CONFIG_KUSER_HELPERS=y
-CONFIG_ATAGS=y
+CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA=y
+CONFIG_ARCH_VEXPRESS_DCSCB=y
+CONFIG_ARCH_VEXPRESS_SPC=y
+CONFIG_ARCH_VEXPRESS_TC2_PM=y
+CONFIG_PLAT_VERSATILE=y
+CONFIG_ARM_PATCH_PHYS_VIRT=y
+CONFIG_ARM_THUMB=y
+CONFIG_ARM_VIRT_EXT=y
CONFIG_SWP_EMULATE=y
-CONFIG_CLKSRC_VERSATILE=y
+CONFIG_KUSER_HELPERS=y
+CONFIG_COMPAT_32BIT_TIME=y
+CONFIG_ARM_AMBA=y
+CONFIG_MFD_CORE=y
+CONFIG_MFD_SYSCON=y
+CONFIG_MFD_VEXPRESS_SYSREG=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_VEXPRESS=y
CONFIG_CLK_SP810=y
CONFIG_CLK_VEXPRESS_OSC=y
+
+
diff --git a/target/arm/kernel/raspberry-pi3p b/target/arm/kernel/raspberry-pi3p
deleted file mode 100644
index 7928b3968..000000000
--- a/target/arm/kernel/raspberry-pi3p
+++ /dev/null
@@ -1,25 +0,0 @@
-CONFIG_ARM=y
-CONFIG_ARM_PATCH_PHYS_VIRT=y
-CONFIG_ARCH_MULTIPLATFORM=y
-CONFIG_ARCH_MULTI_V7=y
-CONFIG_ARCH_MULTI_V6_V7=y
-CONFIG_ARCH_BCM=y
-CONFIG_ARCH_BCM2835=y
-CONFIG_VMSPLIT_2G=y
-CONFIG_PAGE_OFFSET=0x80000000
-CONFIG_KUSER_HELPERS=y
-CONFIG_ARM_AMBA=y
-CONFIG_BRCM_CHAR_DRIVERS=y
-CONFIG_BCM_VC_CMA=y
-CONFIG_BCM2708_VCMEM=y
-CONFIG_BCM_VCIO=y
-CONFIG_BCM_VC_SM=y
-CONFIG_BCMA=y
-CONFIG_BCMA_BLOCKIO=y
-CONFIG_BCM_VIDEOCORE=y
-CONFIG_BCM2835_VCHIQ=y
-CONFIG_MAILBOX=y
-CONFIG_BCM2835_MBOX=y
-CONFIG_RASPBERRYPI_POWER=y
-CONFIG_RASPBERRYPI_FIRMWARE=y
-CONFIG_STAGING=y
diff --git a/target/arm/kernel/raspberry-pi4 b/target/arm/kernel/raspberry-pi4
new file mode 100644
index 000000000..77c23a997
--- /dev/null
+++ b/target/arm/kernel/raspberry-pi4
@@ -0,0 +1,42 @@
+CONFIG_ARM=y
+CONFIG_ARM_PATCH_PHYS_VIRT=y
+CONFIG_ARCH_MULTIPLATFORM=y
+CONFIG_ARCH_MULTI_V7=y
+CONFIG_ARCH_MULTI_V6_V7=y
+CONFIG_ARCH_BCM=y
+CONFIG_ARCH_BCM2835=y
+CONFIG_VMSPLIT_2G=y
+CONFIG_PAGE_OFFSET=0x80000000
+CONFIG_KUSER_HELPERS=y
+CONFIG_ARM_AMBA=y
+CONFIG_BRCM_CHAR_DRIVERS=y
+CONFIG_BCM_VC_CMA=y
+CONFIG_BCM2708_VCMEM=y
+CONFIG_BCM_VCIO=y
+CONFIG_BCM_VC_SM=y
+CONFIG_BCMA=y
+CONFIG_BCMA_BLOCKIO=y
+CONFIG_BCM_VIDEOCORE=y
+CONFIG_BCM2835_VCHIQ=y
+CONFIG_MAILBOX=y
+CONFIG_BCM2835_MBOX=y
+CONFIG_RASPBERRYPI_POWER=y
+CONFIG_RASPBERRYPI_FIRMWARE=y
+CONFIG_CLK_BCM2711_DVP=y
+CONFIG_CLK_BCM2835=y
+CONFIG_CLK_RASPBERRYPI=y
+CONFIG_COMPAT_32BIT_TIME=y
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_GPIO_CDEV=y
+CONFIG_GPIO_CDEV_V1=y
+CONFIG_GPIO_RASPBERRYPI_EXP=y
+CONFIG_GPIO_BCM_VIRT=y
+CONFIG_GPIO_PCA953X_IRQ=y
+CONFIG_GPIO_STMPE=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_GPIO=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_PWM=y
diff --git a/target/arm/kernel/solidrun-imx6 b/target/arm/kernel/solidrun-imx6
index 1a694f75c..f0a223861 100644
--- a/target/arm/kernel/solidrun-imx6
+++ b/target/arm/kernel/solidrun-imx6
@@ -3,11 +3,22 @@ CONFIG_ARM_PATCH_PHYS_VIRT=y
CONFIG_ARCH_MULTI_V7=y
CONFIG_ARCH_MXC=y
CONFIG_ARCH_MX6=y
+CONFIG_SOC_IMX6=y
CONFIG_SOC_IMX6Q=y
CONFIG_SOC_IMX6SL=y
+CONFIG_SOC_IMX6SLL=y
+CONFIG_SOC_IMX6SX=y
+CONFIG_SOC_IMX6UL=y
CONFIG_LOCAL_TIMERS=y
-CONFIG_MXC_DEBUG_BOARD=y
CONFIG_KUSER_HELPERS=y
-CONFIG_PM_SLEEP=y
CONFIG_ATAGS=y
CONFIG_CMDLINE_FORCE=y
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
+CONFIG_FIQ=y
+CONFIG_COMPAT_32BIT_TIME=y
+CONFIG_USE_OF=y
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_ATAGS_PROC=y
+CONFIG_AUTO_ZRELADDR=y
diff --git a/target/arm/kernel/st-stm32f429 b/target/arm/kernel/st-stm32f429
index 32c1a786c..e4fb77989 100644
--- a/target/arm/kernel/st-stm32f429
+++ b/target/arm/kernel/st-stm32f429
@@ -1,5 +1,6 @@
CONFIG_ARM_SINGLE_ARMV7M=y
CONFIG_ARCH_STM32=y
+CONFIG_MACH_STM32F429=y
CONFIG_SET_MEM_PARAM=y
CONFIG_DRAM_BASE=0x90000000
CONFIG_FLASH_MEM_BASE=0x08000000
diff --git a/target/arm/kernel/st-stm32f746g b/target/arm/kernel/st-stm32f746g
new file mode 100644
index 000000000..7c8375059
--- /dev/null
+++ b/target/arm/kernel/st-stm32f746g
@@ -0,0 +1,28 @@
+CONFIG_ARM_SINGLE_ARMV7M=y
+CONFIG_ARCH_STM32=y
+CONFIG_MACH_STM32F746=y
+CONFIG_SET_MEM_PARAM=y
+CONFIG_DRAM_BASE=0xC0000000
+CONFIG_DRAM_SIZE=0x01000000
+CONFIG_FLASH_MEM_BASE=0x08000000
+CONFIG_FLASH_SIZE=0x00200000
+CONFIG_SERIAL_NONSTANDARD=y
+CONFIG_SERIAL_STM32=y
+CONFIG_SERIAL_STM32_CONSOLE=y
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_STM32F4=y
+CONFIG_I2C_STM32F7=y
+CONFIG_GPIO_STMPE=y
+CONFIG_MFD_STMPE=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_MMC=y
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_ARMMMCI=y
+CONFIG_MMC_STM32_SDMMC=y
+CONFIG_DMADEVICES=y
+CONFIG_STM32_DMA=y
+CONFIG_STM32_DMAMUX=y
+CONFIG_STM32_MDMA=y
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/arm/kernel/synology-ds414 b/target/arm/kernel/synology-ds414
new file mode 100644
index 000000000..e09864fc3
--- /dev/null
+++ b/target/arm/kernel/synology-ds414
@@ -0,0 +1,115 @@
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_ARCH_MULTI_V7=y
+CONFIG_ARCH_MVEBU=y
+CONFIG_MACH_ARMADA_XP=y
+CONFIG_KERNEL_LZMA=y
+CONFIG_VMSPLIT_3G_OPT=y
+CONFIG_BLOCK=y
+CONFIG_ARM_THUMB=y
+CONFIG_KUSER_HELPERS=y
+CONFIG_CACHE_FEROCEON_L2=y
+CONFIG_PCI=y
+CONFIG_PCI_MSI=y
+CONFIG_PCI_MVEBU=y
+CONFIG_SMP=y
+CONFIG_ARM_CPU_TOPOLOGY=y
+CONFIG_SCHED_MC=y
+CONFIG_NR_CPUS=2
+CONFIG_AEABI=y
+CONFIG_USE_OF=y
+CONFIG_ATAGS=y
+CONFIG_DEPRECATED_PARAM_STRUCT=y
+CONFIG_ARM_APPENDED_DTB=y
+CONFIG_ARM_ATAG_DTB_COMPAT=y
+CONFIG_CMDLINE_EXTEND=y
+CONFIG_NEON=y
+CONFIG_BINFMT_ELF=y
+CONFIG_NET=y
+CONFIG_INET=y
+CONFIG_MVEBU_MBUS=y
+CONFIG_MTD=y
+CONFIG_MTD_OF_PARTS=y
+CONFIG_MTD_M25P80=y
+CONFIG_MTD_SPI_NOR=y
+CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
+CONFIG_DTC=y
+CONFIG_OF=y
+CONFIG_BLK_DEV=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_ATA=y
+CONFIG_SATA_AHCI=y
+CONFIG_ATA_SFF=y
+CONFIG_ATA_BMDMA=y
+CONFIG_SATA_MV=y
+CONFIG_NETDEVICES=y
+CONFIG_NET_CORE=y
+CONFIG_ETHERNET=y
+CONFIG_NET_VENDOR_MARVELL=y
+CONFIG_MVNETA=y
+CONFIG_PHYLIB=y
+CONFIG_MARVELL_PHY=y
+CONFIG_INPUT=y
+CONFIG_SERIO=y
+CONFIG_TTY=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_SERIAL_EARLYCON=y
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=2
+CONFIG_SERIAL_8250_DW=y
+CONFIG_SERIAL_8250_EM=y
+CONFIG_I2C=y
+CONFIG_I2C_MV64XXX=y
+CONFIG_SPI=y
+CONFIG_SPI_ORION=y
+CONFIG_PINCTRL_ARMADA_XP=y
+CONFIG_GPIO_MVEBU=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_HWMON=y
+CONFIG_THERMAL=y
+CONFIG_THERMAL_OF=y
+CONFIG_ARMADA_THERMAL=y
+CONFIG_WATCHDOG=y
+CONFIG_ORION_WATCHDOG=y
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB=y
+CONFIG_USB_PCI=y
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_XHCI_PCI=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_HCD_ORION=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_MV_UDC=y
+CONFIG_USB_CONFIGFS=y
+CONFIG_USB_ROLE_SWITCH=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+CONFIG_USB_DEFAULT_PERSIST=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_MV=y
+CONFIG_DMADEVICES=y
+CONFIG_MV_XOR=y
+CONFIG_ARMADA_XP_CLK=y
+CONFIG_ARMADA_370_XP_TIMER=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_DEV_MARVELL_CESA=y
+CONFIG_ARM_CRYPTO=y
+CONFIG_CRYPTO_SHA1_ARM=y
+CONFIG_CRYPTO_SHA256_ARM=y
+CONFIG_CRYPTO_SHA512_ARM=y
+CONFIG_CRYPTO_AES_ARM=y
+CONFIG_EARLY_PRINTK=y
+CONFIG_GPIO_GENERIC=y
+CONFIG_GPIO_GENERIC_PLATFORM=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_USERSPACE_CONSUMER=y
+CONFIG_REGULATOR_GPIO=y
+CONFIG_PINCTRL_SINGLE=y
diff --git a/target/arm/st-stm32f746g/extlinux.conf b/target/arm/st-stm32f746g/extlinux.conf
new file mode 100644
index 000000000..9a6728417
--- /dev/null
+++ b/target/arm/st-stm32f746g/extlinux.conf
@@ -0,0 +1,4 @@
+label stm32f746g-disco-openadk
+ kernel /kernel
+ devicetree /stm32f746-disco.dtb
+ append console=ttySTM0,115200 root=/dev/mmcblk0p2 rw rootwait consoleblank=0
diff --git a/target/arm/st-stm32f746g/genimage.cfg b/target/arm/st-stm32f746g/genimage.cfg
new file mode 100644
index 000000000..8cd0530ae
--- /dev/null
+++ b/target/arm/st-stm32f746g/genimage.cfg
@@ -0,0 +1,27 @@
+image boot.vfat {
+ vfat {
+ files = {
+ "kernel",
+ "stm32f746-disco.dtb",
+ "extlinux"
+ }
+ }
+
+ size = 16M
+}
+
+image sdcard.img {
+ hdimage {
+ }
+
+ partition boot {
+ partition-type = 0xC
+ image = "boot.vfat"
+ }
+
+ partition rootfs {
+ partition-type = 0x83
+ image = "rootfs.ext"
+ size = 64M
+ }
+}
diff --git a/target/arm/systems/banana-p2-zero b/target/arm/systems/banana-p2-zero
new file mode 100644
index 000000000..8fd4c9f95
--- /dev/null
+++ b/target/arm/systems/banana-p2-zero
@@ -0,0 +1,25 @@
+config ADK_TARGET_SYSTEM_BANANA_P2_ZERO
+ bool "Banana P2 zero"
+ depends on ADK_TARGET_OS_LINUX
+ select ADK_TARGET_LITTLE_ENDIAN
+ select ADK_TARGET_CPU_ARM_CORTEX_A7
+ select ADK_TARGET_CPU_WITH_NEON
+ select ADK_TARGET_WITH_VGA
+ select ADK_TARGET_WITH_SERIAL
+ select ADK_TARGET_WITH_CPU_FREQ
+ select ADK_TARGET_WITH_USB
+ select ADK_TARGET_WITH_SD
+ select ADK_TARGET_WITH_SDIO
+ select ADK_TARGET_WITH_I2C
+ select ADK_TARGET_WITH_SPI
+ select ADK_TARGET_WITH_SMP
+ select ADK_TARGET_WITH_ROOT_RW
+ select ADK_TARGET_WITH_NET
+ select ADK_TARGET_WITH_NETDEVICE
+ select ADK_TARGET_WITH_BLOCK
+ select ADK_TARGET_KERNEL_ZIMAGE
+ select ADK_PACKAGE_U_BOOT
+ select ADK_HOST_BUILD_U_BOOT
+ help
+ Banana PI M2 Zero with Allwinner H3
+
diff --git a/target/arm/systems/qemu-arm-xilinx-zynq b/target/arm/systems/qemu-arm-xilinx-zynq
index c00543509..08133822a 100644
--- a/target/arm/systems/qemu-arm-xilinx-zynq
+++ b/target/arm/systems/qemu-arm-xilinx-zynq
@@ -2,6 +2,7 @@ config ADK_TARGET_SYSTEM_QEMU_ARM_XILINX_ZYNQ
bool "Qemu Emulator (Xilinx Zynq)"
depends on ADK_TARGET_OS_LINUX
select ADK_TARGET_CPU_ARM_CORTEX_A9
+ select ADK_TARGET_LITTLE_ENDIAN
select ADK_TARGET_QEMU
select ADK_TARGET_KERNEL_ZIMAGE
select ADK_TARGET_KERNEL_WITH_COMPRESSION
diff --git a/target/arm/systems/raspberry-pi3p b/target/arm/systems/raspberry-pi3p
deleted file mode 100644
index d2100a948..000000000
--- a/target/arm/systems/raspberry-pi3p
+++ /dev/null
@@ -1,27 +0,0 @@
-config ADK_TARGET_SYSTEM_RASPBERRY_PI3P
- bool "Raspberry PI 3 Model B+"
- depends on ADK_TARGET_OS_LINUX
- select ADK_TARGET_LITTLE_ENDIAN
- select ADK_TARGET_CPU_ARM_CORTEX_A53
- select ADK_TARGET_BOARD_BCM28XX
- select ADK_TARGET_WITH_VGA
- select ADK_TARGET_WITH_SERIAL
- select ADK_TARGET_WITH_CPU_FREQ
- select ADK_TARGET_WITH_USB
- select ADK_TARGET_WITH_INPUT
- select ADK_TARGET_WITH_SD
- select ADK_TARGET_WITH_I2C
- select ADK_TARGET_WITH_SPI
- select ADK_TARGET_WITH_SMP
- select ADK_TARGET_WITH_NET
- select ADK_TARGET_WITH_NETDEVICE
- select ADK_TARGET_WITH_WIFI
- select ADK_TARGET_WITH_BLOCK
- select ADK_TARGET_WITH_SOUND
- select ADK_TARGET_WITH_SDIO
- select ADK_PACKAGE_BCM28XX_BOOTLOADER
- select ADK_TARGET_WITH_ROOT_RW
- select ADK_TARGET_KERNEL_IMAGE
- help
- Raspberry PI 3 Model B+
-
diff --git a/target/arm/systems/raspberry-pi4 b/target/arm/systems/raspberry-pi4
new file mode 100644
index 000000000..6f36bf036
--- /dev/null
+++ b/target/arm/systems/raspberry-pi4
@@ -0,0 +1,27 @@
+config ADK_TARGET_SYSTEM_RASPBERRY_PI4
+ bool "Raspberry PI 4"
+ depends on ADK_TARGET_OS_LINUX
+ select ADK_TARGET_LITTLE_ENDIAN
+ select ADK_TARGET_CPU_ARM_CORTEX_A72
+ select ADK_TARGET_BOARD_BCM28XX
+ select ADK_TARGET_WITH_VGA
+ select ADK_TARGET_WITH_SERIAL
+ select ADK_TARGET_WITH_CPU_FREQ
+ select ADK_TARGET_WITH_USB
+ select ADK_TARGET_WITH_INPUT
+ select ADK_TARGET_WITH_SD
+ select ADK_TARGET_WITH_I2C
+ select ADK_TARGET_WITH_SPI
+ select ADK_TARGET_WITH_SMP
+ select ADK_TARGET_WITH_NET
+ select ADK_TARGET_WITH_NETDEVICE
+ select ADK_TARGET_WITH_WIFI
+ select ADK_TARGET_WITH_BLOCK
+ select ADK_TARGET_WITH_SOUND
+ select ADK_TARGET_WITH_SDIO
+ select ADK_PACKAGE_BCM28XX_BOOTLOADER
+ select ADK_TARGET_WITH_ROOT_RW
+ select ADK_TARGET_KERNEL_IMAGE
+ help
+ Raspberry PI 4
+
diff --git a/target/arm/systems/st-stm32f746g b/target/arm/systems/st-stm32f746g
new file mode 100644
index 000000000..4b87b9340
--- /dev/null
+++ b/target/arm/systems/st-stm32f746g
@@ -0,0 +1,14 @@
+config ADK_TARGET_SYSTEM_ST_STM32F746G
+ bool "STMicroelectronics STM32F746G Disco"
+ depends on ADK_TARGET_OS_LINUX
+ select ADK_TARGET_LITTLE_ENDIAN
+ select ADK_TARGET_CPU_ARM_CORTEX_M7
+ select ADK_TARGET_ARCH_ARM_WITH_THUMB
+ select ADK_TARGET_WITH_SERIAL
+ select ADK_TARGET_UCLINUX
+ select ADK_TARGET_KERNEL_WITH_COMPRESSION
+ select ADK_TARGET_KERNEL_ZIMAGE
+ select ADK_HOST_BUILD_OPENOCD
+ help
+ STMicroelectronics STM32F746G Disco
+
diff --git a/target/arm/systems/synology-ds414 b/target/arm/systems/synology-ds414
new file mode 100644
index 000000000..24f4addc3
--- /dev/null
+++ b/target/arm/systems/synology-ds414
@@ -0,0 +1,20 @@
+config ADK_TARGET_SYSTEM_SYNOLOGY_DS414
+ bool "Synology DS414"
+ select ADK_TARGET_CPU_ARM_MVEBU
+ select ADK_TARGET_LITTLE_ENDIAN
+ select ADK_TARGET_KERNEL_UIMAGE
+ select ADK_TARGET_WITH_SERIAL
+ select ADK_TARGET_WITH_CPU_FREQ
+ select ADK_TARGET_WITH_USB
+ select ADK_TARGET_WITH_SD
+ select ADK_TARGET_WITH_I2C
+ select ADK_TARGET_WITH_SPI
+ select ADK_TARGET_WITH_LEDS
+ select ADK_TARGET_WITH_WATCHDOG
+ select ADK_TARGET_WITH_SMP
+ select ADK_TARGET_WITH_ROOT_RW
+ select ADK_TARGET_WITH_NET
+ select ADK_TARGET_WITH_NETDEVICE
+ select ADK_TARGET_WITH_BLOCK
+ help
+ The DS414 is a four-slot NAS featuring a Marvell ArmadaXP SoC.
diff --git a/target/arm/uclibc-ng-nommu.config b/target/arm/uclibc-ng-nommu.config
new file mode 100644
index 000000000..45db787b4
--- /dev/null
+++ b/target/arm/uclibc-ng-nommu.config
@@ -0,0 +1,234 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# uClibc-ng 1.0.45 C Library Configuration
+#
+# TARGET_aarch64 is not set
+# TARGET_alpha is not set
+# TARGET_arc is not set
+TARGET_arm=y
+# TARGET_avr32 is not set
+# TARGET_bfin is not set
+# TARGET_c6x is not set
+# TARGET_cris is not set
+# TARGET_csky is not set
+# TARGET_frv is not set
+# TARGET_h8300 is not set
+# TARGET_hppa is not set
+# TARGET_i386 is not set
+# TARGET_ia64 is not set
+# TARGET_kvx is not set
+# TARGET_lm32 is not set
+# TARGET_m68k is not set
+# TARGET_metag is not set
+# TARGET_microblaze is not set
+# TARGET_mips is not set
+# TARGET_nds32 is not set
+# TARGET_nios2 is not set
+# TARGET_or1k is not set
+# TARGET_powerpc is not set
+# TARGET_riscv64 is not set
+# TARGET_riscv32 is not set
+# TARGET_sh is not set
+# TARGET_sparc is not set
+# TARGET_sparc64 is not set
+# TARGET_tile is not set
+# TARGET_x86_64 is not set
+# TARGET_xtensa is not set
+TARGET_LDSO_NAME="ld-uClibc"
+TARGET_ARCH_BITS=32
+
+#
+# Target Architecture Features and Options
+#
+TARGET_ARCH="arm"
+FORCE_OPTIONS_FOR_ARCH=y
+CONFIG_ARM_EABI=y
+TARGET_SUBARCH=""
+UCLIBC_FORMAT_ELF=y
+# UCLIBC_FORMAT_FDPIC_ELF is not set
+# UCLIBC_FORMAT_FLAT is not set
+# UCLIBC_FORMAT_FLAT_SEP_DATA is not set
+# UCLIBC_FORMAT_SHARED_FLAT is not set
+ARCH_HAS_DEPRECATED_SYSCALLS=y
+ARCH_ANY_ENDIAN=y
+ARCH_LITTLE_ENDIAN=y
+# ARCH_WANTS_BIG_ENDIAN is not set
+ARCH_WANTS_LITTLE_ENDIAN=y
+ARCH_HAS_MMU=y
+# ARCH_USE_MMU is not set
+UCLIBC_HAS_FLOATS=y
+# UCLIBC_HAS_FPU is not set
+UCLIBC_HAS_SOFT_FLOAT=y
+DO_C99_MATH=y
+DO_XSI_MATH=y
+UCLIBC_HAS_LONG_DOUBLE_MATH=y
+KERNEL_HEADERS=""
+UCLIBC_UCLINUX_BROKEN_MUNMAP=y
+HAVE_DOT_CONFIG=y
+
+#
+# General Library Settings
+#
+DOPIC=y
+STATIC_PIE=y
+ARCH_HAS_NO_SHARED=y
+ARCH_HAS_UCONTEXT=y
+HAVE_LDSO=y
+UCLIBC_CTOR_DTOR=y
+HAS_NO_THREADS=y
+# UCLIBC_HAS_LINUXTHREADS is not set
+# UCLIBC_HAS_THREADS_NATIVE is not set
+PTHREADS_STACK_DEFAULT_SIZE=2097152
+UCLIBC_HAS_SYSLOG=y
+UCLIBC_HAS_LFS=y
+MALLOC=y
+# MALLOC_SIMPLE is not set
+UCLIBC_DYNAMIC_ATEXIT=y
+UCLIBC_HAS_UTMPX=y
+UCLIBC_HAS_UTMP=y
+UCLIBC_SUSV2_LEGACY=y
+UCLIBC_SUSV3_LEGACY=y
+UCLIBC_HAS_CONTEXT_FUNCS=y
+# UCLIBC_SUSV3_LEGACY_MACROS is not set
+UCLIBC_SUSV4_LEGACY=y
+# UCLIBC_STRICT_HEADERS is not set
+# UCLIBC_HAS_STUBS is not set
+UCLIBC_HAS_SHADOW=y
+UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y
+UCLIBC_HAS___PROGNAME=y
+UCLIBC_HAS_PTY=y
+ASSUME_DEVPTS=y
+UNIX98PTY_ONLY=y
+UCLIBC_HAS_GETPT=y
+UCLIBC_HAS_LIBUTIL=y
+UCLIBC_HAS_TM_EXTENSIONS=y
+UCLIBC_HAS_TZ_CACHING=y
+UCLIBC_HAS_TZ_FILE=y
+UCLIBC_HAS_TZ_FILE_READ_MANY=y
+UCLIBC_TZ_FILE_PATH="/etc/TZ"
+UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
+UCLIBC_USE_TIME64=y
+
+#
+# Advanced Library Settings
+#
+UCLIBC_PWD_BUFFER_SIZE=256
+UCLIBC_GRP_BUFFER_SIZE=256
+
+#
+# Support various families of functions
+#
+UCLIBC_LINUX_SPECIFIC=y
+UCLIBC_HAS_GNU_ERROR=y
+UCLIBC_BSD_SPECIFIC=y
+UCLIBC_HAS_BSD_ERR=y
+UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
+UCLIBC_HAS_BSD_B64_NTOP_B64_PTON=y
+# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
+# UCLIBC_NTP_LEGACY is not set
+UCLIBC_SV4_DEPRECATED=y
+UCLIBC_HAS_REALTIME=y
+UCLIBC_HAS_ADVANCED_REALTIME=y
+UCLIBC_HAS_EPOLL=y
+UCLIBC_HAS_XATTR=y
+# UCLIBC_HAS_PROFILING is not set
+UCLIBC_HAS_CRYPT_IMPL=y
+UCLIBC_HAS_SHA256_CRYPT_IMPL=y
+UCLIBC_HAS_SHA512_CRYPT_IMPL=y
+UCLIBC_HAS_CRYPT=y
+UCLIBC_HAS_NETWORK_SUPPORT=y
+UCLIBC_HAS_SOCKET=y
+UCLIBC_HAS_IPV4=y
+UCLIBC_HAS_IPV6=y
+UCLIBC_USE_NETLINK=y
+UCLIBC_SUPPORT_AI_ADDRCONFIG=y
+UCLIBC_HAS_BSD_RES_CLOSE=y
+UCLIBC_HAS_COMPAT_RES_STATE=y
+# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
+UCLIBC_HAS_RESOLVER_SUPPORT=y
+# UCLIBC_DNSRAND_MODE_URANDOM is not set
+# UCLIBC_DNSRAND_MODE_CLOCK is not set
+UCLIBC_DNSRAND_MODE_PRNGPLUS=y
+# UCLIBC_DNSRAND_MODE_SIMPLECOUNTER is not set
+
+#
+# String and Stdio Support
+#
+UCLIBC_HAS_STRING_GENERIC_OPT=y
+UCLIBC_HAS_STRING_ARCH_OPT=y
+UCLIBC_HAS_CTYPE_TABLES=y
+UCLIBC_HAS_CTYPE_SIGNED=y
+# UCLIBC_HAS_CTYPE_UNSAFE is not set
+UCLIBC_HAS_CTYPE_CHECKED=y
+# UCLIBC_HAS_CTYPE_ENFORCED is not set
+UCLIBC_HAS_WCHAR=y
+# UCLIBC_HAS_LIBICONV is not set
+# UCLIBC_HAS_LIBINTL is not set
+# UCLIBC_HAS_LOCALE is not set
+UCLIBC_HAS_HEXADECIMAL_FLOATS=y
+UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
+UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
+# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
+UCLIBC_HAS_STDIO_BUFSIZ_4096=y
+# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
+UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
+# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
+UCLIBC_HAS_STDIO_GETC_MACRO=y
+UCLIBC_HAS_STDIO_PUTC_MACRO=y
+UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
+# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
+UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
+UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE=y
+UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
+UCLIBC_HAS_PRINTF_M_SPEC=y
+UCLIBC_HAS_ERRNO_MESSAGES=y
+# UCLIBC_HAS_SYS_ERRLIST is not set
+UCLIBC_HAS_SIGNUM_MESSAGES=y
+# UCLIBC_HAS_SYS_SIGLIST is not set
+UCLIBC_HAS_GNU_GETOPT=y
+UCLIBC_HAS_GETOPT_LONG=y
+UCLIBC_HAS_GNU_GETSUBOPT=y
+UCLIBC_HAS_ARGP=y
+
+#
+# Big and Tall
+#
+UCLIBC_HAS_REGEX=y
+UCLIBC_HAS_FNMATCH=y
+UCLIBC_HAS_WORDEXP=y
+UCLIBC_HAS_NFTW=y
+UCLIBC_HAS_FTW=y
+UCLIBC_HAS_FTS=y
+UCLIBC_HAS_GLOB=y
+UCLIBC_HAS_GNU_GLOB=y
+
+#
+# Library Installation Options
+#
+RUNTIME_PREFIX="/"
+DEVEL_PREFIX="/usr/"
+MULTILIB_DIR="lib"
+HARDWIRED_ABSPATH=y
+
+#
+# Security options
+#
+# UCLIBC_HAS_SSP is not set
+UCLIBC_BUILD_NOEXECSTACK=y
+
+#
+# Development/debugging options
+#
+CROSS_COMPILER_PREFIX=""
+UCLIBC_EXTRA_CFLAGS=""
+# DODEBUG is not set
+# DOSTRIP is not set
+# DOASSERTS is not set
+# UCLIBC_MALLOC_DEBUGGING is not set
+WARNINGS="-Wall"
+# EXTRA_WARNINGS is not set
diff --git a/target/arm/uclibc-ng.config b/target/arm/uclibc-ng.config
index 810da5877..1febdc74d 100644
--- a/target/arm/uclibc-ng.config
+++ b/target/arm/uclibc-ng.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# uClibc-ng 1.0.30 C Library Configuration
+# uClibc-ng 1.0.45 C Library Configuration
#
# TARGET_aarch64 is not set
# TARGET_alpha is not set
@@ -16,6 +16,7 @@ TARGET_arm=y
# TARGET_hppa is not set
# TARGET_i386 is not set
# TARGET_ia64 is not set
+# TARGET_kvx is not set
# TARGET_lm32 is not set
# TARGET_m68k is not set
# TARGET_metag is not set
@@ -25,12 +26,16 @@ TARGET_arm=y
# TARGET_nios2 is not set
# TARGET_or1k is not set
# TARGET_powerpc is not set
+# TARGET_riscv64 is not set
+# TARGET_riscv32 is not set
# TARGET_sh is not set
# TARGET_sparc is not set
# TARGET_sparc64 is not set
# TARGET_tile is not set
# TARGET_x86_64 is not set
# TARGET_xtensa is not set
+TARGET_LDSO_NAME="ld-uClibc"
+TARGET_ARCH_BITS=32
#
# Target Architecture Features and Options
@@ -63,7 +68,9 @@ HAVE_DOT_CONFIG=y
# General Library Settings
#
DOPIC=y
+# STATIC_PIE is not set
ARCH_HAS_UCONTEXT=y
+HAVE_LDSO=y
HAVE_SHARED=y
# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
LDSO_LDD_SUPPORT=y
@@ -87,6 +94,7 @@ UCLIBC_HAS_THREADS_NATIVE=y
UCLIBC_HAS_THREADS=y
UCLIBC_HAS_TLS=y
PTHREADS_DEBUG_SUPPORT=y
+PTHREADS_STACK_DEFAULT_SIZE=2097152
UCLIBC_HAS_SYSLOG=y
UCLIBC_HAS_LFS=y
# MALLOC is not set
@@ -116,6 +124,7 @@ UCLIBC_HAS_TZ_FILE=y
UCLIBC_HAS_TZ_FILE_READ_MANY=y
UCLIBC_TZ_FILE_PATH="/etc/TZ"
UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
+UCLIBC_USE_TIME64=y
#
# Advanced Library Settings
@@ -131,6 +140,7 @@ UCLIBC_HAS_GNU_ERROR=y
UCLIBC_BSD_SPECIFIC=y
UCLIBC_HAS_BSD_ERR=y
UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
+UCLIBC_HAS_BSD_B64_NTOP_B64_PTON=y
# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
# UCLIBC_NTP_LEGACY is not set
UCLIBC_SV4_DEPRECATED=y
@@ -153,6 +163,10 @@ UCLIBC_HAS_BSD_RES_CLOSE=y
UCLIBC_HAS_COMPAT_RES_STATE=y
# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
UCLIBC_HAS_RESOLVER_SUPPORT=y
+# UCLIBC_DNSRAND_MODE_URANDOM is not set
+# UCLIBC_DNSRAND_MODE_CLOCK is not set
+UCLIBC_DNSRAND_MODE_PRNGPLUS=y
+# UCLIBC_DNSRAND_MODE_SIMPLECOUNTER is not set
#
# String and Stdio Support
diff --git a/target/avr32/Makefile b/target/avr32/Makefile
index 1f055993d..75ec3679a 100644
--- a/target/avr32/Makefile
+++ b/target/avr32/Makefile
@@ -11,6 +11,11 @@ KERNEL:=$(LINUX_DIR)/arch/avr32/boot/images/uImage
ifeq ($(ADK_TARGET_FS),archive)
targethelp:
@echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSTARBALL)"
+ @echo "Use following command to install it on SD card:"
+ @echo "sudo ./scripts/install.sh $(ADK_TARGET_SYSTEM) /dev/sdX $(FW_DIR)/$(ROOTFSTARBALL)"
+ @echo "U-Boot commands:"
+ @echo "set bootargs 'console=ttyS0 root=/dev/mmcblk0p1 ro rootwait'"
+ @echo "ext2load mmc 0:1 0x10300000 /boot/kernel; bootm 0x10300000"
endif
ifeq ($(ADK_TARGET_FS),nfsroot)
targethelp:
diff --git a/target/avr32/patches/4.4.302/revert-futex.patch b/target/avr32/patches/4.4.302/revert-futex.patch
new file mode 100644
index 000000000..dd0e5c23a
--- /dev/null
+++ b/target/avr32/patches/4.4.302/revert-futex.patch
@@ -0,0 +1,22 @@
+diff -Nur linux-4.4.302.orig/kernel/futex.c linux-4.4.302/kernel/futex.c
+--- linux-4.4.302.orig/kernel/futex.c 2022-02-03 09:27:54.000000000 +0100
++++ linux-4.4.302/kernel/futex.c 2023-02-19 14:03:07.727035123 +0100
+@@ -1701,16 +1701,8 @@
+ int oldval, ret;
+
+ if (encoded_op & (FUTEX_OP_OPARG_SHIFT << 28)) {
+- if (oparg < 0 || oparg > 31) {
+- char comm[sizeof(current->comm)];
+- /*
+- * kill this print and return -EINVAL when userspace
+- * is sane again
+- */
+- pr_info_ratelimited("futex_wake_op: %s tries to shift op by %d; fix this program\n",
+- get_task_comm(comm, current), oparg);
+- oparg &= 31;
+- }
++ if (oparg < 0 || oparg > 31)
++ return -EINVAL;
+ oparg = 1 << oparg;
+ }
+
diff --git a/target/avr32/systems/atmel-ngw100 b/target/avr32/systems/atmel-ngw100
index 3c5808d90..28f06acf9 100644
--- a/target/avr32/systems/atmel-ngw100
+++ b/target/avr32/systems/atmel-ngw100
@@ -6,6 +6,7 @@ config ADK_TARGET_SYSTEM_ATMEL_NGW100
select ADK_TARGET_WITH_NET
select ADK_TARGET_WITH_NETDEVICE
select ADK_TARGET_WITH_BLOCK
+ select ADK_TARGET_WITH_SD
select ADK_TARGET_KERNEL_UIMAGE
select ADK_TARGET_KERNEL_WITH_COMPRESSION
select ADK_HOST_BUILD_U_BOOT
diff --git a/target/bfin/Makefile b/target/bfin/Makefile
index 5db509c5c..084de21d1 100644
--- a/target/bfin/Makefile
+++ b/target/bfin/Makefile
@@ -27,7 +27,7 @@ targethelp:
@echo 'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}'
ifeq ($(ADK_TARGET_SIM),y)
@echo "Run the simulator via:"
- @echo '$(TARGET_CROSS)run --env operating --model bf512 $(FW_DIR)/$(TARGET_KERNEL)'
+ @echo '$(TARGET_CROSS)run --environment operating --model bf512 $(FW_DIR)/$(TARGET_KERNEL)'
endif
endif
ifeq ($(ADK_TARGET_FS),nfsroot)
diff --git a/target/bfin/uclibc-ng.config b/target/bfin/uclibc-ng-nommu.config
index 24c45006a..24c45006a 100644
--- a/target/bfin/uclibc-ng.config
+++ b/target/bfin/uclibc-ng-nommu.config
diff --git a/target/c6x/uclibc-ng-nommu.config b/target/c6x/uclibc-ng-nommu.config
new file mode 100644
index 000000000..a304217ab
--- /dev/null
+++ b/target/c6x/uclibc-ng-nommu.config
@@ -0,0 +1,254 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# uClibc-ng 1.0.45 C Library Configuration
+#
+# TARGET_aarch64 is not set
+# TARGET_alpha is not set
+# TARGET_arc is not set
+# TARGET_arm is not set
+# TARGET_avr32 is not set
+# TARGET_bfin is not set
+TARGET_c6x=y
+# TARGET_cris is not set
+# TARGET_csky is not set
+# TARGET_frv is not set
+# TARGET_h8300 is not set
+# TARGET_hppa is not set
+# TARGET_i386 is not set
+# TARGET_ia64 is not set
+# TARGET_kvx is not set
+# TARGET_lm32 is not set
+# TARGET_m68k is not set
+# TARGET_metag is not set
+# TARGET_microblaze is not set
+# TARGET_mips is not set
+# TARGET_nds32 is not set
+# TARGET_nios2 is not set
+# TARGET_or1k is not set
+# TARGET_powerpc is not set
+# TARGET_riscv64 is not set
+# TARGET_riscv32 is not set
+# TARGET_sh is not set
+# TARGET_sparc is not set
+# TARGET_sparc64 is not set
+# TARGET_tile is not set
+# TARGET_x86_64 is not set
+# TARGET_xtensa is not set
+TARGET_LDSO_NAME="ld-uClibc"
+TARGET_ARCH_BITS=32
+
+#
+# Target Architecture Features and Options
+#
+TARGET_ARCH="c6x"
+FORCE_OPTIONS_FOR_ARCH=y
+CONFIG_GENERIC_C6X=y
+# CONFIG_TMS320C64X is not set
+# CONFIG_TMS320C64XPLUS is not set
+TARGET_SUBARCH=""
+UCLIBC_FORMAT_DSBT_ELF=y
+# UCLIBC_FORMAT_FLAT is not set
+# UCLIBC_FORMAT_FLAT_SEP_DATA is not set
+# UCLIBC_FORMAT_SHARED_FLAT is not set
+ARCH_ANY_ENDIAN=y
+ARCH_LITTLE_ENDIAN=y
+# ARCH_WANTS_BIG_ENDIAN is not set
+ARCH_WANTS_LITTLE_ENDIAN=y
+ARCH_HAS_NO_MMU=y
+
+#
+# Target CPU lacks a memory management unit (MMU)
+#
+UCLIBC_HAS_FLOATS=y
+UCLIBC_HAS_FPU=y
+DO_C99_MATH=y
+DO_XSI_MATH=y
+UCLIBC_HAS_LONG_DOUBLE_MATH=y
+KERNEL_HEADERS=""
+UCLIBC_UCLINUX_BROKEN_MUNMAP=y
+HAVE_DOT_CONFIG=y
+
+#
+# General Library Settings
+#
+DOPIC=y
+HAVE_LDSO=y
+HAVE_SHARED=y
+FORCE_SHAREABLE_TEXT_SEGMENTS=y
+LDSO_LDD_SUPPORT=y
+LDSO_CACHE_SUPPORT=y
+# LDSO_PRELOAD_ENV_SUPPORT is not set
+# LDSO_PRELOAD_FILE_SUPPORT is not set
+LDSO_BASE_FILENAME="ld.so"
+# LDSO_STANDALONE_SUPPORT is not set
+# LDSO_PRELINK_SUPPORT is not set
+# UCLIBC_STATIC_LDCONFIG is not set
+LDSO_RUNPATH=y
+LDSO_RUNPATH_OF_EXECUTABLE=y
+LDSO_SAFE_RUNPATH=y
+LDSO_SEARCH_INTERP_PATH=y
+LDSO_LD_LIBRARY_PATH=y
+UCLIBC_CTOR_DTOR=y
+# LDSO_GNU_HASH_SUPPORT is not set
+# HAS_NO_THREADS is not set
+UCLIBC_HAS_LINUXTHREADS=y
+UCLIBC_HAS_THREADS=y
+PTHREADS_DEBUG_SUPPORT=y
+PTHREADS_STACK_DEFAULT_SIZE=2097152
+UCLIBC_HAS_SYSLOG=y
+UCLIBC_HAS_LFS=y
+MALLOC=y
+# MALLOC_SIMPLE is not set
+UCLIBC_DYNAMIC_ATEXIT=y
+UCLIBC_HAS_UTMPX=y
+UCLIBC_HAS_UTMP=y
+UCLIBC_SUSV2_LEGACY=y
+UCLIBC_SUSV3_LEGACY=y
+# UCLIBC_SUSV3_LEGACY_MACROS is not set
+UCLIBC_SUSV4_LEGACY=y
+# UCLIBC_STRICT_HEADERS is not set
+# UCLIBC_HAS_STUBS is not set
+UCLIBC_HAS_SHADOW=y
+UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y
+UCLIBC_HAS___PROGNAME=y
+UCLIBC_HAS_PTY=y
+ASSUME_DEVPTS=y
+UNIX98PTY_ONLY=y
+UCLIBC_HAS_GETPT=y
+UCLIBC_HAS_LIBUTIL=y
+UCLIBC_HAS_TM_EXTENSIONS=y
+UCLIBC_HAS_TZ_CACHING=y
+UCLIBC_HAS_TZ_FILE=y
+UCLIBC_HAS_TZ_FILE_READ_MANY=y
+UCLIBC_TZ_FILE_PATH="/etc/TZ"
+UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
+
+#
+# Advanced Library Settings
+#
+UCLIBC_PWD_BUFFER_SIZE=256
+UCLIBC_GRP_BUFFER_SIZE=256
+
+#
+# Support various families of functions
+#
+UCLIBC_LINUX_SPECIFIC=y
+UCLIBC_HAS_GNU_ERROR=y
+UCLIBC_BSD_SPECIFIC=y
+UCLIBC_HAS_BSD_ERR=y
+UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
+# UCLIBC_HAS_BSD_B64_NTOP_B64_PTON is not set
+# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
+# UCLIBC_NTP_LEGACY is not set
+UCLIBC_SV4_DEPRECATED=y
+UCLIBC_HAS_REALTIME=y
+UCLIBC_HAS_ADVANCED_REALTIME=y
+UCLIBC_HAS_EPOLL=y
+UCLIBC_HAS_XATTR=y
+# UCLIBC_HAS_PROFILING is not set
+UCLIBC_HAS_CRYPT_IMPL=y
+UCLIBC_HAS_SHA256_CRYPT_IMPL=y
+UCLIBC_HAS_SHA512_CRYPT_IMPL=y
+UCLIBC_HAS_CRYPT=y
+UCLIBC_HAS_NETWORK_SUPPORT=y
+UCLIBC_HAS_SOCKET=y
+UCLIBC_HAS_IPV4=y
+UCLIBC_HAS_IPV6=y
+UCLIBC_USE_NETLINK=y
+UCLIBC_SUPPORT_AI_ADDRCONFIG=y
+UCLIBC_HAS_BSD_RES_CLOSE=y
+UCLIBC_HAS_COMPAT_RES_STATE=y
+# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
+UCLIBC_HAS_RESOLVER_SUPPORT=y
+# UCLIBC_DNSRAND_MODE_URANDOM is not set
+# UCLIBC_DNSRAND_MODE_CLOCK is not set
+UCLIBC_DNSRAND_MODE_PRNGPLUS=y
+# UCLIBC_DNSRAND_MODE_SIMPLECOUNTER is not set
+
+#
+# String and Stdio Support
+#
+UCLIBC_HAS_STRING_GENERIC_OPT=y
+UCLIBC_HAS_STRING_ARCH_OPT=y
+UCLIBC_HAS_CTYPE_TABLES=y
+UCLIBC_HAS_CTYPE_SIGNED=y
+# UCLIBC_HAS_CTYPE_UNSAFE is not set
+UCLIBC_HAS_CTYPE_CHECKED=y
+# UCLIBC_HAS_CTYPE_ENFORCED is not set
+UCLIBC_HAS_WCHAR=y
+# UCLIBC_HAS_LIBICONV is not set
+# UCLIBC_HAS_LIBINTL is not set
+# UCLIBC_HAS_LOCALE is not set
+UCLIBC_HAS_HEXADECIMAL_FLOATS=y
+UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
+UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
+# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
+UCLIBC_HAS_STDIO_BUFSIZ_4096=y
+# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
+UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
+# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
+UCLIBC_HAS_STDIO_GETC_MACRO=y
+UCLIBC_HAS_STDIO_PUTC_MACRO=y
+UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
+# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
+UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
+UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE=y
+UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
+UCLIBC_HAS_PRINTF_M_SPEC=y
+UCLIBC_HAS_ERRNO_MESSAGES=y
+# UCLIBC_HAS_SYS_ERRLIST is not set
+UCLIBC_HAS_SIGNUM_MESSAGES=y
+# UCLIBC_HAS_SYS_SIGLIST is not set
+UCLIBC_HAS_GNU_GETOPT=y
+UCLIBC_HAS_GETOPT_LONG=y
+UCLIBC_HAS_GNU_GETSUBOPT=y
+UCLIBC_HAS_ARGP=y
+
+#
+# Big and Tall
+#
+UCLIBC_HAS_REGEX=y
+UCLIBC_HAS_FNMATCH=y
+UCLIBC_HAS_WORDEXP=y
+UCLIBC_HAS_NFTW=y
+UCLIBC_HAS_FTW=y
+UCLIBC_HAS_FTS=y
+UCLIBC_HAS_GLOB=y
+UCLIBC_HAS_GNU_GLOB=y
+
+#
+# Library Installation Options
+#
+RUNTIME_PREFIX="/"
+DEVEL_PREFIX="/usr/"
+MULTILIB_DIR="lib"
+HARDWIRED_ABSPATH=y
+
+#
+# Security options
+#
+# UCLIBC_HAS_SSP is not set
+# UCLIBC_BUILD_RELRO is not set
+# UCLIBC_BUILD_NOW is not set
+UCLIBC_BUILD_NOEXECSTACK=y
+
+#
+# Development/debugging options
+#
+CROSS_COMPILER_PREFIX=""
+UCLIBC_EXTRA_CFLAGS=""
+# DODEBUG is not set
+# DODEBUG_PT is not set
+# DOSTRIP is not set
+# DOASSERTS is not set
+# SUPPORT_LD_DEBUG is not set
+# SUPPORT_LD_DEBUG_EARLY is not set
+# UCLIBC_MALLOC_DEBUGGING is not set
+# UCLIBC_HAS_BACKTRACE is not set
+WARNINGS="-Wall"
+# EXTRA_WARNINGS is not set
diff --git a/target/c6x/uclibc-ng.config b/target/c6x/uclibc-ng.config
deleted file mode 100644
index d076edcf2..000000000
--- a/target/c6x/uclibc-ng.config
+++ /dev/null
@@ -1,243 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# uClibc-ng 1.0.25 C Library Configuration
-#
-# TARGET_aarch64 is not set
-# TARGET_alpha is not set
-# TARGET_arc is not set
-# TARGET_arm is not set
-# TARGET_avr32 is not set
-# TARGET_bfin is not set
-TARGET_c6x=y
-# TARGET_cris is not set
-# TARGET_frv is not set
-# TARGET_h8300 is not set
-# TARGET_hppa is not set
-# TARGET_i386 is not set
-# TARGET_ia64 is not set
-# TARGET_lm32 is not set
-# TARGET_m68k is not set
-# TARGET_metag is not set
-# TARGET_microblaze is not set
-# TARGET_mips is not set
-# TARGET_nds32 is not set
-# TARGET_nios2 is not set
-# TARGET_or1k is not set
-# TARGET_powerpc is not set
-# TARGET_sh is not set
-# TARGET_sparc is not set
-# TARGET_sparc64 is not set
-# TARGET_x86_64 is not set
-# TARGET_xtensa is not set
-
-#
-# Target Architecture Features and Options
-#
-TARGET_ARCH="c6x"
-FORCE_OPTIONS_FOR_ARCH=y
-CONFIG_GENERIC_C6X=y
-# CONFIG_TMS320C64X is not set
-# CONFIG_TMS320C64XPLUS is not set
-TARGET_SUBARCH=""
-UCLIBC_FORMAT_DSBT_ELF=y
-# UCLIBC_FORMAT_FLAT is not set
-# UCLIBC_FORMAT_FLAT_SEP_DATA is not set
-# UCLIBC_FORMAT_SHARED_FLAT is not set
-ARCH_ANY_ENDIAN=y
-ARCH_LITTLE_ENDIAN=y
-# ARCH_WANTS_BIG_ENDIAN is not set
-ARCH_WANTS_LITTLE_ENDIAN=y
-ARCH_HAS_NO_MMU=y
-
-#
-# Target CPU lacks a memory management unit (MMU)
-#
-UCLIBC_HAS_FLOATS=y
-UCLIBC_HAS_FPU=y
-DO_C99_MATH=y
-DO_XSI_MATH=y
-# UCLIBC_HAS_FENV is not set
-UCLIBC_HAS_LONG_DOUBLE_MATH=y
-KERNEL_HEADERS=""
-UCLIBC_UCLINUX_BROKEN_MUNMAP=y
-HAVE_DOT_CONFIG=y
-
-#
-# General Library Settings
-#
-DOPIC=y
-HAVE_SHARED=y
-FORCE_SHAREABLE_TEXT_SEGMENTS=y
-LDSO_LDD_SUPPORT=y
-LDSO_CACHE_SUPPORT=y
-# LDSO_PRELOAD_ENV_SUPPORT is not set
-# LDSO_PRELOAD_FILE_SUPPORT is not set
-LDSO_BASE_FILENAME="ld.so"
-# LDSO_STANDALONE_SUPPORT is not set
-# LDSO_PRELINK_SUPPORT is not set
-# UCLIBC_STATIC_LDCONFIG is not set
-LDSO_RUNPATH=y
-LDSO_RUNPATH_OF_EXECUTABLE=y
-LDSO_SAFE_RUNPATH=y
-LDSO_SEARCH_INTERP_PATH=y
-LDSO_LD_LIBRARY_PATH=y
-LDSO_NO_CLEANUP=y
-UCLIBC_CTOR_DTOR=y
-# LDSO_GNU_HASH_SUPPORT is not set
-# HAS_NO_THREADS is not set
-UCLIBC_HAS_LINUXTHREADS=y
-UCLIBC_HAS_THREADS=y
-PTHREADS_DEBUG_SUPPORT=y
-UCLIBC_HAS_SYSLOG=y
-UCLIBC_HAS_LFS=y
-MALLOC=y
-# MALLOC_SIMPLE is not set
-UCLIBC_DYNAMIC_ATEXIT=y
-UCLIBC_HAS_UTMPX=y
-UCLIBC_HAS_UTMP=y
-UCLIBC_SUSV2_LEGACY=y
-UCLIBC_SUSV3_LEGACY=y
-# UCLIBC_SUSV3_LEGACY_MACROS is not set
-UCLIBC_SUSV4_LEGACY=y
-# UCLIBC_STRICT_HEADERS is not set
-# UCLIBC_HAS_STUBS is not set
-UCLIBC_HAS_SHADOW=y
-UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y
-UCLIBC_HAS___PROGNAME=y
-UCLIBC_HAS_PTY=y
-ASSUME_DEVPTS=y
-UNIX98PTY_ONLY=y
-UCLIBC_HAS_GETPT=y
-UCLIBC_HAS_LIBUTIL=y
-UCLIBC_HAS_TM_EXTENSIONS=y
-UCLIBC_HAS_TZ_CACHING=y
-UCLIBC_HAS_TZ_FILE=y
-UCLIBC_HAS_TZ_FILE_READ_MANY=y
-UCLIBC_TZ_FILE_PATH="/etc/TZ"
-UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
-
-#
-# Advanced Library Settings
-#
-UCLIBC_PWD_BUFFER_SIZE=256
-UCLIBC_GRP_BUFFER_SIZE=256
-
-#
-# Support various families of functions
-#
-UCLIBC_LINUX_SPECIFIC=y
-UCLIBC_HAS_GNU_ERROR=y
-UCLIBC_BSD_SPECIFIC=y
-UCLIBC_HAS_BSD_ERR=y
-UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
-# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
-# UCLIBC_NTP_LEGACY is not set
-UCLIBC_SV4_DEPRECATED=y
-UCLIBC_HAS_REALTIME=y
-UCLIBC_HAS_ADVANCED_REALTIME=y
-UCLIBC_HAS_EPOLL=y
-UCLIBC_HAS_XATTR=y
-# UCLIBC_HAS_PROFILING is not set
-UCLIBC_HAS_CRYPT_IMPL=y
-UCLIBC_HAS_SHA256_CRYPT_IMPL=y
-UCLIBC_HAS_SHA512_CRYPT_IMPL=y
-UCLIBC_HAS_CRYPT=y
-UCLIBC_HAS_NETWORK_SUPPORT=y
-UCLIBC_HAS_SOCKET=y
-UCLIBC_HAS_IPV4=y
-UCLIBC_HAS_IPV6=y
-UCLIBC_USE_NETLINK=y
-UCLIBC_SUPPORT_AI_ADDRCONFIG=y
-UCLIBC_HAS_BSD_RES_CLOSE=y
-UCLIBC_HAS_COMPAT_RES_STATE=y
-# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
-UCLIBC_HAS_RESOLVER_SUPPORT=y
-
-#
-# String and Stdio Support
-#
-UCLIBC_HAS_STRING_GENERIC_OPT=y
-UCLIBC_HAS_STRING_ARCH_OPT=y
-UCLIBC_HAS_CTYPE_TABLES=y
-UCLIBC_HAS_CTYPE_SIGNED=y
-# UCLIBC_HAS_CTYPE_UNSAFE is not set
-UCLIBC_HAS_CTYPE_CHECKED=y
-# UCLIBC_HAS_CTYPE_ENFORCED is not set
-UCLIBC_HAS_WCHAR=y
-# UCLIBC_HAS_LIBICONV is not set
-# UCLIBC_HAS_LIBINTL is not set
-# UCLIBC_HAS_LOCALE is not set
-UCLIBC_HAS_HEXADECIMAL_FLOATS=y
-UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
-UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
-# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
-UCLIBC_HAS_STDIO_BUFSIZ_4096=y
-# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
-UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
-# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
-UCLIBC_HAS_STDIO_GETC_MACRO=y
-UCLIBC_HAS_STDIO_PUTC_MACRO=y
-UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
-# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
-UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
-UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE=y
-UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
-UCLIBC_HAS_PRINTF_M_SPEC=y
-UCLIBC_HAS_ERRNO_MESSAGES=y
-# UCLIBC_HAS_SYS_ERRLIST is not set
-UCLIBC_HAS_SIGNUM_MESSAGES=y
-# UCLIBC_HAS_SYS_SIGLIST is not set
-UCLIBC_HAS_GNU_GETOPT=y
-UCLIBC_HAS_GETOPT_LONG=y
-UCLIBC_HAS_GNU_GETSUBOPT=y
-UCLIBC_HAS_ARGP=y
-
-#
-# Big and Tall
-#
-UCLIBC_HAS_REGEX=y
-UCLIBC_HAS_FNMATCH=y
-UCLIBC_HAS_WORDEXP=y
-UCLIBC_HAS_NFTW=y
-UCLIBC_HAS_FTW=y
-UCLIBC_HAS_FTS=y
-UCLIBC_HAS_GLOB=y
-UCLIBC_HAS_GNU_GLOB=y
-
-#
-# Library Installation Options
-#
-RUNTIME_PREFIX="/"
-DEVEL_PREFIX="/usr/"
-MULTILIB_DIR="lib"
-HARDWIRED_ABSPATH=y
-
-#
-# Security options
-#
-# UCLIBC_HAS_ARC4RANDOM is not set
-# UCLIBC_HAS_SSP is not set
-# UCLIBC_BUILD_RELRO is not set
-# UCLIBC_BUILD_NOW is not set
-UCLIBC_BUILD_NOEXECSTACK=y
-
-#
-# Development/debugging options
-#
-CROSS_COMPILER_PREFIX=""
-UCLIBC_EXTRA_CFLAGS=""
-# DODEBUG is not set
-# DODEBUG_PT is not set
-# DOSTRIP is not set
-# DOASSERTS is not set
-# SUPPORT_LD_DEBUG is not set
-# SUPPORT_LD_DEBUG_EARLY is not set
-# UCLIBC_MALLOC_DEBUGGING is not set
-# UCLIBC_HAS_BACKTRACE is not set
-WARNINGS="-Wall"
-# EXTRA_WARNINGS is not set
diff --git a/target/config/Config.in b/target/config/Config.in
index bb0cd73c4..77fc1022f 100644
--- a/target/config/Config.in
+++ b/target/config/Config.in
@@ -25,12 +25,6 @@ config ADK_TARGET_QEMU
select ADK_TARGET_WITH_NET
select ADK_TARGET_WITH_NETDEVICE
-config ADK_TARGET_VBOX
- bool
- select ADK_TARGET_WITH_VGA
- select ADK_TARGET_WITH_NET
- select ADK_TARGET_WITH_NETDEVICE
-
# the inverse of ADK_TARGET_KERNEL_CUSTOMISING,
# allows for selecting it off (i.e., to disable it)
config ADK_TARGET_FIXED_KERNEL
diff --git a/target/config/Config.in.abi b/target/config/Config.in.abi
index 14a2dcc63..9995ba51d 100644
--- a/target/config/Config.in.abi
+++ b/target/config/Config.in.abi
@@ -82,25 +82,16 @@ config ADK_TARGET_ABI_MIPS64
config ADK_TARGET_LIBC_PATH
string
- default "lib32" if ADK_TARGET_ABI_N32
+ default "lib32" if ADK_TARGET_ABI_N32 || ADK_TARGET_ARCH_RISC32
default "libx32" if ADK_TARGET_ABI_X32
default "lib64" if ADK_TARGET_ABI_64 || ADK_TARGET_ABI_N64 \
|| ADK_TARGET_ARCH_AARCH64 \
|| ADK_TARGET_ARCH_SPARC64 \
|| ADK_TARGET_ARCH_PPC64 \
+ || ADK_TARGET_ARCH_RISC64 \
|| ADK_TARGET_ARCH_X86_64
default "lib"
-config ADK_TARGET_LIBC_ABI_PATH
- string
- default "lib/lp64" if ADK_TARGET_ABI_LP64
- default "lib/lp64f" if ADK_TARGET_ABI_LP64F
- default "lib/lp64d" if ADK_TARGET_ABI_LP64D
- default "lib/ilp32" if ADK_TARGET_ABI_ILP32
- default "lib/ilp32f" if ADK_TARGET_ABI_ILP32F
- default "lib/ilp32d" if ADK_TARGET_ABI_ILP32D
- default "lib"
-
config ADK_TARGET_ABI_CFLAGS
string
default "-mabi=32" if ADK_TARGET_ABI_O32
diff --git a/target/config/Config.in.binfmt b/target/config/Config.in.binfmt
index bb837f730..70e0cc585 100644
--- a/target/config/Config.in.binfmt
+++ b/target/config/Config.in.binfmt
@@ -7,22 +7,29 @@ depends on ADK_TARGET_OS_LINUX && !ADK_TARGET_CHOOSE_ARCH
config ADK_TARGET_BINFMT_ELF
bool "ELF"
- depends on ADK_TARGET_WITH_MMU
+ select ADK_TARGET_USE_STATIC_LIBS_ONLY if !ADK_TARGET_WITH_MMU
+ depends on ADK_TARGET_WITH_MMU || ADK_TARGET_ARCH_ARM || \
+ ADK_TARGET_ARCH_M68K || ADK_TARGET_ARCH_RISCV64
config ADK_TARGET_BINFMT_FLAT
bool "FLAT"
+ select BUSYBOX_NOMMU
select ADK_TARGET_UCLINUX if ADK_TARGET_ARCH_BFIN || ADK_TARGET_ARCH_ARM
depends on ADK_TARGET_LIB_UCLIBC_NG
depends on !ADK_TARGET_WITH_MMU
depends on ADK_TARGET_ARCH_ARM || ADK_TARGET_ARCH_M68K || ADK_TARGET_ARCH_SH || ADK_TARGET_ARCH_XTENSA \
- || ADK_TARGET_ARCH_H8300 || ADK_TARGET_ARCH_LM32 || ADK_TARGET_ARCH_BFIN
+ || ADK_TARGET_ARCH_H8300 || ADK_TARGET_ARCH_LM32 || ADK_TARGET_ARCH_BFIN || ADK_TARGET_ARCH_RISCV64 \
+ || ADK_TARGET_ARCH_RISCV32
config ADK_TARGET_BINFMT_FDPIC
bool "FDPIC"
+ select BUSYBOX_NOMMU
depends on ADK_TARGET_ARCH_ARM || ADK_TARGET_ARCH_BFIN || ADK_TARGET_ARCH_FRV || ADK_TARGET_ARCH_SH
+ depends on !ADK_TARGET_WITH_MMU
config ADK_TARGET_BINFMT_DSBT
bool "DSBT"
+ select BUSYBOX_NOMMU
depends on ADK_TARGET_ARCH_C6X
endchoice
@@ -46,16 +53,14 @@ config ADK_TARGET_BINFMT_FLAT_SEP_DATA
Allow for the data and text segments to be separated and placed in
different regions of memory.
-config ADK_TARGET_BINFMT_FLAT_SHARED
- bool "Shared binary"
- help
- Allow to load and link indiviual FLAT binaries at run time.
-
endchoice
+source "target/config/Config.in.elf2flt"
+
config ADK_TARGET_BINFMT
string
- depends on ADK_TARGET_ARCH_BFIN
+ depends on !ADK_TARGET_WITH_MMU
+ default "elf" if ADK_TARGET_BINFMT_ELF
default "flat" if ADK_TARGET_BINFMT_FLAT
default "fdpic" if ADK_TARGET_BINFMT_FDPIC
diff --git a/target/config/Config.in.binutils b/target/config/Config.in.binutils
index 8aedee0cc..b93eaf31d 100644
--- a/target/config/Config.in.binutils
+++ b/target/config/Config.in.binutils
@@ -3,38 +3,56 @@
choice
prompt "Binutils version"
+default ADK_TOOLCHAIN_BINUTILS_ARC if ADK_TARGET_CPU_ARC_ARC32
+default ADK_TOOLCHAIN_BINUTILS_ARC if ADK_TARGET_CPU_ARC_ARC64
default ADK_TOOLCHAIN_BINUTILS_AVR32 if ADK_TARGET_ARCH_AVR32
-default ADK_TOOLCHAIN_BINUTILS_NDS32 if ADK_TARGET_ARCH_NDS32
-default ADK_TOOLCHAIN_BINUTILS_2_28 if ADK_TARGET_CPU_SH_J2
-default ADK_TOOLCHAIN_BINUTILS_2_29 if ADK_TARGET_ARCH_CRIS
-default ADK_TOOLCHAIN_BINUTILS_2_35
+default ADK_TOOLCHAIN_BINUTILS_KVX if ADK_TARGET_ARCH_KVX
+default ADK_TOOLCHAIN_BINUTILS_2_38 if ADK_TARGET_ARCH_NDS32
+default ADK_TOOLCHAIN_BINUTILS_2_42
config ADK_TOOLCHAIN_BINUTILS_GIT
bool "git"
depends on !ADK_TARGET_ARCH_AVR32
- depends on !ADK_TARGET_ARCH_CSKY
- depends on !ADK_TARGET_ARCH_NDS32
-config ADK_TOOLCHAIN_BINUTILS_2_35
- bool "2.35"
+config ADK_TOOLCHAIN_BINUTILS_2_42
+ bool "2.42"
depends on !ADK_TARGET_ARCH_AVR32
- depends on !ADK_TARGET_ARCH_NDS32
- depends on !ADK_TARGET_CPU_SH_J2
-config ADK_TOOLCHAIN_BINUTILS_2_29
- bool "2.29.1"
- depends on ADK_TARGET_ARCH_CRIS # ld segfault with 2.30
+config ADK_TOOLCHAIN_BINUTILS_2_41
+ bool "2.41"
+ depends on !ADK_TARGET_ARCH_AVR32
+ depends on !ADK_TARGET_ARCH_KVX
-config ADK_TOOLCHAIN_BINUTILS_2_28
- bool "2.28"
- depends on ADK_TARGET_CPU_SH_J2
+config ADK_TOOLCHAIN_BINUTILS_2_40
+ bool "2.40"
+ depends on !ADK_TARGET_ARCH_AVR32
+ depends on !ADK_TARGET_ARCH_KVX
-config ADK_TOOLCHAIN_BINUTILS_NDS32
- bool "nds32-2.30-open"
- depends on ADK_TARGET_ARCH_NDS32
+config ADK_TOOLCHAIN_BINUTILS_2_39
+ bool "2.39"
+ depends on !ADK_TARGET_ARCH_AVR32
+ depends on !ADK_TARGET_ARCH_KVX
+
+config ADK_TOOLCHAIN_BINUTILS_2_38
+ bool "2.38"
+ depends on !ADK_TARGET_ARCH_AVR32
+ depends on !ADK_TARGET_ARCH_KVX
+
+config ADK_TOOLCHAIN_BINUTILS_2_37
+ bool "2.37"
+ depends on !ADK_TARGET_ARCH_AVR32
+ depends on !ADK_TARGET_ARCH_KVX
+
+config ADK_TOOLCHAIN_BINUTILS_ARC
+ bool "arc-2023.09"
+ depends on ADK_TARGET_ARCH_ARC
config ADK_TOOLCHAIN_BINUTILS_AVR32
bool "2.20.1-avr32"
depends on ADK_TARGET_ARCH_AVR32
+config ADK_TOOLCHAIN_BINUTILS_KVX
+ bool "kvx-coolidge"
+ depends on ADK_TARGET_ARCH_KVX
+
endchoice
diff --git a/target/config/Config.in.compiler b/target/config/Config.in.compiler
index a26554cbd..2012acc4f 100644
--- a/target/config/Config.in.compiler
+++ b/target/config/Config.in.compiler
@@ -12,17 +12,18 @@ endchoice
choice
prompt "GCC version"
depends on ADK_BUILD_COMPILER_GCC
+default ADK_TOOLCHAIN_GCC_ARC if ADK_TARGET_CPU_ARC_ARC32
+default ADK_TOOLCHAIN_GCC_ARC if ADK_TARGET_CPU_ARC_ARC64
default ADK_TOOLCHAIN_GCC_AVR32 if ADK_TARGET_ARCH_AVR32
+default ADK_TOOLCHAIN_GCC_KVX if ADK_TARGET_ARCH_KVX
default ADK_TOOLCHAIN_GCC_LM32 if ADK_TARGET_ARCH_LM32
default ADK_TOOLCHAIN_GCC_METAG if ADK_TARGET_ARCH_METAG
-default ADK_TOOLCHAIN_GCC_NDS32 if ADK_TARGET_ARCH_NDS32
-default ADK_TOOLCHAIN_GCC_7 if ADK_TARGET_CPU_ARM_ARM11MPCORE
-default ADK_TOOLCHAIN_GCC_7 if ADK_TARGET_CPU_ARM_CORTEX_A53
-default ADK_TOOLCHAIN_GCC_9 if ADK_TARGET_ARCH_ARC
-default ADK_TOOLCHAIN_GCC_9 if ADK_TARGET_ARCH_CSKY
-default ADK_TOOLCHAIN_GCC_9 if ADK_TARGET_ARCH_HPPA
-default ADK_TOOLCHAIN_GCC_9 if ADK_TARGET_ARCH_OR1K
-default ADK_TOOLCHAIN_GCC_8
+default ADK_TOOLCHAIN_GCC_7 if ADK_TARGET_ARCH_C6X # ICE with newer GCC
+default ADK_TOOLCHAIN_GCC_9 if ADK_TARGET_ARCH_BFIN && ADK_TARGET_BINFMT_FDPIC
+default ADK_TOOLCHAIN_GCC_10 if ADK_TARGET_ARCH_CRIS # no longer supported
+default ADK_TOOLCHAIN_GCC_10 if ADK_TARGET_CPU_SH_J2 # j2.patch
+default ADK_TOOLCHAIN_GCC_11 if ADK_TARGET_ARCH_SPARC # bus error without patch
+default ADK_TOOLCHAIN_GCC_13
config ADK_TOOLCHAIN_GCC_GIT
bool "git"
@@ -30,31 +31,57 @@ config ADK_TOOLCHAIN_GCC_GIT
depends on !ADK_TARGET_ARCH_METAG
depends on !ADK_TARGET_ARCH_NDS32
+config ADK_TOOLCHAIN_GCC_13
+ bool "13.2.0"
+ depends on !ADK_TARGET_ARCH_AVR32
+ depends on !ADK_TARGET_ARCH_CRIS
+ depends on !ADK_TARGET_ARCH_METAG
+ depends on !ADK_TARGET_ARCH_SPARC
+
+config ADK_TOOLCHAIN_GCC_12
+ bool "12.3.0"
+ depends on !ADK_TARGET_ARCH_AVR32
+ depends on !ADK_TARGET_ARCH_CRIS
+ depends on !ADK_TARGET_ARCH_METAG
+ depends on !ADK_TARGET_ARCH_LOONGARCH
+ depends on !ADK_TARGET_ARCH_SPARC
+
+config ADK_TOOLCHAIN_GCC_11
+ bool "11.4.0"
+ depends on !ADK_TARGET_ARCH_AVR32
+ depends on !ADK_TARGET_ARCH_CRIS
+ depends on !ADK_TARGET_ARCH_C6X
+ depends on !ADK_TARGET_ARCH_METAG
+ depends on !ADK_TARGET_ARCH_LOONGARCH
+
config ADK_TOOLCHAIN_GCC_10
- bool "10.2.0"
+ bool "10.5.0"
depends on !ADK_TARGET_ARCH_AVR32
+ depends on !ADK_TARGET_ARCH_C6X
depends on !ADK_TARGET_ARCH_METAG
depends on !ADK_TARGET_ARCH_NDS32
+ depends on !ADK_TARGET_ARCH_LOONGARCH
config ADK_TOOLCHAIN_GCC_9
- bool "9.3.0"
+ bool "9.5.0"
+ depends on !ADK_TARGET_ARCH_ARC
depends on !ADK_TARGET_ARCH_AVR32
+ depends on !ADK_TARGET_ARCH_C6X
depends on !ADK_TARGET_ARCH_METAG
depends on !ADK_TARGET_ARCH_NDS32
- depends on !ADK_TARGET_CPU_ARM_ARM11MPCORE
- depends on !ADK_TARGET_CPU_ARM_CORTEX_A53
+ depends on !ADK_TARGET_ARCH_LOONGARCH
config ADK_TOOLCHAIN_GCC_8
- bool "8.4.0"
+ bool "8.5.0"
depends on !ADK_TARGET_ARCH_ARC
depends on !ADK_TARGET_ARCH_AVR32
+ depends on !ADK_TARGET_ARCH_C6X
depends on !ADK_TARGET_ARCH_CSKY
depends on !ADK_TARGET_ARCH_HPPA
depends on !ADK_TARGET_ARCH_METAG
depends on !ADK_TARGET_ARCH_NDS32
depends on !ADK_TARGET_ARCH_OR1K
- depends on !ADK_TARGET_CPU_ARM_ARM11MPCORE
- depends on !ADK_TARGET_CPU_ARM_CORTEX_A53
+ depends on !ADK_TARGET_ARCH_LOONGARCH
config ADK_TOOLCHAIN_GCC_7
bool "7.5.0"
@@ -65,21 +92,26 @@ config ADK_TOOLCHAIN_GCC_7
depends on !ADK_TARGET_ARCH_METAG
depends on !ADK_TARGET_ARCH_NDS32
depends on !ADK_TARGET_ARCH_OR1K
+ depends on !ADK_TARGET_ARCH_LOONGARCH
+
+config ADK_TOOLCHAIN_GCC_ARC
+ bool "arc-2023.09"
+ depends on ADK_TARGET_ARCH_ARC
config ADK_TOOLCHAIN_GCC_AVR32
bool "4.4.7-avr32"
depends on ADK_TARGET_ARCH_AVR32
-config ADK_TOOLCHAIN_GCC_METAG
- bool "4.2.4-metag"
- depends on ADK_TARGET_ARCH_METAG
-
config ADK_TOOLCHAIN_GCC_LM32
bool "4.5.4-lm32"
depends on ADK_TARGET_ARCH_LM32
-config ADK_TOOLCHAIN_GCC_NDS32
- bool "nds32-6.3.0-open"
- depends on ADK_TARGET_ARCH_NDS32
+config ADK_TOOLCHAIN_GCC_METAG
+ bool "4.2.4-metag"
+ depends on ADK_TARGET_ARCH_METAG
+
+config ADK_TOOLCHAIN_GCC_KVX
+ bool "coolidge"
+ depends on ADK_TARGET_ARCH_KVX
endchoice
diff --git a/target/config/Config.in.cpu b/target/config/Config.in.cpu
index 59cc63657..da21f7454 100644
--- a/target/config/Config.in.cpu
+++ b/target/config/Config.in.cpu
@@ -21,6 +21,26 @@ config ADK_TARGET_CPU_AARCH64_CORTEX_A57
select ADK_TARGET_WITH_MMU
depends on ADK_TARGET_ARCH_AARCH64
+config ADK_TARGET_CPU_AARCH64_CORTEX_A72
+ bool "cortex-a72"
+ select ADK_TARGET_SUPPORTS_THREADS
+ select ADK_TARGET_SUPPORTS_NPTL
+ select ADK_TARGET_SUPPORTS_LT
+ select ADK_TARGET_CPU_WITH_FPU_VFPV4
+ select ADK_TARGET_CPU_WITH_NEON
+ select ADK_TARGET_CPU_WITH_THUMB2
+ depends on ADK_TARGET_ARCH_AARCH64
+
+config ADK_TARGET_CPU_AARCH64_CORTEX_A76
+ bool "cortex-a76"
+ select ADK_TARGET_SUPPORTS_THREADS
+ select ADK_TARGET_SUPPORTS_NPTL
+ select ADK_TARGET_SUPPORTS_LT
+ select ADK_TARGET_CPU_WITH_FPU_VFPV4
+ select ADK_TARGET_CPU_WITH_NEON
+ select ADK_TARGET_CPU_WITH_THUMB2
+ depends on ADK_TARGET_ARCH_AARCH64
+
# alpha
config ADK_TARGET_CPU_ALPHA_EV4
bool "ev4"
@@ -68,11 +88,29 @@ config ADK_TARGET_CPU_ARC_ARC700
depends on ADK_TARGET_ARCH_ARC
config ADK_TARGET_CPU_ARC_ARCHS
- bool "ARC HS (ARCv2)"
+ bool "ARC HS38 (ARCv2)"
+ select ADK_TARGET_SUPPORTS_THREADS
+ select ADK_TARGET_SUPPORTS_NPTL
+ select ADK_TARGET_SUPPORTS_LT
+ select ADK_TARGET_WITH_MMU
+ depends on ADK_TARGET_ARCH_ARC
+
+config ADK_TARGET_CPU_ARC_ARC32
+ bool "ARC HS58 (ARCv3) 32 Bit"
select ADK_TARGET_SUPPORTS_THREADS
select ADK_TARGET_SUPPORTS_NPTL
select ADK_TARGET_SUPPORTS_LT
select ADK_TARGET_WITH_MMU
+ select ADK_TARGET_KERNEL_LOADER
+ depends on ADK_TARGET_ARCH_ARC
+
+config ADK_TARGET_CPU_ARC_ARC64
+ bool "ARC HS68 (ARCv3) 64 Bit"
+ select ADK_TARGET_SUPPORTS_THREADS
+ select ADK_TARGET_SUPPORTS_NPTL
+ select ADK_TARGET_SUPPORTS_LT
+ select ADK_TARGET_WITH_MMU
+ select ADK_TARGET_KERNEL_LOADER
depends on ADK_TARGET_ARCH_ARC
# arm
@@ -90,6 +128,7 @@ config ADK_TARGET_CPU_ARM_ARM926EJ_S
select ADK_TARGET_SUPPORTS_NPTL
select ADK_TARGET_SUPPORTS_LT
select ADK_TARGET_CPU_WITH_THUMB
+ select ADK_TARGET_CPU_WITH_FPU_VFP
depends on ADK_TARGET_ARCH_ARM
config ADK_TARGET_CPU_ARM_ARM11MPCORE
@@ -178,8 +217,19 @@ config ADK_TARGET_CPU_ARM_CORTEX_A57
select ADK_TARGET_CPU_WITH_THUMB2
depends on ADK_TARGET_ARCH_ARM
+config ADK_TARGET_CPU_ARM_CORTEX_A72
+ bool "cortex-a72"
+ select ADK_TARGET_SUPPORTS_THREADS
+ select ADK_TARGET_SUPPORTS_NPTL
+ select ADK_TARGET_SUPPORTS_LT
+ select ADK_TARGET_CPU_WITH_FPU_VFPV4
+ select ADK_TARGET_CPU_WITH_NEON
+ select ADK_TARGET_CPU_WITH_THUMB2
+ depends on ADK_TARGET_ARCH_ARM
+
config ADK_TARGET_CPU_ARM_CORTEX_M7
bool "cortex-m7"
+ select ADK_TARGET_SUPPORTS_NPTL
select ADK_TARGET_SUPPORTS_THREADS
select ADK_TARGET_SUPPORTS_LT
select ADK_TARGET_CPU_WITH_THUMB2
@@ -188,6 +238,7 @@ config ADK_TARGET_CPU_ARM_CORTEX_M7
config ADK_TARGET_CPU_ARM_CORTEX_M4
bool "cortex-m4"
+ select ADK_TARGET_SUPPORTS_NPTL
select ADK_TARGET_SUPPORTS_THREADS
select ADK_TARGET_SUPPORTS_LT
select ADK_TARGET_CPU_WITH_THUMB2
@@ -196,6 +247,7 @@ config ADK_TARGET_CPU_ARM_CORTEX_M4
config ADK_TARGET_CPU_ARM_CORTEX_M3
bool "cortex-m3"
+ select ADK_TARGET_SUPPORTS_NPTL
select ADK_TARGET_SUPPORTS_THREADS
select ADK_TARGET_SUPPORTS_LT
select ADK_TARGET_CPU_WITH_THUMB2
@@ -215,6 +267,15 @@ config ADK_TARGET_CPU_ARM_XSCALE
select ADK_TARGET_SUPPORTS_LT
depends on ADK_TARGET_ARCH_ARM
+config ADK_TARGET_CPU_ARM_MVEBU
+ bool "mvebu"
+ select ADK_TARGET_SUPPORTS_THREADS
+ select ADK_TARGET_SUPPORTS_NPTL
+ select ADK_TARGET_WITH_MMU
+ select ADK_TARGET_CPU_WITH_FPU_VFPV3
+ select ADK_TARGET_SOFTFP_FLOAT
+ depends on ADK_TARGET_ARCH_ARM
+
# avr32
config ADK_TARGET_CPU_AVR32
bool "avr32"
@@ -507,11 +568,28 @@ config ADK_TARGET_CPU_IA64
select ADK_TARGET_USE_STATIC_LIBS_ONLY if ADK_TARGET_LIB_UCLIBC_NG
depends on ADK_TARGET_ARCH_IA64
+# kvx
+config ADK_TARGET_CPU_KVX
+ bool "kvx"
+ select ADK_TARGET_SUPPORTS_THREADS
+ select ADK_TARGET_SUPPORTS_NPTL
+ select ADK_TARGET_WITH_MMU
+ depends on ADK_TARGET_ARCH_KVX
+
# lm32
config ADK_TARGET_CPU_LM32
bool "lm32"
+ select ADK_TARGET_UCLINUX
depends on ADK_TARGET_ARCH_LM32
+# loongarch
+config ADK_TARGET_CPU_LOONGARCH
+ bool "loongarch64"
+ select ADK_TARGET_SUPPORTS_THREADS
+ select ADK_TARGET_SUPPORTS_NPTL
+ select ADK_TARGET_WITH_MMU
+ depends on ADK_TARGET_ARCH_LOONGARCH
+
# coldfire
config ADK_TARGET_CPU_CF_51
bool "coldfire 51"
@@ -541,8 +619,8 @@ config ADK_TARGET_CPU_CF_5208
bool "coldfire 5208"
select ADK_TARGET_SUPPORTS_THREADS
select ADK_TARGET_SUPPORTS_LT
+ select ADK_TARGET_SUPPORTS_NPTL
select ADK_TARGET_CPU_CF
- select ADK_TARGET_UCLINUX
depends on ADK_TARGET_ARCH_M68K
config ADK_TARGET_CPU_CF_5211A
@@ -934,10 +1012,10 @@ config ADK_TARGET_CPU_NDS32
# nios2
config ADK_TARGET_CPU_NIOS2
bool "nios2"
- select ADK_TARGET_SUPPORTS_THREADS
- select ADK_TARGET_SUPPORTS_LT
- select ADK_TARGET_SUPPORTS_NPTL
+ select ADK_TARGET_SUPPORTS_THREADS if ADK_TARGET_LIB_GLIBC
+ select ADK_TARGET_SUPPORTS_NPTL if ADK_TARGET_LIB_GLIBC
select ADK_TARGET_WITH_MMU
+ select ADK_TARGET_USE_STATIC_LIBS_ONLY if ADK_TARGET_LIB_UCLIBC_NG
depends on ADK_TARGET_ARCH_NIOS2
# openrisc
@@ -1096,51 +1174,64 @@ config ADK_TARGET_CPU_PPC64_POWERPC64
config ADK_TARGET_CPU_RISCV32_RV32IMAC
bool "rv32imac"
select ADK_TARGET_SUPPORTS_THREADS
- select ADK_TARGET_SUPPORTS_NPTL
- select ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_NPTL if ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_LT
select ADK_TARGET_ABI_ILP32
depends on ADK_TARGET_ARCH_RISCV32
config ADK_TARGET_CPU_RISCV32_RV32IMAFC
bool "rv32imafc"
select ADK_TARGET_SUPPORTS_THREADS
- select ADK_TARGET_SUPPORTS_NPTL
- select ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_NPTL if ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_LT
select ADK_TARGET_ABI_ILP32F
depends on ADK_TARGET_ARCH_RISCV32
config ADK_TARGET_CPU_RISCV32_RV32IMADC
bool "rv32imadc"
select ADK_TARGET_SUPPORTS_THREADS
- select ADK_TARGET_SUPPORTS_NPTL
- select ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_NPTL if ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_LT
select ADK_TARGET_ABI_ILP32D
depends on ADK_TARGET_ARCH_RISCV32
+config ADK_TARGET_CPU_RISCV32_RV32IMAFDC
+ bool "rv32imafdc"
+ select ADK_TARGET_SUPPORTS_THREADS if ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_NPTL if ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_LT if ADK_TARGET_WITH_MMU
+ depends on ADK_TARGET_ARCH_RISCV32
+
config ADK_TARGET_CPU_RISCV64_RV64IMAC
bool "rv64imac"
select ADK_TARGET_SUPPORTS_THREADS
- select ADK_TARGET_SUPPORTS_NPTL
- select ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_NPTL if ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_LT
select ADK_TARGET_ABI_LP64
depends on ADK_TARGET_ARCH_RISCV64
config ADK_TARGET_CPU_RISCV64_RV64IMAFC
bool "rv64imafc"
select ADK_TARGET_SUPPORTS_THREADS
- select ADK_TARGET_SUPPORTS_NPTL
- select ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_NPTL if ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_LT
select ADK_TARGET_ABI_LP64F
depends on ADK_TARGET_ARCH_RISCV64
config ADK_TARGET_CPU_RISCV64_RV64IMADC
bool "rv64imadc"
select ADK_TARGET_SUPPORTS_THREADS
- select ADK_TARGET_SUPPORTS_NPTL
- select ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_NPTL if ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_LT
select ADK_TARGET_ABI_LP64D
depends on ADK_TARGET_ARCH_RISCV64
+config ADK_TARGET_CPU_RISCV64_RV64IMAFDC
+ bool "rv64imafdc"
+ select ADK_TARGET_SUPPORTS_THREADS if ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_NPTL if ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_LT if ADK_TARGET_WITH_MMU
+ depends on ADK_TARGET_ARCH_RISCV64
# rx
config ADK_TARGET_CPU_RX
@@ -1883,6 +1974,7 @@ config ADK_TARGET_GCC_CPU
default "68060" if ADK_TARGET_CPU_M68K_68060
default "arc700" if ADK_TARGET_CPU_ARC_ARC700
default "archs" if ADK_TARGET_CPU_ARC_ARCHS
+ default "hs5x" if ADK_TARGET_CPU_ARC_ARC32
default "arm1176jzf-s" if ADK_TARGET_CPU_ARM_ARM1176JZF_S
default "arm926ej-s" if ADK_TARGET_CPU_ARM_ARM926EJ_S
default "cortex-a5" if ADK_TARGET_CPU_ARM_CORTEX_A5
@@ -1895,6 +1987,7 @@ config ADK_TARGET_GCC_CPU
default "cortex-a57" if ADK_TARGET_CPU_ARM_CORTEX_A57
default "cortex-a53" if ADK_TARGET_CPU_AARCH64_CORTEX_A53
default "cortex-a57" if ADK_TARGET_CPU_AARCH64_CORTEX_A57
+ default "cortex-a76" if ADK_TARGET_CPU_AARCH64_CORTEX_A76
default "cortex-m0" if ADK_TARGET_CPU_ARM_CORTEX_M0
default "cortex-m3" if ADK_TARGET_CPU_ARM_CORTEX_M3
default "cortex-m4" if ADK_TARGET_CPU_ARM_CORTEX_M4
@@ -1928,6 +2021,7 @@ config ADK_TARGET_GCC_CPU
default "8540" if ADK_TARGET_CPU_PPC_8540
default "8548" if ADK_TARGET_CPU_PPC_8548
default "970" if ADK_TARGET_CPU_PPC_970
+ default "marvell-pj4" if ADK_TARGET_CPU_ARM_MVEBU
# for gcc --with-arch
config ADK_TARGET_GCC_ARCH
@@ -1980,10 +2074,15 @@ config ADK_TARGET_GCC_ARCH
default "x86-64" if ADK_TARGET_CPU_X86_64
default "z900" if ADK_TARGET_CPU_S390_Z900
default "c674x" if ADK_TARGET_CPU_C6X
- default "rv32imafdc" if ADK_TARGET_CPU_RISCV32_RV32IMAFDC
default "rv32imac" if ADK_TARGET_CPU_RISCV32_RV32IMAC
- default "rv64imafdc" if ADK_TARGET_CPU_RISCV64_RV64IMAFDC
+ default "rv32imafc" if ADK_TARGET_CPU_RISCV32_RV32IMAFC
+ default "rv32imadc" if ADK_TARGET_CPU_RISCV32_RV32IMADC
+ default "rv32imafdc" if ADK_TARGET_CPU_RISCV32_RV32IMAFDC
default "rv64imac" if ADK_TARGET_CPU_RISCV64_RV64IMAC
+ default "rv64imafc" if ADK_TARGET_CPU_RISCV64_RV64IMAFC
+ default "rv64imadc" if ADK_TARGET_CPU_RISCV64_RV64IMADC
+ default "rv64imafdc" if ADK_TARGET_CPU_RISCV64_RV64IMAFDC
+ default "kv3-1" if ADK_TARGET_ARCH_KVX
# for CFLAGS/CXXFLAGS if gcc does not support --with-cpu
config ADK_TARGET_CPU_FLAGS
@@ -2151,6 +2250,8 @@ config ADK_TARGET_CPU_ARCH
default "alpha" if ADK_TARGET_ARCH_ALPHA
default "arm" if ADK_TARGET_ARCH_ARM && ADK_TARGET_LITTLE_ENDIAN
default "armeb" if ADK_TARGET_ARCH_ARM && ADK_TARGET_BIG_ENDIAN
+ default "arc32" if ADK_TARGET_ARCH_ARC && ADK_TARGET_CPU_ARC_ARC32
+ default "arc64" if ADK_TARGET_ARCH_ARC && ADK_TARGET_CPU_ARC_ARC64
default "arc" if ADK_TARGET_ARCH_ARC && ADK_TARGET_LITTLE_ENDIAN
default "arceb" if ADK_TARGET_ARCH_ARC && ADK_TARGET_BIG_ENDIAN
default "avr32" if ADK_TARGET_ARCH_AVR32
@@ -2172,7 +2273,9 @@ config ADK_TARGET_CPU_ARCH
default "h8300" if ADK_TARGET_ARCH_H8300
default "hppa" if ADK_TARGET_ARCH_HPPA
default "ia64" if ADK_TARGET_ARCH_IA64
+ default "kvx" if ADK_TARGET_ARCH_KVX
default "lm32" if ADK_TARGET_ARCH_LM32
+ default "loongarch64" if ADK_TARGET_ARCH_LOONGARCH
default "m32c" if ADK_TARGET_ARCH_M32C
default "m32r" if ADK_TARGET_ARCH_M32R
default "m68k" if ADK_TARGET_ARCH_M68K
diff --git a/target/config/Config.in.elf2flt b/target/config/Config.in.elf2flt
new file mode 100644
index 000000000..d9bf282d4
--- /dev/null
+++ b/target/config/Config.in.elf2flt
@@ -0,0 +1,19 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+choice
+prompt "elf2flt version"
+default ADK_TOOLCHAIN_ELF2FLT_2024_02
+depends on ADK_TARGET_BINFMT_FLAT
+
+config ADK_TOOLCHAIN_ELF2FLT_2024_02
+ bool "2024.02"
+ depends on !ADK_TARGET_ARCH_LM32
+
+config ADK_TOOLCHAIN_ELF2FLT_OLD
+ bool "old version"
+ depends on ADK_TARGET_ARCH_BFIN || \
+ ADK_TARGET_ARCH_LM32 || \
+ ADK_TARGET_ARCH_SH
+
+endchoice
diff --git a/target/config/Config.in.endian b/target/config/Config.in.endian
index 2fb382ab9..ffb39584c 100644
--- a/target/config/Config.in.endian
+++ b/target/config/Config.in.endian
@@ -16,6 +16,7 @@ depends on ADK_TARGET_SYSTEM_GENERIC_ARC \
|| ADK_TARGET_SYSTEM_GENERIC_SH \
|| ADK_TARGET_SYSTEM_GENERIC_XTENSA \
|| ADK_TARGET_SYSTEM_SYNOPSYS_NSIM \
+ || ADK_TARGET_SYSTEM_QEMU_ARC \
|| ADK_TARGET_SYSTEM_QEMU_AARCH64 \
|| ADK_TARGET_SYSTEM_QEMU_CSKY \
|| ADK_TARGET_SYSTEM_QEMU_MICROBLAZE_ML605 \
diff --git a/target/config/Config.in.gdb b/target/config/Config.in.gdb
index 25df4c4a0..c86930a30 100644
--- a/target/config/Config.in.gdb
+++ b/target/config/Config.in.gdb
@@ -21,7 +21,7 @@ choice
prompt "GNU debugger version"
depends on ADK_TOOLCHAIN_WITH_GDB
default ADK_TOOLCHAIN_GDB_H8300_GIT if ADK_TARGET_ARCH_H8300
-default ADK_TOOLCHAIN_GDB_9_2
+default ADK_TOOLCHAIN_GDB_14_2
config ADK_TOOLCHAIN_GDB_GIT
bool "git"
@@ -33,8 +33,20 @@ config ADK_TOOLCHAIN_GDB_H8300_GIT
bool "h8300-git"
depends on ADK_TARGET_ARCH_H8300
-config ADK_TOOLCHAIN_GDB_9_2
- bool "9.2"
+config ADK_TOOLCHAIN_GDB_14_2
+ bool "14.2"
+ depends on !ADK_TARGET_ARCH_AVR32
+ depends on !ADK_TARGET_ARCH_H8300
+ depends on !ADK_TARGET_ARCH_NDS32
+
+config ADK_TOOLCHAIN_GDB_13_2
+ bool "13.2"
+ depends on !ADK_TARGET_ARCH_AVR32
+ depends on !ADK_TARGET_ARCH_H8300
+ depends on !ADK_TARGET_ARCH_NDS32
+
+config ADK_TOOLCHAIN_GDB_12_1
+ bool "12.1"
depends on !ADK_TARGET_ARCH_AVR32
depends on !ADK_TARGET_ARCH_H8300
depends on !ADK_TARGET_ARCH_NDS32
diff --git a/target/config/Config.in.kernelfmt b/target/config/Config.in.kernelfmt
index f1d503e23..23d800d24 100644
--- a/target/config/Config.in.kernelfmt
+++ b/target/config/Config.in.kernelfmt
@@ -31,6 +31,9 @@ config ADK_TARGET_KERNEL_VMLINUX_BIN
config ADK_TARGET_KERNEL_VMLINUX_BOOTP
bool
+config ADK_TARGET_KERNEL_VMLINUX_EFI
+ bool
+
config ADK_TARGET_KERNEL_VMLINUX_GZ
bool
@@ -43,8 +46,12 @@ config ADK_TARGET_KERNEL_XIPIMAGE
config ADK_TARGET_KERNEL_SIMPLEIMAGE
bool
+config ADK_TARGET_KERNEL_LOADER
+ bool
+
config ADK_TARGET_KERNEL
string
+ default "loader" if ADK_TARGET_KERNEL_LOADER
default "uImage" if ADK_TARGET_KERNEL_UIMAGE
default "uImage.bin" if ADK_TARGET_KERNEL_UIMAGEBIN
default "zImage" if ADK_TARGET_KERNEL_ZIMAGE
@@ -55,6 +62,7 @@ config ADK_TARGET_KERNEL
default "vmlinux.srec" if ADK_TARGET_KERNEL_VMLINUX_SREC
default "vmlinux.bin" if ADK_TARGET_KERNEL_VMLINUX_BIN
default "bootpfile" if ADK_TARGET_KERNEL_VMLINUX_BOOTP
+ default "vmlinux.efi" if ADK_TARGET_KERNEL_VMLINUX_EFI
default "vmlinux.gz" if ADK_TARGET_KERNEL_VMLINUX_GZ
default "xipImage" if ADK_TARGET_KERNEL_XIPIMAGE
default "bzImage" if ADK_TARGET_KERNEL_BZIMAGE
@@ -63,3 +71,15 @@ config ADK_TARGET_KERNEL
config ADK_TARGET_KERNEL_WITH_COMPRESSION
bool
+
+config ADK_TARGET_KERNEL_LOADADDR
+ hex
+ default 0x8000 if ADK_TARGET_SYSTEM_SYNOLOGY_DS414
+ default 0x40008000 if ADK_TARGET_SYSTEM_BANANA_PRO
+ default 0x44000000 if ADK_TARGET_SYSTEM_BANANA_P2_ZERO
+ default 0x40008000 if ADK_TARGET_SYSTEM_ORANGE_PI0
+ default 0xc0008000 if ADK_TARGET_SYSTEM_ST_STM32F746G
+
+config ADK_TARGET_KERNEL_APPEND_DTB
+ string
+ default "armada-xp-synology-ds414" if ADK_TARGET_SYSTEM_SYNOLOGY_DS414
diff --git a/target/config/Config.in.libc b/target/config/Config.in.libc
index 0add0ef5b..9b9bc146e 100644
--- a/target/config/Config.in.libc
+++ b/target/config/Config.in.libc
@@ -23,6 +23,7 @@ config ADK_TARGET_LIB_UCLIBC_NG
ADK_TARGET_ARCH_H8300 || \
ADK_TARGET_ARCH_HPPA || \
ADK_TARGET_ARCH_IA64 || \
+ ADK_TARGET_ARCH_KVX || \
ADK_TARGET_ARCH_LM32 || \
ADK_TARGET_ARCH_M68K || \
ADK_TARGET_ARCH_METAG || \
@@ -52,12 +53,14 @@ config ADK_TARGET_LIB_MUSL
ADK_TARGET_ARCH_AARCH64 || \
ADK_TARGET_ARCH_ARM || \
ADK_TARGET_ARCH_M68K || \
+ ADK_TARGET_ARCH_LOONGARCH || \
ADK_TARGET_ARCH_MICROBLAZE || \
ADK_TARGET_ARCH_MIPS || \
ADK_TARGET_ARCH_MIPS64 || \
ADK_TARGET_ARCH_OR1K || \
ADK_TARGET_ARCH_PPC || \
ADK_TARGET_ARCH_PPC64 || \
+ ADK_TARGET_ARCH_RISCV32 || \
ADK_TARGET_ARCH_RISCV64 || \
ADK_TARGET_ARCH_S390 || \
ADK_TARGET_ARCH_SH || \
@@ -77,18 +80,19 @@ config ADK_TARGET_LIB_GLIBC
ADK_TARGET_ARCH_CSKY || \
ADK_TARGET_ARCH_HPPA || \
ADK_TARGET_ARCH_IA64 || \
+ ADK_TARGET_ARCH_LOONGARCH || \
ADK_TARGET_ARCH_M68K || \
ADK_TARGET_ARCH_MICROBLAZE || \
ADK_TARGET_ARCH_MIPS || \
ADK_TARGET_ARCH_MIPS64 || \
ADK_TARGET_ARCH_NIOS2 || \
+ ADK_TARGET_ARCH_OR1K || \
ADK_TARGET_ARCH_PPC || \
ADK_TARGET_ARCH_PPC64 || \
ADK_TARGET_ARCH_S390 || \
ADK_TARGET_CPU_SH_SH4 || \
ADK_TARGET_CPU_SH_SH4A || \
ADK_TARGET_ARCH_SPARC64 || \
- ADK_TARGET_ARCH_TILE || \
ADK_TARGET_ARCH_RISCV32 || \
ADK_TARGET_ARCH_RISCV64 || \
ADK_TARGET_ARCH_X86 || \
@@ -104,6 +108,7 @@ config ADK_TARGET_LIB_NEWLIB
ADK_TARGET_ARCH_ARC || \
ADK_TARGET_ARCH_ARM || \
ADK_TARGET_ARCH_BFIN || \
+ ADK_TARGET_ARCH_C6X || \
ADK_TARGET_ARCH_CR16 || \
ADK_TARGET_ARCH_CRIS || \
ADK_TARGET_ARCH_CSKY || \
@@ -145,38 +150,33 @@ choice
prompt "Target C library version"
depends on !ADK_TARGET_CHOOSE_ARCH
-config ADK_TARGET_LIB_UCLIBC_NG_1_0_34
- bool "1.0.34"
+config ADK_TARGET_LIB_UCLIBC_NG_1_0_47
+ bool "1.0.47"
depends on ADK_TARGET_LIB_UCLIBC_NG
config ADK_TARGET_LIB_UCLIBC_NG_GIT
bool "git"
depends on ADK_TARGET_LIB_UCLIBC_NG && ADK_EXPERIMENTAL
-config ADK_TARGET_LIB_GLIBC_2_31
- bool "2.31"
+config ADK_TARGET_LIB_GLIBC_2_39
+ bool "2.39"
depends on ADK_TARGET_LIB_GLIBC
config ADK_TARGET_LIB_GLIBC_GIT
bool "git"
depends on ADK_TARGET_LIB_GLIBC && ADK_EXPERIMENTAL
-config ADK_TARGET_LIB_MUSL_1_2_0
- bool "1.2.0"
+config ADK_TARGET_LIB_MUSL_1_2_5
+ bool "1.2.5"
depends on ADK_TARGET_LIB_MUSL
config ADK_TARGET_LIB_MUSL_GIT
bool "git"
depends on ADK_TARGET_LIB_MUSL && ADK_EXPERIMENTAL
-config ADK_TARGET_LIB_NEWLIB_3_1_0
- bool "3.1.0"
- depends on ADK_TARGET_LIB_NEWLIB \
- && !ADK_TARGET_ARCH_XTENSA
-
-config ADK_TARGET_LIB_NEWLIB_XTENSA
- bool "xtensa"
- depends on ADK_TARGET_LIB_NEWLIB && ADK_TARGET_ARCH_XTENSA
+config ADK_TARGET_LIB_NEWLIB_4_4_0
+ bool "4.4.0"
+ depends on ADK_TARGET_LIB_NEWLIB
config ADK_TARGET_LIB_NEWLIB_GIT
bool "git"
@@ -200,10 +200,10 @@ config ADK_TARGET_LIBC
config ADK_LIBC_VERSION
string
- default "1.0.34" if ADK_TARGET_LIB_UCLIBC_NG_1_0_34
- default "1.2.0" if ADK_TARGET_LIB_MUSL_1_2_0
- default "2.31" if ADK_TARGET_LIB_GLIBC_2_31
- default "3.1.0" if ADK_TARGET_LIB_NEWLIB_3_1_0
+ default "1.0.47" if ADK_TARGET_LIB_UCLIBC_NG_1_0_47
+ default "1.2.5" if ADK_TARGET_LIB_MUSL_1_2_5
+ default "2.39" if ADK_TARGET_LIB_GLIBC_2_39
+ default "4.4.0" if ADK_TARGET_LIB_NEWLIB_4_4_0
default "git" if ADK_TARGET_LIB_UCLIBC_NG_GIT || \
ADK_TARGET_LIB_MUSL_GIT || \
ADK_TARGET_LIB_GLIBC_GIT || \
diff --git a/target/config/Config.in.libs b/target/config/Config.in.libs
index 2c58188ce..ba02fb8f9 100644
--- a/target/config/Config.in.libs
+++ b/target/config/Config.in.libs
@@ -11,7 +11,7 @@ config ADK_TARGET_USE_SHARED_LIBS_ONLY
config ADK_TARGET_USE_STATIC_LIBS_ONLY
bool "Create static libraries only and link statically"
- select BUSYBOX_STATIC
+ select BUSYBOX_STATIC if !ADK_TARGET_BINFMT_ELF
help
Useful for debugging of dynamic linker problems. Be aware of the fact, that uClibc and glibc
still requires libgcc_so.so.1 for pthread_cancel. Glibc also requires libnss_*.so libraries
diff --git a/target/config/Config.in.qemuopts b/target/config/Config.in.qemuopts
index f24af9a6b..78c608b49 100644
--- a/target/config/Config.in.qemuopts
+++ b/target/config/Config.in.qemuopts
@@ -41,6 +41,8 @@ depends on ADK_TARGET_QEMU && (ADK_TARGET_SYSTEM_QEMU_X86_64 \
|| ADK_TARGET_SYSTEM_QEMU_CSKY \
|| ADK_TARGET_SYSTEM_QEMU_X86 \
|| ADK_TARGET_SYSTEM_QEMU_AARCH64 \
+ || ADK_TARGET_SYSTEM_QEMU_ARC \
+ || ADK_TARGET_SYSTEM_QEMU_M68K_VIRT \
|| ADK_TARGET_SYSTEM_QEMU_SPARC64)
choice
@@ -94,15 +96,19 @@ choice
prompt "Qemu Emulation using VirtIO drivers"
depends on ADK_TARGET_SYSTEM_QEMU_SPARC64 || \
ADK_TARGET_SYSTEM_QEMU_AARCH64 || \
+ ADK_TARGET_SYSTEM_QEMU_ARC || \
+ ADK_TARGET_SYSTEM_QEMU_CSKY || \
+ ADK_TARGET_SYSTEM_QEMU_M68K_VIRT || \
ADK_TARGET_SYSTEM_QEMU_RISCV32 || \
ADK_TARGET_SYSTEM_QEMU_RISCV64 || \
- ADK_TARGET_SYSTEM_QEMU_CSKY || \
ADK_TARGET_SYSTEM_QEMU_X86 || \
ADK_TARGET_SYSTEM_QEMU_X86_64
default ADK_TARGET_QEMU_WITH_VIRTIO if ADK_TARGET_SYSTEM_QEMU_AARCH64
+default ADK_TARGET_QEMU_WITH_VIRTIO if ADK_TARGET_SYSTEM_QEMU_ARC
default ADK_TARGET_QEMU_WITH_VIRTIO if ADK_TARGET_SYSTEM_QEMU_CSKY
default ADK_TARGET_QEMU_WITH_VIRTIO if ADK_TARGET_SYSTEM_QEMU_RISCV32
default ADK_TARGET_QEMU_WITH_VIRTIO if ADK_TARGET_SYSTEM_QEMU_RISCV64
+default ADK_TARGET_QEMU_WITH_VIRTIO if ADK_TARGET_SYSTEM_QEMU_M68K_VIRT
config ADK_TARGET_QEMU_WITHOUT_VIRTIO
bool "disabled"
diff --git a/target/config/Config.in.rootfs b/target/config/Config.in.rootfs
index bc6a36115..5c658fd02 100644
--- a/target/config/Config.in.rootfs
+++ b/target/config/Config.in.rootfs
@@ -24,11 +24,12 @@ config ADK_TARGET_ROOTFS_INITRAMFSPIGGYBACK
ADK_TARGET_ARCH_MIPS || \
ADK_TARGET_ARCH_MIPS64 || \
ADK_TARGET_ARCH_PPC || \
+ ADK_TARGET_ARCH_RISCV32 || \
+ ADK_TARGET_ARCH_RISCV64 || \
ADK_TARGET_ARCH_SH || \
ADK_TARGET_ARCH_SPARC || \
ADK_TARGET_ARCH_X86 || \
ADK_TARGET_ARCH_X86_64
- depends on !ADK_TARGET_VBOX
depends on !ADK_TARGET_SYSTEM_MIKROTIK_RB532
help
create an read-only initramfs system.
@@ -49,7 +50,6 @@ config ADK_TARGET_ROOTFS_INITRAMFS
ADK_TARGET_ARCH_SPARC || \
ADK_TARGET_ARCH_X86 || \
ADK_TARGET_ARCH_X86_64
- depends on !ADK_TARGET_VBOX
depends on !ADK_TARGET_SYSTEM_MIKROTIK_RB532
depends on !ADK_TARGET_SYSTEM_QEMU_M68K_MCF5208
depends on !ADK_TARGET_SYSTEM_QEMU_METAG
@@ -101,9 +101,9 @@ config ADK_TARGET_ROOTFS_NFSROOT
select ADK_LINUX_KERNEL_IP_PNP_DHCP if ADK_TARGET_OS_LINUX
depends on !ADK_TARGET_QEMU && \
!ADK_TARGET_SIM && \
- !ADK_TARGET_VBOX && \
!ADK_TARGET_SYSTEM_ARANYM_M68K && \
!ADK_TARGET_SYSTEM_LINKSYS_NSLU2
+ depends on ADK_TARGET_WITH_NETDEVICE
help
Root filesystem mounted via NFS. (DHCP)
@@ -111,7 +111,6 @@ config ADK_TARGET_ROOTFS_USB
bool "Boot from USB stick"
select ADK_LINUX_KERNEL_EXT4_FS if ADK_TARGET_OS_LINUX
select ADK_LINUX_KERNEL_SCSI if ADK_TARGET_OS_LINUX
- select ADK_LINUX_KERNEL_SCSI if ADK_TARGET_OS_LINUX
select ADK_LINUX_KERNEL_BLK_DEV_SD if ADK_TARGET_OS_LINUX
select ADK_LINUX_KERNEL_USB if ADK_TARGET_OS_LINUX
select ADK_LINUX_KERNEL_USB_EHCI_HCD if ADK_TARGET_OS_LINUX
@@ -148,7 +147,7 @@ config ADK_TARGET_ROOTFS_INITRAMFSARCHIVE
config ADK_TARGET_ROOTFS_ARCHIVE
bool "Archive usable for ext4 filesystems"
- select ADK_HOST_NEED_GENEXT2FS if ADK_TARGET_QEMU || ADK_TARGET_VBOX
+ select ADK_HOST_NEED_GENEXT2FS if ADK_TARGET_QEMU
select ADK_LINUX_KERNEL_EXT4_FS if ADK_TARGET_OS_LINUX
select ADK_TARGET_QEMU_WITH_BLOCK if ADK_TARGET_QEMU
depends on !ADK_TARGET_SIM \
@@ -164,10 +163,10 @@ config ADK_TARGET_ROOTFS_GENIMAGE
bool "Create a disk image for the target"
select ADK_LINUX_KERNEL_EXT4_FS if ADK_TARGET_OS_LINUX
select ADK_LINUX_KERNEL_VFAT_FS if ADK_TARGET_OS_LINUX
+ select ADK_LINUX_KERNEL_EFI_PARTITION if ADK_TARGET_OS_LINUX
select ADK_TARGET_QEMU_WITH_BLOCK if ADK_TARGET_QEMU
select ADK_TARGET_QEMU_WITH_BOOTLOADER if ADK_TARGET_QEMU
select ADK_HOST_BUILD_GENIMAGE
- depends on ADK_TARGET_ARCH_X86_64
help
Create a complete disk image for the target with genimage.
@@ -176,9 +175,10 @@ endchoice
config ADK_TARGET_ROOTDEV
string "Root device name"
depends on ADK_TARGET_ROOTFS_GENIMAGE
+ default "mmcblk0" if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
default "sda"
help
- If you a embedded device with multiple block devices and want to
+ If you have a embedded device with multiple block devices and want to
set the root device name.
config ADK_TARGET_DUAL_BOOT
@@ -195,7 +195,11 @@ config ADK_TARGET_DUAL_BOOT
config ADK_TARGET_GENIMAGE_FILENAME
string
- default "genimage-efi-dual.cfg" if ADK_PACKAGE_GRUB_EFI_X86_64 || ADK_PACKAGE_GRUB_EFI_X86 && ADK_TARGET_DUAL_BOOT
+ default "genimage-efi-dual.cfg" if (ADK_PACKAGE_GRUB_EFI_X86_64 || ADK_PACKAGE_GRUB_EFI_X86) && ADK_TARGET_DUAL_BOOT
default "genimage-efi.cfg" if ADK_PACKAGE_GRUB_EFI_X86_64 || ADK_PACKAGE_GRUB_EFI_X86
default "genimage-dual.cfg" if ADK_TARGET_DUAL_BOOT
default "genimage.cfg"
+
+config ADK_TARGET_EXTLINUX_FILENAME
+ string
+ default "extlinux.conf"
diff --git a/target/config/Config.in.runtime b/target/config/Config.in.runtime
index e0432647c..2a09782cf 100644
--- a/target/config/Config.in.runtime
+++ b/target/config/Config.in.runtime
@@ -15,75 +15,46 @@ prompt "init system"
depends on !ADK_APPLIANCE_TOOLCHAIN
default ADK_RUNTIME_INIT_SYSV if ADK_PACKAGE_BUSYBOX
default ADK_RUNTIME_INIT_SIMPLEINIT if ADK_PACKAGE_TOOLBOX
+default ADK_RUNTIME_INIT_SIMPLEINIT if ADK_TARGET_SYSTEM_SIPEED_MAIX_BIT
config ADK_RUNTIME_INIT_SYSV
bool "Use busybox init"
- depends on ADK_PACKAGE_BUSYBOX
+ depends on ADK_PACKAGE_BUSYBOX && \
+ !ADK_TARGET_SYSTEM_SIPEED_MAIX_BIT
config ADK_RUNTIME_INIT_SIMPLEINIT
bool "Use a very simple init"
select ADK_PACKAGE_SIMPLEINIT
-config ADK_RUNTIME_INIT_SYSVINIT
- bool "Use system V init"
- select ADK_PACKAGE_SYSVINIT
- select ADK_PACKAGE_AGETTY
- select ADK_PACKAGE_GAWK
- select ADK_PACKAGE_IP
- select ADK_PACKAGE_MOUNT
-
-config ADK_RUNTIME_INIT_S6
- bool "Use s6 init and supervision"
- select ADK_PACKAGE_S6
- select ADK_PACKAGE_S6_PORTABLE_UTILS
- select ADK_PACKAGE_S6_LINUX_UTILS
-
-config ADK_RUNTIME_INIT_SYSTEMD
- bool "Use systemd init and supervision"
- select ADK_PACKAGE_SYSTEMD
- select ADK_PACKAGE_DBUS
- select ADK_PACKAGE_DBUS_WITH_SYSTEMD
- select ADK_TARGET_LIBC_WITH_LOCALE if ADK_TARGET_LIB_UCLIBC_NG
- select ADK_TARGET_LIBC_WITH_LIBINTL_STUB if ADK_TARGET_LIB_UCLIBC_NG
- depends on ADK_TARGET_LIB_GLIBC || ADK_TARGET_LIB_UCLIBC_NG
-
endchoice
choice
prompt "system for /dev management"
depends on !ADK_APPLIANCE_TOOLCHAIN
-default ADK_RUNTIME_DEV_STATIC if ADK_TARGET_ARCH_CRIS || !ADK_TARGET_WITH_MMU
-default ADK_RUNTIME_DEV_MDEV
+default ADK_RUNTIME_DEV_STATIC
+
+config ADK_RUNTIME_DEV_STATIC
+ bool "Use static /dev (devtmpfs)"
+ select ADK_LINUX_KERNEL_DEVTMPFS if ADK_TARGET_OS_LINUX
+ select ADK_LINUX_KERNEL_DEVTMPFS_MOUNT if ADK_TARGET_OS_LINUX
config ADK_RUNTIME_DEV_MDEV
- bool "Use mdev"
+ bool "Use dynamic /dev with mdev"
select ADK_LINUX_KERNEL_DEVTMPFS if ADK_TARGET_OS_LINUX
select ADK_LINUX_KERNEL_DEVTMPFS_MOUNT if ADK_TARGET_OS_LINUX
depends on ADK_PACKAGE_BUSYBOX
- depends on !ADK_RUNTIME_INIT_SYSTEMD
config ADK_RUNTIME_DEV_MDEV_LOGGING
bool "Log mdev events into /dev/mdev.log"
depends on ADK_RUNTIME_DEV_MDEV
config ADK_RUNTIME_DEV_UDEV
- bool "Use udev"
+ bool "Use dynamic /dev with udev"
select ADK_PACKAGE_UDEV
# needs depmod for module dependency generation on host
select ADK_HOST_BUILD_KMOD
select ADK_LINUX_KERNEL_DEVTMPFS if ADK_TARGET_OS_LINUX
select ADK_LINUX_KERNEL_DEVTMPFS_MOUNT if ADK_TARGET_OS_LINUX
- depends on !ADK_RUNTIME_INIT_SYSTEMD
-
-config ADK_RUNTIME_DEV_SYSTEMD_UDEV
- bool "Use systemd udev"
- select ADK_LINUX_KERNEL_DEVTMPFS if ADK_TARGET_OS_LINUX
- select ADK_LINUX_KERNEL_DEVTMPFS_MOUNT if ADK_TARGET_OS_LINUX
- depends on ADK_RUNTIME_INIT_SYSTEMD
-
-config ADK_RUNTIME_DEV_STATIC
- bool "Use static /dev"
- depends on !ADK_RUNTIME_INIT_SYSTEMD
endchoice
@@ -91,6 +62,7 @@ choice
prompt "base applications"
depends on !ADK_APPLIANCE_TOOLCHAIN
default ADK_RUNTIME_BASE_TOOLBOX if ADK_TARGET_ARCH_H8300
+default ADK_RUNTIME_BASE_TOOLBOX if ADK_TARGET_ARCH_C6X
default ADK_RUNTIME_BASE_BUSYBOX
config ADK_RUNTIME_BASE_BUSYBOX
@@ -145,7 +117,7 @@ config ADK_RUNTIME_PASSWORD
help
Predefine the root password enabled in the built image.
Use ./host_*/usr/bin/mkcrypt to generate the hash.
- Default password is linux123
+ Default password is: linux123
config ADK_RUNTIME_ADDUSER
bool "add an user"
@@ -184,7 +156,6 @@ config ADK_RUNTIME_USER_SHELL
config ADK_RUNTIME_MOUNT_DEBUGFS
bool "mount debugfs"
- depends on !ADK_RUNTIME_INIT_SYSTEMD
help
mount debugfs under /sys/kernel/debug
@@ -198,19 +169,20 @@ source "target/config/Config.in.scripts"
config ADK_RUNTIME_TMPFS_SIZE
string "size of /tmp in memory (kB)"
- default "32768" if ADK_TARGET_SYSTEM_LENOVO_X200
default "32768" if ADK_TARGET_SYSTEM_RASPBERRY_PI
default "32768" if ADK_TARGET_SYSTEM_RASPBERRY_PI2
default "32768" if ADK_TARGET_SYSTEM_RASPBERRY_PI3
- default "32768" if ADK_TARGET_SYSTEM_RASPBERRY_PI3P
+ default "32768" if ADK_TARGET_SYSTEM_RASPBERRY_PI4
+ default "32768" if ADK_TARGET_SYSTEM_RASPBERRY_PI5
+ default "32768" if ADK_TARGET_SYSTEM_RASPBERRY_PI3_64
+ default "32768" if ADK_TARGET_SYSTEM_RASPBERRY_PI4_64
default "32768" if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
default "16384" if ADK_TARGET_SYSTEM_QEMU_X86_64
default "16384" if ADK_TARGET_SYSTEM_QEMU_X86
- default "16384" if ADK_TARGET_VBOX
default "16384" if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
default "8192" if ADK_TARGET_SYSTEM_MIKROTIK_RB532
default "1024"
- depends on !ADK_RUNTIME_INIT_SIMPLEINIT && !ADK_RUNTIME_INIT_SYSTEMD
+ depends on !ADK_RUNTIME_INIT_SIMPLEINIT
help
Size of /tmp in memory in Kilobyte.
@@ -224,7 +196,7 @@ config ADK_RUNTIME_DEFAULT_LOCALE
string "default locale"
depends on ADK_TARGET_LIBC_WITH_LOCALE \
|| ADK_TARGET_LIB_GLIBC || ADK_TARGET_LIB_MUSL
- default "C.UTF-8"
+ default "en_US.UTF-8"
help
Locale to be set in the target system as default.
@@ -327,14 +299,14 @@ config ADK_RUNTIME_GETTY_VGA
default y if ADK_TARGET_SYSTEM_RASPBERRY_PI0
default y if ADK_TARGET_SYSTEM_RASPBERRY_PI2
default y if ADK_TARGET_SYSTEM_RASPBERRY_PI3
- default y if ADK_TARGET_SYSTEM_RASPBERRY_PI3P
+ default y if ADK_TARGET_SYSTEM_RASPBERRY_PI4
+ default y if ADK_TARGET_SYSTEM_RASPBERRY_PI5
default y if ADK_TARGET_SYSTEM_RASPBERRY_PI3_64
- default y if ADK_TARGET_SYSTEM_RASPBERRY_PI3P_64
+ default y if ADK_TARGET_SYSTEM_RASPBERRY_PI4_64
default y if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
default y if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
default y if ADK_TARGET_SYSTEM_ARANYM_M68K
default y if ADK_TARGET_MODEL_PCENGINES_ALIX1C
- default y if ADK_TARGET_VBOX
default n
help
Start getty on VGA console. (tty1-tty6)
@@ -350,11 +322,13 @@ config ADK_RUNTIME_GETTY_SERIAL
default n if ADK_TARGET_SYSTEM_RASPBERRY_PI
default n if ADK_TARGET_SYSTEM_RASPBERRY_PI2
default n if ADK_TARGET_SYSTEM_RASPBERRY_PI3
- default n if ADK_TARGET_SYSTEM_RASPBERRY_PI3P
+ default n if ADK_TARGET_SYSTEM_RASPBERRY_PI4
+ default n if ADK_TARGET_SYSTEM_RASPBERRY_PI5
+ default n if ADK_TARGET_SYSTEM_RASPBERRY_PI3_64
+ default n if ADK_TARGET_SYSTEM_RASPBERRY_PI4_64
default n if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
default n if ADK_TARGET_SYSTEM_ARANYM_M68K
default n if ADK_TARGET_MODEL_PCENGINES_ALIX1C
- default n if ADK_TARGET_VBOX
default y
help
Start getty on serial console.
@@ -383,26 +357,28 @@ config ADK_RUNTIME_CONSOLE_SERIAL_DEVICE
|| ADK_TARGET_SYSTEM_QEMU_ARM_REALVIEW_EB_MPCORE \
|| ADK_TARGET_SYSTEM_QEMU_ARM_VEXPRESS_A9 \
|| ADK_TARGET_SYSTEM_QEMU_AARCH64
- default "ttyARC0" if ADK_TARGET_SYSTEM_SYNOPSYS_NSIM
+ default "ttyARC0" if ADK_TARGET_SYSTEM_SYNOPSYS_NSIM && ADK_TARGET_CPU_ARC_ARC700
default "ttySC1" if ADK_TARGET_SYSTEM_QEMU_SH
default "ttySC0" if ADK_TARGET_SYSTEM_SIM_H8300H
default "ttySC2" if ADK_TARGET_SYSTEM_HITACHI_EDOSK2674
+ default "ttySIF0" if ADK_TARGET_SYSTEM_SIPEED_MAIX_BIT
default "ttymxc0" if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
default "ttymxc1" if ADK_TARGET_SYSTEM_PHYTEC_IMX6
default "ttyAMA0" if ADK_TARGET_SYSTEM_RASPBERRY_PI
default "ttyAMA0" if ADK_TARGET_SYSTEM_RASPBERRY_PI2
default "ttyAMA0" if ADK_TARGET_SYSTEM_RASPBERRY_PI3
- default "ttyAMA0" if ADK_TARGET_SYSTEM_RASPBERRY_PI3P
default "ttyAMA0" if ADK_TARGET_SYSTEM_RASPBERRY_PI3_64
- default "ttyAMA0" if ADK_TARGET_SYSTEM_RASPBERRY_PI3P_64
default "ttyDA1" if ADK_TARGET_SYSTEM_QEMU_METAG
default "ttyS2" if ADK_TARGET_SYSTEM_KINETIS_K70
default "ttyS2" if ADK_TARGET_SYSTEM_SOM_C6745
+ default "ttyS2" if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
default "ttyPS0" if ADK_TARGET_SYSTEM_QEMU_ARM_XILINX_ZYNQ
default "ttysclp0" if ADK_TARGET_SYSTEM_QEMU_S390
default "ttyO2" if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK
default "ttyO0" if ADK_TARGET_SYSTEM_PHYTEC_WEGA
default "ttyS4" if ADK_TARGET_SYSTEM_IMGTEC_CI20
+ default "ttySTM0" if ADK_TARGET_SYSTEM_ST_STM32F746G
+ default "ttyGF0" if ADK_TARGET_SYSTEM_QEMU_M68K_VIRT
default "ttyS0"
config ADK_RUNTIME_CONSOLE_SERIAL_SPEED
@@ -501,7 +477,7 @@ config ADK_BINSH_MKSH
config ADK_BINSH_HUSH
bool "hush (busybox)"
- select ADK_PACKAGE_HUSH if !ADK_APPLIANCE_TOOLCHAIN
+ select BUSYBOX_HUSH if !ADK_APPLIANCE_TOOLCHAIN
help
hush shell.
@@ -539,12 +515,12 @@ endchoice
# workaround for USB ethernet f.e. Raspberry Pi 2/3
config ADK_RUNTIME_WAIT_FOR_ETHERNET
- bool
+ bool "Wait for ethernet to come up on boot"
default y if ADK_TARGET_SYSTEM_RASPBERRY_PI2
default y if ADK_TARGET_SYSTEM_RASPBERRY_PI3
default y if ADK_TARGET_SYSTEM_RASPBERRY_PI3_64
- default y if ADK_TARGET_SYSTEM_RASPBERRY_PI3P
- default y if ADK_TARGET_SYSTEM_RASPBERRY_PI3P_64
+ default y if ADK_TARGET_SYSTEM_RASPBERRY_PI4
+ default y if ADK_TARGET_SYSTEM_RASPBERRY_PI4_64
config ADK_SIMPLE_NETWORK_CONFIG
bool "simple network configuration"
diff --git a/target/config/Config.in.threads b/target/config/Config.in.threads
index 460d3f5c7..ff4fcac25 100644
--- a/target/config/Config.in.threads
+++ b/target/config/Config.in.threads
@@ -7,8 +7,7 @@ depends on ADK_TARGET_LIB_UCLIBC_NG
config ADK_TARGET_WITH_NPTL
bool "NPTL"
- depends on ADK_TARGET_SUPPORTS_NPTL && ADK_TARGET_SUPPORTS_THREADS && \
- ((ADK_TARGET_ARCH_ARM && ADK_TARGET_BINFMT_FDPIC) || ADK_TARGET_WITH_MMU)
+ depends on ADK_TARGET_SUPPORTS_NPTL && ADK_TARGET_SUPPORTS_THREADS
config ADK_TARGET_WITH_LT
bool "Linuxthreads"
diff --git a/target/config/Config.in.toolchain b/target/config/Config.in.toolchain
index 184e4adfc..144f92a9b 100644
--- a/target/config/Config.in.toolchain
+++ b/target/config/Config.in.toolchain
@@ -5,6 +5,7 @@ config ADK_TARGET_CFLAGS_OPT
string
default "-Os -pipe" if ADK_TARGET_CFLAGS_OPT_OS
default "-Og -pipe" if ADK_TARGET_CFLAGS_OPT_OG
+ default "-O1 -pipe" if ADK_TARGET_CFLAGS_OPT_O1
default "-O2 -pipe" if ADK_TARGET_CFLAGS_OPT_O2
default "-O3 -pipe" if ADK_TARGET_CFLAGS_OPT_O3
default "-O0 -pipe" if ADK_TARGET_CFLAGS_OPT_O0
diff --git a/target/config/Config.in.tools b/target/config/Config.in.tools
index 5cecf85c1..9433bfa89 100644
--- a/target/config/Config.in.tools
+++ b/target/config/Config.in.tools
@@ -164,7 +164,6 @@ config ADK_HOST_BUILD_MTOOLS
config ADK_HOST_BUILD_GENIMAGE
bool
- select ADK_HOST_BUILD_MKE2IMG
select ADK_HOST_BUILD_MTOOLS
select ADK_HOST_BUILD_GENEXT2FS
select ADK_HOST_BUILD_GPTFDISK
@@ -192,6 +191,14 @@ config ADK_HOST_BUILD_GENEXT2FS
bool
default n
+config ADK_HOST_NEED_ZSTD
+ bool
+ default n
+
+config ADK_HOST_BUILD_ZSTD
+ bool
+ default n
+
config ADK_HOST_NEED_LZ4
bool
default n
@@ -316,6 +323,7 @@ config ADK_COMPRESSION_TOOL
default "gzip -n9" if ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_GZIP
default "bzip2" if ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_BZIP2
default "xz -v --check=crc32 --lzma2=dict=1MiB" if ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_XZ
+ default "zstd" if ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_ZSTD
default "lz4c -l" if ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_LZ4
default "lzma -9" if ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_LZMA
default "lzop" if ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_LZO
diff --git a/target/csky/kernel/qemu-csky b/target/csky/kernel/qemu-csky
index 1d06909b6..876d5a87f 100644
--- a/target/csky/kernel/qemu-csky
+++ b/target/csky/kernel/qemu-csky
@@ -5,3 +5,4 @@ CONFIG_NATIONALCHIP_IRQ=y
CONFIG_NATIONALCHIP_TIMER=y
CONFIG_CSKYMAC=y
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/h8300/systems/hitachi-edosk2674 b/target/h8300/systems/hitachi-edosk2674
index 7a53d4368..10eac7cea 100644
--- a/target/h8300/systems/hitachi-edosk2674
+++ b/target/h8300/systems/hitachi-edosk2674
@@ -3,6 +3,8 @@ config ADK_TARGET_SYSTEM_HITACHI_EDOSK2674
select ADK_TARGET_CPU_H8S
select ADK_TARGET_PACKAGE_TXZ
select ADK_TARGET_WITH_SERIAL
+ select ADK_TARGET_WITH_NET
+ select ADK_TARGET_WITH_NETDEVICE
select ADK_TARGET_KERNEL_UIMAGEBIN
select ADK_HOST_BUILD_U_BOOT_H8300
help
diff --git a/target/h8300/uclibc-ng.config b/target/h8300/uclibc-ng-nommu.config
index 153512253..153512253 100644
--- a/target/h8300/uclibc-ng.config
+++ b/target/h8300/uclibc-ng-nommu.config
diff --git a/target/hppa/Makefile b/target/hppa/Makefile
index aba746bee..482479e58 100644
--- a/target/hppa/Makefile
+++ b/target/hppa/Makefile
@@ -8,6 +8,7 @@ include $(ADK_TOPDIR)/mk/image.mk
KERNEL:=$(LINUX_DIR)/$(ADK_TARGET_KERNEL)
QEMU:=qemu-system-hppa
QEMU_ARGS:=-nographic
+QEMU_ARGS+=-device e1000,netdev=adk0 -netdev user,id=adk0
# target helper text
ifeq ($(ADK_TARGET_FS),archive)
diff --git a/target/hppa/kernel/qemu-hppa b/target/hppa/kernel/qemu-hppa
index e16c3f466..e0d0e95a3 100644
--- a/target/hppa/kernel/qemu-hppa
+++ b/target/hppa/kernel/qemu-hppa
@@ -6,3 +6,4 @@ CONFIG_GSC_WAX=y
CONFIG_GSC_DINO=y
CONFIG_SERIAL_MUX=y
CONFIG_SERIAL_MUX_CONSOLE=y
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/kvx/Makefile b/target/kvx/Makefile
new file mode 100644
index 000000000..ecef4a219
--- /dev/null
+++ b/target/kvx/Makefile
@@ -0,0 +1,61 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+include $(ADK_TOPDIR)/mk/kernel-build.mk
+include $(ADK_TOPDIR)/mk/image.mk
+
+KERNEL:=$(LINUX_DIR)/vmlinux
+QEMU_ARGS:=-nographic
+
+#
+# target helper text
+ifeq ($(ADK_TARGET_FS),archive)
+targethelp:
+ @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSTARBALL)"
+ifeq ($(ADK_TARGET_QEMU),y)
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+ @echo "Use following command to create a QEMU Image:"
+ @echo "./scripts/create.sh qemu-${ADK_TARGET_CPU_ARCH}.img $(FW_DIR)/$(ROOTFSUSERTARBALL)"
+ @echo "Start qemu with following options:"
+ @echo 'qemu-system-${ADK_TARGET_CPU_ARCH} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${ADK_TARGET_CPU_ARCH}.img'
+endif
+endif
+ifeq ($(ADK_TARGET_FS),initramfs)
+targethelp:
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+ @echo 'The initramfs image is: ${FW_DIR}/${INITRAMFS}'
+ifeq ($(ADK_TARGET_QEMU),y)
+ @echo "Start qemu with following command line:"
+ @echo 'qemu-system-${ADK_TARGET_CPU_ARCH} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL) -initrd ${FW_DIR}/${INITRAMFS}'
+endif
+endif
+ifeq ($(ADK_TARGET_FS),initramfsarchive)
+targethelp:
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+ @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
+endif
+ifeq ($(ADK_TARGET_FS),initramfspiggyback)
+targethelp:
+ @echo 'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}'
+ifeq ($(ADK_TARGET_QEMU),y)
+ @echo "Start qemu with following command line:"
+ @echo 'qemu-system-${ADK_TARGET_CPU_ARCH} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL)'
+endif
+endif
+
+kernel-strip:
+
+kernel-install: kernel-strip
+ @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
+
+# filesystem specific targets
+ifeq ($(ADK_TARGET_FS),initramfs)
+imageinstall: kernel-install $(FW_DIR)/$(INITRAMFS) targethelp
+endif
+ifeq ($(ADK_TARGET_FS),initramfsarchive)
+imageinstall: kernel-install $(FW_DIR)/$(ROOTFSUSERTARBALL) targethelp
+endif
+ifeq ($(ADK_TARGET_FS),initramfspiggyback)
+imageinstall: createinitramfs targethelp
+endif
diff --git a/target/kvx/kernel/generic-kvx b/target/kvx/kernel/generic-kvx
new file mode 100644
index 000000000..1d953b12e
--- /dev/null
+++ b/target/kvx/kernel/generic-kvx
@@ -0,0 +1,3311 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/kvx 5.8.12 Kernel Configuration
+#
+CONFIG_CC_IS_GCC=y
+CONFIG_GCC_VERSION=90401
+CONFIG_LD_VERSION=237000000
+CONFIG_CLANG_VERSION=0
+CONFIG_CC_CAN_LINK=y
+CONFIG_CC_CAN_LINK_STATIC=y
+CONFIG_CC_HAS_ASM_GOTO=y
+CONFIG_CC_HAS_ASM_INLINE=y
+CONFIG_IRQ_WORK=y
+CONFIG_THREAD_INFO_IN_TASK=y
+
+#
+# General setup
+#
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+# CONFIG_COMPILE_TEST is not set
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_BUILD_SALT=""
+CONFIG_DEFAULT_INIT=""
+CONFIG_DEFAULT_HOSTNAME="KVXlinux"
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_WATCH_QUEUE is not set
+CONFIG_CROSS_MEMORY_ATTACH=y
+# CONFIG_USELIB is not set
+# CONFIG_AUDIT is not set
+CONFIG_HAVE_ARCH_AUDITSYSCALL=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_IRQ_INJECTION=y
+CONFIG_GENERIC_IRQ_CHIP=y
+CONFIG_IRQ_DOMAIN=y
+CONFIG_IRQ_DOMAIN_HIERARCHY=y
+CONFIG_GENERIC_IRQ_IPI=y
+CONFIG_GENERIC_MSI_IRQ=y
+CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
+CONFIG_IRQ_MSI_IOMMU=y
+CONFIG_SPARSE_IRQ=y
+# end of IRQ subsystem
+
+CONFIG_ARCH_CLOCKSOURCE_DATA=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+
+#
+# Timers subsystem
+#
+CONFIG_HZ_PERIODIC=y
+# CONFIG_NO_HZ_IDLE is not set
+# CONFIG_NO_HZ is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+# end of Timers subsystem
+
+CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_PSI is not set
+# end of CPU/Task time and stats accounting
+
+#
+# RCU Subsystem
+#
+CONFIG_TINY_RCU=y
+# CONFIG_RCU_EXPERT is not set
+CONFIG_SRCU=y
+CONFIG_TINY_SRCU=y
+# end of RCU Subsystem
+
+# CONFIG_IKCONFIG is not set
+# CONFIG_IKHEADERS is not set
+CONFIG_LOG_BUF_SHIFT=17
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
+CONFIG_GENERIC_SCHED_CLOCK=y
+
+#
+# Scheduler features
+#
+# end of Scheduler features
+
+CONFIG_CC_HAS_INT128=y
+# CONFIG_CGROUPS is not set
+# CONFIG_NAMESPACES is not set
+# CONFIG_CHECKPOINT_RESTORE is not set
+# CONFIG_SCHED_AUTOGROUP is not set
+# CONFIG_SYSFS_DEPRECATED is not set
+# CONFIG_RELAY is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE="${BR_BINARIES_DIR}/rootfs.cpio"
+CONFIG_INITRAMFS_ROOT_UID=0
+CONFIG_INITRAMFS_ROOT_GID=0
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+CONFIG_RD_LZ4=y
+CONFIG_INITRAMFS_COMPRESSION_GZIP=y
+# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set
+# CONFIG_INITRAMFS_COMPRESSION_XZ is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZO is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set
+# CONFIG_INITRAMFS_COMPRESSION_NONE is not set
+# CONFIG_BOOT_CONFIG is not set
+CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
+CONFIG_BPF=y
+CONFIG_EXPERT=y
+CONFIG_MULTIUSER=y
+# CONFIG_SGETMASK_SYSCALL is not set
+CONFIG_SYSFS_SYSCALL=y
+CONFIG_FHANDLE=y
+CONFIG_POSIX_TIMERS=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_FUTEX_PI=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_IO_URING=y
+CONFIG_ADVISE_SYSCALLS=y
+CONFIG_MEMBARRIER=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_BPF_SYSCALL is not set
+# CONFIG_USERFAULTFD is not set
+CONFIG_EMBEDDED=y
+CONFIG_HAVE_PERF_EVENTS=y
+# CONFIG_PC104 is not set
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+# end of Kernel Performance Events And Counters
+
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+CONFIG_COMPAT_BRK=y
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_SLOB is not set
+CONFIG_SLAB_MERGE_DEFAULT=y
+# CONFIG_SLAB_FREELIST_RANDOM is not set
+# CONFIG_SLAB_FREELIST_HARDENED is not set
+# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set
+# CONFIG_PROFILING is not set
+# end of General setup
+
+CONFIG_64BIT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_MMU=y
+CONFIG_SYS_SUPPORTS_HUGETLBFS=y
+CONFIG_GENERIC_CSUM=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_HAVE_COPY_THREAD_TLS=y
+CONFIG_ZONE_DMA32=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_GENERIC_BUG=y
+CONFIG_KVX=y
+CONFIG_PGTABLE_LEVELS=3
+
+#
+# System setup
+#
+CONFIG_POISON_INITMEM=y
+CONFIG_KVX_PHYS_OFFSET=0x100000000
+CONFIG_KVX_PAGE_OFFSET=0xFFFFFF8000000000
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_DEFAULT=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_STACK_MAX_DEPTH_TO_PRINT=24
+CONFIG_L2_CACHE=y
+CONFIG_SECURE_DAME_HANDLING=y
+# CONFIG_CACHECTL_UNSAFE_PHYS_OPERATIONS is not set
+CONFIG_ENABLE_TCA=y
+# CONFIG_SMP is not set
+CONFIG_KVX_4K_PAGES=y
+# CONFIG_KVX_64K_PAGES is not set
+CONFIG_KVX_PAGE_SHIFT=12
+CONFIG_CMDLINE=""
+# end of System setup
+
+#
+# System Type
+#
+CONFIG_KVX_SUBARCH_KV3_1=y
+# CONFIG_KVX_SUBARCH_KV3_2 is not set
+# end of System Type
+
+#
+# Kernel Features
+#
+CONFIG_HZ_100=y
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=100
+# end of Kernel Features
+
+#
+# General architecture-dependent options
+#
+CONFIG_JUMP_LABEL=y
+# CONFIG_STATIC_KEYS_SELFTEST is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_ASM_MODVERSIONS=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_HAVE_STACKPROTECTOR=y
+CONFIG_CC_HAS_STACKPROTECTOR_NONE=y
+CONFIG_STACKPROTECTOR=y
+CONFIG_STACKPROTECTOR_STRONG=y
+CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_MODULES_USE_ELF_RELA=y
+# CONFIG_COMPAT_32BIT_TIME is not set
+CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y
+CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
+CONFIG_STRICT_KERNEL_RWX=y
+CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
+CONFIG_STRICT_MODULE_RWX=y
+
+#
+# GCOV-based kernel profiling
+#
+# end of GCOV-based kernel profiling
+# end of General architecture-dependent options
+
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_MODVERSIONS=y
+CONFIG_ASM_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+# CONFIG_MODULE_SIG is not set
+# CONFIG_MODULE_COMPRESS is not set
+# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_TRIM_UNUSED_KSYMS is not set
+CONFIG_MODULES_TREE_LOOKUP=y
+CONFIG_BLOCK=y
+CONFIG_BLK_SCSI_REQUEST=y
+CONFIG_BLK_DEV_BSG=y
+# CONFIG_BLK_DEV_BSGLIB is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+# CONFIG_BLK_DEV_ZONED is not set
+# CONFIG_BLK_CMDLINE_PARSER is not set
+# CONFIG_BLK_WBT is not set
+# CONFIG_BLK_SED_OPAL is not set
+# CONFIG_BLK_INLINE_ENCRYPTION is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+CONFIG_EFI_PARTITION=y
+# end of Partition Types
+
+CONFIG_BLK_MQ_PCI=y
+CONFIG_BLK_MQ_VIRTIO=y
+
+#
+# IO Schedulers
+#
+CONFIG_MQ_IOSCHED_DEADLINE=y
+CONFIG_MQ_IOSCHED_KYBER=y
+# CONFIG_IOSCHED_BFQ is not set
+# end of IO Schedulers
+
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+CONFIG_INLINE_READ_UNLOCK=y
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+CONFIG_INLINE_WRITE_UNLOCK=y
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
+CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_ELFCORE=y
+CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
+CONFIG_BINFMT_SCRIPT=y
+# CONFIG_BINFMT_MISC is not set
+CONFIG_COREDUMP=y
+# end of Executable file formats
+
+#
+# Memory Management options
+#
+CONFIG_SELECT_MEMORY_MODEL=y
+# CONFIG_FLATMEM_MANUAL is not set
+CONFIG_SPARSEMEM_MANUAL=y
+CONFIG_SPARSEMEM=y
+CONFIG_HAVE_MEMORY_PRESENT=y
+CONFIG_SPARSEMEM_EXTREME=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_COMPACTION=y
+# CONFIG_PAGE_REPORTING is not set
+CONFIG_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
+# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
+CONFIG_NEED_PER_CPU_KM=y
+# CONFIG_CLEANCACHE is not set
+# CONFIG_FRONTSWAP is not set
+# CONFIG_CMA is not set
+# CONFIG_ZPOOL is not set
+# CONFIG_ZBUD is not set
+# CONFIG_ZSMALLOC is not set
+# CONFIG_IDLE_PAGE_TRACKING is not set
+# CONFIG_PERCPU_STATS is not set
+# CONFIG_GUP_BENCHMARK is not set
+# CONFIG_READ_ONLY_THP_FOR_FS is not set
+CONFIG_ARCH_HAS_PTE_SPECIAL=y
+# end of Memory Management options
+
+CONFIG_NET=y
+CONFIG_NET_INGRESS=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+# CONFIG_PACKET_DIAG is not set
+CONFIG_UNIX=y
+CONFIG_UNIX_SCM=y
+# CONFIG_UNIX_DIAG is not set
+# CONFIG_TLS is not set
+# CONFIG_XFRM_USER is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE_DEMUX is not set
+CONFIG_NET_IP_TUNNEL=y
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_NET_IPVTI is not set
+# CONFIG_NET_FOU is not set
+# CONFIG_NET_FOU_IP_TUNNELS is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+CONFIG_INET_TUNNEL=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_INET_UDP_DIAG is not set
+# CONFIG_INET_RAW_DIAG is not set
+# CONFIG_INET_DIAG_DESTROY is not set
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=y
+# CONFIG_IPV6_ROUTER_PREF is not set
+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+# CONFIG_INET6_AH is not set
+# CONFIG_INET6_ESP is not set
+# CONFIG_INET6_IPCOMP is not set
+# CONFIG_IPV6_MIP6 is not set
+# CONFIG_IPV6_ILA is not set
+# CONFIG_IPV6_VTI is not set
+CONFIG_IPV6_SIT=y
+# CONFIG_IPV6_SIT_6RD is not set
+CONFIG_IPV6_NDISC_NODETYPE=y
+# CONFIG_IPV6_TUNNEL is not set
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_IPV6_MROUTE is not set
+# CONFIG_IPV6_SEG6_LWTUNNEL is not set
+# CONFIG_IPV6_SEG6_HMAC is not set
+# CONFIG_IPV6_RPL_LWTUNNEL is not set
+# CONFIG_MPTCP is not set
+# CONFIG_NETWORK_SECMARK is not set
+CONFIG_NET_PTP_CLASSIFY=y
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+CONFIG_NETFILTER=y
+CONFIG_NETFILTER_ADVANCED=y
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_INGRESS=y
+# CONFIG_NETFILTER_NETLINK_ACCT is not set
+# CONFIG_NETFILTER_NETLINK_QUEUE is not set
+# CONFIG_NETFILTER_NETLINK_LOG is not set
+# CONFIG_NETFILTER_NETLINK_OSF is not set
+CONFIG_NF_CONNTRACK=m
+# CONFIG_NF_LOG_NETDEV is not set
+# CONFIG_NF_CONNTRACK_MARK is not set
+# CONFIG_NF_CONNTRACK_ZONES is not set
+CONFIG_NF_CONNTRACK_PROCFS=y
+# CONFIG_NF_CONNTRACK_EVENTS is not set
+# CONFIG_NF_CONNTRACK_TIMEOUT is not set
+# CONFIG_NF_CONNTRACK_TIMESTAMP is not set
+# CONFIG_NF_CONNTRACK_LABELS is not set
+CONFIG_NF_CT_PROTO_DCCP=y
+CONFIG_NF_CT_PROTO_SCTP=y
+CONFIG_NF_CT_PROTO_UDPLITE=y
+# CONFIG_NF_CONNTRACK_AMANDA is not set
+# CONFIG_NF_CONNTRACK_FTP is not set
+# CONFIG_NF_CONNTRACK_H323 is not set
+# CONFIG_NF_CONNTRACK_IRC is not set
+# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
+# CONFIG_NF_CONNTRACK_SNMP is not set
+# CONFIG_NF_CONNTRACK_PPTP is not set
+# CONFIG_NF_CONNTRACK_SANE is not set
+# CONFIG_NF_CONNTRACK_SIP is not set
+# CONFIG_NF_CONNTRACK_TFTP is not set
+# CONFIG_NF_CT_NETLINK is not set
+CONFIG_NF_NAT=m
+# CONFIG_NF_TABLES is not set
+CONFIG_NETFILTER_XTABLES=m
+
+#
+# Xtables combined modules
+#
+# CONFIG_NETFILTER_XT_MARK is not set
+# CONFIG_NETFILTER_XT_CONNMARK is not set
+
+#
+# Xtables targets
+#
+# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
+# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
+# CONFIG_NETFILTER_XT_TARGET_HMARK is not set
+# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set
+# CONFIG_NETFILTER_XT_TARGET_LOG is not set
+# CONFIG_NETFILTER_XT_TARGET_MARK is not set
+CONFIG_NETFILTER_XT_NAT=m
+# CONFIG_NETFILTER_XT_TARGET_NETMAP is not set
+# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
+# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
+# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
+# CONFIG_NETFILTER_XT_TARGET_REDIRECT is not set
+# CONFIG_NETFILTER_XT_TARGET_MASQUERADE is not set
+# CONFIG_NETFILTER_XT_TARGET_TEE is not set
+# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
+
+#
+# Xtables matches
+#
+# CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is not set
+# CONFIG_NETFILTER_XT_MATCH_BPF is not set
+# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set
+# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
+# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
+# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set
+# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set
+# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set
+# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not set
+# CONFIG_NETFILTER_XT_MATCH_CPU is not set
+# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
+# CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set
+# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
+# CONFIG_NETFILTER_XT_MATCH_ECN is not set
+# CONFIG_NETFILTER_XT_MATCH_ESP is not set
+# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
+# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
+# CONFIG_NETFILTER_XT_MATCH_HL is not set
+# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set
+# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
+# CONFIG_NETFILTER_XT_MATCH_L2TP is not set
+# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
+# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
+# CONFIG_NETFILTER_XT_MATCH_MAC is not set
+# CONFIG_NETFILTER_XT_MATCH_MARK is not set
+# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
+# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set
+# CONFIG_NETFILTER_XT_MATCH_OSF is not set
+# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
+# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
+# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
+# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
+# CONFIG_NETFILTER_XT_MATCH_REALM is not set
+# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
+# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
+# CONFIG_NETFILTER_XT_MATCH_SOCKET is not set
+# CONFIG_NETFILTER_XT_MATCH_STATE is not set
+# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
+# CONFIG_NETFILTER_XT_MATCH_STRING is not set
+# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
+# CONFIG_NETFILTER_XT_MATCH_TIME is not set
+# CONFIG_NETFILTER_XT_MATCH_U32 is not set
+# end of Core Netfilter Configuration
+
+# CONFIG_IP_SET is not set
+# CONFIG_IP_VS is not set
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+# CONFIG_NF_SOCKET_IPV4 is not set
+# CONFIG_NF_TPROXY_IPV4 is not set
+# CONFIG_NF_DUP_IPV4 is not set
+# CONFIG_NF_LOG_ARP is not set
+# CONFIG_NF_LOG_IPV4 is not set
+# CONFIG_NF_REJECT_IPV4 is not set
+CONFIG_IP_NF_IPTABLES=m
+# CONFIG_IP_NF_MATCH_AH is not set
+# CONFIG_IP_NF_MATCH_ECN is not set
+# CONFIG_IP_NF_MATCH_TTL is not set
+# CONFIG_IP_NF_FILTER is not set
+# CONFIG_IP_NF_TARGET_SYNPROXY is not set
+CONFIG_IP_NF_NAT=m
+# CONFIG_IP_NF_TARGET_MASQUERADE is not set
+# CONFIG_IP_NF_TARGET_NETMAP is not set
+# CONFIG_IP_NF_TARGET_REDIRECT is not set
+# CONFIG_IP_NF_MANGLE is not set
+# CONFIG_IP_NF_RAW is not set
+# CONFIG_IP_NF_ARPTABLES is not set
+# end of IP: Netfilter Configuration
+
+#
+# IPv6: Netfilter Configuration
+#
+# CONFIG_NF_SOCKET_IPV6 is not set
+# CONFIG_NF_TPROXY_IPV6 is not set
+# CONFIG_NF_DUP_IPV6 is not set
+# CONFIG_NF_REJECT_IPV6 is not set
+# CONFIG_NF_LOG_IPV6 is not set
+# CONFIG_IP6_NF_IPTABLES is not set
+# end of IPv6: Netfilter Configuration
+
+CONFIG_NF_DEFRAG_IPV6=m
+# CONFIG_NF_CONNTRACK_BRIDGE is not set
+# CONFIG_BPFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_L2TP is not set
+# CONFIG_BRIDGE is not set
+CONFIG_HAVE_NET_DSA=y
+# CONFIG_NET_DSA is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_PHONET is not set
+# CONFIG_6LOWPAN is not set
+# CONFIG_IEEE802154 is not set
+# CONFIG_NET_SCHED is not set
+CONFIG_DCB=y
+# CONFIG_BATMAN_ADV is not set
+# CONFIG_OPENVSWITCH is not set
+# CONFIG_VSOCKETS is not set
+# CONFIG_NETLINK_DIAG is not set
+# CONFIG_MPLS is not set
+# CONFIG_NET_NSH is not set
+# CONFIG_HSR is not set
+# CONFIG_NET_SWITCHDEV is not set
+# CONFIG_NET_L3_MASTER_DEV is not set
+# CONFIG_QRTR is not set
+# CONFIG_NET_NCSI is not set
+CONFIG_NET_RX_BUSY_POLL=y
+CONFIG_BQL=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# end of Network testing
+# end of Networking options
+
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+# CONFIG_AF_KCM is not set
+CONFIG_WIRELESS=y
+# CONFIG_CFG80211 is not set
+
+#
+# CFG80211 needs to be enabled for MAC80211
+#
+CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+# CONFIG_CEPH_LIB is not set
+# CONFIG_NFC is not set
+# CONFIG_PSAMPLE is not set
+# CONFIG_NET_IFE is not set
+# CONFIG_LWTUNNEL is not set
+CONFIG_DST_CACHE=y
+CONFIG_GRO_CELLS=y
+CONFIG_PAGE_POOL=y
+# CONFIG_FAILOVER is not set
+
+#
+# Device Drivers
+#
+CONFIG_HAVE_PCI=y
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_DOMAINS_GENERIC=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=y
+CONFIG_PCIEAER=y
+CONFIG_PCIEAER_INJECT=y
+# CONFIG_PCIE_ECRC is not set
+# CONFIG_PCIEASPM is not set
+CONFIG_PCIE_DPC=y
+# CONFIG_PCIE_PTM is not set
+# CONFIG_PCIE_BW is not set
+CONFIG_PCI_MSI=y
+CONFIG_PCI_MSI_IRQ_DOMAIN=y
+CONFIG_PCI_QUIRKS=y
+# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_STUB is not set
+# CONFIG_PCI_IOV is not set
+# CONFIG_PCI_PRI is not set
+# CONFIG_PCI_PASID is not set
+CONFIG_HOTPLUG_PCI=y
+# CONFIG_HOTPLUG_PCI_CPCI is not set
+# CONFIG_HOTPLUG_PCI_SHPC is not set
+
+#
+# PCI controller drivers
+#
+CONFIG_PCIE_KVX_NWL=y
+# CONFIG_PCIE_KVX_ERR_INJECT_SYSFS is not set
+# CONFIG_PCI_FTPCI100 is not set
+# CONFIG_PCI_HOST_GENERIC is not set
+# CONFIG_PCIE_XILINX is not set
+
+#
+# DesignWare PCI Core Support
+#
+# CONFIG_PCIE_DW_PLAT_HOST is not set
+# CONFIG_PCI_MESON is not set
+# end of DesignWare PCI Core Support
+
+#
+# Mobiveil PCIe Core Support
+#
+# end of Mobiveil PCIe Core Support
+
+#
+# Cadence PCIe controllers support
+#
+# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
+# end of Cadence PCIe controllers support
+# end of PCI controller drivers
+
+#
+# PCI Endpoint
+#
+# CONFIG_PCI_ENDPOINT is not set
+# end of PCI Endpoint
+
+#
+# PCI switch controller drivers
+#
+# CONFIG_PCI_SW_SWITCHTEC is not set
+# end of PCI switch controller drivers
+
+# CONFIG_PCCARD is not set
+# CONFIG_RAPIDIO is not set
+
+#
+# Generic Driver Options
+#
+# CONFIG_UEVENT_HELPER is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+
+#
+# Firmware loader
+#
+CONFIG_FW_LOADER=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_FW_LOADER_USER_HELPER is not set
+# CONFIG_FW_LOADER_COMPRESS is not set
+# end of Firmware loader
+
+CONFIG_WANT_DEV_COREDUMP=y
+CONFIG_ALLOW_DEV_COREDUMP=y
+CONFIG_DEV_COREDUMP=y
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
+# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
+CONFIG_GENERIC_CPU_DEVICES=y
+CONFIG_SOC_BUS=y
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=y
+CONFIG_REGMAP_MMIO=y
+# end of Generic Driver Options
+
+#
+# Bus devices
+#
+# CONFIG_MOXTET is not set
+# CONFIG_MHI_BUS is not set
+# end of Bus devices
+
+# CONFIG_CONNECTOR is not set
+# CONFIG_GNSS is not set
+CONFIG_MTD=y
+# CONFIG_MTD_TESTS is not set
+
+#
+# Partition parsers
+#
+# CONFIG_MTD_AR7_PARTS is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+CONFIG_MTD_OF_PARTS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# end of Partition parsers
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_SM_FTL is not set
+# CONFIG_MTD_OOPS is not set
+# CONFIG_MTD_SWAP is not set
+# CONFIG_MTD_PARTITIONED_MASTER is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# end of RAM/ROM/Flash chip drivers
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_INTEL_VR_NOR is not set
+# CONFIG_MTD_PLATRAM is not set
+# end of Mapping drivers for chip access
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_MCHP23K256 is not set
+# CONFIG_MTD_SST25L is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOCG3 is not set
+# end of Self-contained MTD device drivers
+
+# CONFIG_MTD_ONENAND is not set
+# CONFIG_MTD_RAW_NAND is not set
+# CONFIG_MTD_SPI_NAND is not set
+
+#
+# LPDDR & LPDDR2 PCM memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+# end of LPDDR & LPDDR2 PCM memory drivers
+
+CONFIG_MTD_SPI_NOR=y
+# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set
+# CONFIG_MTD_UBI is not set
+# CONFIG_MTD_HYPERBUS is not set
+CONFIG_DTC=y
+CONFIG_OF=y
+# CONFIG_OF_UNITTEST is not set
+CONFIG_OF_FLATTREE=y
+CONFIG_OF_EARLY_FLATTREE=y
+CONFIG_OF_KOBJ=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_NET=y
+CONFIG_OF_MDIO=m
+CONFIG_OF_RESERVED_MEM=y
+# CONFIG_OF_OVERLAY is not set
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_NULL_BLK is not set
+# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
+# CONFIG_BLK_DEV_UMEM is not set
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_DRBD is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_SKD is not set
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_RAM is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_VIRTIO_BLK is not set
+# CONFIG_BLK_DEV_RBD is not set
+# CONFIG_BLK_DEV_RSXX is not set
+
+#
+# NVME Support
+#
+CONFIG_NVME_CORE=y
+CONFIG_BLK_DEV_NVME=y
+# CONFIG_NVME_MULTIPATH is not set
+# CONFIG_NVME_HWMON is not set
+# CONFIG_NVME_FC is not set
+# CONFIG_NVME_TCP is not set
+# CONFIG_NVME_TARGET is not set
+# end of NVME Support
+
+#
+# Misc devices
+#
+# CONFIG_AD525X_DPOT is not set
+# CONFIG_DUMMY_IRQ is not set
+# CONFIG_PHANTOM is not set
+# CONFIG_TIFM_CORE is not set
+# CONFIG_ICS932S401 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_HP_ILO is not set
+# CONFIG_APDS9802ALS is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_ISL29020 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_SENSORS_BH1770 is not set
+# CONFIG_SENSORS_APDS990X is not set
+# CONFIG_HMC6352 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_LATTICE_ECP3_CONFIG is not set
+# CONFIG_SRAM is not set
+# CONFIG_PCI_ENDPOINT_TEST is not set
+# CONFIG_XILINX_SDFEC is not set
+# CONFIG_PVPANIC is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+# CONFIG_EEPROM_AT24 is not set
+# CONFIG_EEPROM_AT25 is not set
+# CONFIG_EEPROM_LEGACY is not set
+# CONFIG_EEPROM_MAX6875 is not set
+# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_EEPROM_93XX46 is not set
+# CONFIG_EEPROM_IDT_89HPESX is not set
+# CONFIG_EEPROM_EE1004 is not set
+# end of EEPROM support
+
+# CONFIG_CB710_CORE is not set
+
+#
+# Texas Instruments shared transport line discipline
+#
+# CONFIG_TI_ST is not set
+# end of Texas Instruments shared transport line discipline
+
+# CONFIG_SENSORS_LIS3_SPI is not set
+# CONFIG_SENSORS_LIS3_I2C is not set
+# CONFIG_ALTERA_STAPL is not set
+
+#
+# Intel MIC & related support
+#
+# CONFIG_VOP_BUS is not set
+# end of Intel MIC & related support
+
+# CONFIG_GENWQE is not set
+# CONFIG_ECHO is not set
+# CONFIG_MISC_ALCOR_PCI is not set
+# CONFIG_MISC_RTSX_PCI is not set
+# CONFIG_MISC_RTSX_USB is not set
+# CONFIG_HABANA_AI is not set
+# CONFIG_UACCE is not set
+# end of Misc devices
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# CONFIG_RAID_ATTRS is not set
+# CONFIG_SCSI is not set
+# end of SCSI device support
+
+# CONFIG_ATA is not set
+# CONFIG_MD is not set
+# CONFIG_TARGET_CORE is not set
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_FIREWIRE_NOSY is not set
+# end of IEEE 1394 (FireWire) support
+
+CONFIG_NETDEVICES=y
+CONFIG_MII=m
+CONFIG_NET_CORE=y
+# CONFIG_BONDING is not set
+# CONFIG_DUMMY is not set
+# CONFIG_WIREGUARD is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_NET_TEAM is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_IPVLAN is not set
+# CONFIG_VXLAN is not set
+# CONFIG_GENEVE is not set
+# CONFIG_BAREUDP is not set
+# CONFIG_GTP is not set
+# CONFIG_MACSEC is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_TUN is not set
+# CONFIG_TUN_VNET_CROSS_LE is not set
+# CONFIG_VETH is not set
+# CONFIG_VIRTIO_NET is not set
+# CONFIG_NLMON is not set
+# CONFIG_ARCNET is not set
+
+#
+# Distributed Switch Architecture drivers
+#
+# end of Distributed Switch Architecture drivers
+
+CONFIG_ETHERNET=y
+CONFIG_NET_VENDOR_3COM=y
+# CONFIG_VORTEX is not set
+# CONFIG_TYPHOON is not set
+CONFIG_NET_VENDOR_ADAPTEC=y
+# CONFIG_ADAPTEC_STARFIRE is not set
+CONFIG_NET_VENDOR_AGERE=y
+# CONFIG_ET131X is not set
+CONFIG_NET_VENDOR_ALACRITECH=y
+# CONFIG_SLICOSS is not set
+CONFIG_NET_VENDOR_ALTEON=y
+# CONFIG_ACENIC is not set
+# CONFIG_ALTERA_TSE is not set
+CONFIG_NET_VENDOR_AMAZON=y
+# CONFIG_ENA_ETHERNET is not set
+CONFIG_NET_VENDOR_AMD=y
+# CONFIG_AMD8111_ETH is not set
+# CONFIG_PCNET32 is not set
+CONFIG_NET_VENDOR_AQUANTIA=y
+CONFIG_NET_VENDOR_ARC=y
+CONFIG_NET_VENDOR_ATHEROS=y
+# CONFIG_ATL2 is not set
+# CONFIG_ATL1 is not set
+# CONFIG_ATL1E is not set
+# CONFIG_ATL1C is not set
+# CONFIG_ALX is not set
+CONFIG_NET_VENDOR_AURORA=y
+# CONFIG_AURORA_NB8800 is not set
+CONFIG_NET_VENDOR_BROADCOM=y
+# CONFIG_B44 is not set
+# CONFIG_BCMGENET is not set
+# CONFIG_BNX2 is not set
+# CONFIG_CNIC is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2X is not set
+# CONFIG_SYSTEMPORT is not set
+# CONFIG_BNXT is not set
+CONFIG_NET_VENDOR_BROCADE=y
+# CONFIG_BNA is not set
+CONFIG_NET_VENDOR_CADENCE=y
+# CONFIG_MACB is not set
+CONFIG_NET_VENDOR_CAVIUM=y
+# CONFIG_THUNDER_NIC_PF is not set
+# CONFIG_THUNDER_NIC_VF is not set
+# CONFIG_THUNDER_NIC_BGX is not set
+# CONFIG_THUNDER_NIC_RGX is not set
+# CONFIG_CAVIUM_PTP is not set
+# CONFIG_LIQUIDIO is not set
+# CONFIG_LIQUIDIO_VF is not set
+CONFIG_NET_VENDOR_CHELSIO=y
+# CONFIG_CHELSIO_T1 is not set
+# CONFIG_CHELSIO_T3 is not set
+# CONFIG_CHELSIO_T4 is not set
+# CONFIG_CHELSIO_T4VF is not set
+CONFIG_NET_VENDOR_CISCO=y
+# CONFIG_ENIC is not set
+CONFIG_NET_VENDOR_CORTINA=y
+# CONFIG_GEMINI_ETHERNET is not set
+# CONFIG_DNET is not set
+CONFIG_NET_VENDOR_DEC=y
+# CONFIG_NET_TULIP is not set
+CONFIG_NET_VENDOR_DLINK=y
+# CONFIG_DL2K is not set
+# CONFIG_SUNDANCE is not set
+CONFIG_NET_VENDOR_EMULEX=y
+# CONFIG_BE2NET is not set
+CONFIG_NET_VENDOR_EZCHIP=y
+# CONFIG_EZCHIP_NPS_MANAGEMENT_ENET is not set
+CONFIG_NET_VENDOR_GOOGLE=y
+# CONFIG_GVE is not set
+CONFIG_NET_VENDOR_HUAWEI=y
+CONFIG_NET_VENDOR_I825XX=y
+CONFIG_NET_VENDOR_INTEL=y
+# CONFIG_E100 is not set
+# CONFIG_E1000 is not set
+CONFIG_E1000E=y
+# CONFIG_IGB is not set
+# CONFIG_IGBVF is not set
+# CONFIG_IXGB is not set
+# CONFIG_IXGBE is not set
+# CONFIG_IXGBEVF is not set
+# CONFIG_I40E is not set
+# CONFIG_I40EVF is not set
+# CONFIG_ICE is not set
+# CONFIG_FM10K is not set
+# CONFIG_IGC is not set
+# CONFIG_JME is not set
+CONFIG_NET_VENDOR_MARVELL=y
+# CONFIG_MVMDIO is not set
+# CONFIG_SKGE is not set
+# CONFIG_SKY2 is not set
+CONFIG_NET_VENDOR_MELLANOX=y
+# CONFIG_MLX4_EN is not set
+# CONFIG_MLX5_CORE is not set
+# CONFIG_MLXSW_CORE is not set
+# CONFIG_MLXFW is not set
+CONFIG_NET_VENDOR_MICREL=y
+# CONFIG_KS8842 is not set
+# CONFIG_KS8851 is not set
+# CONFIG_KS8851_MLL is not set
+# CONFIG_KSZ884X_PCI is not set
+CONFIG_NET_VENDOR_MICROCHIP=y
+# CONFIG_ENC28J60 is not set
+# CONFIG_ENCX24J600 is not set
+# CONFIG_LAN743X is not set
+CONFIG_NET_VENDOR_MICROSEMI=y
+CONFIG_NET_VENDOR_MYRI=y
+# CONFIG_MYRI10GE is not set
+# CONFIG_FEALNX is not set
+CONFIG_NET_VENDOR_NATSEMI=y
+# CONFIG_NATSEMI is not set
+# CONFIG_NS83820 is not set
+CONFIG_NET_VENDOR_NETERION=y
+# CONFIG_S2IO is not set
+# CONFIG_VXGE is not set
+CONFIG_NET_VENDOR_NETRONOME=y
+# CONFIG_NFP is not set
+CONFIG_NET_VENDOR_NI=y
+# CONFIG_NI_XGE_MANAGEMENT_ENET is not set
+CONFIG_NET_VENDOR_8390=y
+# CONFIG_NE2K_PCI is not set
+CONFIG_NET_VENDOR_NVIDIA=y
+# CONFIG_FORCEDETH is not set
+CONFIG_NET_VENDOR_OKI=y
+# CONFIG_ETHOC is not set
+CONFIG_NET_VENDOR_PACKET_ENGINES=y
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+CONFIG_NET_VENDOR_PENSANDO=y
+# CONFIG_IONIC is not set
+CONFIG_NET_VENDOR_QLOGIC=y
+# CONFIG_QLA3XXX is not set
+# CONFIG_QLCNIC is not set
+# CONFIG_NETXEN_NIC is not set
+# CONFIG_QED is not set
+CONFIG_NET_VENDOR_QUALCOMM=y
+# CONFIG_QCA7000_SPI is not set
+# CONFIG_QCOM_EMAC is not set
+# CONFIG_RMNET is not set
+CONFIG_NET_VENDOR_RDC=y
+# CONFIG_R6040 is not set
+CONFIG_NET_VENDOR_REALTEK=y
+# CONFIG_8139CP is not set
+# CONFIG_8139TOO is not set
+# CONFIG_R8169 is not set
+CONFIG_NET_VENDOR_RENESAS=y
+CONFIG_NET_VENDOR_ROCKER=y
+CONFIG_NET_VENDOR_SAMSUNG=y
+# CONFIG_SXGBE_ETH is not set
+CONFIG_NET_VENDOR_SEEQ=y
+CONFIG_NET_VENDOR_SOLARFLARE=y
+# CONFIG_SFC is not set
+# CONFIG_SFC_FALCON is not set
+CONFIG_NET_VENDOR_SILAN=y
+# CONFIG_SC92031 is not set
+CONFIG_NET_VENDOR_SIS=y
+# CONFIG_SIS900 is not set
+# CONFIG_SIS190 is not set
+CONFIG_NET_VENDOR_SMSC=y
+# CONFIG_EPIC100 is not set
+# CONFIG_SMSC911X is not set
+# CONFIG_SMSC9420 is not set
+CONFIG_NET_VENDOR_SOCIONEXT=y
+CONFIG_NET_VENDOR_STMICRO=y
+# CONFIG_STMMAC_ETH is not set
+CONFIG_NET_VENDOR_SUN=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NIU is not set
+CONFIG_NET_VENDOR_SYNOPSYS=y
+# CONFIG_DWC_XLGMAC is not set
+CONFIG_NET_VENDOR_TEHUTI=y
+# CONFIG_TEHUTI is not set
+CONFIG_NET_VENDOR_TI=y
+# CONFIG_TI_CPSW_PHY_SEL is not set
+# CONFIG_TLAN is not set
+CONFIG_NET_VENDOR_VIA=y
+# CONFIG_VIA_RHINE is not set
+# CONFIG_VIA_VELOCITY is not set
+CONFIG_NET_VENDOR_WIZNET=y
+# CONFIG_WIZNET_W5100 is not set
+# CONFIG_WIZNET_W5300 is not set
+CONFIG_NET_VENDOR_XILINX=y
+# CONFIG_XILINX_AXI_EMAC is not set
+# CONFIG_XILINX_LL_TEMAC is not set
+CONFIG_NET_VENDOR_KALRAY=y
+CONFIG_NET_KVX_SOC=m
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_MDIO_DEVICE=m
+CONFIG_MDIO_BUS=m
+# CONFIG_MDIO_BCM_UNIMAC is not set
+CONFIG_MDIO_BITBANG=m
+# CONFIG_MDIO_BUS_MUX_GPIO is not set
+# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
+# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set
+CONFIG_MDIO_GPIO=m
+# CONFIG_MDIO_HISI_FEMAC is not set
+CONFIG_MDIO_I2C=m
+# CONFIG_MDIO_IPQ4019 is not set
+# CONFIG_MDIO_IPQ8064 is not set
+# CONFIG_MDIO_MSCC_MIIM is not set
+# CONFIG_MDIO_MVUSB is not set
+# CONFIG_MDIO_OCTEON is not set
+# CONFIG_MDIO_THUNDER is not set
+# CONFIG_MDIO_XPCS is not set
+CONFIG_PHYLINK=m
+CONFIG_PHYLIB=m
+CONFIG_SWPHY=y
+
+#
+# MII PHY device drivers
+#
+CONFIG_SFP=m
+# CONFIG_ADIN_PHY is not set
+# CONFIG_AMD_PHY is not set
+# CONFIG_AQUANTIA_PHY is not set
+# CONFIG_AX88796B_PHY is not set
+# CONFIG_BCM7XXX_PHY is not set
+# CONFIG_BCM87XX_PHY is not set
+# CONFIG_BROADCOM_PHY is not set
+# CONFIG_BCM54140_PHY is not set
+# CONFIG_BCM84881_PHY is not set
+# CONFIG_CICADA_PHY is not set
+# CONFIG_CORTINA_PHY is not set
+# CONFIG_DAVICOM_PHY is not set
+# CONFIG_DP83822_PHY is not set
+# CONFIG_DP83TC811_PHY is not set
+# CONFIG_DP83848_PHY is not set
+# CONFIG_DP83867_PHY is not set
+# CONFIG_DP83869_PHY is not set
+CONFIG_FIXED_PHY=m
+# CONFIG_ICPLUS_PHY is not set
+# CONFIG_INTEL_XWAY_PHY is not set
+# CONFIG_LSI_ET1011C_PHY is not set
+# CONFIG_LXT_PHY is not set
+CONFIG_MARVELL_PHY=m
+# CONFIG_MARVELL_10G_PHY is not set
+# CONFIG_MICREL_PHY is not set
+# CONFIG_MICROCHIP_PHY is not set
+# CONFIG_MICROCHIP_T1_PHY is not set
+# CONFIG_MICROSEMI_PHY is not set
+# CONFIG_NATIONAL_PHY is not set
+# CONFIG_NXP_TJA11XX_PHY is not set
+# CONFIG_QSEMI_PHY is not set
+# CONFIG_REALTEK_PHY is not set
+# CONFIG_RENESAS_PHY is not set
+# CONFIG_ROCKCHIP_PHY is not set
+# CONFIG_SMSC_PHY is not set
+# CONFIG_STE10XP is not set
+# CONFIG_TERANETICS_PHY is not set
+# CONFIG_VITESSE_PHY is not set
+# CONFIG_XILINX_GMII2RGMII is not set
+# CONFIG_MICREL_KS8995MA is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+CONFIG_USB_NET_DRIVERS=y
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_RTL8152 is not set
+# CONFIG_USB_LAN78XX is not set
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_AX88179_178A=m
+CONFIG_USB_NET_CDCETHER=m
+# CONFIG_USB_NET_CDC_EEM is not set
+CONFIG_USB_NET_CDC_NCM=m
+# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set
+# CONFIG_USB_NET_CDC_MBIM is not set
+# CONFIG_USB_NET_DM9601 is not set
+# CONFIG_USB_NET_SR9700 is not set
+# CONFIG_USB_NET_SR9800 is not set
+# CONFIG_USB_NET_SMSC75XX is not set
+CONFIG_USB_NET_SMSC95XX=m
+# CONFIG_USB_NET_GL620A is not set
+CONFIG_USB_NET_NET1080=m
+# CONFIG_USB_NET_PLUSB is not set
+# CONFIG_USB_NET_MCS7830 is not set
+# CONFIG_USB_NET_RNDIS_HOST is not set
+CONFIG_USB_NET_CDC_SUBSET_ENABLE=m
+CONFIG_USB_NET_CDC_SUBSET=m
+# CONFIG_USB_ALI_M5632 is not set
+# CONFIG_USB_AN2720 is not set
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+# CONFIG_USB_EPSON2888 is not set
+# CONFIG_USB_KC2190 is not set
+CONFIG_USB_NET_ZAURUS=m
+# CONFIG_USB_NET_CX82310_ETH is not set
+# CONFIG_USB_NET_KALMIA is not set
+# CONFIG_USB_NET_QMI_WWAN is not set
+# CONFIG_USB_NET_INT51X1 is not set
+# CONFIG_USB_IPHETH is not set
+# CONFIG_USB_SIERRA_NET is not set
+# CONFIG_USB_VL600 is not set
+# CONFIG_USB_NET_CH9200 is not set
+# CONFIG_USB_NET_AQC111 is not set
+# CONFIG_WLAN is not set
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+# CONFIG_WAN is not set
+# CONFIG_VMXNET3 is not set
+# CONFIG_NET_FAILOVER is not set
+CONFIG_NET_TI_RTM=m
+# CONFIG_ISDN is not set
+# CONFIG_NVM is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+# CONFIG_INPUT_POLLDEV is not set
+# CONFIG_INPUT_SPARSEKMAP is not set
+# CONFIG_INPUT_MATRIXKMAP is not set
+
+#
+# Userland interfaces
+#
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_EVDEV is not set
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ADP5588 is not set
+# CONFIG_KEYBOARD_ADP5589 is not set
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_QT1050 is not set
+# CONFIG_KEYBOARD_QT1070 is not set
+# CONFIG_KEYBOARD_QT2160 is not set
+# CONFIG_KEYBOARD_DLINK_DIR685 is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_GPIO is not set
+# CONFIG_KEYBOARD_GPIO_POLLED is not set
+# CONFIG_KEYBOARD_TCA6416 is not set
+# CONFIG_KEYBOARD_TCA8418 is not set
+# CONFIG_KEYBOARD_MATRIX is not set
+# CONFIG_KEYBOARD_LM8333 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
+# CONFIG_KEYBOARD_MCS is not set
+# CONFIG_KEYBOARD_MPR121 is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_SAMSUNG is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_OMAP4 is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_CAP11XX is not set
+# CONFIG_KEYBOARD_BCM is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_BYD=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y
+CONFIG_MOUSE_PS2_CYPRESS=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+# CONFIG_MOUSE_PS2_ELANTECH is not set
+# CONFIG_MOUSE_PS2_SENTELIC is not set
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_PS2_FOCALTECH=y
+CONFIG_MOUSE_PS2_SMBUS=y
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_APPLETOUCH is not set
+# CONFIG_MOUSE_BCM5974 is not set
+# CONFIG_MOUSE_CYAPA is not set
+# CONFIG_MOUSE_ELAN_I2C is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+# CONFIG_MOUSE_GPIO is not set
+# CONFIG_MOUSE_SYNAPTICS_I2C is not set
+# CONFIG_MOUSE_SYNAPTICS_USB is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+# CONFIG_INPUT_MISC is not set
+# CONFIG_RMI4_CORE is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO_ALTERA_PS2 is not set
+# CONFIG_SERIO_PS2MULT is not set
+# CONFIG_SERIO_ARC_PS2 is not set
+# CONFIG_SERIO_APBPS2 is not set
+# CONFIG_SERIO_GPIO_PS2 is not set
+# CONFIG_USERIO is not set
+# CONFIG_GAMEPORT is not set
+# end of Hardware I/O ports
+# end of Input device support
+
+#
+# Character devices
+#
+CONFIG_TTY=y
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+CONFIG_LDISC_AUTOLOAD=y
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_EARLYCON=y
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
+CONFIG_SERIAL_8250_16550A_VARIANTS=y
+# CONFIG_SERIAL_8250_FINTEK is not set
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_DMA=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_EXAR=y
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+# CONFIG_SERIAL_8250_ASPEED_VUART is not set
+CONFIG_SERIAL_8250_DWLIB=y
+CONFIG_SERIAL_8250_DW=y
+# CONFIG_SERIAL_8250_RT288X is not set
+# CONFIG_SERIAL_OF_PLATFORM is not set
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_MAX3100 is not set
+# CONFIG_SERIAL_MAX310X is not set
+# CONFIG_SERIAL_UARTLITE is not set
+# CONFIG_SERIAL_KVX_JTAG_COMM is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+# CONFIG_SERIAL_SIFIVE is not set
+# CONFIG_SERIAL_SCCNXP is not set
+# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_SERIAL_IFX6X60 is not set
+# CONFIG_SERIAL_XILINX_PS_UART is not set
+# CONFIG_SERIAL_ARC is not set
+# CONFIG_SERIAL_RP2 is not set
+# CONFIG_SERIAL_FSL_LPUART is not set
+# CONFIG_SERIAL_FSL_LINFLEXUART is not set
+# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
+CONFIG_SERIAL_KVX_SCALL_COMM=y
+# CONFIG_SERIAL_SPRD is not set
+# end of Serial drivers
+
+CONFIG_SERIAL_MCTRL_GPIO=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_N_GSM is not set
+# CONFIG_NOZOMI is not set
+# CONFIG_NULL_TTY is not set
+# CONFIG_TRACE_SINK is not set
+# CONFIG_SERIAL_DEV_BUS is not set
+# CONFIG_TTY_PRINTK is not set
+# CONFIG_VIRTIO_CONSOLE is not set
+# CONFIG_IPMI_HANDLER is not set
+# CONFIG_IPMB_DEVICE_INTERFACE is not set
+CONFIG_HW_RANDOM=m
+# CONFIG_HW_RANDOM_TIMERIOMEM is not set
+# CONFIG_HW_RANDOM_VIRTIO is not set
+# CONFIG_HW_RANDOM_CCTRNG is not set
+# CONFIG_APPLICOM is not set
+CONFIG_DEVMEM=y
+# CONFIG_DEVKMEM is not set
+# CONFIG_RAW_DRIVER is not set
+CONFIG_DEVPORT=y
+# CONFIG_TCG_TPM is not set
+# CONFIG_XILLYBUS is not set
+# end of Character devices
+
+# CONFIG_RANDOM_TRUST_BOOTLOADER is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=y
+# CONFIG_I2C_MUX is not set
+CONFIG_I2C_HELPER_AUTO=y
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_ISCH is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_NVIDIA_GPU is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_CBUS_GPIO is not set
+CONFIG_I2C_DESIGNWARE_CORE=y
+CONFIG_I2C_DESIGNWARE_SLAVE=y
+CONFIG_I2C_DESIGNWARE_PLATFORM=y
+# CONFIG_I2C_DESIGNWARE_PCI is not set
+# CONFIG_I2C_EMEV2 is not set
+# CONFIG_I2C_GPIO is not set
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_RK3X is not set
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_XILINX is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_DIOLAN_U2C is not set
+# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_TINY_USB is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+# end of I2C Hardware Bus support
+
+# CONFIG_I2C_STUB is not set
+CONFIG_I2C_SLAVE=y
+# CONFIG_I2C_SLAVE_EEPROM is not set
+CONFIG_I2C_SLAVE_USPACE=y
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# end of I2C support
+
+# CONFIG_I3C is not set
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+CONFIG_SPI_MEM=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_ALTERA is not set
+# CONFIG_SPI_AXI_SPI_ENGINE is not set
+# CONFIG_SPI_BITBANG is not set
+# CONFIG_SPI_CADENCE is not set
+CONFIG_SPI_DESIGNWARE=y
+# CONFIG_SPI_DW_DMA is not set
+# CONFIG_SPI_DW_PCI is not set
+CONFIG_SPI_DW_MMIO=y
+# CONFIG_SPI_NXP_FLEXSPI is not set
+# CONFIG_SPI_GPIO is not set
+# CONFIG_SPI_FSL_SPI is not set
+# CONFIG_SPI_OC_TINY is not set
+# CONFIG_SPI_PXA2XX is not set
+# CONFIG_SPI_ROCKCHIP is not set
+# CONFIG_SPI_SC18IS602 is not set
+# CONFIG_SPI_SIFIVE is not set
+# CONFIG_SPI_MXIC is not set
+# CONFIG_SPI_XCOMM is not set
+# CONFIG_SPI_XILINX is not set
+# CONFIG_SPI_ZYNQMP_GQSPI is not set
+# CONFIG_SPI_AMD is not set
+
+#
+# SPI Multiplexer support
+#
+# CONFIG_SPI_MUX is not set
+
+#
+# SPI Protocol Masters
+#
+# CONFIG_SPI_SPIDEV is not set
+# CONFIG_SPI_LOOPBACK_TEST is not set
+# CONFIG_SPI_TLE62X0 is not set
+# CONFIG_SPI_SLAVE is not set
+# CONFIG_SPMI is not set
+# CONFIG_HSI is not set
+CONFIG_PPS=y
+# CONFIG_PPS_DEBUG is not set
+# CONFIG_NTP_PPS is not set
+
+#
+# PPS clients support
+#
+# CONFIG_PPS_CLIENT_KTIMER is not set
+# CONFIG_PPS_CLIENT_LDISC is not set
+# CONFIG_PPS_CLIENT_GPIO is not set
+
+#
+# PPS generators support
+#
+
+#
+# PTP clock support
+#
+CONFIG_PTP_1588_CLOCK=y
+
+#
+# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
+#
+# CONFIG_PTP_1588_CLOCK_IDT82P33 is not set
+# CONFIG_PTP_1588_CLOCK_IDTCM is not set
+# end of PTP clock support
+
+CONFIG_PINCTRL=y
+CONFIG_GENERIC_PINCTRL_GROUPS=y
+CONFIG_PINMUX=y
+CONFIG_GENERIC_PINMUX_FUNCTIONS=y
+CONFIG_PINCONF=y
+CONFIG_GENERIC_PINCONF=y
+# CONFIG_DEBUG_PINCTRL is not set
+# CONFIG_PINCTRL_MCP23S08 is not set
+CONFIG_PINCTRL_SINGLE=y
+# CONFIG_PINCTRL_SX150X is not set
+# CONFIG_PINCTRL_STMFX is not set
+# CONFIG_PINCTRL_OCELOT is not set
+CONFIG_GPIO_DWAPB=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIOLIB_FASTPATH_LIMIT=512
+CONFIG_OF_GPIO=y
+CONFIG_GPIOLIB_IRQCHIP=y
+# CONFIG_DEBUG_GPIO is not set
+# CONFIG_GPIO_SYSFS is not set
+CONFIG_GPIO_GENERIC=y
+
+#
+# Memory mapped GPIO drivers
+#
+# CONFIG_GPIO_74XX_MMIO is not set
+# CONFIG_GPIO_ALTERA is not set
+# CONFIG_GPIO_CADENCE is not set
+# CONFIG_GPIO_EXAR is not set
+# CONFIG_GPIO_FTGPIO010 is not set
+# CONFIG_GPIO_GENERIC_PLATFORM is not set
+# CONFIG_GPIO_GRGPIO is not set
+# CONFIG_GPIO_HLWD is not set
+# CONFIG_GPIO_LOGICVC is not set
+# CONFIG_GPIO_MB86S7X is not set
+# CONFIG_GPIO_SAMA5D2_PIOBU is not set
+# CONFIG_GPIO_SIFIVE is not set
+# CONFIG_GPIO_SYSCON is not set
+# CONFIG_GPIO_XILINX is not set
+# CONFIG_GPIO_AMD_FCH is not set
+# end of Memory mapped GPIO drivers
+
+#
+# I2C GPIO expanders
+#
+# CONFIG_GPIO_ADP5588 is not set
+# CONFIG_GPIO_ADNP is not set
+# CONFIG_GPIO_GW_PLD is not set
+# CONFIG_GPIO_MAX7300 is not set
+# CONFIG_GPIO_MAX732X is not set
+CONFIG_GPIO_PCA953X=y
+# CONFIG_GPIO_PCA953X_IRQ is not set
+# CONFIG_GPIO_PCF857X is not set
+# CONFIG_GPIO_TPIC2810 is not set
+# end of I2C GPIO expanders
+
+#
+# MFD GPIO expanders
+#
+# end of MFD GPIO expanders
+
+#
+# PCI GPIO expanders
+#
+# CONFIG_GPIO_BT8XX is not set
+# CONFIG_GPIO_PCI_IDIO_16 is not set
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
+# CONFIG_GPIO_RDC321X is not set
+# end of PCI GPIO expanders
+
+#
+# SPI GPIO expanders
+#
+# CONFIG_GPIO_74X164 is not set
+# CONFIG_GPIO_MAX3191X is not set
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MC33880 is not set
+# CONFIG_GPIO_PISOSR is not set
+# CONFIG_GPIO_XRA1403 is not set
+# end of SPI GPIO expanders
+
+#
+# USB GPIO expanders
+#
+# end of USB GPIO expanders
+
+# CONFIG_GPIO_AGGREGATOR is not set
+# CONFIG_GPIO_MOCKUP is not set
+# CONFIG_W1 is not set
+# CONFIG_POWER_AVS is not set
+CONFIG_POWER_RESET=y
+# CONFIG_POWER_RESET_GPIO is not set
+# CONFIG_POWER_RESET_GPIO_RESTART is not set
+CONFIG_POWER_RESET_KVX_SCALL_POWEROFF=y
+# CONFIG_POWER_RESET_LTC2952 is not set
+# CONFIG_POWER_RESET_RESTART is not set
+CONFIG_POWER_RESET_SYSCON=y
+# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set
+# CONFIG_SYSCON_REBOOT_MODE is not set
+# CONFIG_NVMEM_REBOOT_MODE is not set
+# CONFIG_POWER_SUPPLY is not set
+CONFIG_HWMON=y
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+# CONFIG_SENSORS_AD7314 is not set
+# CONFIG_SENSORS_AD7414 is not set
+# CONFIG_SENSORS_AD7418 is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1029 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM1177 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ADT7310 is not set
+# CONFIG_SENSORS_ADT7410 is not set
+# CONFIG_SENSORS_ADT7411 is not set
+# CONFIG_SENSORS_ADT7462 is not set
+# CONFIG_SENSORS_ADT7470 is not set
+# CONFIG_SENSORS_ADT7475 is not set
+# CONFIG_SENSORS_AS370 is not set
+# CONFIG_SENSORS_ASC7621 is not set
+# CONFIG_SENSORS_AXI_FAN_CONTROL is not set
+# CONFIG_SENSORS_ASPEED is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS620 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_I5K_AMB is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_F71882FG is not set
+# CONFIG_SENSORS_F75375S is not set
+# CONFIG_SENSORS_FTSTEUTATES is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_G760A is not set
+# CONFIG_SENSORS_G762 is not set
+# CONFIG_SENSORS_GPIO_FAN is not set
+# CONFIG_SENSORS_HIH6130 is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_JC42 is not set
+# CONFIG_SENSORS_POWR1220 is not set
+# CONFIG_SENSORS_LINEAGE is not set
+# CONFIG_SENSORS_LTC2945 is not set
+# CONFIG_SENSORS_LTC2947_I2C is not set
+# CONFIG_SENSORS_LTC2947_SPI is not set
+# CONFIG_SENSORS_LTC2990 is not set
+# CONFIG_SENSORS_LTC4151 is not set
+# CONFIG_SENSORS_LTC4215 is not set
+# CONFIG_SENSORS_LTC4222 is not set
+# CONFIG_SENSORS_LTC4245 is not set
+# CONFIG_SENSORS_LTC4260 is not set
+# CONFIG_SENSORS_LTC4261 is not set
+# CONFIG_SENSORS_MAX1111 is not set
+# CONFIG_SENSORS_MAX16065 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_MAX1668 is not set
+# CONFIG_SENSORS_MAX197 is not set
+# CONFIG_SENSORS_MAX31722 is not set
+# CONFIG_SENSORS_MAX31730 is not set
+# CONFIG_SENSORS_MAX6621 is not set
+# CONFIG_SENSORS_MAX6639 is not set
+# CONFIG_SENSORS_MAX6642 is not set
+# CONFIG_SENSORS_MAX6650 is not set
+# CONFIG_SENSORS_MAX6697 is not set
+# CONFIG_SENSORS_MAX31790 is not set
+# CONFIG_SENSORS_MCP3021 is not set
+# CONFIG_SENSORS_TC654 is not set
+# CONFIG_SENSORS_ADCXX is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM70 is not set
+# CONFIG_SENSORS_LM73 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_LM93 is not set
+# CONFIG_SENSORS_LM95234 is not set
+# CONFIG_SENSORS_LM95241 is not set
+# CONFIG_SENSORS_LM95245 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_NTC_THERMISTOR is not set
+# CONFIG_SENSORS_NCT6683 is not set
+# CONFIG_SENSORS_NCT6775 is not set
+# CONFIG_SENSORS_NCT7802 is not set
+# CONFIG_SENSORS_NCT7904 is not set
+# CONFIG_SENSORS_NPCM7XX is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_PMBUS is not set
+# CONFIG_SENSORS_SHT15 is not set
+# CONFIG_SENSORS_SHT21 is not set
+# CONFIG_SENSORS_SHT3x is not set
+# CONFIG_SENSORS_SHTC1 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_DME1737 is not set
+# CONFIG_SENSORS_EMC1403 is not set
+# CONFIG_SENSORS_EMC2103 is not set
+# CONFIG_SENSORS_EMC6W201 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_SCH5627 is not set
+# CONFIG_SENSORS_SCH5636 is not set
+# CONFIG_SENSORS_STTS751 is not set
+# CONFIG_SENSORS_SMM665 is not set
+# CONFIG_SENSORS_ADC128D818 is not set
+# CONFIG_SENSORS_ADS7828 is not set
+# CONFIG_SENSORS_ADS7871 is not set
+# CONFIG_SENSORS_AMC6821 is not set
+# CONFIG_SENSORS_INA209 is not set
+# CONFIG_SENSORS_INA2XX is not set
+# CONFIG_SENSORS_INA3221 is not set
+# CONFIG_SENSORS_TC74 is not set
+# CONFIG_SENSORS_THMC50 is not set
+# CONFIG_SENSORS_TMP102 is not set
+# CONFIG_SENSORS_TMP103 is not set
+# CONFIG_SENSORS_TMP108 is not set
+# CONFIG_SENSORS_TMP401 is not set
+# CONFIG_SENSORS_TMP421 is not set
+# CONFIG_SENSORS_TMP513 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_VT8231 is not set
+# CONFIG_SENSORS_W83773G is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83793 is not set
+# CONFIG_SENSORS_W83795 is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83L786NG is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_THERMAL is not set
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
+CONFIG_WATCHDOG_OPEN_TIMEOUT=0
+# CONFIG_WATCHDOG_SYSFS is not set
+
+#
+# Watchdog Pretimeout Governors
+#
+# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+# CONFIG_GPIO_WATCHDOG is not set
+# CONFIG_XILINX_WATCHDOG is not set
+# CONFIG_ZIIRAVE_WATCHDOG is not set
+# CONFIG_CADENCE_WATCHDOG is not set
+# CONFIG_DW_WATCHDOG is not set
+# CONFIG_MAX63XX_WATCHDOG is not set
+# CONFIG_ALIM7101_WDT is not set
+# CONFIG_I6300ESB_WDT is not set
+CONFIG_KVX_WATCHDOG=y
+# CONFIG_MEN_A21_WDT is not set
+
+#
+# PCI-based Watchdog Cards
+#
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+# CONFIG_SSB is not set
+CONFIG_BCMA_POSSIBLE=y
+# CONFIG_BCMA is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_ACT8945A is not set
+# CONFIG_MFD_AS3711 is not set
+# CONFIG_MFD_AS3722 is not set
+# CONFIG_PMIC_ADP5520 is not set
+# CONFIG_MFD_AAT2870_CORE is not set
+# CONFIG_MFD_ATMEL_FLEXCOM is not set
+# CONFIG_MFD_ATMEL_HLCDC is not set
+# CONFIG_MFD_BCM590XX is not set
+# CONFIG_MFD_BD9571MWV is not set
+# CONFIG_MFD_AXP20X_I2C is not set
+# CONFIG_MFD_MADERA is not set
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_MFD_DA9052_SPI is not set
+# CONFIG_MFD_DA9052_I2C is not set
+# CONFIG_MFD_DA9055 is not set
+# CONFIG_MFD_DA9062 is not set
+# CONFIG_MFD_DA9063 is not set
+# CONFIG_MFD_DA9150 is not set
+# CONFIG_MFD_DLN2 is not set
+# CONFIG_MFD_GATEWORKS_GSC is not set
+# CONFIG_MFD_MC13XXX_SPI is not set
+# CONFIG_MFD_MC13XXX_I2C is not set
+# CONFIG_MFD_MP2629 is not set
+# CONFIG_MFD_HI6421_PMIC is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_HTC_I2CPLD is not set
+# CONFIG_LPC_ICH is not set
+# CONFIG_LPC_SCH is not set
+# CONFIG_MFD_IQS62X is not set
+# CONFIG_MFD_JANZ_CMODIO is not set
+# CONFIG_MFD_KEMPLD is not set
+# CONFIG_MFD_88PM800 is not set
+# CONFIG_MFD_88PM805 is not set
+# CONFIG_MFD_88PM860X is not set
+# CONFIG_MFD_MAX14577 is not set
+# CONFIG_MFD_MAX77620 is not set
+# CONFIG_MFD_MAX77650 is not set
+# CONFIG_MFD_MAX77686 is not set
+# CONFIG_MFD_MAX77693 is not set
+# CONFIG_MFD_MAX77843 is not set
+# CONFIG_MFD_MAX8907 is not set
+# CONFIG_MFD_MAX8925 is not set
+# CONFIG_MFD_MAX8997 is not set
+# CONFIG_MFD_MAX8998 is not set
+# CONFIG_MFD_MT6360 is not set
+# CONFIG_MFD_MT6397 is not set
+# CONFIG_MFD_MENF21BMC is not set
+# CONFIG_EZX_PCAP is not set
+# CONFIG_MFD_CPCAP is not set
+# CONFIG_MFD_VIPERBOARD is not set
+# CONFIG_MFD_RETU is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_MFD_RDC321X is not set
+# CONFIG_MFD_RT5033 is not set
+# CONFIG_MFD_RC5T583 is not set
+# CONFIG_MFD_RK808 is not set
+# CONFIG_MFD_RN5T618 is not set
+# CONFIG_MFD_SEC_CORE is not set
+# CONFIG_MFD_SI476X_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_MFD_SKY81452 is not set
+# CONFIG_MFD_SMSC is not set
+# CONFIG_ABX500_CORE is not set
+# CONFIG_MFD_STMPE is not set
+CONFIG_MFD_SYSCON=y
+# CONFIG_MFD_TI_AM335X_TSCADC is not set
+# CONFIG_MFD_LP3943 is not set
+# CONFIG_MFD_LP8788 is not set
+# CONFIG_MFD_TI_LMU is not set
+# CONFIG_MFD_PALMAS is not set
+# CONFIG_TPS6105X is not set
+# CONFIG_TPS65010 is not set
+# CONFIG_TPS6507X is not set
+# CONFIG_MFD_TPS65086 is not set
+# CONFIG_MFD_TPS65090 is not set
+# CONFIG_MFD_TPS65217 is not set
+# CONFIG_MFD_TI_LP873X is not set
+# CONFIG_MFD_TI_LP87565 is not set
+# CONFIG_MFD_TPS65218 is not set
+# CONFIG_MFD_TPS6586X is not set
+# CONFIG_MFD_TPS65910 is not set
+# CONFIG_MFD_TPS65912_I2C is not set
+# CONFIG_MFD_TPS65912_SPI is not set
+# CONFIG_MFD_TPS80031 is not set
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_TWL6040_CORE is not set
+# CONFIG_MFD_WL1273_CORE is not set
+# CONFIG_MFD_LM3533 is not set
+# CONFIG_MFD_TC3589X is not set
+# CONFIG_MFD_TQMX86 is not set
+# CONFIG_MFD_VX855 is not set
+# CONFIG_MFD_LOCHNAGAR is not set
+# CONFIG_MFD_ARIZONA_I2C is not set
+# CONFIG_MFD_ARIZONA_SPI is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X_I2C is not set
+# CONFIG_MFD_WM831X_SPI is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_WM8994 is not set
+# CONFIG_MFD_ROHM_BD718XX is not set
+# CONFIG_MFD_ROHM_BD70528 is not set
+# CONFIG_MFD_ROHM_BD71828 is not set
+# CONFIG_MFD_STPMIC1 is not set
+# CONFIG_MFD_STMFX is not set
+# end of Multifunction device drivers
+
+# CONFIG_REGULATOR is not set
+# CONFIG_RC_CORE is not set
+# CONFIG_MEDIA_CEC_SUPPORT is not set
+# CONFIG_MEDIA_SUPPORT is not set
+
+#
+# Graphics support
+#
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+# CONFIG_DRM is not set
+
+#
+# ARM devices
+#
+# end of ARM devices
+
+#
+# Frame buffer Devices
+#
+# CONFIG_FB is not set
+# end of Frame buffer Devices
+
+#
+# Backlight & LCD device support
+#
+# CONFIG_LCD_CLASS_DEVICE is not set
+# CONFIG_BACKLIGHT_CLASS_DEVICE is not set
+# end of Backlight & LCD device support
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_DUMMY_CONSOLE_COLUMNS=80
+CONFIG_DUMMY_CONSOLE_ROWS=25
+# end of Console display driver support
+# end of Graphics support
+
+# CONFIG_SOUND is not set
+
+#
+# HID support
+#
+CONFIG_HID=y
+# CONFIG_HID_BATTERY_STRENGTH is not set
+# CONFIG_HIDRAW is not set
+# CONFIG_UHID is not set
+CONFIG_HID_GENERIC=y
+
+#
+# Special HID drivers
+#
+# CONFIG_HID_A4TECH is not set
+# CONFIG_HID_ACCUTOUCH is not set
+# CONFIG_HID_ACRUX is not set
+# CONFIG_HID_APPLE is not set
+# CONFIG_HID_APPLEIR is not set
+# CONFIG_HID_AUREAL is not set
+# CONFIG_HID_BELKIN is not set
+# CONFIG_HID_BETOP_FF is not set
+# CONFIG_HID_CHERRY is not set
+# CONFIG_HID_CHICONY is not set
+# CONFIG_HID_COUGAR is not set
+# CONFIG_HID_MACALLY is not set
+# CONFIG_HID_CMEDIA is not set
+# CONFIG_HID_CREATIVE_SB0540 is not set
+# CONFIG_HID_CYPRESS is not set
+# CONFIG_HID_DRAGONRISE is not set
+# CONFIG_HID_EMS_FF is not set
+# CONFIG_HID_ELECOM is not set
+# CONFIG_HID_ELO is not set
+# CONFIG_HID_EZKEY is not set
+# CONFIG_HID_GEMBIRD is not set
+# CONFIG_HID_GFRM is not set
+# CONFIG_HID_GLORIOUS is not set
+# CONFIG_HID_HOLTEK is not set
+# CONFIG_HID_KEYTOUCH is not set
+# CONFIG_HID_KYE is not set
+# CONFIG_HID_UCLOGIC is not set
+# CONFIG_HID_WALTOP is not set
+# CONFIG_HID_VIEWSONIC is not set
+# CONFIG_HID_GYRATION is not set
+# CONFIG_HID_ICADE is not set
+# CONFIG_HID_ITE is not set
+# CONFIG_HID_JABRA is not set
+# CONFIG_HID_TWINHAN is not set
+# CONFIG_HID_KENSINGTON is not set
+# CONFIG_HID_LCPOWER is not set
+# CONFIG_HID_LENOVO is not set
+# CONFIG_HID_MAGICMOUSE is not set
+# CONFIG_HID_MALTRON is not set
+# CONFIG_HID_MAYFLASH is not set
+# CONFIG_HID_REDRAGON is not set
+# CONFIG_HID_MICROSOFT is not set
+# CONFIG_HID_MONTEREY is not set
+# CONFIG_HID_MULTITOUCH is not set
+# CONFIG_HID_NTI is not set
+# CONFIG_HID_NTRIG is not set
+# CONFIG_HID_ORTEK is not set
+# CONFIG_HID_PANTHERLORD is not set
+# CONFIG_HID_PENMOUNT is not set
+# CONFIG_HID_PETALYNX is not set
+# CONFIG_HID_PICOLCD is not set
+# CONFIG_HID_PLANTRONICS is not set
+# CONFIG_HID_PRIMAX is not set
+# CONFIG_HID_RETRODE is not set
+# CONFIG_HID_ROCCAT is not set
+# CONFIG_HID_SAITEK is not set
+# CONFIG_HID_SAMSUNG is not set
+# CONFIG_HID_SPEEDLINK is not set
+# CONFIG_HID_STEAM is not set
+# CONFIG_HID_STEELSERIES is not set
+# CONFIG_HID_SUNPLUS is not set
+# CONFIG_HID_RMI is not set
+# CONFIG_HID_GREENASIA is not set
+# CONFIG_HID_SMARTJOYPLUS is not set
+# CONFIG_HID_TIVO is not set
+# CONFIG_HID_TOPSEED is not set
+# CONFIG_HID_THRUSTMASTER is not set
+# CONFIG_HID_UDRAW_PS3 is not set
+# CONFIG_HID_WACOM is not set
+# CONFIG_HID_XINMO is not set
+# CONFIG_HID_ZEROPLUS is not set
+# CONFIG_HID_ZYDACRON is not set
+# CONFIG_HID_SENSOR_HUB is not set
+# CONFIG_HID_ALPS is not set
+# CONFIG_HID_MCP2221 is not set
+# end of Special HID drivers
+
+#
+# USB HID support
+#
+CONFIG_USB_HID=y
+# CONFIG_HID_PID is not set
+# CONFIG_USB_HIDDEV is not set
+# end of USB HID support
+
+#
+# I2C HID support
+#
+# CONFIG_I2C_HID is not set
+# end of I2C HID support
+# end of HID support
+
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=y
+# CONFIG_USB_ULPI_BUS is not set
+# CONFIG_USB_CONN_GPIO is not set
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB=y
+CONFIG_USB_PCI=y
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEFAULT_PERSIST=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG_WHITELIST is not set
+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+CONFIG_USB_AUTOSUSPEND_DELAY=2
+# CONFIG_USB_MON is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_C67X00_HCD is not set
+# CONFIG_USB_XHCI_HCD is not set
+# CONFIG_USB_EHCI_HCD is not set
+# CONFIG_USB_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_FOTG210_HCD is not set
+# CONFIG_USB_MAX3421_HCD is not set
+# CONFIG_USB_OHCI_HCD is not set
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+# CONFIG_USB_HCD_TEST_MODE is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+# CONFIG_USB_WDM is not set
+# CONFIG_USB_TMC is not set
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USBIP_CORE is not set
+# CONFIG_USB_CDNS3 is not set
+# CONFIG_USB_MUSB_HDRC is not set
+# CONFIG_USB_DWC3 is not set
+CONFIG_USB_DWC2=y
+# CONFIG_USB_DWC2_HOST is not set
+
+#
+# Gadget/Dual-role mode requires USB Gadget support to be enabled
+#
+# CONFIG_USB_DWC2_PERIPHERAL is not set
+CONFIG_USB_DWC2_DUAL_ROLE=y
+# CONFIG_USB_DWC2_PCI is not set
+# CONFIG_USB_DWC2_DEBUG is not set
+# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
+# CONFIG_USB_CHIPIDEA is not set
+# CONFIG_USB_ISP1760 is not set
+
+#
+# USB port drivers
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_SEVSEG is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_APPLE_MFI_FASTCHARGE is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+# CONFIG_USB_EHSET_TEST_FIXTURE is not set
+# CONFIG_USB_ISIGHTFW is not set
+# CONFIG_USB_YUREX is not set
+# CONFIG_USB_EZUSB_FX2 is not set
+# CONFIG_USB_HUB_USB251XB is not set
+# CONFIG_USB_HSIC_USB3503 is not set
+# CONFIG_USB_HSIC_USB4604 is not set
+# CONFIG_USB_LINK_LAYER_TEST is not set
+# CONFIG_USB_CHAOSKEY is not set
+
+#
+# USB Physical Layer drivers
+#
+# CONFIG_NOP_USB_XCEIV is not set
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_USB_ISP1301 is not set
+# end of USB Physical Layer drivers
+
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG is not set
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
+CONFIG_U_SERIAL_CONSOLE=y
+
+#
+# USB Peripheral Controller
+#
+# CONFIG_USB_FOTG210_UDC is not set
+# CONFIG_USB_GR_UDC is not set
+# CONFIG_USB_R8A66597 is not set
+# CONFIG_USB_PXA27X is not set
+# CONFIG_USB_MV_UDC is not set
+# CONFIG_USB_MV_U3D is not set
+# CONFIG_USB_SNP_UDC_PLAT is not set
+# CONFIG_USB_M66592 is not set
+# CONFIG_USB_BDC_UDC is not set
+# CONFIG_USB_AMD5536UDC is not set
+# CONFIG_USB_NET2272 is not set
+# CONFIG_USB_NET2280 is not set
+# CONFIG_USB_GOKU is not set
+# CONFIG_USB_EG20T is not set
+# CONFIG_USB_GADGET_XILINX is not set
+# CONFIG_USB_MAX3420_UDC is not set
+# CONFIG_USB_DUMMY_HCD is not set
+# end of USB Peripheral Controller
+
+CONFIG_USB_LIBCOMPOSITE=y
+CONFIG_USB_F_ACM=y
+CONFIG_USB_U_SERIAL=y
+CONFIG_USB_U_ETHER=y
+CONFIG_USB_F_ECM=y
+# CONFIG_USB_CONFIGFS is not set
+
+#
+# USB Gadget precomposed configurations
+#
+# CONFIG_USB_ZERO is not set
+# CONFIG_USB_ETH is not set
+# CONFIG_USB_G_NCM is not set
+# CONFIG_USB_GADGETFS is not set
+# CONFIG_USB_FUNCTIONFS is not set
+# CONFIG_USB_MASS_STORAGE is not set
+# CONFIG_USB_G_SERIAL is not set
+# CONFIG_USB_G_PRINTER is not set
+CONFIG_USB_CDC_COMPOSITE=y
+# CONFIG_USB_G_ACM_MS is not set
+# CONFIG_USB_G_MULTI is not set
+# CONFIG_USB_G_HID is not set
+# CONFIG_USB_G_DBGP is not set
+# CONFIG_USB_RAW_GADGET is not set
+# end of USB Gadget precomposed configurations
+
+# CONFIG_TYPEC is not set
+# CONFIG_USB_ROLE_SWITCH is not set
+CONFIG_MMC=y
+CONFIG_PWRSEQ_EMMC=y
+CONFIG_PWRSEQ_SIMPLE=y
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_MINORS=8
+# CONFIG_SDIO_UART is not set
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_SDHCI=y
+# CONFIG_MMC_SDHCI_PCI is not set
+CONFIG_MMC_SDHCI_PLTFM=y
+# CONFIG_MMC_SDHCI_OF_ARASAN is not set
+# CONFIG_MMC_SDHCI_OF_ASPEED is not set
+# CONFIG_MMC_SDHCI_OF_AT91 is not set
+CONFIG_MMC_SDHCI_OF_DWCMSHC=y
+# CONFIG_MMC_SDHCI_CADENCE is not set
+# CONFIG_MMC_SDHCI_F_SDH30 is not set
+# CONFIG_MMC_SDHCI_MILBEAUT is not set
+# CONFIG_MMC_TIFM_SD is not set
+# CONFIG_MMC_SPI is not set
+# CONFIG_MMC_CB710 is not set
+# CONFIG_MMC_VIA_SDMMC is not set
+# CONFIG_MMC_VUB300 is not set
+# CONFIG_MMC_USHC is not set
+# CONFIG_MMC_USDHI6ROL0 is not set
+# CONFIG_MMC_CQHCI is not set
+# CONFIG_MMC_HSQ is not set
+# CONFIG_MMC_TOSHIBA_PCI is not set
+# CONFIG_MMC_MTK is not set
+# CONFIG_MMC_SDHCI_XENON is not set
+# CONFIG_MMC_SDHCI_OMAP is not set
+# CONFIG_MMC_SDHCI_AM654 is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_NEW_LEDS is not set
+# CONFIG_ACCESSIBILITY is not set
+# CONFIG_INFINIBAND is not set
+# CONFIG_RTC_CLASS is not set
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_VIRTUAL_CHANNELS=m
+CONFIG_DMA_OF=y
+# CONFIG_ALTERA_MSGDMA is not set
+# CONFIG_DW_AXI_DMAC is not set
+# CONFIG_FSL_EDMA is not set
+# CONFIG_INTEL_IDMA64 is not set
+# CONFIG_PLX_DMA is not set
+CONFIG_KVX_DMA_NOC=m
+# CONFIG_QCOM_HIDMA_MGMT is not set
+# CONFIG_QCOM_HIDMA is not set
+# CONFIG_DW_DMAC is not set
+# CONFIG_DW_DMAC_PCI is not set
+# CONFIG_DW_EDMA is not set
+# CONFIG_DW_EDMA_PCIE is not set
+# CONFIG_SF_PDMA is not set
+
+#
+# DMA Clients
+#
+# CONFIG_ASYNC_TX_DMA is not set
+# CONFIG_DMATEST is not set
+
+#
+# DMABUF options
+#
+# CONFIG_SYNC_FILE is not set
+# CONFIG_DMABUF_MOVE_NOTIFY is not set
+# CONFIG_DMABUF_HEAPS is not set
+# end of DMABUF options
+
+# CONFIG_AUXDISPLAY is not set
+# CONFIG_UIO is not set
+# CONFIG_VFIO is not set
+# CONFIG_VIRT_DRIVERS is not set
+CONFIG_VIRTIO=y
+CONFIG_VIRTIO_MENU=y
+# CONFIG_VIRTIO_PCI is not set
+# CONFIG_VIRTIO_BALLOON is not set
+# CONFIG_VIRTIO_INPUT is not set
+# CONFIG_VIRTIO_MMIO is not set
+# CONFIG_VDPA is not set
+CONFIG_VHOST_MENU=y
+# CONFIG_VHOST_NET is not set
+# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
+
+#
+# Microsoft Hyper-V guest support
+#
+# end of Microsoft Hyper-V guest support
+
+# CONFIG_GREYBUS is not set
+# CONFIG_STAGING is not set
+# CONFIG_GOLDFISH is not set
+CONFIG_HAVE_CLK=y
+CONFIG_CLKDEV_LOOKUP=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+# CONFIG_CLK_HSDK is not set
+# CONFIG_COMMON_CLK_MAX9485 is not set
+# CONFIG_COMMON_CLK_SI5341 is not set
+# CONFIG_COMMON_CLK_SI5351 is not set
+# CONFIG_COMMON_CLK_SI514 is not set
+# CONFIG_COMMON_CLK_SI544 is not set
+# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_CDCE706 is not set
+# CONFIG_COMMON_CLK_CDCE925 is not set
+# CONFIG_COMMON_CLK_CS2000_CP is not set
+# CONFIG_COMMON_CLK_VC5 is not set
+# CONFIG_COMMON_CLK_FIXED_MMIO is not set
+# CONFIG_HWSPINLOCK is not set
+
+#
+# Clock Source drivers
+#
+CONFIG_TIMER_OF=y
+CONFIG_TIMER_PROBE=y
+# CONFIG_MICROCHIP_PIT64B is not set
+# end of Clock Source drivers
+
+CONFIG_MAILBOX=y
+# CONFIG_PLATFORM_MHU is not set
+# CONFIG_ALTERA_MBOX is not set
+CONFIG_KVX_MBOX=y
+# CONFIG_MAILBOX_TEST is not set
+CONFIG_IOMMU_IOVA=y
+CONFIG_IOMMU_API=y
+CONFIG_IOMMU_SUPPORT=y
+
+#
+# Generic IOMMU Pagetable Support
+#
+# end of Generic IOMMU Pagetable Support
+
+# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
+CONFIG_OF_IOMMU=y
+CONFIG_IOMMU_DMA=y
+CONFIG_KVX_IOMMU=y
+
+#
+# Remoteproc drivers
+#
+CONFIG_REMOTEPROC=y
+CONFIG_KVX_REMOTEPROC=y
+# end of Remoteproc drivers
+
+#
+# Rpmsg drivers
+#
+CONFIG_RPMSG=y
+CONFIG_RPMSG_CHAR=y
+# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
+CONFIG_RPMSG_VIRTIO=y
+# end of Rpmsg drivers
+
+# CONFIG_SOUNDWIRE is not set
+
+#
+# SOC (System On Chip) specific Drivers
+#
+
+#
+# Amlogic SoC drivers
+#
+# end of Amlogic SoC drivers
+
+#
+# Aspeed SoC drivers
+#
+# end of Aspeed SoC drivers
+
+#
+# Broadcom SoC drivers
+#
+# end of Broadcom SoC drivers
+
+#
+# NXP/Freescale QorIQ SoC drivers
+#
+# end of NXP/Freescale QorIQ SoC drivers
+
+#
+# i.MX SoC drivers
+#
+# end of i.MX SoC drivers
+
+CONFIG_KVX_SOCINFO=y
+
+#
+# Qualcomm SoC drivers
+#
+# end of Qualcomm SoC drivers
+
+# CONFIG_SOC_TI is not set
+
+#
+# Xilinx SoC drivers
+#
+# CONFIG_XILINX_VCU is not set
+# end of Xilinx SoC drivers
+# end of SOC (System On Chip) specific Drivers
+
+# CONFIG_PM_DEVFREQ is not set
+# CONFIG_EXTCON is not set
+# CONFIG_MEMORY is not set
+# CONFIG_IIO is not set
+# CONFIG_NTB is not set
+# CONFIG_VME_BUS is not set
+# CONFIG_PWM is not set
+
+#
+# IRQ chip support
+#
+CONFIG_IRQCHIP=y
+# CONFIG_AL_FIC is not set
+CONFIG_KVX_CORE_INTC=y
+CONFIG_KVX_APIC_GIC=y
+CONFIG_KVX_APIC_MAILBOX=y
+CONFIG_KVX_ITGEN=y
+CONFIG_KVX_PCI_MSI=y
+# end of IRQ chip support
+
+# CONFIG_IPACK_BUS is not set
+# CONFIG_RESET_CONTROLLER is not set
+
+#
+# PHY Subsystem
+#
+# CONFIG_GENERIC_PHY is not set
+# CONFIG_BCM_KONA_USB2_PHY is not set
+# CONFIG_PHY_CADENCE_TORRENT is not set
+# CONFIG_PHY_CADENCE_DPHY is not set
+# CONFIG_PHY_CADENCE_SALVO is not set
+# CONFIG_PHY_FSL_IMX8MQ_USB is not set
+# CONFIG_PHY_MIXEL_MIPI_DPHY is not set
+# CONFIG_PHY_PXA_28NM_HSIC is not set
+# CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_PHY_MAPPHONE_MDM6600 is not set
+# CONFIG_PHY_OCELOT_SERDES is not set
+# CONFIG_PHY_SAMSUNG_USB2 is not set
+# end of PHY Subsystem
+
+# CONFIG_POWERCAP is not set
+# CONFIG_MCB is not set
+
+#
+# Performance monitor support
+#
+# end of Performance monitor support
+
+CONFIG_RAS=y
+# CONFIG_USB4 is not set
+
+#
+# Android
+#
+# CONFIG_ANDROID is not set
+# end of Android
+
+# CONFIG_LIBNVDIMM is not set
+# CONFIG_DAX is not set
+CONFIG_NVMEM=y
+CONFIG_NVMEM_SYSFS=y
+CONFIG_KVX_OTP_NV=y
+
+#
+# HW tracing support
+#
+# CONFIG_STM is not set
+# CONFIG_INTEL_TH is not set
+# end of HW tracing support
+
+# CONFIG_FPGA is not set
+# CONFIG_FSI is not set
+# CONFIG_SIOX is not set
+# CONFIG_SLIMBUS is not set
+# CONFIG_INTERCONNECT is not set
+# CONFIG_COUNTER is not set
+# CONFIG_MOST is not set
+# end of Device Drivers
+
+#
+# File systems
+#
+# CONFIG_VALIDATE_FS_PARSER is not set
+CONFIG_FS_IOMAP=y
+# CONFIG_EXT2_FS is not set
+# CONFIG_EXT3_FS is not set
+CONFIG_EXT4_FS=m
+CONFIG_EXT4_USE_FOR_EXT2=y
+# CONFIG_EXT4_FS_POSIX_ACL is not set
+# CONFIG_EXT4_FS_SECURITY is not set
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD2=m
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=m
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+# CONFIG_NILFS2_FS is not set
+# CONFIG_F2FS_FS is not set
+# CONFIG_FS_DAX is not set
+CONFIG_EXPORTFS=y
+# CONFIG_EXPORTFS_BLOCK_OPS is not set
+CONFIG_FILE_LOCKING=y
+CONFIG_MANDATORY_FILE_LOCKING=y
+# CONFIG_FS_ENCRYPTION is not set
+# CONFIG_FS_VERITY is not set
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_FANOTIFY is not set
+# CONFIG_QUOTA is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_FUSE_FS is not set
+# CONFIG_OVERLAY_FS is not set
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+# end of Caches
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+# end of CD-ROM/DVD Filesystems
+
+#
+# DOS/FAT/EXFAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+# CONFIG_MSDOS_FS is not set
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_FAT_DEFAULT_UTF8 is not set
+# CONFIG_EXFAT_FS is not set
+# CONFIG_NTFS_FS is not set
+# end of DOS/FAT/EXFAT/NT Filesystems
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+# CONFIG_PROC_KCORE is not set
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+# CONFIG_PROC_CHILDREN is not set
+CONFIG_KERNFS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_TMPFS_XATTR is not set
+CONFIG_HUGETLBFS=y
+CONFIG_HUGETLB_PAGE=y
+CONFIG_MEMFD_CREATE=y
+CONFIG_CONFIGFS_FS=y
+# end of Pseudo filesystems
+
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ORANGEFS_FS is not set
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS2_FS is not set
+# CONFIG_CRAMFS is not set
+CONFIG_SQUASHFS=m
+CONFIG_SQUASHFS_FILE_CACHE=y
+# CONFIG_SQUASHFS_FILE_DIRECT is not set
+CONFIG_SQUASHFS_DECOMP_SINGLE=y
+# CONFIG_SQUASHFS_DECOMP_MULTI is not set
+# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set
+# CONFIG_SQUASHFS_XATTR is not set
+CONFIG_SQUASHFS_ZLIB=y
+# CONFIG_SQUASHFS_LZ4 is not set
+# CONFIG_SQUASHFS_LZO is not set
+# CONFIG_SQUASHFS_XZ is not set
+# CONFIG_SQUASHFS_ZSTD is not set
+# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_QNX6FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_PSTORE is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+# CONFIG_EROFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+# CONFIG_NFS_FS is not set
+# CONFIG_NFSD is not set
+# CONFIG_CEPH_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_MAC_ROMAN is not set
+# CONFIG_NLS_MAC_CELTIC is not set
+# CONFIG_NLS_MAC_CENTEURO is not set
+# CONFIG_NLS_MAC_CROATIAN is not set
+# CONFIG_NLS_MAC_CYRILLIC is not set
+# CONFIG_NLS_MAC_GAELIC is not set
+# CONFIG_NLS_MAC_GREEK is not set
+# CONFIG_NLS_MAC_ICELAND is not set
+# CONFIG_NLS_MAC_INUIT is not set
+# CONFIG_NLS_MAC_ROMANIAN is not set
+# CONFIG_NLS_MAC_TURKISH is not set
+# CONFIG_NLS_UTF8 is not set
+# CONFIG_DLM is not set
+# CONFIG_UNICODE is not set
+CONFIG_IO_WQ=y
+# end of File systems
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITYFS is not set
+CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
+# CONFIG_HARDENED_USERCOPY is not set
+# CONFIG_STATIC_USERMODEHELPER is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity,bpf"
+
+#
+# Kernel hardening options
+#
+
+#
+# Memory initialization
+#
+CONFIG_INIT_STACK_NONE=y
+# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
+# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
+# end of Memory initialization
+# end of Kernel hardening options
+# end of Security options
+
+CONFIG_CRYPTO=m
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=m
+CONFIG_CRYPTO_ALGAPI2=m
+CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AEAD2=m
+CONFIG_CRYPTO_SKCIPHER=m
+CONFIG_CRYPTO_SKCIPHER2=m
+CONFIG_CRYPTO_HASH=m
+CONFIG_CRYPTO_HASH2=m
+CONFIG_CRYPTO_RNG2=m
+# CONFIG_CRYPTO_MANAGER is not set
+# CONFIG_CRYPTO_USER is not set
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_NULL2=m
+# CONFIG_CRYPTO_CRYPTD is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_TEST is not set
+CONFIG_CRYPTO_ENGINE=m
+
+#
+# Public-key cryptography
+#
+# CONFIG_CRYPTO_RSA is not set
+# CONFIG_CRYPTO_DH is not set
+# CONFIG_CRYPTO_ECDH is not set
+# CONFIG_CRYPTO_ECRDSA is not set
+# CONFIG_CRYPTO_CURVE25519 is not set
+
+#
+# Authenticated Encryption with Associated Data
+#
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_CHACHA20POLY1305 is not set
+# CONFIG_CRYPTO_AEGIS128 is not set
+# CONFIG_CRYPTO_SEQIV is not set
+# CONFIG_CRYPTO_ECHAINIV is not set
+
+#
+# Block modes
+#
+# CONFIG_CRYPTO_CBC is not set
+# CONFIG_CRYPTO_CFB is not set
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+# CONFIG_CRYPTO_ECB is not set
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_OFB is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+# CONFIG_CRYPTO_KEYWRAP is not set
+# CONFIG_CRYPTO_ADIANTUM is not set
+# CONFIG_CRYPTO_ESSIV is not set
+
+#
+# Hash modes
+#
+# CONFIG_CRYPTO_CMAC is not set
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_VMAC is not set
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=m
+# CONFIG_CRYPTO_CRC32 is not set
+# CONFIG_CRYPTO_XXHASH is not set
+# CONFIG_CRYPTO_BLAKE2B is not set
+# CONFIG_CRYPTO_BLAKE2S is not set
+# CONFIG_CRYPTO_CRCT10DIF is not set
+# CONFIG_CRYPTO_GHASH is not set
+# CONFIG_CRYPTO_POLY1305 is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_RMD128 is not set
+# CONFIG_CRYPTO_RMD160 is not set
+# CONFIG_CRYPTO_RMD256 is not set
+# CONFIG_CRYPTO_RMD320 is not set
+# CONFIG_CRYPTO_SHA1 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_SHA3 is not set
+# CONFIG_CRYPTO_SM3 is not set
+# CONFIG_CRYPTO_STREEBOG is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+# CONFIG_CRYPTO_AES is not set
+# CONFIG_CRYPTO_AES_TI is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_ARC4 is not set
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_CHACHA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_SM4 is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_LZO is not set
+# CONFIG_CRYPTO_842 is not set
+# CONFIG_CRYPTO_LZ4 is not set
+# CONFIG_CRYPTO_LZ4HC is not set
+# CONFIG_CRYPTO_ZSTD is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_DRBG_MENU is not set
+# CONFIG_CRYPTO_JITTERENTROPY is not set
+# CONFIG_CRYPTO_USER_API_HASH is not set
+# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
+# CONFIG_CRYPTO_USER_API_RNG is not set
+# CONFIG_CRYPTO_USER_API_AEAD is not set
+
+#
+# Crypto library routines
+#
+# CONFIG_CRYPTO_LIB_BLAKE2S is not set
+# CONFIG_CRYPTO_LIB_CHACHA is not set
+# CONFIG_CRYPTO_LIB_CURVE25519 is not set
+CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1
+# CONFIG_CRYPTO_LIB_POLY1305 is not set
+# CONFIG_CRYPTO_LIB_CHACHA20POLY1305 is not set
+CONFIG_CRYPTO_HW=y
+# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set
+# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set
+# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set
+CONFIG_CRYPTO_DEV_VIRTIO=m
+# CONFIG_CRYPTO_DEV_SAFEXCEL is not set
+# CONFIG_CRYPTO_DEV_CCREE is not set
+# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
+
+#
+# Certificates for signature checking
+#
+# end of Certificates for signature checking
+
+#
+# Library routines
+#
+# CONFIG_PACKING is not set
+CONFIG_BITREVERSE=y
+CONFIG_HAVE_ARCH_BITREVERSE=y
+CONFIG_GENERIC_STRNCPY_FROM_USER=y
+CONFIG_GENERIC_STRNLEN_USER=y
+CONFIG_GENERIC_NET_UTILS=y
+# CONFIG_CORDIC is not set
+# CONFIG_PRIME_NUMBERS is not set
+CONFIG_RATIONAL=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_GENERIC_IOMAP=y
+# CONFIG_CRC_CCITT is not set
+CONFIG_CRC16=m
+# CONFIG_CRC_T10DIF is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC32_SELFTEST is not set
+CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32_SLICEBY4 is not set
+# CONFIG_CRC32_SARWATE is not set
+# CONFIG_CRC32_BIT is not set
+# CONFIG_CRC64 is not set
+# CONFIG_CRC4 is not set
+# CONFIG_CRC7 is not set
+CONFIG_LIBCRC32C=m
+# CONFIG_CRC8 is not set
+# CONFIG_RANDOM32_SELFTEST is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_LZ4_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_IA64=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_DECOMPRESS_LZ4=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_XARRAY_MULTI=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT_MAP=y
+CONFIG_HAS_DMA=y
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_DMA_DECLARE_COHERENT=y
+CONFIG_ARCH_HAS_SETUP_DMA_OPS=y
+CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y
+CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y
+CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y
+CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y
+CONFIG_DMA_VIRT_OPS=y
+CONFIG_DMA_NONCOHERENT_MMAP=y
+CONFIG_DMA_COHERENT_POOL=y
+CONFIG_DMA_REMAP=y
+CONFIG_DMA_DIRECT_REMAP=y
+# CONFIG_DMA_API_DEBUG is not set
+CONFIG_DQL=y
+CONFIG_GLOB=y
+# CONFIG_GLOB_SELFTEST is not set
+CONFIG_NLATTR=y
+# CONFIG_IRQ_POLL is not set
+CONFIG_LIBFDT=y
+CONFIG_SBITMAP=y
+# CONFIG_STRING_SELFTEST is not set
+# end of Library routines
+
+CONFIG_GENERIC_IOREMAP=y
+
+#
+# Kernel hacking
+#
+
+#
+# printk and dmesg options
+#
+CONFIG_PRINTK_TIME=y
+# CONFIG_PRINTK_CALLER is not set
+CONFIG_CONSOLE_LOGLEVEL_DEFAULT=15
+CONFIG_CONSOLE_LOGLEVEL_QUIET=4
+CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DYNAMIC_DEBUG_CORE is not set
+CONFIG_SYMBOLIC_ERRNAME=y
+CONFIG_DEBUG_BUGVERBOSE=y
+# end of printk and dmesg options
+
+#
+# Compile-time checks and compiler options
+#
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_INFO_REDUCED is not set
+# CONFIG_DEBUG_INFO_COMPRESSED is not set
+# CONFIG_DEBUG_INFO_SPLIT is not set
+CONFIG_DEBUG_INFO_DWARF4=y
+# CONFIG_DEBUG_INFO_BTF is not set
+CONFIG_GDB_SCRIPTS=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=2048
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_READABLE_ASM is not set
+# CONFIG_HEADERS_INSTALL is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_SECTION_MISMATCH_WARN_ONLY=y
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# end of Compile-time checks and compiler options
+
+#
+# Generic Kernel Debugging Instruments
+#
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_DEBUG_FS is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+# CONFIG_UBSAN is not set
+# end of Generic Kernel Debugging Instruments
+
+CONFIG_DEBUG_KERNEL=y
+CONFIG_DEBUG_MISC=y
+
+#
+# Memory Debugging
+#
+# CONFIG_PAGE_EXTENSION is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+# CONFIG_PAGE_OWNER is not set
+# CONFIG_PAGE_POISONING is not set
+# CONFIG_DEBUG_RODATA_TEST is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_SCHED_STACK_END_CHECK is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_MEMORY_INIT is not set
+CONFIG_CC_HAS_KASAN_GENERIC=y
+CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
+CONFIG_KASAN_STACK=1
+# end of Memory Debugging
+
+# CONFIG_DEBUG_SHIRQ is not set
+
+#
+# Debug Oops, Lockups and Hangs
+#
+# CONFIG_PANIC_ON_OOPS is not set
+CONFIG_PANIC_ON_OOPS_VALUE=0
+CONFIG_PANIC_TIMEOUT=-1
+# CONFIG_SOFTLOCKUP_DETECTOR is not set
+# CONFIG_DETECT_HUNG_TASK is not set
+# CONFIG_WQ_WATCHDOG is not set
+# CONFIG_TEST_LOCKUP is not set
+# end of Debug Oops, Lockups and Hangs
+
+#
+# Scheduler Debugging
+#
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+# end of Scheduler Debugging
+
+# CONFIG_DEBUG_TIMEKEEPING is not set
+
+#
+# Lock Debugging (spinlocks, mutexes, etc...)
+#
+CONFIG_LOCK_DEBUGGING_SUPPORT=y
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
+# CONFIG_DEBUG_RWSEMS is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_DEBUG_ATOMIC_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_LOCK_TORTURE_TEST is not set
+# CONFIG_WW_MUTEX_SELFTEST is not set
+# end of Lock Debugging (spinlocks, mutexes, etc...)
+
+# CONFIG_STACKTRACE is not set
+# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
+# CONFIG_DEBUG_KOBJECT is not set
+
+#
+# Debug kernel data structures
+#
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_PLIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_BUG_ON_DATA_CORRUPTION is not set
+# end of Debug kernel data structures
+
+# CONFIG_DEBUG_CREDENTIALS is not set
+
+#
+# RCU Debugging
+#
+# CONFIG_RCU_PERF_TEST is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_RCU_TRACE is not set
+# CONFIG_RCU_EQS_DEBUG is not set
+# end of RCU Debugging
+
+# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+# CONFIG_FUNCTION_TRACER is not set
+# CONFIG_STACK_TRACER is not set
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_HWLAT_TRACER is not set
+# CONFIG_ENABLE_DEFAULT_TRACERS is not set
+# CONFIG_FTRACE_SYSCALLS is not set
+# CONFIG_TRACER_SNAPSHOT is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_SYNTH_EVENTS is not set
+# CONFIG_TRACEPOINT_BENCHMARK is not set
+# CONFIG_PREEMPTIRQ_DELAY_TEST is not set
+# CONFIG_SAMPLES is not set
+CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
+CONFIG_STRICT_DEVMEM=y
+# CONFIG_IO_STRICT_DEVMEM is not set
+
+#
+# kvx Debugging
+#
+
+#
+# KVX debugging
+#
+# CONFIG_KVX_DEBUG_ASN is not set
+# CONFIG_KVX_DEBUG_TLB_WRITE is not set
+# CONFIG_KVX_DEBUG_TLB_ACCESS is not set
+# CONFIG_KVX_MMU_STATS is not set
+# CONFIG_DEBUG_EXCEPTION_STACK is not set
+# CONFIG_DEBUG_SFR_SET_MASK is not set
+# end of KVX debugging
+# end of kvx Debugging
+
+#
+# Kernel Testing and Coverage
+#
+# CONFIG_KUNIT is not set
+# CONFIG_NOTIFIER_ERROR_INJECTION is not set
+# CONFIG_FAULT_INJECTION is not set
+CONFIG_CC_HAS_SANCOV_TRACE_PC=y
+CONFIG_RUNTIME_TESTING_MENU=y
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_TEST_MIN_HEAP is not set
+# CONFIG_TEST_SORT is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_RBTREE_TEST is not set
+# CONFIG_REED_SOLOMON_TEST is not set
+# CONFIG_INTERVAL_TREE_TEST is not set
+# CONFIG_PERCPU_TEST is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+# CONFIG_TEST_HEXDUMP is not set
+# CONFIG_TEST_STRING_HELPERS is not set
+# CONFIG_TEST_STRSCPY is not set
+# CONFIG_TEST_KSTRTOX is not set
+# CONFIG_TEST_PRINTF is not set
+# CONFIG_TEST_BITMAP is not set
+# CONFIG_TEST_BITFIELD is not set
+# CONFIG_TEST_UUID is not set
+# CONFIG_TEST_XARRAY is not set
+# CONFIG_TEST_OVERFLOW is not set
+# CONFIG_TEST_RHASHTABLE is not set
+# CONFIG_TEST_HASH is not set
+# CONFIG_TEST_IDA is not set
+# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_BITOPS is not set
+# CONFIG_TEST_VMALLOC is not set
+# CONFIG_TEST_USER_COPY is not set
+# CONFIG_TEST_BPF is not set
+# CONFIG_TEST_BLACKHOLE_DEV is not set
+# CONFIG_FIND_BIT_BENCHMARK is not set
+# CONFIG_TEST_FIRMWARE is not set
+# CONFIG_TEST_SYSCTL is not set
+# CONFIG_TEST_UDELAY is not set
+# CONFIG_TEST_STATIC_KEYS is not set
+# CONFIG_TEST_KMOD is not set
+# CONFIG_TEST_MEMCAT_P is not set
+# CONFIG_TEST_STACKINIT is not set
+# CONFIG_TEST_MEMINIT is not set
+# CONFIG_MEMTEST is not set
+# end of Kernel Testing and Coverage
+# end of Kernel hacking
diff --git a/target/kvx/kernel/qemu-kvx b/target/kvx/kernel/qemu-kvx
new file mode 100644
index 000000000..1d953b12e
--- /dev/null
+++ b/target/kvx/kernel/qemu-kvx
@@ -0,0 +1,3311 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/kvx 5.8.12 Kernel Configuration
+#
+CONFIG_CC_IS_GCC=y
+CONFIG_GCC_VERSION=90401
+CONFIG_LD_VERSION=237000000
+CONFIG_CLANG_VERSION=0
+CONFIG_CC_CAN_LINK=y
+CONFIG_CC_CAN_LINK_STATIC=y
+CONFIG_CC_HAS_ASM_GOTO=y
+CONFIG_CC_HAS_ASM_INLINE=y
+CONFIG_IRQ_WORK=y
+CONFIG_THREAD_INFO_IN_TASK=y
+
+#
+# General setup
+#
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+# CONFIG_COMPILE_TEST is not set
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_BUILD_SALT=""
+CONFIG_DEFAULT_INIT=""
+CONFIG_DEFAULT_HOSTNAME="KVXlinux"
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_WATCH_QUEUE is not set
+CONFIG_CROSS_MEMORY_ATTACH=y
+# CONFIG_USELIB is not set
+# CONFIG_AUDIT is not set
+CONFIG_HAVE_ARCH_AUDITSYSCALL=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_IRQ_INJECTION=y
+CONFIG_GENERIC_IRQ_CHIP=y
+CONFIG_IRQ_DOMAIN=y
+CONFIG_IRQ_DOMAIN_HIERARCHY=y
+CONFIG_GENERIC_IRQ_IPI=y
+CONFIG_GENERIC_MSI_IRQ=y
+CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
+CONFIG_IRQ_MSI_IOMMU=y
+CONFIG_SPARSE_IRQ=y
+# end of IRQ subsystem
+
+CONFIG_ARCH_CLOCKSOURCE_DATA=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+
+#
+# Timers subsystem
+#
+CONFIG_HZ_PERIODIC=y
+# CONFIG_NO_HZ_IDLE is not set
+# CONFIG_NO_HZ is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+# end of Timers subsystem
+
+CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_PSI is not set
+# end of CPU/Task time and stats accounting
+
+#
+# RCU Subsystem
+#
+CONFIG_TINY_RCU=y
+# CONFIG_RCU_EXPERT is not set
+CONFIG_SRCU=y
+CONFIG_TINY_SRCU=y
+# end of RCU Subsystem
+
+# CONFIG_IKCONFIG is not set
+# CONFIG_IKHEADERS is not set
+CONFIG_LOG_BUF_SHIFT=17
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
+CONFIG_GENERIC_SCHED_CLOCK=y
+
+#
+# Scheduler features
+#
+# end of Scheduler features
+
+CONFIG_CC_HAS_INT128=y
+# CONFIG_CGROUPS is not set
+# CONFIG_NAMESPACES is not set
+# CONFIG_CHECKPOINT_RESTORE is not set
+# CONFIG_SCHED_AUTOGROUP is not set
+# CONFIG_SYSFS_DEPRECATED is not set
+# CONFIG_RELAY is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE="${BR_BINARIES_DIR}/rootfs.cpio"
+CONFIG_INITRAMFS_ROOT_UID=0
+CONFIG_INITRAMFS_ROOT_GID=0
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+CONFIG_RD_LZ4=y
+CONFIG_INITRAMFS_COMPRESSION_GZIP=y
+# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set
+# CONFIG_INITRAMFS_COMPRESSION_XZ is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZO is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set
+# CONFIG_INITRAMFS_COMPRESSION_NONE is not set
+# CONFIG_BOOT_CONFIG is not set
+CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
+CONFIG_BPF=y
+CONFIG_EXPERT=y
+CONFIG_MULTIUSER=y
+# CONFIG_SGETMASK_SYSCALL is not set
+CONFIG_SYSFS_SYSCALL=y
+CONFIG_FHANDLE=y
+CONFIG_POSIX_TIMERS=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_FUTEX_PI=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_IO_URING=y
+CONFIG_ADVISE_SYSCALLS=y
+CONFIG_MEMBARRIER=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_BPF_SYSCALL is not set
+# CONFIG_USERFAULTFD is not set
+CONFIG_EMBEDDED=y
+CONFIG_HAVE_PERF_EVENTS=y
+# CONFIG_PC104 is not set
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+# end of Kernel Performance Events And Counters
+
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+CONFIG_COMPAT_BRK=y
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_SLOB is not set
+CONFIG_SLAB_MERGE_DEFAULT=y
+# CONFIG_SLAB_FREELIST_RANDOM is not set
+# CONFIG_SLAB_FREELIST_HARDENED is not set
+# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set
+# CONFIG_PROFILING is not set
+# end of General setup
+
+CONFIG_64BIT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_MMU=y
+CONFIG_SYS_SUPPORTS_HUGETLBFS=y
+CONFIG_GENERIC_CSUM=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_HAVE_COPY_THREAD_TLS=y
+CONFIG_ZONE_DMA32=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_GENERIC_BUG=y
+CONFIG_KVX=y
+CONFIG_PGTABLE_LEVELS=3
+
+#
+# System setup
+#
+CONFIG_POISON_INITMEM=y
+CONFIG_KVX_PHYS_OFFSET=0x100000000
+CONFIG_KVX_PAGE_OFFSET=0xFFFFFF8000000000
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_DEFAULT=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_STACK_MAX_DEPTH_TO_PRINT=24
+CONFIG_L2_CACHE=y
+CONFIG_SECURE_DAME_HANDLING=y
+# CONFIG_CACHECTL_UNSAFE_PHYS_OPERATIONS is not set
+CONFIG_ENABLE_TCA=y
+# CONFIG_SMP is not set
+CONFIG_KVX_4K_PAGES=y
+# CONFIG_KVX_64K_PAGES is not set
+CONFIG_KVX_PAGE_SHIFT=12
+CONFIG_CMDLINE=""
+# end of System setup
+
+#
+# System Type
+#
+CONFIG_KVX_SUBARCH_KV3_1=y
+# CONFIG_KVX_SUBARCH_KV3_2 is not set
+# end of System Type
+
+#
+# Kernel Features
+#
+CONFIG_HZ_100=y
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=100
+# end of Kernel Features
+
+#
+# General architecture-dependent options
+#
+CONFIG_JUMP_LABEL=y
+# CONFIG_STATIC_KEYS_SELFTEST is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_ASM_MODVERSIONS=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_HAVE_STACKPROTECTOR=y
+CONFIG_CC_HAS_STACKPROTECTOR_NONE=y
+CONFIG_STACKPROTECTOR=y
+CONFIG_STACKPROTECTOR_STRONG=y
+CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_MODULES_USE_ELF_RELA=y
+# CONFIG_COMPAT_32BIT_TIME is not set
+CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y
+CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
+CONFIG_STRICT_KERNEL_RWX=y
+CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
+CONFIG_STRICT_MODULE_RWX=y
+
+#
+# GCOV-based kernel profiling
+#
+# end of GCOV-based kernel profiling
+# end of General architecture-dependent options
+
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_MODVERSIONS=y
+CONFIG_ASM_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+# CONFIG_MODULE_SIG is not set
+# CONFIG_MODULE_COMPRESS is not set
+# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_TRIM_UNUSED_KSYMS is not set
+CONFIG_MODULES_TREE_LOOKUP=y
+CONFIG_BLOCK=y
+CONFIG_BLK_SCSI_REQUEST=y
+CONFIG_BLK_DEV_BSG=y
+# CONFIG_BLK_DEV_BSGLIB is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+# CONFIG_BLK_DEV_ZONED is not set
+# CONFIG_BLK_CMDLINE_PARSER is not set
+# CONFIG_BLK_WBT is not set
+# CONFIG_BLK_SED_OPAL is not set
+# CONFIG_BLK_INLINE_ENCRYPTION is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+CONFIG_EFI_PARTITION=y
+# end of Partition Types
+
+CONFIG_BLK_MQ_PCI=y
+CONFIG_BLK_MQ_VIRTIO=y
+
+#
+# IO Schedulers
+#
+CONFIG_MQ_IOSCHED_DEADLINE=y
+CONFIG_MQ_IOSCHED_KYBER=y
+# CONFIG_IOSCHED_BFQ is not set
+# end of IO Schedulers
+
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+CONFIG_INLINE_READ_UNLOCK=y
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+CONFIG_INLINE_WRITE_UNLOCK=y
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
+CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_ELFCORE=y
+CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
+CONFIG_BINFMT_SCRIPT=y
+# CONFIG_BINFMT_MISC is not set
+CONFIG_COREDUMP=y
+# end of Executable file formats
+
+#
+# Memory Management options
+#
+CONFIG_SELECT_MEMORY_MODEL=y
+# CONFIG_FLATMEM_MANUAL is not set
+CONFIG_SPARSEMEM_MANUAL=y
+CONFIG_SPARSEMEM=y
+CONFIG_HAVE_MEMORY_PRESENT=y
+CONFIG_SPARSEMEM_EXTREME=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_COMPACTION=y
+# CONFIG_PAGE_REPORTING is not set
+CONFIG_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
+# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
+CONFIG_NEED_PER_CPU_KM=y
+# CONFIG_CLEANCACHE is not set
+# CONFIG_FRONTSWAP is not set
+# CONFIG_CMA is not set
+# CONFIG_ZPOOL is not set
+# CONFIG_ZBUD is not set
+# CONFIG_ZSMALLOC is not set
+# CONFIG_IDLE_PAGE_TRACKING is not set
+# CONFIG_PERCPU_STATS is not set
+# CONFIG_GUP_BENCHMARK is not set
+# CONFIG_READ_ONLY_THP_FOR_FS is not set
+CONFIG_ARCH_HAS_PTE_SPECIAL=y
+# end of Memory Management options
+
+CONFIG_NET=y
+CONFIG_NET_INGRESS=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+# CONFIG_PACKET_DIAG is not set
+CONFIG_UNIX=y
+CONFIG_UNIX_SCM=y
+# CONFIG_UNIX_DIAG is not set
+# CONFIG_TLS is not set
+# CONFIG_XFRM_USER is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE_DEMUX is not set
+CONFIG_NET_IP_TUNNEL=y
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_NET_IPVTI is not set
+# CONFIG_NET_FOU is not set
+# CONFIG_NET_FOU_IP_TUNNELS is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+CONFIG_INET_TUNNEL=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_INET_UDP_DIAG is not set
+# CONFIG_INET_RAW_DIAG is not set
+# CONFIG_INET_DIAG_DESTROY is not set
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=y
+# CONFIG_IPV6_ROUTER_PREF is not set
+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+# CONFIG_INET6_AH is not set
+# CONFIG_INET6_ESP is not set
+# CONFIG_INET6_IPCOMP is not set
+# CONFIG_IPV6_MIP6 is not set
+# CONFIG_IPV6_ILA is not set
+# CONFIG_IPV6_VTI is not set
+CONFIG_IPV6_SIT=y
+# CONFIG_IPV6_SIT_6RD is not set
+CONFIG_IPV6_NDISC_NODETYPE=y
+# CONFIG_IPV6_TUNNEL is not set
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_IPV6_MROUTE is not set
+# CONFIG_IPV6_SEG6_LWTUNNEL is not set
+# CONFIG_IPV6_SEG6_HMAC is not set
+# CONFIG_IPV6_RPL_LWTUNNEL is not set
+# CONFIG_MPTCP is not set
+# CONFIG_NETWORK_SECMARK is not set
+CONFIG_NET_PTP_CLASSIFY=y
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+CONFIG_NETFILTER=y
+CONFIG_NETFILTER_ADVANCED=y
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_INGRESS=y
+# CONFIG_NETFILTER_NETLINK_ACCT is not set
+# CONFIG_NETFILTER_NETLINK_QUEUE is not set
+# CONFIG_NETFILTER_NETLINK_LOG is not set
+# CONFIG_NETFILTER_NETLINK_OSF is not set
+CONFIG_NF_CONNTRACK=m
+# CONFIG_NF_LOG_NETDEV is not set
+# CONFIG_NF_CONNTRACK_MARK is not set
+# CONFIG_NF_CONNTRACK_ZONES is not set
+CONFIG_NF_CONNTRACK_PROCFS=y
+# CONFIG_NF_CONNTRACK_EVENTS is not set
+# CONFIG_NF_CONNTRACK_TIMEOUT is not set
+# CONFIG_NF_CONNTRACK_TIMESTAMP is not set
+# CONFIG_NF_CONNTRACK_LABELS is not set
+CONFIG_NF_CT_PROTO_DCCP=y
+CONFIG_NF_CT_PROTO_SCTP=y
+CONFIG_NF_CT_PROTO_UDPLITE=y
+# CONFIG_NF_CONNTRACK_AMANDA is not set
+# CONFIG_NF_CONNTRACK_FTP is not set
+# CONFIG_NF_CONNTRACK_H323 is not set
+# CONFIG_NF_CONNTRACK_IRC is not set
+# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
+# CONFIG_NF_CONNTRACK_SNMP is not set
+# CONFIG_NF_CONNTRACK_PPTP is not set
+# CONFIG_NF_CONNTRACK_SANE is not set
+# CONFIG_NF_CONNTRACK_SIP is not set
+# CONFIG_NF_CONNTRACK_TFTP is not set
+# CONFIG_NF_CT_NETLINK is not set
+CONFIG_NF_NAT=m
+# CONFIG_NF_TABLES is not set
+CONFIG_NETFILTER_XTABLES=m
+
+#
+# Xtables combined modules
+#
+# CONFIG_NETFILTER_XT_MARK is not set
+# CONFIG_NETFILTER_XT_CONNMARK is not set
+
+#
+# Xtables targets
+#
+# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
+# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
+# CONFIG_NETFILTER_XT_TARGET_HMARK is not set
+# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set
+# CONFIG_NETFILTER_XT_TARGET_LOG is not set
+# CONFIG_NETFILTER_XT_TARGET_MARK is not set
+CONFIG_NETFILTER_XT_NAT=m
+# CONFIG_NETFILTER_XT_TARGET_NETMAP is not set
+# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
+# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
+# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
+# CONFIG_NETFILTER_XT_TARGET_REDIRECT is not set
+# CONFIG_NETFILTER_XT_TARGET_MASQUERADE is not set
+# CONFIG_NETFILTER_XT_TARGET_TEE is not set
+# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
+
+#
+# Xtables matches
+#
+# CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is not set
+# CONFIG_NETFILTER_XT_MATCH_BPF is not set
+# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set
+# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
+# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
+# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set
+# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set
+# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set
+# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not set
+# CONFIG_NETFILTER_XT_MATCH_CPU is not set
+# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
+# CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set
+# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
+# CONFIG_NETFILTER_XT_MATCH_ECN is not set
+# CONFIG_NETFILTER_XT_MATCH_ESP is not set
+# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
+# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
+# CONFIG_NETFILTER_XT_MATCH_HL is not set
+# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set
+# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
+# CONFIG_NETFILTER_XT_MATCH_L2TP is not set
+# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
+# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
+# CONFIG_NETFILTER_XT_MATCH_MAC is not set
+# CONFIG_NETFILTER_XT_MATCH_MARK is not set
+# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
+# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set
+# CONFIG_NETFILTER_XT_MATCH_OSF is not set
+# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
+# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
+# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
+# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
+# CONFIG_NETFILTER_XT_MATCH_REALM is not set
+# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
+# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
+# CONFIG_NETFILTER_XT_MATCH_SOCKET is not set
+# CONFIG_NETFILTER_XT_MATCH_STATE is not set
+# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
+# CONFIG_NETFILTER_XT_MATCH_STRING is not set
+# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
+# CONFIG_NETFILTER_XT_MATCH_TIME is not set
+# CONFIG_NETFILTER_XT_MATCH_U32 is not set
+# end of Core Netfilter Configuration
+
+# CONFIG_IP_SET is not set
+# CONFIG_IP_VS is not set
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+# CONFIG_NF_SOCKET_IPV4 is not set
+# CONFIG_NF_TPROXY_IPV4 is not set
+# CONFIG_NF_DUP_IPV4 is not set
+# CONFIG_NF_LOG_ARP is not set
+# CONFIG_NF_LOG_IPV4 is not set
+# CONFIG_NF_REJECT_IPV4 is not set
+CONFIG_IP_NF_IPTABLES=m
+# CONFIG_IP_NF_MATCH_AH is not set
+# CONFIG_IP_NF_MATCH_ECN is not set
+# CONFIG_IP_NF_MATCH_TTL is not set
+# CONFIG_IP_NF_FILTER is not set
+# CONFIG_IP_NF_TARGET_SYNPROXY is not set
+CONFIG_IP_NF_NAT=m
+# CONFIG_IP_NF_TARGET_MASQUERADE is not set
+# CONFIG_IP_NF_TARGET_NETMAP is not set
+# CONFIG_IP_NF_TARGET_REDIRECT is not set
+# CONFIG_IP_NF_MANGLE is not set
+# CONFIG_IP_NF_RAW is not set
+# CONFIG_IP_NF_ARPTABLES is not set
+# end of IP: Netfilter Configuration
+
+#
+# IPv6: Netfilter Configuration
+#
+# CONFIG_NF_SOCKET_IPV6 is not set
+# CONFIG_NF_TPROXY_IPV6 is not set
+# CONFIG_NF_DUP_IPV6 is not set
+# CONFIG_NF_REJECT_IPV6 is not set
+# CONFIG_NF_LOG_IPV6 is not set
+# CONFIG_IP6_NF_IPTABLES is not set
+# end of IPv6: Netfilter Configuration
+
+CONFIG_NF_DEFRAG_IPV6=m
+# CONFIG_NF_CONNTRACK_BRIDGE is not set
+# CONFIG_BPFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_L2TP is not set
+# CONFIG_BRIDGE is not set
+CONFIG_HAVE_NET_DSA=y
+# CONFIG_NET_DSA is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_PHONET is not set
+# CONFIG_6LOWPAN is not set
+# CONFIG_IEEE802154 is not set
+# CONFIG_NET_SCHED is not set
+CONFIG_DCB=y
+# CONFIG_BATMAN_ADV is not set
+# CONFIG_OPENVSWITCH is not set
+# CONFIG_VSOCKETS is not set
+# CONFIG_NETLINK_DIAG is not set
+# CONFIG_MPLS is not set
+# CONFIG_NET_NSH is not set
+# CONFIG_HSR is not set
+# CONFIG_NET_SWITCHDEV is not set
+# CONFIG_NET_L3_MASTER_DEV is not set
+# CONFIG_QRTR is not set
+# CONFIG_NET_NCSI is not set
+CONFIG_NET_RX_BUSY_POLL=y
+CONFIG_BQL=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# end of Network testing
+# end of Networking options
+
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+# CONFIG_AF_KCM is not set
+CONFIG_WIRELESS=y
+# CONFIG_CFG80211 is not set
+
+#
+# CFG80211 needs to be enabled for MAC80211
+#
+CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+# CONFIG_CEPH_LIB is not set
+# CONFIG_NFC is not set
+# CONFIG_PSAMPLE is not set
+# CONFIG_NET_IFE is not set
+# CONFIG_LWTUNNEL is not set
+CONFIG_DST_CACHE=y
+CONFIG_GRO_CELLS=y
+CONFIG_PAGE_POOL=y
+# CONFIG_FAILOVER is not set
+
+#
+# Device Drivers
+#
+CONFIG_HAVE_PCI=y
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_DOMAINS_GENERIC=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=y
+CONFIG_PCIEAER=y
+CONFIG_PCIEAER_INJECT=y
+# CONFIG_PCIE_ECRC is not set
+# CONFIG_PCIEASPM is not set
+CONFIG_PCIE_DPC=y
+# CONFIG_PCIE_PTM is not set
+# CONFIG_PCIE_BW is not set
+CONFIG_PCI_MSI=y
+CONFIG_PCI_MSI_IRQ_DOMAIN=y
+CONFIG_PCI_QUIRKS=y
+# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_STUB is not set
+# CONFIG_PCI_IOV is not set
+# CONFIG_PCI_PRI is not set
+# CONFIG_PCI_PASID is not set
+CONFIG_HOTPLUG_PCI=y
+# CONFIG_HOTPLUG_PCI_CPCI is not set
+# CONFIG_HOTPLUG_PCI_SHPC is not set
+
+#
+# PCI controller drivers
+#
+CONFIG_PCIE_KVX_NWL=y
+# CONFIG_PCIE_KVX_ERR_INJECT_SYSFS is not set
+# CONFIG_PCI_FTPCI100 is not set
+# CONFIG_PCI_HOST_GENERIC is not set
+# CONFIG_PCIE_XILINX is not set
+
+#
+# DesignWare PCI Core Support
+#
+# CONFIG_PCIE_DW_PLAT_HOST is not set
+# CONFIG_PCI_MESON is not set
+# end of DesignWare PCI Core Support
+
+#
+# Mobiveil PCIe Core Support
+#
+# end of Mobiveil PCIe Core Support
+
+#
+# Cadence PCIe controllers support
+#
+# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
+# end of Cadence PCIe controllers support
+# end of PCI controller drivers
+
+#
+# PCI Endpoint
+#
+# CONFIG_PCI_ENDPOINT is not set
+# end of PCI Endpoint
+
+#
+# PCI switch controller drivers
+#
+# CONFIG_PCI_SW_SWITCHTEC is not set
+# end of PCI switch controller drivers
+
+# CONFIG_PCCARD is not set
+# CONFIG_RAPIDIO is not set
+
+#
+# Generic Driver Options
+#
+# CONFIG_UEVENT_HELPER is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+
+#
+# Firmware loader
+#
+CONFIG_FW_LOADER=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_FW_LOADER_USER_HELPER is not set
+# CONFIG_FW_LOADER_COMPRESS is not set
+# end of Firmware loader
+
+CONFIG_WANT_DEV_COREDUMP=y
+CONFIG_ALLOW_DEV_COREDUMP=y
+CONFIG_DEV_COREDUMP=y
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
+# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
+CONFIG_GENERIC_CPU_DEVICES=y
+CONFIG_SOC_BUS=y
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=y
+CONFIG_REGMAP_MMIO=y
+# end of Generic Driver Options
+
+#
+# Bus devices
+#
+# CONFIG_MOXTET is not set
+# CONFIG_MHI_BUS is not set
+# end of Bus devices
+
+# CONFIG_CONNECTOR is not set
+# CONFIG_GNSS is not set
+CONFIG_MTD=y
+# CONFIG_MTD_TESTS is not set
+
+#
+# Partition parsers
+#
+# CONFIG_MTD_AR7_PARTS is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+CONFIG_MTD_OF_PARTS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# end of Partition parsers
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_SM_FTL is not set
+# CONFIG_MTD_OOPS is not set
+# CONFIG_MTD_SWAP is not set
+# CONFIG_MTD_PARTITIONED_MASTER is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# end of RAM/ROM/Flash chip drivers
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_INTEL_VR_NOR is not set
+# CONFIG_MTD_PLATRAM is not set
+# end of Mapping drivers for chip access
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_MCHP23K256 is not set
+# CONFIG_MTD_SST25L is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOCG3 is not set
+# end of Self-contained MTD device drivers
+
+# CONFIG_MTD_ONENAND is not set
+# CONFIG_MTD_RAW_NAND is not set
+# CONFIG_MTD_SPI_NAND is not set
+
+#
+# LPDDR & LPDDR2 PCM memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+# end of LPDDR & LPDDR2 PCM memory drivers
+
+CONFIG_MTD_SPI_NOR=y
+# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set
+# CONFIG_MTD_UBI is not set
+# CONFIG_MTD_HYPERBUS is not set
+CONFIG_DTC=y
+CONFIG_OF=y
+# CONFIG_OF_UNITTEST is not set
+CONFIG_OF_FLATTREE=y
+CONFIG_OF_EARLY_FLATTREE=y
+CONFIG_OF_KOBJ=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_NET=y
+CONFIG_OF_MDIO=m
+CONFIG_OF_RESERVED_MEM=y
+# CONFIG_OF_OVERLAY is not set
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_NULL_BLK is not set
+# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
+# CONFIG_BLK_DEV_UMEM is not set
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_DRBD is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_SKD is not set
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_RAM is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_VIRTIO_BLK is not set
+# CONFIG_BLK_DEV_RBD is not set
+# CONFIG_BLK_DEV_RSXX is not set
+
+#
+# NVME Support
+#
+CONFIG_NVME_CORE=y
+CONFIG_BLK_DEV_NVME=y
+# CONFIG_NVME_MULTIPATH is not set
+# CONFIG_NVME_HWMON is not set
+# CONFIG_NVME_FC is not set
+# CONFIG_NVME_TCP is not set
+# CONFIG_NVME_TARGET is not set
+# end of NVME Support
+
+#
+# Misc devices
+#
+# CONFIG_AD525X_DPOT is not set
+# CONFIG_DUMMY_IRQ is not set
+# CONFIG_PHANTOM is not set
+# CONFIG_TIFM_CORE is not set
+# CONFIG_ICS932S401 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_HP_ILO is not set
+# CONFIG_APDS9802ALS is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_ISL29020 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_SENSORS_BH1770 is not set
+# CONFIG_SENSORS_APDS990X is not set
+# CONFIG_HMC6352 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_LATTICE_ECP3_CONFIG is not set
+# CONFIG_SRAM is not set
+# CONFIG_PCI_ENDPOINT_TEST is not set
+# CONFIG_XILINX_SDFEC is not set
+# CONFIG_PVPANIC is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+# CONFIG_EEPROM_AT24 is not set
+# CONFIG_EEPROM_AT25 is not set
+# CONFIG_EEPROM_LEGACY is not set
+# CONFIG_EEPROM_MAX6875 is not set
+# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_EEPROM_93XX46 is not set
+# CONFIG_EEPROM_IDT_89HPESX is not set
+# CONFIG_EEPROM_EE1004 is not set
+# end of EEPROM support
+
+# CONFIG_CB710_CORE is not set
+
+#
+# Texas Instruments shared transport line discipline
+#
+# CONFIG_TI_ST is not set
+# end of Texas Instruments shared transport line discipline
+
+# CONFIG_SENSORS_LIS3_SPI is not set
+# CONFIG_SENSORS_LIS3_I2C is not set
+# CONFIG_ALTERA_STAPL is not set
+
+#
+# Intel MIC & related support
+#
+# CONFIG_VOP_BUS is not set
+# end of Intel MIC & related support
+
+# CONFIG_GENWQE is not set
+# CONFIG_ECHO is not set
+# CONFIG_MISC_ALCOR_PCI is not set
+# CONFIG_MISC_RTSX_PCI is not set
+# CONFIG_MISC_RTSX_USB is not set
+# CONFIG_HABANA_AI is not set
+# CONFIG_UACCE is not set
+# end of Misc devices
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# CONFIG_RAID_ATTRS is not set
+# CONFIG_SCSI is not set
+# end of SCSI device support
+
+# CONFIG_ATA is not set
+# CONFIG_MD is not set
+# CONFIG_TARGET_CORE is not set
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_FIREWIRE_NOSY is not set
+# end of IEEE 1394 (FireWire) support
+
+CONFIG_NETDEVICES=y
+CONFIG_MII=m
+CONFIG_NET_CORE=y
+# CONFIG_BONDING is not set
+# CONFIG_DUMMY is not set
+# CONFIG_WIREGUARD is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_NET_TEAM is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_IPVLAN is not set
+# CONFIG_VXLAN is not set
+# CONFIG_GENEVE is not set
+# CONFIG_BAREUDP is not set
+# CONFIG_GTP is not set
+# CONFIG_MACSEC is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_TUN is not set
+# CONFIG_TUN_VNET_CROSS_LE is not set
+# CONFIG_VETH is not set
+# CONFIG_VIRTIO_NET is not set
+# CONFIG_NLMON is not set
+# CONFIG_ARCNET is not set
+
+#
+# Distributed Switch Architecture drivers
+#
+# end of Distributed Switch Architecture drivers
+
+CONFIG_ETHERNET=y
+CONFIG_NET_VENDOR_3COM=y
+# CONFIG_VORTEX is not set
+# CONFIG_TYPHOON is not set
+CONFIG_NET_VENDOR_ADAPTEC=y
+# CONFIG_ADAPTEC_STARFIRE is not set
+CONFIG_NET_VENDOR_AGERE=y
+# CONFIG_ET131X is not set
+CONFIG_NET_VENDOR_ALACRITECH=y
+# CONFIG_SLICOSS is not set
+CONFIG_NET_VENDOR_ALTEON=y
+# CONFIG_ACENIC is not set
+# CONFIG_ALTERA_TSE is not set
+CONFIG_NET_VENDOR_AMAZON=y
+# CONFIG_ENA_ETHERNET is not set
+CONFIG_NET_VENDOR_AMD=y
+# CONFIG_AMD8111_ETH is not set
+# CONFIG_PCNET32 is not set
+CONFIG_NET_VENDOR_AQUANTIA=y
+CONFIG_NET_VENDOR_ARC=y
+CONFIG_NET_VENDOR_ATHEROS=y
+# CONFIG_ATL2 is not set
+# CONFIG_ATL1 is not set
+# CONFIG_ATL1E is not set
+# CONFIG_ATL1C is not set
+# CONFIG_ALX is not set
+CONFIG_NET_VENDOR_AURORA=y
+# CONFIG_AURORA_NB8800 is not set
+CONFIG_NET_VENDOR_BROADCOM=y
+# CONFIG_B44 is not set
+# CONFIG_BCMGENET is not set
+# CONFIG_BNX2 is not set
+# CONFIG_CNIC is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2X is not set
+# CONFIG_SYSTEMPORT is not set
+# CONFIG_BNXT is not set
+CONFIG_NET_VENDOR_BROCADE=y
+# CONFIG_BNA is not set
+CONFIG_NET_VENDOR_CADENCE=y
+# CONFIG_MACB is not set
+CONFIG_NET_VENDOR_CAVIUM=y
+# CONFIG_THUNDER_NIC_PF is not set
+# CONFIG_THUNDER_NIC_VF is not set
+# CONFIG_THUNDER_NIC_BGX is not set
+# CONFIG_THUNDER_NIC_RGX is not set
+# CONFIG_CAVIUM_PTP is not set
+# CONFIG_LIQUIDIO is not set
+# CONFIG_LIQUIDIO_VF is not set
+CONFIG_NET_VENDOR_CHELSIO=y
+# CONFIG_CHELSIO_T1 is not set
+# CONFIG_CHELSIO_T3 is not set
+# CONFIG_CHELSIO_T4 is not set
+# CONFIG_CHELSIO_T4VF is not set
+CONFIG_NET_VENDOR_CISCO=y
+# CONFIG_ENIC is not set
+CONFIG_NET_VENDOR_CORTINA=y
+# CONFIG_GEMINI_ETHERNET is not set
+# CONFIG_DNET is not set
+CONFIG_NET_VENDOR_DEC=y
+# CONFIG_NET_TULIP is not set
+CONFIG_NET_VENDOR_DLINK=y
+# CONFIG_DL2K is not set
+# CONFIG_SUNDANCE is not set
+CONFIG_NET_VENDOR_EMULEX=y
+# CONFIG_BE2NET is not set
+CONFIG_NET_VENDOR_EZCHIP=y
+# CONFIG_EZCHIP_NPS_MANAGEMENT_ENET is not set
+CONFIG_NET_VENDOR_GOOGLE=y
+# CONFIG_GVE is not set
+CONFIG_NET_VENDOR_HUAWEI=y
+CONFIG_NET_VENDOR_I825XX=y
+CONFIG_NET_VENDOR_INTEL=y
+# CONFIG_E100 is not set
+# CONFIG_E1000 is not set
+CONFIG_E1000E=y
+# CONFIG_IGB is not set
+# CONFIG_IGBVF is not set
+# CONFIG_IXGB is not set
+# CONFIG_IXGBE is not set
+# CONFIG_IXGBEVF is not set
+# CONFIG_I40E is not set
+# CONFIG_I40EVF is not set
+# CONFIG_ICE is not set
+# CONFIG_FM10K is not set
+# CONFIG_IGC is not set
+# CONFIG_JME is not set
+CONFIG_NET_VENDOR_MARVELL=y
+# CONFIG_MVMDIO is not set
+# CONFIG_SKGE is not set
+# CONFIG_SKY2 is not set
+CONFIG_NET_VENDOR_MELLANOX=y
+# CONFIG_MLX4_EN is not set
+# CONFIG_MLX5_CORE is not set
+# CONFIG_MLXSW_CORE is not set
+# CONFIG_MLXFW is not set
+CONFIG_NET_VENDOR_MICREL=y
+# CONFIG_KS8842 is not set
+# CONFIG_KS8851 is not set
+# CONFIG_KS8851_MLL is not set
+# CONFIG_KSZ884X_PCI is not set
+CONFIG_NET_VENDOR_MICROCHIP=y
+# CONFIG_ENC28J60 is not set
+# CONFIG_ENCX24J600 is not set
+# CONFIG_LAN743X is not set
+CONFIG_NET_VENDOR_MICROSEMI=y
+CONFIG_NET_VENDOR_MYRI=y
+# CONFIG_MYRI10GE is not set
+# CONFIG_FEALNX is not set
+CONFIG_NET_VENDOR_NATSEMI=y
+# CONFIG_NATSEMI is not set
+# CONFIG_NS83820 is not set
+CONFIG_NET_VENDOR_NETERION=y
+# CONFIG_S2IO is not set
+# CONFIG_VXGE is not set
+CONFIG_NET_VENDOR_NETRONOME=y
+# CONFIG_NFP is not set
+CONFIG_NET_VENDOR_NI=y
+# CONFIG_NI_XGE_MANAGEMENT_ENET is not set
+CONFIG_NET_VENDOR_8390=y
+# CONFIG_NE2K_PCI is not set
+CONFIG_NET_VENDOR_NVIDIA=y
+# CONFIG_FORCEDETH is not set
+CONFIG_NET_VENDOR_OKI=y
+# CONFIG_ETHOC is not set
+CONFIG_NET_VENDOR_PACKET_ENGINES=y
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+CONFIG_NET_VENDOR_PENSANDO=y
+# CONFIG_IONIC is not set
+CONFIG_NET_VENDOR_QLOGIC=y
+# CONFIG_QLA3XXX is not set
+# CONFIG_QLCNIC is not set
+# CONFIG_NETXEN_NIC is not set
+# CONFIG_QED is not set
+CONFIG_NET_VENDOR_QUALCOMM=y
+# CONFIG_QCA7000_SPI is not set
+# CONFIG_QCOM_EMAC is not set
+# CONFIG_RMNET is not set
+CONFIG_NET_VENDOR_RDC=y
+# CONFIG_R6040 is not set
+CONFIG_NET_VENDOR_REALTEK=y
+# CONFIG_8139CP is not set
+# CONFIG_8139TOO is not set
+# CONFIG_R8169 is not set
+CONFIG_NET_VENDOR_RENESAS=y
+CONFIG_NET_VENDOR_ROCKER=y
+CONFIG_NET_VENDOR_SAMSUNG=y
+# CONFIG_SXGBE_ETH is not set
+CONFIG_NET_VENDOR_SEEQ=y
+CONFIG_NET_VENDOR_SOLARFLARE=y
+# CONFIG_SFC is not set
+# CONFIG_SFC_FALCON is not set
+CONFIG_NET_VENDOR_SILAN=y
+# CONFIG_SC92031 is not set
+CONFIG_NET_VENDOR_SIS=y
+# CONFIG_SIS900 is not set
+# CONFIG_SIS190 is not set
+CONFIG_NET_VENDOR_SMSC=y
+# CONFIG_EPIC100 is not set
+# CONFIG_SMSC911X is not set
+# CONFIG_SMSC9420 is not set
+CONFIG_NET_VENDOR_SOCIONEXT=y
+CONFIG_NET_VENDOR_STMICRO=y
+# CONFIG_STMMAC_ETH is not set
+CONFIG_NET_VENDOR_SUN=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NIU is not set
+CONFIG_NET_VENDOR_SYNOPSYS=y
+# CONFIG_DWC_XLGMAC is not set
+CONFIG_NET_VENDOR_TEHUTI=y
+# CONFIG_TEHUTI is not set
+CONFIG_NET_VENDOR_TI=y
+# CONFIG_TI_CPSW_PHY_SEL is not set
+# CONFIG_TLAN is not set
+CONFIG_NET_VENDOR_VIA=y
+# CONFIG_VIA_RHINE is not set
+# CONFIG_VIA_VELOCITY is not set
+CONFIG_NET_VENDOR_WIZNET=y
+# CONFIG_WIZNET_W5100 is not set
+# CONFIG_WIZNET_W5300 is not set
+CONFIG_NET_VENDOR_XILINX=y
+# CONFIG_XILINX_AXI_EMAC is not set
+# CONFIG_XILINX_LL_TEMAC is not set
+CONFIG_NET_VENDOR_KALRAY=y
+CONFIG_NET_KVX_SOC=m
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_MDIO_DEVICE=m
+CONFIG_MDIO_BUS=m
+# CONFIG_MDIO_BCM_UNIMAC is not set
+CONFIG_MDIO_BITBANG=m
+# CONFIG_MDIO_BUS_MUX_GPIO is not set
+# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
+# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set
+CONFIG_MDIO_GPIO=m
+# CONFIG_MDIO_HISI_FEMAC is not set
+CONFIG_MDIO_I2C=m
+# CONFIG_MDIO_IPQ4019 is not set
+# CONFIG_MDIO_IPQ8064 is not set
+# CONFIG_MDIO_MSCC_MIIM is not set
+# CONFIG_MDIO_MVUSB is not set
+# CONFIG_MDIO_OCTEON is not set
+# CONFIG_MDIO_THUNDER is not set
+# CONFIG_MDIO_XPCS is not set
+CONFIG_PHYLINK=m
+CONFIG_PHYLIB=m
+CONFIG_SWPHY=y
+
+#
+# MII PHY device drivers
+#
+CONFIG_SFP=m
+# CONFIG_ADIN_PHY is not set
+# CONFIG_AMD_PHY is not set
+# CONFIG_AQUANTIA_PHY is not set
+# CONFIG_AX88796B_PHY is not set
+# CONFIG_BCM7XXX_PHY is not set
+# CONFIG_BCM87XX_PHY is not set
+# CONFIG_BROADCOM_PHY is not set
+# CONFIG_BCM54140_PHY is not set
+# CONFIG_BCM84881_PHY is not set
+# CONFIG_CICADA_PHY is not set
+# CONFIG_CORTINA_PHY is not set
+# CONFIG_DAVICOM_PHY is not set
+# CONFIG_DP83822_PHY is not set
+# CONFIG_DP83TC811_PHY is not set
+# CONFIG_DP83848_PHY is not set
+# CONFIG_DP83867_PHY is not set
+# CONFIG_DP83869_PHY is not set
+CONFIG_FIXED_PHY=m
+# CONFIG_ICPLUS_PHY is not set
+# CONFIG_INTEL_XWAY_PHY is not set
+# CONFIG_LSI_ET1011C_PHY is not set
+# CONFIG_LXT_PHY is not set
+CONFIG_MARVELL_PHY=m
+# CONFIG_MARVELL_10G_PHY is not set
+# CONFIG_MICREL_PHY is not set
+# CONFIG_MICROCHIP_PHY is not set
+# CONFIG_MICROCHIP_T1_PHY is not set
+# CONFIG_MICROSEMI_PHY is not set
+# CONFIG_NATIONAL_PHY is not set
+# CONFIG_NXP_TJA11XX_PHY is not set
+# CONFIG_QSEMI_PHY is not set
+# CONFIG_REALTEK_PHY is not set
+# CONFIG_RENESAS_PHY is not set
+# CONFIG_ROCKCHIP_PHY is not set
+# CONFIG_SMSC_PHY is not set
+# CONFIG_STE10XP is not set
+# CONFIG_TERANETICS_PHY is not set
+# CONFIG_VITESSE_PHY is not set
+# CONFIG_XILINX_GMII2RGMII is not set
+# CONFIG_MICREL_KS8995MA is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+CONFIG_USB_NET_DRIVERS=y
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_RTL8152 is not set
+# CONFIG_USB_LAN78XX is not set
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_AX88179_178A=m
+CONFIG_USB_NET_CDCETHER=m
+# CONFIG_USB_NET_CDC_EEM is not set
+CONFIG_USB_NET_CDC_NCM=m
+# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set
+# CONFIG_USB_NET_CDC_MBIM is not set
+# CONFIG_USB_NET_DM9601 is not set
+# CONFIG_USB_NET_SR9700 is not set
+# CONFIG_USB_NET_SR9800 is not set
+# CONFIG_USB_NET_SMSC75XX is not set
+CONFIG_USB_NET_SMSC95XX=m
+# CONFIG_USB_NET_GL620A is not set
+CONFIG_USB_NET_NET1080=m
+# CONFIG_USB_NET_PLUSB is not set
+# CONFIG_USB_NET_MCS7830 is not set
+# CONFIG_USB_NET_RNDIS_HOST is not set
+CONFIG_USB_NET_CDC_SUBSET_ENABLE=m
+CONFIG_USB_NET_CDC_SUBSET=m
+# CONFIG_USB_ALI_M5632 is not set
+# CONFIG_USB_AN2720 is not set
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+# CONFIG_USB_EPSON2888 is not set
+# CONFIG_USB_KC2190 is not set
+CONFIG_USB_NET_ZAURUS=m
+# CONFIG_USB_NET_CX82310_ETH is not set
+# CONFIG_USB_NET_KALMIA is not set
+# CONFIG_USB_NET_QMI_WWAN is not set
+# CONFIG_USB_NET_INT51X1 is not set
+# CONFIG_USB_IPHETH is not set
+# CONFIG_USB_SIERRA_NET is not set
+# CONFIG_USB_VL600 is not set
+# CONFIG_USB_NET_CH9200 is not set
+# CONFIG_USB_NET_AQC111 is not set
+# CONFIG_WLAN is not set
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+# CONFIG_WAN is not set
+# CONFIG_VMXNET3 is not set
+# CONFIG_NET_FAILOVER is not set
+CONFIG_NET_TI_RTM=m
+# CONFIG_ISDN is not set
+# CONFIG_NVM is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+# CONFIG_INPUT_POLLDEV is not set
+# CONFIG_INPUT_SPARSEKMAP is not set
+# CONFIG_INPUT_MATRIXKMAP is not set
+
+#
+# Userland interfaces
+#
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_EVDEV is not set
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ADP5588 is not set
+# CONFIG_KEYBOARD_ADP5589 is not set
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_QT1050 is not set
+# CONFIG_KEYBOARD_QT1070 is not set
+# CONFIG_KEYBOARD_QT2160 is not set
+# CONFIG_KEYBOARD_DLINK_DIR685 is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_GPIO is not set
+# CONFIG_KEYBOARD_GPIO_POLLED is not set
+# CONFIG_KEYBOARD_TCA6416 is not set
+# CONFIG_KEYBOARD_TCA8418 is not set
+# CONFIG_KEYBOARD_MATRIX is not set
+# CONFIG_KEYBOARD_LM8333 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
+# CONFIG_KEYBOARD_MCS is not set
+# CONFIG_KEYBOARD_MPR121 is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_SAMSUNG is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_OMAP4 is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_CAP11XX is not set
+# CONFIG_KEYBOARD_BCM is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_BYD=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y
+CONFIG_MOUSE_PS2_CYPRESS=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+# CONFIG_MOUSE_PS2_ELANTECH is not set
+# CONFIG_MOUSE_PS2_SENTELIC is not set
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_PS2_FOCALTECH=y
+CONFIG_MOUSE_PS2_SMBUS=y
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_APPLETOUCH is not set
+# CONFIG_MOUSE_BCM5974 is not set
+# CONFIG_MOUSE_CYAPA is not set
+# CONFIG_MOUSE_ELAN_I2C is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+# CONFIG_MOUSE_GPIO is not set
+# CONFIG_MOUSE_SYNAPTICS_I2C is not set
+# CONFIG_MOUSE_SYNAPTICS_USB is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+# CONFIG_INPUT_MISC is not set
+# CONFIG_RMI4_CORE is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO_ALTERA_PS2 is not set
+# CONFIG_SERIO_PS2MULT is not set
+# CONFIG_SERIO_ARC_PS2 is not set
+# CONFIG_SERIO_APBPS2 is not set
+# CONFIG_SERIO_GPIO_PS2 is not set
+# CONFIG_USERIO is not set
+# CONFIG_GAMEPORT is not set
+# end of Hardware I/O ports
+# end of Input device support
+
+#
+# Character devices
+#
+CONFIG_TTY=y
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+CONFIG_LDISC_AUTOLOAD=y
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_EARLYCON=y
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
+CONFIG_SERIAL_8250_16550A_VARIANTS=y
+# CONFIG_SERIAL_8250_FINTEK is not set
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_DMA=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_EXAR=y
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+# CONFIG_SERIAL_8250_ASPEED_VUART is not set
+CONFIG_SERIAL_8250_DWLIB=y
+CONFIG_SERIAL_8250_DW=y
+# CONFIG_SERIAL_8250_RT288X is not set
+# CONFIG_SERIAL_OF_PLATFORM is not set
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_MAX3100 is not set
+# CONFIG_SERIAL_MAX310X is not set
+# CONFIG_SERIAL_UARTLITE is not set
+# CONFIG_SERIAL_KVX_JTAG_COMM is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+# CONFIG_SERIAL_SIFIVE is not set
+# CONFIG_SERIAL_SCCNXP is not set
+# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_SERIAL_IFX6X60 is not set
+# CONFIG_SERIAL_XILINX_PS_UART is not set
+# CONFIG_SERIAL_ARC is not set
+# CONFIG_SERIAL_RP2 is not set
+# CONFIG_SERIAL_FSL_LPUART is not set
+# CONFIG_SERIAL_FSL_LINFLEXUART is not set
+# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
+CONFIG_SERIAL_KVX_SCALL_COMM=y
+# CONFIG_SERIAL_SPRD is not set
+# end of Serial drivers
+
+CONFIG_SERIAL_MCTRL_GPIO=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_N_GSM is not set
+# CONFIG_NOZOMI is not set
+# CONFIG_NULL_TTY is not set
+# CONFIG_TRACE_SINK is not set
+# CONFIG_SERIAL_DEV_BUS is not set
+# CONFIG_TTY_PRINTK is not set
+# CONFIG_VIRTIO_CONSOLE is not set
+# CONFIG_IPMI_HANDLER is not set
+# CONFIG_IPMB_DEVICE_INTERFACE is not set
+CONFIG_HW_RANDOM=m
+# CONFIG_HW_RANDOM_TIMERIOMEM is not set
+# CONFIG_HW_RANDOM_VIRTIO is not set
+# CONFIG_HW_RANDOM_CCTRNG is not set
+# CONFIG_APPLICOM is not set
+CONFIG_DEVMEM=y
+# CONFIG_DEVKMEM is not set
+# CONFIG_RAW_DRIVER is not set
+CONFIG_DEVPORT=y
+# CONFIG_TCG_TPM is not set
+# CONFIG_XILLYBUS is not set
+# end of Character devices
+
+# CONFIG_RANDOM_TRUST_BOOTLOADER is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=y
+# CONFIG_I2C_MUX is not set
+CONFIG_I2C_HELPER_AUTO=y
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_ISCH is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_NVIDIA_GPU is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_CBUS_GPIO is not set
+CONFIG_I2C_DESIGNWARE_CORE=y
+CONFIG_I2C_DESIGNWARE_SLAVE=y
+CONFIG_I2C_DESIGNWARE_PLATFORM=y
+# CONFIG_I2C_DESIGNWARE_PCI is not set
+# CONFIG_I2C_EMEV2 is not set
+# CONFIG_I2C_GPIO is not set
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_RK3X is not set
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_XILINX is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_DIOLAN_U2C is not set
+# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_TINY_USB is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+# end of I2C Hardware Bus support
+
+# CONFIG_I2C_STUB is not set
+CONFIG_I2C_SLAVE=y
+# CONFIG_I2C_SLAVE_EEPROM is not set
+CONFIG_I2C_SLAVE_USPACE=y
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# end of I2C support
+
+# CONFIG_I3C is not set
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+CONFIG_SPI_MEM=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_ALTERA is not set
+# CONFIG_SPI_AXI_SPI_ENGINE is not set
+# CONFIG_SPI_BITBANG is not set
+# CONFIG_SPI_CADENCE is not set
+CONFIG_SPI_DESIGNWARE=y
+# CONFIG_SPI_DW_DMA is not set
+# CONFIG_SPI_DW_PCI is not set
+CONFIG_SPI_DW_MMIO=y
+# CONFIG_SPI_NXP_FLEXSPI is not set
+# CONFIG_SPI_GPIO is not set
+# CONFIG_SPI_FSL_SPI is not set
+# CONFIG_SPI_OC_TINY is not set
+# CONFIG_SPI_PXA2XX is not set
+# CONFIG_SPI_ROCKCHIP is not set
+# CONFIG_SPI_SC18IS602 is not set
+# CONFIG_SPI_SIFIVE is not set
+# CONFIG_SPI_MXIC is not set
+# CONFIG_SPI_XCOMM is not set
+# CONFIG_SPI_XILINX is not set
+# CONFIG_SPI_ZYNQMP_GQSPI is not set
+# CONFIG_SPI_AMD is not set
+
+#
+# SPI Multiplexer support
+#
+# CONFIG_SPI_MUX is not set
+
+#
+# SPI Protocol Masters
+#
+# CONFIG_SPI_SPIDEV is not set
+# CONFIG_SPI_LOOPBACK_TEST is not set
+# CONFIG_SPI_TLE62X0 is not set
+# CONFIG_SPI_SLAVE is not set
+# CONFIG_SPMI is not set
+# CONFIG_HSI is not set
+CONFIG_PPS=y
+# CONFIG_PPS_DEBUG is not set
+# CONFIG_NTP_PPS is not set
+
+#
+# PPS clients support
+#
+# CONFIG_PPS_CLIENT_KTIMER is not set
+# CONFIG_PPS_CLIENT_LDISC is not set
+# CONFIG_PPS_CLIENT_GPIO is not set
+
+#
+# PPS generators support
+#
+
+#
+# PTP clock support
+#
+CONFIG_PTP_1588_CLOCK=y
+
+#
+# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
+#
+# CONFIG_PTP_1588_CLOCK_IDT82P33 is not set
+# CONFIG_PTP_1588_CLOCK_IDTCM is not set
+# end of PTP clock support
+
+CONFIG_PINCTRL=y
+CONFIG_GENERIC_PINCTRL_GROUPS=y
+CONFIG_PINMUX=y
+CONFIG_GENERIC_PINMUX_FUNCTIONS=y
+CONFIG_PINCONF=y
+CONFIG_GENERIC_PINCONF=y
+# CONFIG_DEBUG_PINCTRL is not set
+# CONFIG_PINCTRL_MCP23S08 is not set
+CONFIG_PINCTRL_SINGLE=y
+# CONFIG_PINCTRL_SX150X is not set
+# CONFIG_PINCTRL_STMFX is not set
+# CONFIG_PINCTRL_OCELOT is not set
+CONFIG_GPIO_DWAPB=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIOLIB_FASTPATH_LIMIT=512
+CONFIG_OF_GPIO=y
+CONFIG_GPIOLIB_IRQCHIP=y
+# CONFIG_DEBUG_GPIO is not set
+# CONFIG_GPIO_SYSFS is not set
+CONFIG_GPIO_GENERIC=y
+
+#
+# Memory mapped GPIO drivers
+#
+# CONFIG_GPIO_74XX_MMIO is not set
+# CONFIG_GPIO_ALTERA is not set
+# CONFIG_GPIO_CADENCE is not set
+# CONFIG_GPIO_EXAR is not set
+# CONFIG_GPIO_FTGPIO010 is not set
+# CONFIG_GPIO_GENERIC_PLATFORM is not set
+# CONFIG_GPIO_GRGPIO is not set
+# CONFIG_GPIO_HLWD is not set
+# CONFIG_GPIO_LOGICVC is not set
+# CONFIG_GPIO_MB86S7X is not set
+# CONFIG_GPIO_SAMA5D2_PIOBU is not set
+# CONFIG_GPIO_SIFIVE is not set
+# CONFIG_GPIO_SYSCON is not set
+# CONFIG_GPIO_XILINX is not set
+# CONFIG_GPIO_AMD_FCH is not set
+# end of Memory mapped GPIO drivers
+
+#
+# I2C GPIO expanders
+#
+# CONFIG_GPIO_ADP5588 is not set
+# CONFIG_GPIO_ADNP is not set
+# CONFIG_GPIO_GW_PLD is not set
+# CONFIG_GPIO_MAX7300 is not set
+# CONFIG_GPIO_MAX732X is not set
+CONFIG_GPIO_PCA953X=y
+# CONFIG_GPIO_PCA953X_IRQ is not set
+# CONFIG_GPIO_PCF857X is not set
+# CONFIG_GPIO_TPIC2810 is not set
+# end of I2C GPIO expanders
+
+#
+# MFD GPIO expanders
+#
+# end of MFD GPIO expanders
+
+#
+# PCI GPIO expanders
+#
+# CONFIG_GPIO_BT8XX is not set
+# CONFIG_GPIO_PCI_IDIO_16 is not set
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
+# CONFIG_GPIO_RDC321X is not set
+# end of PCI GPIO expanders
+
+#
+# SPI GPIO expanders
+#
+# CONFIG_GPIO_74X164 is not set
+# CONFIG_GPIO_MAX3191X is not set
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MC33880 is not set
+# CONFIG_GPIO_PISOSR is not set
+# CONFIG_GPIO_XRA1403 is not set
+# end of SPI GPIO expanders
+
+#
+# USB GPIO expanders
+#
+# end of USB GPIO expanders
+
+# CONFIG_GPIO_AGGREGATOR is not set
+# CONFIG_GPIO_MOCKUP is not set
+# CONFIG_W1 is not set
+# CONFIG_POWER_AVS is not set
+CONFIG_POWER_RESET=y
+# CONFIG_POWER_RESET_GPIO is not set
+# CONFIG_POWER_RESET_GPIO_RESTART is not set
+CONFIG_POWER_RESET_KVX_SCALL_POWEROFF=y
+# CONFIG_POWER_RESET_LTC2952 is not set
+# CONFIG_POWER_RESET_RESTART is not set
+CONFIG_POWER_RESET_SYSCON=y
+# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set
+# CONFIG_SYSCON_REBOOT_MODE is not set
+# CONFIG_NVMEM_REBOOT_MODE is not set
+# CONFIG_POWER_SUPPLY is not set
+CONFIG_HWMON=y
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+# CONFIG_SENSORS_AD7314 is not set
+# CONFIG_SENSORS_AD7414 is not set
+# CONFIG_SENSORS_AD7418 is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1029 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM1177 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ADT7310 is not set
+# CONFIG_SENSORS_ADT7410 is not set
+# CONFIG_SENSORS_ADT7411 is not set
+# CONFIG_SENSORS_ADT7462 is not set
+# CONFIG_SENSORS_ADT7470 is not set
+# CONFIG_SENSORS_ADT7475 is not set
+# CONFIG_SENSORS_AS370 is not set
+# CONFIG_SENSORS_ASC7621 is not set
+# CONFIG_SENSORS_AXI_FAN_CONTROL is not set
+# CONFIG_SENSORS_ASPEED is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS620 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_I5K_AMB is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_F71882FG is not set
+# CONFIG_SENSORS_F75375S is not set
+# CONFIG_SENSORS_FTSTEUTATES is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_G760A is not set
+# CONFIG_SENSORS_G762 is not set
+# CONFIG_SENSORS_GPIO_FAN is not set
+# CONFIG_SENSORS_HIH6130 is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_JC42 is not set
+# CONFIG_SENSORS_POWR1220 is not set
+# CONFIG_SENSORS_LINEAGE is not set
+# CONFIG_SENSORS_LTC2945 is not set
+# CONFIG_SENSORS_LTC2947_I2C is not set
+# CONFIG_SENSORS_LTC2947_SPI is not set
+# CONFIG_SENSORS_LTC2990 is not set
+# CONFIG_SENSORS_LTC4151 is not set
+# CONFIG_SENSORS_LTC4215 is not set
+# CONFIG_SENSORS_LTC4222 is not set
+# CONFIG_SENSORS_LTC4245 is not set
+# CONFIG_SENSORS_LTC4260 is not set
+# CONFIG_SENSORS_LTC4261 is not set
+# CONFIG_SENSORS_MAX1111 is not set
+# CONFIG_SENSORS_MAX16065 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_MAX1668 is not set
+# CONFIG_SENSORS_MAX197 is not set
+# CONFIG_SENSORS_MAX31722 is not set
+# CONFIG_SENSORS_MAX31730 is not set
+# CONFIG_SENSORS_MAX6621 is not set
+# CONFIG_SENSORS_MAX6639 is not set
+# CONFIG_SENSORS_MAX6642 is not set
+# CONFIG_SENSORS_MAX6650 is not set
+# CONFIG_SENSORS_MAX6697 is not set
+# CONFIG_SENSORS_MAX31790 is not set
+# CONFIG_SENSORS_MCP3021 is not set
+# CONFIG_SENSORS_TC654 is not set
+# CONFIG_SENSORS_ADCXX is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM70 is not set
+# CONFIG_SENSORS_LM73 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_LM93 is not set
+# CONFIG_SENSORS_LM95234 is not set
+# CONFIG_SENSORS_LM95241 is not set
+# CONFIG_SENSORS_LM95245 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_NTC_THERMISTOR is not set
+# CONFIG_SENSORS_NCT6683 is not set
+# CONFIG_SENSORS_NCT6775 is not set
+# CONFIG_SENSORS_NCT7802 is not set
+# CONFIG_SENSORS_NCT7904 is not set
+# CONFIG_SENSORS_NPCM7XX is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_PMBUS is not set
+# CONFIG_SENSORS_SHT15 is not set
+# CONFIG_SENSORS_SHT21 is not set
+# CONFIG_SENSORS_SHT3x is not set
+# CONFIG_SENSORS_SHTC1 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_DME1737 is not set
+# CONFIG_SENSORS_EMC1403 is not set
+# CONFIG_SENSORS_EMC2103 is not set
+# CONFIG_SENSORS_EMC6W201 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_SCH5627 is not set
+# CONFIG_SENSORS_SCH5636 is not set
+# CONFIG_SENSORS_STTS751 is not set
+# CONFIG_SENSORS_SMM665 is not set
+# CONFIG_SENSORS_ADC128D818 is not set
+# CONFIG_SENSORS_ADS7828 is not set
+# CONFIG_SENSORS_ADS7871 is not set
+# CONFIG_SENSORS_AMC6821 is not set
+# CONFIG_SENSORS_INA209 is not set
+# CONFIG_SENSORS_INA2XX is not set
+# CONFIG_SENSORS_INA3221 is not set
+# CONFIG_SENSORS_TC74 is not set
+# CONFIG_SENSORS_THMC50 is not set
+# CONFIG_SENSORS_TMP102 is not set
+# CONFIG_SENSORS_TMP103 is not set
+# CONFIG_SENSORS_TMP108 is not set
+# CONFIG_SENSORS_TMP401 is not set
+# CONFIG_SENSORS_TMP421 is not set
+# CONFIG_SENSORS_TMP513 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_VT8231 is not set
+# CONFIG_SENSORS_W83773G is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83793 is not set
+# CONFIG_SENSORS_W83795 is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83L786NG is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_THERMAL is not set
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
+CONFIG_WATCHDOG_OPEN_TIMEOUT=0
+# CONFIG_WATCHDOG_SYSFS is not set
+
+#
+# Watchdog Pretimeout Governors
+#
+# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+# CONFIG_GPIO_WATCHDOG is not set
+# CONFIG_XILINX_WATCHDOG is not set
+# CONFIG_ZIIRAVE_WATCHDOG is not set
+# CONFIG_CADENCE_WATCHDOG is not set
+# CONFIG_DW_WATCHDOG is not set
+# CONFIG_MAX63XX_WATCHDOG is not set
+# CONFIG_ALIM7101_WDT is not set
+# CONFIG_I6300ESB_WDT is not set
+CONFIG_KVX_WATCHDOG=y
+# CONFIG_MEN_A21_WDT is not set
+
+#
+# PCI-based Watchdog Cards
+#
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+# CONFIG_SSB is not set
+CONFIG_BCMA_POSSIBLE=y
+# CONFIG_BCMA is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_ACT8945A is not set
+# CONFIG_MFD_AS3711 is not set
+# CONFIG_MFD_AS3722 is not set
+# CONFIG_PMIC_ADP5520 is not set
+# CONFIG_MFD_AAT2870_CORE is not set
+# CONFIG_MFD_ATMEL_FLEXCOM is not set
+# CONFIG_MFD_ATMEL_HLCDC is not set
+# CONFIG_MFD_BCM590XX is not set
+# CONFIG_MFD_BD9571MWV is not set
+# CONFIG_MFD_AXP20X_I2C is not set
+# CONFIG_MFD_MADERA is not set
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_MFD_DA9052_SPI is not set
+# CONFIG_MFD_DA9052_I2C is not set
+# CONFIG_MFD_DA9055 is not set
+# CONFIG_MFD_DA9062 is not set
+# CONFIG_MFD_DA9063 is not set
+# CONFIG_MFD_DA9150 is not set
+# CONFIG_MFD_DLN2 is not set
+# CONFIG_MFD_GATEWORKS_GSC is not set
+# CONFIG_MFD_MC13XXX_SPI is not set
+# CONFIG_MFD_MC13XXX_I2C is not set
+# CONFIG_MFD_MP2629 is not set
+# CONFIG_MFD_HI6421_PMIC is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_HTC_I2CPLD is not set
+# CONFIG_LPC_ICH is not set
+# CONFIG_LPC_SCH is not set
+# CONFIG_MFD_IQS62X is not set
+# CONFIG_MFD_JANZ_CMODIO is not set
+# CONFIG_MFD_KEMPLD is not set
+# CONFIG_MFD_88PM800 is not set
+# CONFIG_MFD_88PM805 is not set
+# CONFIG_MFD_88PM860X is not set
+# CONFIG_MFD_MAX14577 is not set
+# CONFIG_MFD_MAX77620 is not set
+# CONFIG_MFD_MAX77650 is not set
+# CONFIG_MFD_MAX77686 is not set
+# CONFIG_MFD_MAX77693 is not set
+# CONFIG_MFD_MAX77843 is not set
+# CONFIG_MFD_MAX8907 is not set
+# CONFIG_MFD_MAX8925 is not set
+# CONFIG_MFD_MAX8997 is not set
+# CONFIG_MFD_MAX8998 is not set
+# CONFIG_MFD_MT6360 is not set
+# CONFIG_MFD_MT6397 is not set
+# CONFIG_MFD_MENF21BMC is not set
+# CONFIG_EZX_PCAP is not set
+# CONFIG_MFD_CPCAP is not set
+# CONFIG_MFD_VIPERBOARD is not set
+# CONFIG_MFD_RETU is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_MFD_RDC321X is not set
+# CONFIG_MFD_RT5033 is not set
+# CONFIG_MFD_RC5T583 is not set
+# CONFIG_MFD_RK808 is not set
+# CONFIG_MFD_RN5T618 is not set
+# CONFIG_MFD_SEC_CORE is not set
+# CONFIG_MFD_SI476X_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_MFD_SKY81452 is not set
+# CONFIG_MFD_SMSC is not set
+# CONFIG_ABX500_CORE is not set
+# CONFIG_MFD_STMPE is not set
+CONFIG_MFD_SYSCON=y
+# CONFIG_MFD_TI_AM335X_TSCADC is not set
+# CONFIG_MFD_LP3943 is not set
+# CONFIG_MFD_LP8788 is not set
+# CONFIG_MFD_TI_LMU is not set
+# CONFIG_MFD_PALMAS is not set
+# CONFIG_TPS6105X is not set
+# CONFIG_TPS65010 is not set
+# CONFIG_TPS6507X is not set
+# CONFIG_MFD_TPS65086 is not set
+# CONFIG_MFD_TPS65090 is not set
+# CONFIG_MFD_TPS65217 is not set
+# CONFIG_MFD_TI_LP873X is not set
+# CONFIG_MFD_TI_LP87565 is not set
+# CONFIG_MFD_TPS65218 is not set
+# CONFIG_MFD_TPS6586X is not set
+# CONFIG_MFD_TPS65910 is not set
+# CONFIG_MFD_TPS65912_I2C is not set
+# CONFIG_MFD_TPS65912_SPI is not set
+# CONFIG_MFD_TPS80031 is not set
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_TWL6040_CORE is not set
+# CONFIG_MFD_WL1273_CORE is not set
+# CONFIG_MFD_LM3533 is not set
+# CONFIG_MFD_TC3589X is not set
+# CONFIG_MFD_TQMX86 is not set
+# CONFIG_MFD_VX855 is not set
+# CONFIG_MFD_LOCHNAGAR is not set
+# CONFIG_MFD_ARIZONA_I2C is not set
+# CONFIG_MFD_ARIZONA_SPI is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X_I2C is not set
+# CONFIG_MFD_WM831X_SPI is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_WM8994 is not set
+# CONFIG_MFD_ROHM_BD718XX is not set
+# CONFIG_MFD_ROHM_BD70528 is not set
+# CONFIG_MFD_ROHM_BD71828 is not set
+# CONFIG_MFD_STPMIC1 is not set
+# CONFIG_MFD_STMFX is not set
+# end of Multifunction device drivers
+
+# CONFIG_REGULATOR is not set
+# CONFIG_RC_CORE is not set
+# CONFIG_MEDIA_CEC_SUPPORT is not set
+# CONFIG_MEDIA_SUPPORT is not set
+
+#
+# Graphics support
+#
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+# CONFIG_DRM is not set
+
+#
+# ARM devices
+#
+# end of ARM devices
+
+#
+# Frame buffer Devices
+#
+# CONFIG_FB is not set
+# end of Frame buffer Devices
+
+#
+# Backlight & LCD device support
+#
+# CONFIG_LCD_CLASS_DEVICE is not set
+# CONFIG_BACKLIGHT_CLASS_DEVICE is not set
+# end of Backlight & LCD device support
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_DUMMY_CONSOLE_COLUMNS=80
+CONFIG_DUMMY_CONSOLE_ROWS=25
+# end of Console display driver support
+# end of Graphics support
+
+# CONFIG_SOUND is not set
+
+#
+# HID support
+#
+CONFIG_HID=y
+# CONFIG_HID_BATTERY_STRENGTH is not set
+# CONFIG_HIDRAW is not set
+# CONFIG_UHID is not set
+CONFIG_HID_GENERIC=y
+
+#
+# Special HID drivers
+#
+# CONFIG_HID_A4TECH is not set
+# CONFIG_HID_ACCUTOUCH is not set
+# CONFIG_HID_ACRUX is not set
+# CONFIG_HID_APPLE is not set
+# CONFIG_HID_APPLEIR is not set
+# CONFIG_HID_AUREAL is not set
+# CONFIG_HID_BELKIN is not set
+# CONFIG_HID_BETOP_FF is not set
+# CONFIG_HID_CHERRY is not set
+# CONFIG_HID_CHICONY is not set
+# CONFIG_HID_COUGAR is not set
+# CONFIG_HID_MACALLY is not set
+# CONFIG_HID_CMEDIA is not set
+# CONFIG_HID_CREATIVE_SB0540 is not set
+# CONFIG_HID_CYPRESS is not set
+# CONFIG_HID_DRAGONRISE is not set
+# CONFIG_HID_EMS_FF is not set
+# CONFIG_HID_ELECOM is not set
+# CONFIG_HID_ELO is not set
+# CONFIG_HID_EZKEY is not set
+# CONFIG_HID_GEMBIRD is not set
+# CONFIG_HID_GFRM is not set
+# CONFIG_HID_GLORIOUS is not set
+# CONFIG_HID_HOLTEK is not set
+# CONFIG_HID_KEYTOUCH is not set
+# CONFIG_HID_KYE is not set
+# CONFIG_HID_UCLOGIC is not set
+# CONFIG_HID_WALTOP is not set
+# CONFIG_HID_VIEWSONIC is not set
+# CONFIG_HID_GYRATION is not set
+# CONFIG_HID_ICADE is not set
+# CONFIG_HID_ITE is not set
+# CONFIG_HID_JABRA is not set
+# CONFIG_HID_TWINHAN is not set
+# CONFIG_HID_KENSINGTON is not set
+# CONFIG_HID_LCPOWER is not set
+# CONFIG_HID_LENOVO is not set
+# CONFIG_HID_MAGICMOUSE is not set
+# CONFIG_HID_MALTRON is not set
+# CONFIG_HID_MAYFLASH is not set
+# CONFIG_HID_REDRAGON is not set
+# CONFIG_HID_MICROSOFT is not set
+# CONFIG_HID_MONTEREY is not set
+# CONFIG_HID_MULTITOUCH is not set
+# CONFIG_HID_NTI is not set
+# CONFIG_HID_NTRIG is not set
+# CONFIG_HID_ORTEK is not set
+# CONFIG_HID_PANTHERLORD is not set
+# CONFIG_HID_PENMOUNT is not set
+# CONFIG_HID_PETALYNX is not set
+# CONFIG_HID_PICOLCD is not set
+# CONFIG_HID_PLANTRONICS is not set
+# CONFIG_HID_PRIMAX is not set
+# CONFIG_HID_RETRODE is not set
+# CONFIG_HID_ROCCAT is not set
+# CONFIG_HID_SAITEK is not set
+# CONFIG_HID_SAMSUNG is not set
+# CONFIG_HID_SPEEDLINK is not set
+# CONFIG_HID_STEAM is not set
+# CONFIG_HID_STEELSERIES is not set
+# CONFIG_HID_SUNPLUS is not set
+# CONFIG_HID_RMI is not set
+# CONFIG_HID_GREENASIA is not set
+# CONFIG_HID_SMARTJOYPLUS is not set
+# CONFIG_HID_TIVO is not set
+# CONFIG_HID_TOPSEED is not set
+# CONFIG_HID_THRUSTMASTER is not set
+# CONFIG_HID_UDRAW_PS3 is not set
+# CONFIG_HID_WACOM is not set
+# CONFIG_HID_XINMO is not set
+# CONFIG_HID_ZEROPLUS is not set
+# CONFIG_HID_ZYDACRON is not set
+# CONFIG_HID_SENSOR_HUB is not set
+# CONFIG_HID_ALPS is not set
+# CONFIG_HID_MCP2221 is not set
+# end of Special HID drivers
+
+#
+# USB HID support
+#
+CONFIG_USB_HID=y
+# CONFIG_HID_PID is not set
+# CONFIG_USB_HIDDEV is not set
+# end of USB HID support
+
+#
+# I2C HID support
+#
+# CONFIG_I2C_HID is not set
+# end of I2C HID support
+# end of HID support
+
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=y
+# CONFIG_USB_ULPI_BUS is not set
+# CONFIG_USB_CONN_GPIO is not set
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB=y
+CONFIG_USB_PCI=y
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEFAULT_PERSIST=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG_WHITELIST is not set
+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+CONFIG_USB_AUTOSUSPEND_DELAY=2
+# CONFIG_USB_MON is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_C67X00_HCD is not set
+# CONFIG_USB_XHCI_HCD is not set
+# CONFIG_USB_EHCI_HCD is not set
+# CONFIG_USB_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_FOTG210_HCD is not set
+# CONFIG_USB_MAX3421_HCD is not set
+# CONFIG_USB_OHCI_HCD is not set
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+# CONFIG_USB_HCD_TEST_MODE is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+# CONFIG_USB_WDM is not set
+# CONFIG_USB_TMC is not set
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USBIP_CORE is not set
+# CONFIG_USB_CDNS3 is not set
+# CONFIG_USB_MUSB_HDRC is not set
+# CONFIG_USB_DWC3 is not set
+CONFIG_USB_DWC2=y
+# CONFIG_USB_DWC2_HOST is not set
+
+#
+# Gadget/Dual-role mode requires USB Gadget support to be enabled
+#
+# CONFIG_USB_DWC2_PERIPHERAL is not set
+CONFIG_USB_DWC2_DUAL_ROLE=y
+# CONFIG_USB_DWC2_PCI is not set
+# CONFIG_USB_DWC2_DEBUG is not set
+# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
+# CONFIG_USB_CHIPIDEA is not set
+# CONFIG_USB_ISP1760 is not set
+
+#
+# USB port drivers
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_SEVSEG is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_APPLE_MFI_FASTCHARGE is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+# CONFIG_USB_EHSET_TEST_FIXTURE is not set
+# CONFIG_USB_ISIGHTFW is not set
+# CONFIG_USB_YUREX is not set
+# CONFIG_USB_EZUSB_FX2 is not set
+# CONFIG_USB_HUB_USB251XB is not set
+# CONFIG_USB_HSIC_USB3503 is not set
+# CONFIG_USB_HSIC_USB4604 is not set
+# CONFIG_USB_LINK_LAYER_TEST is not set
+# CONFIG_USB_CHAOSKEY is not set
+
+#
+# USB Physical Layer drivers
+#
+# CONFIG_NOP_USB_XCEIV is not set
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_USB_ISP1301 is not set
+# end of USB Physical Layer drivers
+
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG is not set
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
+CONFIG_U_SERIAL_CONSOLE=y
+
+#
+# USB Peripheral Controller
+#
+# CONFIG_USB_FOTG210_UDC is not set
+# CONFIG_USB_GR_UDC is not set
+# CONFIG_USB_R8A66597 is not set
+# CONFIG_USB_PXA27X is not set
+# CONFIG_USB_MV_UDC is not set
+# CONFIG_USB_MV_U3D is not set
+# CONFIG_USB_SNP_UDC_PLAT is not set
+# CONFIG_USB_M66592 is not set
+# CONFIG_USB_BDC_UDC is not set
+# CONFIG_USB_AMD5536UDC is not set
+# CONFIG_USB_NET2272 is not set
+# CONFIG_USB_NET2280 is not set
+# CONFIG_USB_GOKU is not set
+# CONFIG_USB_EG20T is not set
+# CONFIG_USB_GADGET_XILINX is not set
+# CONFIG_USB_MAX3420_UDC is not set
+# CONFIG_USB_DUMMY_HCD is not set
+# end of USB Peripheral Controller
+
+CONFIG_USB_LIBCOMPOSITE=y
+CONFIG_USB_F_ACM=y
+CONFIG_USB_U_SERIAL=y
+CONFIG_USB_U_ETHER=y
+CONFIG_USB_F_ECM=y
+# CONFIG_USB_CONFIGFS is not set
+
+#
+# USB Gadget precomposed configurations
+#
+# CONFIG_USB_ZERO is not set
+# CONFIG_USB_ETH is not set
+# CONFIG_USB_G_NCM is not set
+# CONFIG_USB_GADGETFS is not set
+# CONFIG_USB_FUNCTIONFS is not set
+# CONFIG_USB_MASS_STORAGE is not set
+# CONFIG_USB_G_SERIAL is not set
+# CONFIG_USB_G_PRINTER is not set
+CONFIG_USB_CDC_COMPOSITE=y
+# CONFIG_USB_G_ACM_MS is not set
+# CONFIG_USB_G_MULTI is not set
+# CONFIG_USB_G_HID is not set
+# CONFIG_USB_G_DBGP is not set
+# CONFIG_USB_RAW_GADGET is not set
+# end of USB Gadget precomposed configurations
+
+# CONFIG_TYPEC is not set
+# CONFIG_USB_ROLE_SWITCH is not set
+CONFIG_MMC=y
+CONFIG_PWRSEQ_EMMC=y
+CONFIG_PWRSEQ_SIMPLE=y
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_MINORS=8
+# CONFIG_SDIO_UART is not set
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_SDHCI=y
+# CONFIG_MMC_SDHCI_PCI is not set
+CONFIG_MMC_SDHCI_PLTFM=y
+# CONFIG_MMC_SDHCI_OF_ARASAN is not set
+# CONFIG_MMC_SDHCI_OF_ASPEED is not set
+# CONFIG_MMC_SDHCI_OF_AT91 is not set
+CONFIG_MMC_SDHCI_OF_DWCMSHC=y
+# CONFIG_MMC_SDHCI_CADENCE is not set
+# CONFIG_MMC_SDHCI_F_SDH30 is not set
+# CONFIG_MMC_SDHCI_MILBEAUT is not set
+# CONFIG_MMC_TIFM_SD is not set
+# CONFIG_MMC_SPI is not set
+# CONFIG_MMC_CB710 is not set
+# CONFIG_MMC_VIA_SDMMC is not set
+# CONFIG_MMC_VUB300 is not set
+# CONFIG_MMC_USHC is not set
+# CONFIG_MMC_USDHI6ROL0 is not set
+# CONFIG_MMC_CQHCI is not set
+# CONFIG_MMC_HSQ is not set
+# CONFIG_MMC_TOSHIBA_PCI is not set
+# CONFIG_MMC_MTK is not set
+# CONFIG_MMC_SDHCI_XENON is not set
+# CONFIG_MMC_SDHCI_OMAP is not set
+# CONFIG_MMC_SDHCI_AM654 is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_NEW_LEDS is not set
+# CONFIG_ACCESSIBILITY is not set
+# CONFIG_INFINIBAND is not set
+# CONFIG_RTC_CLASS is not set
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_VIRTUAL_CHANNELS=m
+CONFIG_DMA_OF=y
+# CONFIG_ALTERA_MSGDMA is not set
+# CONFIG_DW_AXI_DMAC is not set
+# CONFIG_FSL_EDMA is not set
+# CONFIG_INTEL_IDMA64 is not set
+# CONFIG_PLX_DMA is not set
+CONFIG_KVX_DMA_NOC=m
+# CONFIG_QCOM_HIDMA_MGMT is not set
+# CONFIG_QCOM_HIDMA is not set
+# CONFIG_DW_DMAC is not set
+# CONFIG_DW_DMAC_PCI is not set
+# CONFIG_DW_EDMA is not set
+# CONFIG_DW_EDMA_PCIE is not set
+# CONFIG_SF_PDMA is not set
+
+#
+# DMA Clients
+#
+# CONFIG_ASYNC_TX_DMA is not set
+# CONFIG_DMATEST is not set
+
+#
+# DMABUF options
+#
+# CONFIG_SYNC_FILE is not set
+# CONFIG_DMABUF_MOVE_NOTIFY is not set
+# CONFIG_DMABUF_HEAPS is not set
+# end of DMABUF options
+
+# CONFIG_AUXDISPLAY is not set
+# CONFIG_UIO is not set
+# CONFIG_VFIO is not set
+# CONFIG_VIRT_DRIVERS is not set
+CONFIG_VIRTIO=y
+CONFIG_VIRTIO_MENU=y
+# CONFIG_VIRTIO_PCI is not set
+# CONFIG_VIRTIO_BALLOON is not set
+# CONFIG_VIRTIO_INPUT is not set
+# CONFIG_VIRTIO_MMIO is not set
+# CONFIG_VDPA is not set
+CONFIG_VHOST_MENU=y
+# CONFIG_VHOST_NET is not set
+# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
+
+#
+# Microsoft Hyper-V guest support
+#
+# end of Microsoft Hyper-V guest support
+
+# CONFIG_GREYBUS is not set
+# CONFIG_STAGING is not set
+# CONFIG_GOLDFISH is not set
+CONFIG_HAVE_CLK=y
+CONFIG_CLKDEV_LOOKUP=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+# CONFIG_CLK_HSDK is not set
+# CONFIG_COMMON_CLK_MAX9485 is not set
+# CONFIG_COMMON_CLK_SI5341 is not set
+# CONFIG_COMMON_CLK_SI5351 is not set
+# CONFIG_COMMON_CLK_SI514 is not set
+# CONFIG_COMMON_CLK_SI544 is not set
+# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_CDCE706 is not set
+# CONFIG_COMMON_CLK_CDCE925 is not set
+# CONFIG_COMMON_CLK_CS2000_CP is not set
+# CONFIG_COMMON_CLK_VC5 is not set
+# CONFIG_COMMON_CLK_FIXED_MMIO is not set
+# CONFIG_HWSPINLOCK is not set
+
+#
+# Clock Source drivers
+#
+CONFIG_TIMER_OF=y
+CONFIG_TIMER_PROBE=y
+# CONFIG_MICROCHIP_PIT64B is not set
+# end of Clock Source drivers
+
+CONFIG_MAILBOX=y
+# CONFIG_PLATFORM_MHU is not set
+# CONFIG_ALTERA_MBOX is not set
+CONFIG_KVX_MBOX=y
+# CONFIG_MAILBOX_TEST is not set
+CONFIG_IOMMU_IOVA=y
+CONFIG_IOMMU_API=y
+CONFIG_IOMMU_SUPPORT=y
+
+#
+# Generic IOMMU Pagetable Support
+#
+# end of Generic IOMMU Pagetable Support
+
+# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
+CONFIG_OF_IOMMU=y
+CONFIG_IOMMU_DMA=y
+CONFIG_KVX_IOMMU=y
+
+#
+# Remoteproc drivers
+#
+CONFIG_REMOTEPROC=y
+CONFIG_KVX_REMOTEPROC=y
+# end of Remoteproc drivers
+
+#
+# Rpmsg drivers
+#
+CONFIG_RPMSG=y
+CONFIG_RPMSG_CHAR=y
+# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
+CONFIG_RPMSG_VIRTIO=y
+# end of Rpmsg drivers
+
+# CONFIG_SOUNDWIRE is not set
+
+#
+# SOC (System On Chip) specific Drivers
+#
+
+#
+# Amlogic SoC drivers
+#
+# end of Amlogic SoC drivers
+
+#
+# Aspeed SoC drivers
+#
+# end of Aspeed SoC drivers
+
+#
+# Broadcom SoC drivers
+#
+# end of Broadcom SoC drivers
+
+#
+# NXP/Freescale QorIQ SoC drivers
+#
+# end of NXP/Freescale QorIQ SoC drivers
+
+#
+# i.MX SoC drivers
+#
+# end of i.MX SoC drivers
+
+CONFIG_KVX_SOCINFO=y
+
+#
+# Qualcomm SoC drivers
+#
+# end of Qualcomm SoC drivers
+
+# CONFIG_SOC_TI is not set
+
+#
+# Xilinx SoC drivers
+#
+# CONFIG_XILINX_VCU is not set
+# end of Xilinx SoC drivers
+# end of SOC (System On Chip) specific Drivers
+
+# CONFIG_PM_DEVFREQ is not set
+# CONFIG_EXTCON is not set
+# CONFIG_MEMORY is not set
+# CONFIG_IIO is not set
+# CONFIG_NTB is not set
+# CONFIG_VME_BUS is not set
+# CONFIG_PWM is not set
+
+#
+# IRQ chip support
+#
+CONFIG_IRQCHIP=y
+# CONFIG_AL_FIC is not set
+CONFIG_KVX_CORE_INTC=y
+CONFIG_KVX_APIC_GIC=y
+CONFIG_KVX_APIC_MAILBOX=y
+CONFIG_KVX_ITGEN=y
+CONFIG_KVX_PCI_MSI=y
+# end of IRQ chip support
+
+# CONFIG_IPACK_BUS is not set
+# CONFIG_RESET_CONTROLLER is not set
+
+#
+# PHY Subsystem
+#
+# CONFIG_GENERIC_PHY is not set
+# CONFIG_BCM_KONA_USB2_PHY is not set
+# CONFIG_PHY_CADENCE_TORRENT is not set
+# CONFIG_PHY_CADENCE_DPHY is not set
+# CONFIG_PHY_CADENCE_SALVO is not set
+# CONFIG_PHY_FSL_IMX8MQ_USB is not set
+# CONFIG_PHY_MIXEL_MIPI_DPHY is not set
+# CONFIG_PHY_PXA_28NM_HSIC is not set
+# CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_PHY_MAPPHONE_MDM6600 is not set
+# CONFIG_PHY_OCELOT_SERDES is not set
+# CONFIG_PHY_SAMSUNG_USB2 is not set
+# end of PHY Subsystem
+
+# CONFIG_POWERCAP is not set
+# CONFIG_MCB is not set
+
+#
+# Performance monitor support
+#
+# end of Performance monitor support
+
+CONFIG_RAS=y
+# CONFIG_USB4 is not set
+
+#
+# Android
+#
+# CONFIG_ANDROID is not set
+# end of Android
+
+# CONFIG_LIBNVDIMM is not set
+# CONFIG_DAX is not set
+CONFIG_NVMEM=y
+CONFIG_NVMEM_SYSFS=y
+CONFIG_KVX_OTP_NV=y
+
+#
+# HW tracing support
+#
+# CONFIG_STM is not set
+# CONFIG_INTEL_TH is not set
+# end of HW tracing support
+
+# CONFIG_FPGA is not set
+# CONFIG_FSI is not set
+# CONFIG_SIOX is not set
+# CONFIG_SLIMBUS is not set
+# CONFIG_INTERCONNECT is not set
+# CONFIG_COUNTER is not set
+# CONFIG_MOST is not set
+# end of Device Drivers
+
+#
+# File systems
+#
+# CONFIG_VALIDATE_FS_PARSER is not set
+CONFIG_FS_IOMAP=y
+# CONFIG_EXT2_FS is not set
+# CONFIG_EXT3_FS is not set
+CONFIG_EXT4_FS=m
+CONFIG_EXT4_USE_FOR_EXT2=y
+# CONFIG_EXT4_FS_POSIX_ACL is not set
+# CONFIG_EXT4_FS_SECURITY is not set
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD2=m
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=m
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+# CONFIG_NILFS2_FS is not set
+# CONFIG_F2FS_FS is not set
+# CONFIG_FS_DAX is not set
+CONFIG_EXPORTFS=y
+# CONFIG_EXPORTFS_BLOCK_OPS is not set
+CONFIG_FILE_LOCKING=y
+CONFIG_MANDATORY_FILE_LOCKING=y
+# CONFIG_FS_ENCRYPTION is not set
+# CONFIG_FS_VERITY is not set
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_FANOTIFY is not set
+# CONFIG_QUOTA is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_FUSE_FS is not set
+# CONFIG_OVERLAY_FS is not set
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+# end of Caches
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+# end of CD-ROM/DVD Filesystems
+
+#
+# DOS/FAT/EXFAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+# CONFIG_MSDOS_FS is not set
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_FAT_DEFAULT_UTF8 is not set
+# CONFIG_EXFAT_FS is not set
+# CONFIG_NTFS_FS is not set
+# end of DOS/FAT/EXFAT/NT Filesystems
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+# CONFIG_PROC_KCORE is not set
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+# CONFIG_PROC_CHILDREN is not set
+CONFIG_KERNFS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_TMPFS_XATTR is not set
+CONFIG_HUGETLBFS=y
+CONFIG_HUGETLB_PAGE=y
+CONFIG_MEMFD_CREATE=y
+CONFIG_CONFIGFS_FS=y
+# end of Pseudo filesystems
+
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ORANGEFS_FS is not set
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS2_FS is not set
+# CONFIG_CRAMFS is not set
+CONFIG_SQUASHFS=m
+CONFIG_SQUASHFS_FILE_CACHE=y
+# CONFIG_SQUASHFS_FILE_DIRECT is not set
+CONFIG_SQUASHFS_DECOMP_SINGLE=y
+# CONFIG_SQUASHFS_DECOMP_MULTI is not set
+# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set
+# CONFIG_SQUASHFS_XATTR is not set
+CONFIG_SQUASHFS_ZLIB=y
+# CONFIG_SQUASHFS_LZ4 is not set
+# CONFIG_SQUASHFS_LZO is not set
+# CONFIG_SQUASHFS_XZ is not set
+# CONFIG_SQUASHFS_ZSTD is not set
+# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_QNX6FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_PSTORE is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+# CONFIG_EROFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+# CONFIG_NFS_FS is not set
+# CONFIG_NFSD is not set
+# CONFIG_CEPH_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_MAC_ROMAN is not set
+# CONFIG_NLS_MAC_CELTIC is not set
+# CONFIG_NLS_MAC_CENTEURO is not set
+# CONFIG_NLS_MAC_CROATIAN is not set
+# CONFIG_NLS_MAC_CYRILLIC is not set
+# CONFIG_NLS_MAC_GAELIC is not set
+# CONFIG_NLS_MAC_GREEK is not set
+# CONFIG_NLS_MAC_ICELAND is not set
+# CONFIG_NLS_MAC_INUIT is not set
+# CONFIG_NLS_MAC_ROMANIAN is not set
+# CONFIG_NLS_MAC_TURKISH is not set
+# CONFIG_NLS_UTF8 is not set
+# CONFIG_DLM is not set
+# CONFIG_UNICODE is not set
+CONFIG_IO_WQ=y
+# end of File systems
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITYFS is not set
+CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
+# CONFIG_HARDENED_USERCOPY is not set
+# CONFIG_STATIC_USERMODEHELPER is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity,bpf"
+
+#
+# Kernel hardening options
+#
+
+#
+# Memory initialization
+#
+CONFIG_INIT_STACK_NONE=y
+# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
+# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
+# end of Memory initialization
+# end of Kernel hardening options
+# end of Security options
+
+CONFIG_CRYPTO=m
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=m
+CONFIG_CRYPTO_ALGAPI2=m
+CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AEAD2=m
+CONFIG_CRYPTO_SKCIPHER=m
+CONFIG_CRYPTO_SKCIPHER2=m
+CONFIG_CRYPTO_HASH=m
+CONFIG_CRYPTO_HASH2=m
+CONFIG_CRYPTO_RNG2=m
+# CONFIG_CRYPTO_MANAGER is not set
+# CONFIG_CRYPTO_USER is not set
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_NULL2=m
+# CONFIG_CRYPTO_CRYPTD is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_TEST is not set
+CONFIG_CRYPTO_ENGINE=m
+
+#
+# Public-key cryptography
+#
+# CONFIG_CRYPTO_RSA is not set
+# CONFIG_CRYPTO_DH is not set
+# CONFIG_CRYPTO_ECDH is not set
+# CONFIG_CRYPTO_ECRDSA is not set
+# CONFIG_CRYPTO_CURVE25519 is not set
+
+#
+# Authenticated Encryption with Associated Data
+#
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_CHACHA20POLY1305 is not set
+# CONFIG_CRYPTO_AEGIS128 is not set
+# CONFIG_CRYPTO_SEQIV is not set
+# CONFIG_CRYPTO_ECHAINIV is not set
+
+#
+# Block modes
+#
+# CONFIG_CRYPTO_CBC is not set
+# CONFIG_CRYPTO_CFB is not set
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+# CONFIG_CRYPTO_ECB is not set
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_OFB is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+# CONFIG_CRYPTO_KEYWRAP is not set
+# CONFIG_CRYPTO_ADIANTUM is not set
+# CONFIG_CRYPTO_ESSIV is not set
+
+#
+# Hash modes
+#
+# CONFIG_CRYPTO_CMAC is not set
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_VMAC is not set
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=m
+# CONFIG_CRYPTO_CRC32 is not set
+# CONFIG_CRYPTO_XXHASH is not set
+# CONFIG_CRYPTO_BLAKE2B is not set
+# CONFIG_CRYPTO_BLAKE2S is not set
+# CONFIG_CRYPTO_CRCT10DIF is not set
+# CONFIG_CRYPTO_GHASH is not set
+# CONFIG_CRYPTO_POLY1305 is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_RMD128 is not set
+# CONFIG_CRYPTO_RMD160 is not set
+# CONFIG_CRYPTO_RMD256 is not set
+# CONFIG_CRYPTO_RMD320 is not set
+# CONFIG_CRYPTO_SHA1 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_SHA3 is not set
+# CONFIG_CRYPTO_SM3 is not set
+# CONFIG_CRYPTO_STREEBOG is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+# CONFIG_CRYPTO_AES is not set
+# CONFIG_CRYPTO_AES_TI is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_ARC4 is not set
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_CHACHA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_SM4 is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_LZO is not set
+# CONFIG_CRYPTO_842 is not set
+# CONFIG_CRYPTO_LZ4 is not set
+# CONFIG_CRYPTO_LZ4HC is not set
+# CONFIG_CRYPTO_ZSTD is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_DRBG_MENU is not set
+# CONFIG_CRYPTO_JITTERENTROPY is not set
+# CONFIG_CRYPTO_USER_API_HASH is not set
+# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
+# CONFIG_CRYPTO_USER_API_RNG is not set
+# CONFIG_CRYPTO_USER_API_AEAD is not set
+
+#
+# Crypto library routines
+#
+# CONFIG_CRYPTO_LIB_BLAKE2S is not set
+# CONFIG_CRYPTO_LIB_CHACHA is not set
+# CONFIG_CRYPTO_LIB_CURVE25519 is not set
+CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1
+# CONFIG_CRYPTO_LIB_POLY1305 is not set
+# CONFIG_CRYPTO_LIB_CHACHA20POLY1305 is not set
+CONFIG_CRYPTO_HW=y
+# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set
+# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set
+# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set
+CONFIG_CRYPTO_DEV_VIRTIO=m
+# CONFIG_CRYPTO_DEV_SAFEXCEL is not set
+# CONFIG_CRYPTO_DEV_CCREE is not set
+# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
+
+#
+# Certificates for signature checking
+#
+# end of Certificates for signature checking
+
+#
+# Library routines
+#
+# CONFIG_PACKING is not set
+CONFIG_BITREVERSE=y
+CONFIG_HAVE_ARCH_BITREVERSE=y
+CONFIG_GENERIC_STRNCPY_FROM_USER=y
+CONFIG_GENERIC_STRNLEN_USER=y
+CONFIG_GENERIC_NET_UTILS=y
+# CONFIG_CORDIC is not set
+# CONFIG_PRIME_NUMBERS is not set
+CONFIG_RATIONAL=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_GENERIC_IOMAP=y
+# CONFIG_CRC_CCITT is not set
+CONFIG_CRC16=m
+# CONFIG_CRC_T10DIF is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC32_SELFTEST is not set
+CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32_SLICEBY4 is not set
+# CONFIG_CRC32_SARWATE is not set
+# CONFIG_CRC32_BIT is not set
+# CONFIG_CRC64 is not set
+# CONFIG_CRC4 is not set
+# CONFIG_CRC7 is not set
+CONFIG_LIBCRC32C=m
+# CONFIG_CRC8 is not set
+# CONFIG_RANDOM32_SELFTEST is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_LZ4_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_IA64=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_DECOMPRESS_LZ4=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_XARRAY_MULTI=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT_MAP=y
+CONFIG_HAS_DMA=y
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_DMA_DECLARE_COHERENT=y
+CONFIG_ARCH_HAS_SETUP_DMA_OPS=y
+CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y
+CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y
+CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y
+CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y
+CONFIG_DMA_VIRT_OPS=y
+CONFIG_DMA_NONCOHERENT_MMAP=y
+CONFIG_DMA_COHERENT_POOL=y
+CONFIG_DMA_REMAP=y
+CONFIG_DMA_DIRECT_REMAP=y
+# CONFIG_DMA_API_DEBUG is not set
+CONFIG_DQL=y
+CONFIG_GLOB=y
+# CONFIG_GLOB_SELFTEST is not set
+CONFIG_NLATTR=y
+# CONFIG_IRQ_POLL is not set
+CONFIG_LIBFDT=y
+CONFIG_SBITMAP=y
+# CONFIG_STRING_SELFTEST is not set
+# end of Library routines
+
+CONFIG_GENERIC_IOREMAP=y
+
+#
+# Kernel hacking
+#
+
+#
+# printk and dmesg options
+#
+CONFIG_PRINTK_TIME=y
+# CONFIG_PRINTK_CALLER is not set
+CONFIG_CONSOLE_LOGLEVEL_DEFAULT=15
+CONFIG_CONSOLE_LOGLEVEL_QUIET=4
+CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DYNAMIC_DEBUG_CORE is not set
+CONFIG_SYMBOLIC_ERRNAME=y
+CONFIG_DEBUG_BUGVERBOSE=y
+# end of printk and dmesg options
+
+#
+# Compile-time checks and compiler options
+#
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_INFO_REDUCED is not set
+# CONFIG_DEBUG_INFO_COMPRESSED is not set
+# CONFIG_DEBUG_INFO_SPLIT is not set
+CONFIG_DEBUG_INFO_DWARF4=y
+# CONFIG_DEBUG_INFO_BTF is not set
+CONFIG_GDB_SCRIPTS=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=2048
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_READABLE_ASM is not set
+# CONFIG_HEADERS_INSTALL is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_SECTION_MISMATCH_WARN_ONLY=y
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# end of Compile-time checks and compiler options
+
+#
+# Generic Kernel Debugging Instruments
+#
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_DEBUG_FS is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+# CONFIG_UBSAN is not set
+# end of Generic Kernel Debugging Instruments
+
+CONFIG_DEBUG_KERNEL=y
+CONFIG_DEBUG_MISC=y
+
+#
+# Memory Debugging
+#
+# CONFIG_PAGE_EXTENSION is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+# CONFIG_PAGE_OWNER is not set
+# CONFIG_PAGE_POISONING is not set
+# CONFIG_DEBUG_RODATA_TEST is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_SCHED_STACK_END_CHECK is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_MEMORY_INIT is not set
+CONFIG_CC_HAS_KASAN_GENERIC=y
+CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
+CONFIG_KASAN_STACK=1
+# end of Memory Debugging
+
+# CONFIG_DEBUG_SHIRQ is not set
+
+#
+# Debug Oops, Lockups and Hangs
+#
+# CONFIG_PANIC_ON_OOPS is not set
+CONFIG_PANIC_ON_OOPS_VALUE=0
+CONFIG_PANIC_TIMEOUT=-1
+# CONFIG_SOFTLOCKUP_DETECTOR is not set
+# CONFIG_DETECT_HUNG_TASK is not set
+# CONFIG_WQ_WATCHDOG is not set
+# CONFIG_TEST_LOCKUP is not set
+# end of Debug Oops, Lockups and Hangs
+
+#
+# Scheduler Debugging
+#
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+# end of Scheduler Debugging
+
+# CONFIG_DEBUG_TIMEKEEPING is not set
+
+#
+# Lock Debugging (spinlocks, mutexes, etc...)
+#
+CONFIG_LOCK_DEBUGGING_SUPPORT=y
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
+# CONFIG_DEBUG_RWSEMS is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_DEBUG_ATOMIC_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_LOCK_TORTURE_TEST is not set
+# CONFIG_WW_MUTEX_SELFTEST is not set
+# end of Lock Debugging (spinlocks, mutexes, etc...)
+
+# CONFIG_STACKTRACE is not set
+# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
+# CONFIG_DEBUG_KOBJECT is not set
+
+#
+# Debug kernel data structures
+#
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_PLIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_BUG_ON_DATA_CORRUPTION is not set
+# end of Debug kernel data structures
+
+# CONFIG_DEBUG_CREDENTIALS is not set
+
+#
+# RCU Debugging
+#
+# CONFIG_RCU_PERF_TEST is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_RCU_TRACE is not set
+# CONFIG_RCU_EQS_DEBUG is not set
+# end of RCU Debugging
+
+# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+# CONFIG_FUNCTION_TRACER is not set
+# CONFIG_STACK_TRACER is not set
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_HWLAT_TRACER is not set
+# CONFIG_ENABLE_DEFAULT_TRACERS is not set
+# CONFIG_FTRACE_SYSCALLS is not set
+# CONFIG_TRACER_SNAPSHOT is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_SYNTH_EVENTS is not set
+# CONFIG_TRACEPOINT_BENCHMARK is not set
+# CONFIG_PREEMPTIRQ_DELAY_TEST is not set
+# CONFIG_SAMPLES is not set
+CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
+CONFIG_STRICT_DEVMEM=y
+# CONFIG_IO_STRICT_DEVMEM is not set
+
+#
+# kvx Debugging
+#
+
+#
+# KVX debugging
+#
+# CONFIG_KVX_DEBUG_ASN is not set
+# CONFIG_KVX_DEBUG_TLB_WRITE is not set
+# CONFIG_KVX_DEBUG_TLB_ACCESS is not set
+# CONFIG_KVX_MMU_STATS is not set
+# CONFIG_DEBUG_EXCEPTION_STACK is not set
+# CONFIG_DEBUG_SFR_SET_MASK is not set
+# end of KVX debugging
+# end of kvx Debugging
+
+#
+# Kernel Testing and Coverage
+#
+# CONFIG_KUNIT is not set
+# CONFIG_NOTIFIER_ERROR_INJECTION is not set
+# CONFIG_FAULT_INJECTION is not set
+CONFIG_CC_HAS_SANCOV_TRACE_PC=y
+CONFIG_RUNTIME_TESTING_MENU=y
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_TEST_MIN_HEAP is not set
+# CONFIG_TEST_SORT is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_RBTREE_TEST is not set
+# CONFIG_REED_SOLOMON_TEST is not set
+# CONFIG_INTERVAL_TREE_TEST is not set
+# CONFIG_PERCPU_TEST is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+# CONFIG_TEST_HEXDUMP is not set
+# CONFIG_TEST_STRING_HELPERS is not set
+# CONFIG_TEST_STRSCPY is not set
+# CONFIG_TEST_KSTRTOX is not set
+# CONFIG_TEST_PRINTF is not set
+# CONFIG_TEST_BITMAP is not set
+# CONFIG_TEST_BITFIELD is not set
+# CONFIG_TEST_UUID is not set
+# CONFIG_TEST_XARRAY is not set
+# CONFIG_TEST_OVERFLOW is not set
+# CONFIG_TEST_RHASHTABLE is not set
+# CONFIG_TEST_HASH is not set
+# CONFIG_TEST_IDA is not set
+# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_BITOPS is not set
+# CONFIG_TEST_VMALLOC is not set
+# CONFIG_TEST_USER_COPY is not set
+# CONFIG_TEST_BPF is not set
+# CONFIG_TEST_BLACKHOLE_DEV is not set
+# CONFIG_FIND_BIT_BENCHMARK is not set
+# CONFIG_TEST_FIRMWARE is not set
+# CONFIG_TEST_SYSCTL is not set
+# CONFIG_TEST_UDELAY is not set
+# CONFIG_TEST_STATIC_KEYS is not set
+# CONFIG_TEST_KMOD is not set
+# CONFIG_TEST_MEMCAT_P is not set
+# CONFIG_TEST_STACKINIT is not set
+# CONFIG_TEST_MEMINIT is not set
+# CONFIG_MEMTEST is not set
+# end of Kernel Testing and Coverage
+# end of Kernel hacking
diff --git a/target/kvx/systems/qemu-kvx b/target/kvx/systems/qemu-kvx
new file mode 100644
index 000000000..86342a086
--- /dev/null
+++ b/target/kvx/systems/qemu-kvx
@@ -0,0 +1,7 @@
+config ADK_TARGET_SYSTEM_QEMU_KVX
+ bool "Qemu Emulator"
+ select ADK_TARGET_QEMU
+ select ADK_TARGET_CPU_KVX
+ help
+ Support for Qemu Emulator KVX architecture.
+
diff --git a/target/kvx/uclibc-ng.config b/target/kvx/uclibc-ng.config
new file mode 100644
index 000000000..fc6e6a1ed
--- /dev/null
+++ b/target/kvx/uclibc-ng.config
@@ -0,0 +1,248 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# uClibc-ng 1.0.36 C Library Configuration
+#
+# TARGET_aarch64 is not set
+# TARGET_alpha is not set
+# TARGET_arc is not set
+# TARGET_arm is not set
+# TARGET_avr32 is not set
+# TARGET_bfin is not set
+# TARGET_c6x is not set
+# TARGET_cris is not set
+# TARGET_csky is not set
+# TARGET_frv is not set
+# TARGET_h8300 is not set
+# TARGET_hppa is not set
+# TARGET_i386 is not set
+# TARGET_ia64 is not set
+TARGET_kvx=y
+# TARGET_lm32 is not set
+# TARGET_m68k is not set
+# TARGET_metag is not set
+# TARGET_microblaze is not set
+# TARGET_mips is not set
+# TARGET_nds32 is not set
+# TARGET_nios2 is not set
+# TARGET_or1k is not set
+# TARGET_powerpc is not set
+# TARGET_riscv64 is not set
+# TARGET_sh is not set
+# TARGET_sparc is not set
+# TARGET_sparc64 is not set
+# TARGET_tile is not set
+# TARGET_x86_64 is not set
+# TARGET_xtensa is not set
+
+#
+# Target Architecture Features and Options
+#
+TARGET_ARCH="kvx"
+FORCE_OPTIONS_FOR_ARCH=y
+# CONFIG_AARCH64_PAGE_SIZE_4K is not set
+# CONFIG_AARCH64_PAGE_SIZE_16K is not set
+# CONFIG_AARCH64_PAGE_SIZE_64K is not set
+TARGET_SUBARCH=""
+
+#
+# Using ELF file format
+#
+ARCH_LITTLE_ENDIAN=y
+# ARCH_WANTS_BIG_ENDIAN is not set
+# ARCH_WANTS_LITTLE_ENDIAN is not set
+
+#
+# Using Little Endian
+#
+ARCH_HAS_MMU=y
+ARCH_USE_MMU=y
+UCLIBC_HAS_FLOATS=y
+UCLIBC_HAS_FPU=y
+DO_C99_MATH=y
+DO_XSI_MATH=y
+UCLIBC_HAS_FENV=y
+UCLIBC_HAS_LONG_DOUBLE_MATH=y
+KERNEL_HEADERS=""
+HAVE_DOT_CONFIG=y
+
+#
+# General Library Settings
+#
+DOPIC=y
+HAVE_SHARED=y
+# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
+LDSO_LDD_SUPPORT=y
+LDSO_CACHE_SUPPORT=y
+# LDSO_PRELOAD_ENV_SUPPORT is not set
+# LDSO_PRELOAD_FILE_SUPPORT is not set
+LDSO_BASE_FILENAME="ld.so"
+# LDSO_STANDALONE_SUPPORT is not set
+# LDSO_PRELINK_SUPPORT is not set
+UCLIBC_STATIC_LDCONFIG=y
+LDSO_RUNPATH=y
+LDSO_RUNPATH_OF_EXECUTABLE=y
+LDSO_SAFE_RUNPATH=y
+LDSO_SEARCH_INTERP_PATH=y
+LDSO_LD_LIBRARY_PATH=y
+UCLIBC_CTOR_DTOR=y
+# LDSO_GNU_HASH_SUPPORT is not set
+# HAS_NO_THREADS is not set
+# UCLIBC_HAS_LINUXTHREADS is not set
+UCLIBC_HAS_THREADS_NATIVE=y
+UCLIBC_HAS_THREADS=y
+UCLIBC_HAS_TLS=y
+PTHREADS_DEBUG_SUPPORT=y
+UCLIBC_HAS_SYSLOG=y
+UCLIBC_HAS_LFS=y
+# MALLOC is not set
+# MALLOC_SIMPLE is not set
+MALLOC_STANDARD=y
+UCLIBC_DYNAMIC_ATEXIT=y
+UCLIBC_HAS_UTMPX=y
+UCLIBC_HAS_UTMP=y
+UCLIBC_SUSV2_LEGACY=y
+UCLIBC_SUSV3_LEGACY=y
+# UCLIBC_SUSV3_LEGACY_MACROS is not set
+UCLIBC_SUSV4_LEGACY=y
+# UCLIBC_STRICT_HEADERS is not set
+# UCLIBC_HAS_STUBS is not set
+UCLIBC_HAS_SHADOW=y
+UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y
+UCLIBC_HAS___PROGNAME=y
+UCLIBC_HAS_PTY=y
+ASSUME_DEVPTS=y
+UNIX98PTY_ONLY=y
+UCLIBC_HAS_GETPT=y
+UCLIBC_HAS_LIBUTIL=y
+UCLIBC_HAS_TM_EXTENSIONS=y
+UCLIBC_HAS_TZ_CACHING=y
+UCLIBC_HAS_TZ_FILE=y
+UCLIBC_HAS_TZ_FILE_READ_MANY=y
+UCLIBC_TZ_FILE_PATH="/etc/TZ"
+UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
+
+#
+# Advanced Library Settings
+#
+UCLIBC_PWD_BUFFER_SIZE=256
+UCLIBC_GRP_BUFFER_SIZE=256
+
+#
+# Support various families of functions
+#
+UCLIBC_LINUX_SPECIFIC=y
+UCLIBC_HAS_GNU_ERROR=y
+UCLIBC_BSD_SPECIFIC=y
+UCLIBC_HAS_BSD_ERR=y
+UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
+# UCLIBC_HAS_BSD_B64_NTOP_B64_PTON is not set
+# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
+# UCLIBC_NTP_LEGACY is not set
+UCLIBC_SV4_DEPRECATED=y
+UCLIBC_HAS_REALTIME=y
+UCLIBC_HAS_ADVANCED_REALTIME=y
+UCLIBC_HAS_EPOLL=y
+UCLIBC_HAS_XATTR=y
+# UCLIBC_HAS_PROFILING is not set
+UCLIBC_HAS_CRYPT_IMPL=y
+UCLIBC_HAS_SHA256_CRYPT_IMPL=y
+UCLIBC_HAS_SHA512_CRYPT_IMPL=y
+UCLIBC_HAS_CRYPT=y
+UCLIBC_HAS_NETWORK_SUPPORT=y
+UCLIBC_HAS_SOCKET=y
+UCLIBC_HAS_IPV4=y
+UCLIBC_HAS_IPV6=y
+UCLIBC_USE_NETLINK=y
+UCLIBC_SUPPORT_AI_ADDRCONFIG=y
+UCLIBC_HAS_BSD_RES_CLOSE=y
+UCLIBC_HAS_COMPAT_RES_STATE=y
+# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
+UCLIBC_HAS_RESOLVER_SUPPORT=y
+
+#
+# String and Stdio Support
+#
+UCLIBC_HAS_STRING_GENERIC_OPT=y
+UCLIBC_HAS_STRING_ARCH_OPT=y
+UCLIBC_HAS_STDIO_FUTEXES=y
+UCLIBC_HAS_CTYPE_TABLES=y
+UCLIBC_HAS_CTYPE_SIGNED=y
+# UCLIBC_HAS_CTYPE_UNSAFE is not set
+UCLIBC_HAS_CTYPE_CHECKED=y
+# UCLIBC_HAS_CTYPE_ENFORCED is not set
+UCLIBC_HAS_WCHAR=y
+# UCLIBC_HAS_LIBICONV is not set
+# UCLIBC_HAS_LIBINTL is not set
+# UCLIBC_HAS_LOCALE is not set
+UCLIBC_HAS_HEXADECIMAL_FLOATS=y
+UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
+UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
+# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
+UCLIBC_HAS_STDIO_BUFSIZ_4096=y
+# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
+UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
+# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
+UCLIBC_HAS_STDIO_GETC_MACRO=y
+UCLIBC_HAS_STDIO_PUTC_MACRO=y
+UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
+# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
+UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
+UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE=y
+UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
+UCLIBC_HAS_PRINTF_M_SPEC=y
+UCLIBC_HAS_ERRNO_MESSAGES=y
+# UCLIBC_HAS_SYS_ERRLIST is not set
+UCLIBC_HAS_SIGNUM_MESSAGES=y
+# UCLIBC_HAS_SYS_SIGLIST is not set
+UCLIBC_HAS_GNU_GETOPT=y
+UCLIBC_HAS_GETOPT_LONG=y
+UCLIBC_HAS_GNU_GETSUBOPT=y
+UCLIBC_HAS_ARGP=y
+
+#
+# Big and Tall
+#
+UCLIBC_HAS_REGEX=y
+UCLIBC_HAS_FNMATCH=y
+UCLIBC_HAS_WORDEXP=y
+UCLIBC_HAS_NFTW=y
+UCLIBC_HAS_FTW=y
+UCLIBC_HAS_FTS=y
+UCLIBC_HAS_GLOB=y
+UCLIBC_HAS_GNU_GLOB=y
+
+#
+# Library Installation Options
+#
+RUNTIME_PREFIX="/"
+DEVEL_PREFIX="/usr/"
+MULTILIB_DIR="lib"
+HARDWIRED_ABSPATH=y
+
+#
+# Security options
+#
+# UCLIBC_HAS_SSP is not set
+# UCLIBC_BUILD_RELRO is not set
+# UCLIBC_BUILD_NOW is not set
+UCLIBC_BUILD_NOEXECSTACK=y
+
+#
+# Development/debugging options
+#
+CROSS_COMPILER_PREFIX=""
+UCLIBC_EXTRA_CFLAGS=""
+# DODEBUG is not set
+# DOSTRIP is not set
+# DOASSERTS is not set
+SUPPORT_LD_DEBUG=y
+# SUPPORT_LD_DEBUG_EARLY is not set
+# UCLIBC_MALLOC_DEBUGGING is not set
+# UCLIBC_HAS_BACKTRACE is not set
+WARNINGS="-Wall"
+# EXTRA_WARNINGS is not set
diff --git a/target/linux/Config.in b/target/linux/Config.in
index e4da0762b..42e4efcbb 100644
--- a/target/linux/Config.in
+++ b/target/linux/Config.in
@@ -21,6 +21,7 @@ source target/linux/config/Config.in.crypto
source target/linux/config/Config.in.misc
source target/linux/config/Config.in.arc
source target/linux/config/Config.in.arm
+source target/linux/config/Config.in.m68k
source target/linux/config/Config.in.mips
source target/linux/config/Config.in.xtensa
source target/linux/config/Config.in.pm
diff --git a/target/linux/Config.in.kernelcfg b/target/linux/Config.in.kernelcfg
index 2865f70c1..ee5b555a8 100644
--- a/target/linux/Config.in.kernelcfg
+++ b/target/linux/Config.in.kernelcfg
@@ -4,9 +4,14 @@
choice
prompt "Kernel configuration" if !ADK_TARGET_CHOOSE_ARCH
depends on ADK_TARGET_OS_LINUX
+default ADK_TARGET_LINUX_KERNEL_USE_DEFCONFIG if ADK_TARGET_CPU_ARC_ARC32
+default ADK_TARGET_LINUX_KERNEL_USE_DEFCONFIG if ADK_TARGET_CPU_ARC_ARC64
+default ADK_TARGET_LINUX_KERNEL_USE_DEFCONFIG if ADK_TARGET_SYSTEM_SIPEED_MAIX_BIT
+default ADK_TARGET_LINUX_KERNEL_USE_DEFCONFIG if ADK_TARGET_SYSTEM_SIPEED_MAIX_BIT
default ADK_TARGET_LINUX_KERNEL_USE_DEFCONFIG if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK && ADK_TARGET_LINUX_KERNEL_VERSION_GIT
default ADK_TARGET_LINUX_KERNEL_USE_DEFCONFIG if ADK_TARGET_SYSTEM_PHYTEC_WEGA && ADK_TARGET_LINUX_KERNEL_VERSION_GIT
default ADK_TARGET_LINUX_KERNEL_USE_DEFCONFIG if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG && ADK_TARGET_LINUX_KERNEL_VERSION_GIT
+default ADK_TARGET_LINUX_KERNEL_USE_DEFCONFIG if ADK_TARGET_BOARD_BCM28XX && ADK_TARGET_LINUX_KERNEL_VERSION_GIT
config ADK_TARGET_LINUX_KERNEL_USE_MINICONFIG
bool "Use mini.config from OpenADK"
@@ -26,24 +31,40 @@ config ADK_TARGET_LINUX_KERNEL_DEFCONFIG
default "bcmrpi_defconfig" if ADK_TARGET_SYSTEM_RASPBERRY_PI0
default "bcm2709_defconfig" if ADK_TARGET_SYSTEM_RASPBERRY_PI2
default "bcm2709_defconfig" if ADK_TARGET_SYSTEM_RASPBERRY_PI3
- default "bcm2709_defconfig" if ADK_TARGET_SYSTEM_RASPBERRY_PI3P
+ default "bcm2711_defconfig" if ADK_TARGET_SYSTEM_RASPBERRY_PI4
default "bcmrpi3_defconfig" if ADK_TARGET_SYSTEM_RASPBERRY_PI3_64
- default "bcmrpi3_defconfig" if ADK_TARGET_SYSTEM_RASPBERRY_PI3P_64
+ default "bcm2711_defconfig" if ADK_TARGET_SYSTEM_RASPBERRY_PI4_64
+ default "bcm2712_defconfig" if ADK_TARGET_SYSTEM_RASPBERRY_PI5
default "twr-k70f120m_defconfig" if ADK_TARGET_SYSTEM_KINETIS_K70
default "imx_v7_cbi_hb_defconfig" if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6 && ADK_TARGET_LINUX_KERNEL_VERSION_GIT
default "imx_v6_v7_defconfig" if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
default "mvebu_defconfig" if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
default "nsim_700_defconfig" if ADK_TARGET_CPU_ARC_ARC700 && ADK_TARGET_SYSTEM_SYNOPSYS_NSIM
- default "nsim_hs_defconfig" if ADK_TARGET_CPU_ARC_ARCHS && ADK_TARGET_SYSTEM_SYNOPSYS_NSIM
+ default "haps_hs_defconfig" if ADK_TARGET_CPU_ARC_ARCHS && ADK_TARGET_SYSTEM_SYNOPSYS_NSIM
default "10m50_defconfig" if ADK_TARGET_SYSTEM_QEMU_NIOS2
default "ag101p_defconfig" if ADK_TARGET_SYSTEM_ANDES_AG101P
default "bb.org_defconfig" if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK
default "am335x_phytec_defconfig" if ADK_TARGET_SYSTEM_PHYTEC_WEGA
default "j2_defconfig" if ADK_TARGET_SYSTEM_NUMATO_MIMASV2
default "sunxi_defconfig" if ADK_TARGET_SYSTEM_ORANGE_PI0
+ default "sunxi_defconfig" if ADK_TARGET_SYSTEM_BANANA_P2_ZERO
default "edosk2674_defconfig" if ADK_TARGET_SYSTEM_HITACHI_EDOSK2674
default "x86_64_defconfig" if ADK_TARGET_SYSTEM_GENERIC_X86_64
default "i386_defconfig" if ADK_TARGET_SYSTEM_GENERIC_X86
+ default "stm32_defconfig" if ADK_TARGET_SYSTEM_ST_STM32F429
+ default "stm32_defconfig" if ADK_TARGET_SYSTEM_ST_STM32F769
+ default "stm32_defconfig" if ADK_TARGET_SYSTEM_ST_STM32F746G
+ default "nommu_k210_defconfig" if ADK_TARGET_SYSTEM_SIPEED_MAIX_BIT
+ default "loongson3_defconfig" if ADK_TARGET_SYSTEM_QEMU_LOONGARCH
+ default "defconfig" if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+ default "rockpi4_defconfig" if ADK_TARGET_SYSTEM_ROCKPI4_PLUS && ADK_TARGET_LINUX_KERNEL_VERSION_GIT
+ default "vexpress_defconfig" if ADK_TARGET_SYSTEM_QEMU_ARM_VEXPRESS_A9
+ default "spitz_defconfig" if ADK_TARGET_SYSTEM_QEMU_ARM_TERRIER
+ default "spitz_defconfig" if ADK_TARGET_SYSTEM_QEMU_ARM_SPITZ
+ default "haps_hs5x_defconfig" if ADK_TARGET_CPU_ARC_ARC32
+ default "haps_arc64_defconfig" if ADK_TARGET_CPU_ARC_ARC64
+ default "m5208evb_defconfig" if ADK_TARGET_SYSTEM_QEMU_M68K_MCF5208
+ default "default_defconfig" if ADK_TARGET_ARCH_KVX
default ""
config ADK_TARGET_LINUX_KERNEL_CUSTOMCONFIG_PATH
diff --git a/target/linux/Config.in.kernelversion b/target/linux/Config.in.kernelversion
index 68cd67f2d..d61ea136c 100644
--- a/target/linux/Config.in.kernelversion
+++ b/target/linux/Config.in.kernelversion
@@ -1,18 +1,17 @@
# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.
-config ADK_TARGET_LINUX_KERNEL_NEW
- bool
-
choice
prompt "Linux Kernel version" if !ADK_TARGET_CHOOSE_ARCH
depends on ADK_TARGET_OS_LINUX
-default ADK_TARGET_LINUX_KERNEL_VERSION_3_10_NDS32 if ADK_TARGET_ARCH_NDS32
default ADK_TARGET_LINUX_KERNEL_VERSION_GIT if ADK_TARGET_BOARD_BCM28XX
default ADK_TARGET_LINUX_KERNEL_VERSION_GIT if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
default ADK_TARGET_LINUX_KERNEL_VERSION_GIT if ADK_TARGET_SYSTEM_KINETIS_K70
default ADK_TARGET_LINUX_KERNEL_VERSION_GIT if ADK_TARGET_SYSTEM_ADSP_BF537
default ADK_TARGET_LINUX_KERNEL_VERSION_GIT if ADK_TARGET_SYSTEM_PHYTEC_WEGA
+default ADK_TARGET_LINUX_KERNEL_VERSION_GIT if ADK_TARGET_CPU_ARC_ARC32
+default ADK_TARGET_LINUX_KERNEL_VERSION_GIT if ADK_TARGET_CPU_ARC_ARC64
+default ADK_TARGET_LINUX_KERNEL_VERSION_GIT if ADK_TARGET_ARCH_KVX
default ADK_TARGET_LINUX_KERNEL_VERSION_GIT if ADK_TARGET_ARCH_LM32
default ADK_TARGET_LINUX_KERNEL_VERSION_4_4 if ADK_TARGET_ARCH_CRIS
default ADK_TARGET_LINUX_KERNEL_VERSION_4_4 if ADK_TARGET_ARCH_H8300
@@ -20,71 +19,113 @@ default ADK_TARGET_LINUX_KERNEL_VERSION_4_4 if ADK_TARGET_ARCH_METAG
default ADK_TARGET_LINUX_KERNEL_VERSION_4_4 if ADK_TARGET_ARCH_AVR32
default ADK_TARGET_LINUX_KERNEL_VERSION_4_9 if ADK_TARGET_ARCH_BFIN
default ADK_TARGET_LINUX_KERNEL_VERSION_4_9 if ADK_TARGET_ARCH_FRV
-default ADK_TARGET_LINUX_KERNEL_VERSION_4_9 if ADK_TARGET_CPU_ARM_ARM11MPCORE
-default ADK_TARGET_LINUX_KERNEL_VERSION_4_9 if ADK_TARGET_CPU_ARM_CORTEX_A53
-default ADK_TARGET_LINUX_KERNEL_VERSION_4_14 if ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB
-default ADK_TARGET_LINUX_KERNEL_VERSION_5_4 if ADK_TARGET_ARCH_ARC
-default ADK_TARGET_LINUX_KERNEL_VERSION_5_4 if ADK_TARGET_ARCH_CSKY
-default ADK_TARGET_LINUX_KERNEL_VERSION_5_4 if ADK_TARGET_ARCH_RISCV32
-default ADK_TARGET_LINUX_KERNEL_VERSION_5_4 if ADK_TARGET_ARCH_RISCV64
-default ADK_TARGET_LINUX_KERNEL_VERSION_5_4 if ADK_TARGET_ARCH_OR1K
-default ADK_TARGET_LINUX_KERNEL_VERSION_4_19
+default ADK_TARGET_LINUX_KERNEL_VERSION_4_9 if ADK_TARGET_SYSTEM_ST_STM32F429
+default ADK_TARGET_LINUX_KERNEL_VERSION_4_9 if ADK_TARGET_SYSTEM_ST_STM32F769
+default ADK_TARGET_LINUX_KERNEL_VERSION_5_4 if ADK_TARGET_ARCH_C6X
+default ADK_TARGET_LINUX_KERNEL_VERSION_5_10 if ADK_TARGET_SYSTEM_NUMATO_MIMASV2
+default ADK_TARGET_LINUX_KERNEL_VERSION_5_15 if ADK_TARGET_ARCH_NDS32
+default ADK_TARGET_LINUX_KERNEL_VERSION_6_6 if ADK_TARGET_ARCH_ARM && !ADK_TARGET_WITH_MMU && ADK_TARGET_BINFMT_ELF
+default ADK_TARGET_LINUX_KERNEL_VERSION_6_6 if ADK_TARGET_ARCH_M68K && !ADK_TARGET_WITH_MMU && ADK_TARGET_BINFMT_ELF
+default ADK_TARGET_LINUX_KERNEL_VERSION_6_6 if ADK_TARGET_ARCH_RISCV64 && !ADK_TARGET_WITH_MMU && ADK_TARGET_BINFMT_ELF
+default ADK_TARGET_LINUX_KERNEL_VERSION_6_1
config ADK_TARGET_LINUX_KERNEL_VERSION_GIT
bool "git"
depends on !ADK_TARGET_ARCH_AVR32
depends on !ADK_TARGET_ARCH_BFIN
+ depends on !ADK_TARGET_ARCH_C6X
depends on !ADK_TARGET_ARCH_FRV
+ depends on !ADK_TARGET_ARCH_H8300
select ADK_HOST_NEED_LZOP if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
select ADK_HOST_NEED_LZOP if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK
select ADK_HOST_NEED_LZ4 if ADK_TARGET_SYSTEM_PHYTEC_WEGA && ADK_TARGET_LINUX_KERNEL_VERSION_GIT
select ADK_TARGET_LINUX_KERNEL_IMAGE if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
select ADK_TARGET_LINUX_KERNEL_IMAGE if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK
+config ADK_TARGET_LINUX_KERNEL_VERSION_6_6
+ bool "6.6.22"
+ depends on !ADK_TARGET_ARCH_AVR32
+ depends on !ADK_TARGET_ARCH_BFIN
+ depends on !ADK_TARGET_ARCH_C6X
+ depends on !ADK_TARGET_ARCH_CRIS
+ depends on !ADK_TARGET_ARCH_FRV
+ depends on !ADK_TARGET_ARCH_H8300
+ depends on !ADK_TARGET_ARCH_METAG
+ depends on !ADK_TARGET_ARCH_NDS32
+
+config ADK_TARGET_LINUX_KERNEL_VERSION_6_1
+ bool "6.1.82"
+ depends on !ADK_TARGET_ARCH_AVR32
+ depends on !ADK_TARGET_ARCH_BFIN
+ depends on !ADK_TARGET_ARCH_C6X
+ depends on !ADK_TARGET_ARCH_CRIS
+ depends on !ADK_TARGET_ARCH_FRV
+ depends on !ADK_TARGET_ARCH_H8300
+ depends on !ADK_TARGET_ARCH_METAG
+ depends on !ADK_TARGET_ARCH_NDS32
+
+config ADK_TARGET_LINUX_KERNEL_VERSION_5_15
+ bool "5.15.152"
+ depends on !ADK_TARGET_ARCH_AVR32
+ depends on !ADK_TARGET_ARCH_BFIN
+ depends on !ADK_TARGET_ARCH_C6X
+ depends on !ADK_TARGET_ARCH_CRIS
+ depends on !ADK_TARGET_ARCH_FRV
+ depends on !ADK_TARGET_ARCH_H8300
+ depends on !ADK_TARGET_ARCH_METAG
+
+config ADK_TARGET_LINUX_KERNEL_VERSION_5_10
+ bool "5.10.213"
+ depends on !ADK_TARGET_ARCH_AVR32
+ depends on !ADK_TARGET_ARCH_BFIN
+ depends on !ADK_TARGET_ARCH_C6X
+ depends on !ADK_TARGET_ARCH_CRIS
+ depends on !ADK_TARGET_ARCH_FRV
+ depends on !ADK_TARGET_ARCH_H8300
+ depends on !ADK_TARGET_ARCH_METAG
+ depends on !ADK_TARGET_SYSTEM_SIPEED_MAIX_BIT
+
config ADK_TARGET_LINUX_KERNEL_VERSION_5_4
- bool "5.4.53"
- select ADK_TARGET_LINUX_KERNEL_NEW
+ bool "5.4.272"
depends on !ADK_TARGET_ARCH_AVR32
depends on !ADK_TARGET_ARCH_BFIN
depends on !ADK_TARGET_ARCH_CRIS
depends on !ADK_TARGET_ARCH_FRV
+ depends on !ADK_TARGET_ARCH_H8300
depends on !ADK_TARGET_ARCH_METAG
- depends on !ADK_TARGET_CPU_ARM_ARM11MPCORE
- depends on !ADK_TARGET_CPU_ARM_CORTEX_A53
+ depends on !ADK_TARGET_SYSTEM_SIPEED_MAIX_BIT
config ADK_TARGET_LINUX_KERNEL_VERSION_4_19
- bool "4.19.136"
- select ADK_TARGET_LINUX_KERNEL_NEW
+ bool "4.19.310"
depends on !ADK_TARGET_ARCH_AVR32
depends on !ADK_TARGET_ARCH_BFIN
depends on !ADK_TARGET_ARCH_CRIS
depends on !ADK_TARGET_ARCH_CSKY
depends on !ADK_TARGET_ARCH_FRV
+ depends on !ADK_TARGET_ARCH_H8300
depends on !ADK_TARGET_ARCH_METAG
depends on !ADK_TARGET_ARCH_RISCV32
depends on !ADK_TARGET_ARCH_RISCV64
- depends on !ADK_TARGET_CPU_ARM_ARM11MPCORE
- depends on !ADK_TARGET_CPU_ARM_CORTEX_A53
config ADK_TARGET_LINUX_KERNEL_VERSION_4_14
- bool "4.14.168"
+ bool "4.14.334"
depends on !ADK_TARGET_ARCH_AVR32
depends on !ADK_TARGET_ARCH_BFIN
depends on !ADK_TARGET_ARCH_CRIS
depends on !ADK_TARGET_ARCH_CSKY
depends on !ADK_TARGET_ARCH_FRV
+ depends on !ADK_TARGET_ARCH_H8300
depends on !ADK_TARGET_ARCH_METAG
depends on !ADK_TARGET_ARCH_NDS32
depends on !ADK_TARGET_ARCH_RISCV32
depends on !ADK_TARGET_ARCH_RISCV64
- depends on !ADK_TARGET_CPU_ARM_ARM11MPCORE
- depends on !ADK_TARGET_CPU_ARM_CORTEX_A53
config ADK_TARGET_LINUX_KERNEL_VERSION_4_9
- bool "4.9.211"
+ bool "4.9.287"
depends on !ADK_TARGET_ARCH_ARC
depends on !ADK_TARGET_ARCH_CRIS
depends on !ADK_TARGET_ARCH_CSKY
+ depends on !ADK_TARGET_ARCH_H8300
depends on !ADK_TARGET_ARCH_METAG
depends on !ADK_TARGET_ARCH_NDS32
depends on !ADK_TARGET_ARCH_OR1K
@@ -93,7 +134,7 @@ config ADK_TARGET_LINUX_KERNEL_VERSION_4_9
depends on !ADK_TARGET_SYSTEM_ORANGE_PI0
config ADK_TARGET_LINUX_KERNEL_VERSION_4_4
- bool "4.4.211"
+ bool "4.4.302"
depends on !ADK_TARGET_ARCH_ARC
depends on !ADK_TARGET_ARCH_CSKY
depends on !ADK_TARGET_ARCH_NDS32
@@ -107,7 +148,7 @@ config ADK_TARGET_LINUX_KERNEL_VERSION_4_4
depends on !ADK_TARGET_SYSTEM_ORANGE_PI0
config ADK_TARGET_LINUX_KERNEL_VERSION_3_16
- bool "3.16.81"
+ bool "3.16.85"
depends on !ADK_TARGET_ARCH_ARC
depends on !ADK_TARGET_ARCH_BFIN
depends on !ADK_TARGET_ARCH_CSKY
@@ -129,11 +170,6 @@ config ADK_TARGET_LINUX_KERNEL_VERSION_3_16
depends on !ADK_TARGET_CPU_MIPS64_MIPS64R6
depends on !ADK_TARGET_SYSTEM_ORANGE_PI0
-config ADK_TARGET_LINUX_KERNEL_VERSION_3_10_NDS32
- bool "3.10-nds32"
- depends on ADK_TARGET_ARCH_NDS32
- select ADK_TARGET_LINUX_KERNEL_NO_MIRROR
-
config ADK_TARGET_LINUX_KERNEL_VERSION_2_6_32
bool "2.6.32.70"
depends on !ADK_TARGET_ARCH_ARC
@@ -161,6 +197,7 @@ endchoice
config ADK_TARGET_LINUX_KERNEL_GIT_REPO
string "git repository"
depends on ADK_TARGET_LINUX_KERNEL_VERSION_GIT
+ default "https://github.com/foss-for-synopsys-dwc-arc-processors/linux.git" if ADK_TARGET_CPU_ARC_ARC32 || ADK_TARGET_CPU_ARC_ARC64
default "https://github.com/raspberrypi/linux.git" if ADK_TARGET_BOARD_BCM28XX
default "git://git.code.sf.net/p/adi-linux/code" if ADK_TARGET_SYSTEM_ADSP_BF537
default "https://github.com/EmcraftSystems/linux-emcraft.git" if ADK_TARGET_SYSTEM_KINETIS_K70
@@ -168,7 +205,9 @@ config ADK_TARGET_LINUX_KERNEL_GIT_REPO
default "https://github.com/SolidRun/linux-armada38x.git" if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
default "https://github.com/beagleboard/linux.git" if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK
default "https://git.phytec.de/git/linux-ti.git" if ADK_TARGET_SYSTEM_PHYTEC_WEGA
- default "https://github.com/shenki/linux-lm32.git" if ADK_TARGET_ARCH_LM32
+ default "https://github.com/kalray/linux_coolidge.git" if ADK_TARGET_ARCH_KVX
+ default "https://github.com/m-labs/linux-milkymist.git" if ADK_TARGET_ARCH_LM32
+ default "https://github.com/radxa/kernel.git" if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
default "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git"
help
GIT repository to use.
@@ -176,6 +215,8 @@ config ADK_TARGET_LINUX_KERNEL_GIT_REPO
config ADK_TARGET_LINUX_KERNEL_GIT_REPO_NAME
string
depends on ADK_TARGET_LINUX_KERNEL_VERSION_GIT
+ default "arc" if ADK_TARGET_CPU_ARC_ARC32 || ADK_TARGET_CPU_ARC_ARC64
+ default "kvx" if ADK_TARGET_ARCH_KVX
default "lm32" if ADK_TARGET_ARCH_LM32
default "rpi" if ADK_TARGET_BOARD_BCM28XX
default "ad" if ADK_TARGET_SYSTEM_ADSP_BF537
@@ -184,34 +225,43 @@ config ADK_TARGET_LINUX_KERNEL_GIT_REPO_NAME
default "phytec" if ADK_TARGET_SYSTEM_PHYTEC_WEGA
default "clearfog" if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
default "fslc" if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
+ default "radxa" if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
default "linus"
config ADK_TARGET_LINUX_KERNEL_GIT
string "git version"
depends on ADK_TARGET_LINUX_KERNEL_VERSION_GIT
- default "b6a72d383cf0d4c9c448c1f4e5e8d496ea5c1fd8" if ADK_TARGET_ARCH_LM32
- default "a2092141807514666a273971cc8fa9e80f14439f" if ADK_TARGET_BOARD_BCM28XX
+ default "f6e9dab9d1dc1e8fa2acb75504bf5ff86b885b8e" if ADK_TARGET_CPU_ARC_ARC32 || ADK_TARGET_CPU_ARC_ARC64
+ default "b02c139d3608c8ae87f5398a3a29854f6df7a041" if ADK_TARGET_ARCH_KVX
+ default "6a2f2e4198eaff63ee75f6085ce9f966c47b4441" if ADK_TARGET_ARCH_LM32
+ default "d5066442e39dd9bf4ba6431ffb3f99e3d5085d3f" if ADK_TARGET_BOARD_BCM28XX
default "f8d3b2a0fa5054aaed0f14cd457db9d8922bb167" if ADK_TARGET_SYSTEM_ADSP_BF537
default "e7c8afc1dda7b7c18596d90ad6a17ae886650b72" if ADK_TARGET_SYSTEM_KINETIS_K70
default "902739f3353150ac9eb69ad995098f3079d862a3" if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
default "c85fbc86c61a8c8fd45ab1fe3d1bdd2df12f7962" if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
default "8624998967676862843aed1f8ee2141e98987f81" if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK
+ default "stable-4.4-rockpi4" if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
default "v4.4.52-phy" if ADK_TARGET_SYSTEM_PHYTEC_WEGA
config ADK_TARGET_LINUX_KERNEL_GIT_VER
string "kernel version"
depends on ADK_TARGET_LINUX_KERNEL_VERSION_GIT
- default "4.14.43" if ADK_TARGET_BOARD_BCM28XX
+ default "5.16" if ADK_TARGET_CPU_ARC_ARC32 || ADK_TARGET_CPU_ARC_ARC64
+ default "6.1.70" if ADK_TARGET_BOARD_BCM28XX
+ default "5.10.110" if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
default "4.4.37" if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK
default "4.4.52" if ADK_TARGET_SYSTEM_PHYTEC_WEGA
default "2.6.33" if ADK_TARGET_SYSTEM_KINETIS_K70
default "3.14.79" if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
- default "4.8.0" if ADK_TARGET_SYSTEM_QEMU_LM32
+ default "3.6.0" if ADK_TARGET_SYSTEM_QEMU_LM32
+ default "5.8.12" if ADK_TARGET_ARCH_KVX
config ADK_TARGET_LINUX_KERNEL_GIT_TYPE
string
depends on ADK_TARGET_LINUX_KERNEL_VERSION_GIT
+ default "branch" if ADK_TARGET_LINUX_ARCH_LM32
default "branch" if ADK_TARGET_SYSTEM_PHYTEC_WEGA
+ default "branch" if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
default "hash"
config ADK_TARGET_LINUX_KERNEL_NO_MIRROR
diff --git a/target/linux/arch.lst b/target/linux/arch.lst
index 0765129d3..94d0f018f 100644
--- a/target/linux/arch.lst
+++ b/target/linux/arch.lst
@@ -11,7 +11,9 @@ frv
h8300
hppa
ia64
+kvx
lm32
+loongarch
m68k
metag
microblaze
diff --git a/target/linux/config/Config.in.arc b/target/linux/config/Config.in.arc
index ead549b73..461d1b7cd 100644
--- a/target/linux/config/Config.in.arc
+++ b/target/linux/config/Config.in.arc
@@ -20,7 +20,8 @@ config ADK_LINUX_KERNEL_ARC_BUILTIN_DTB_NAME
string
depends on ADK_TARGET_ARCH_ARC
default "hsdk" if ADK_TARGET_CPU_ARC_ARCHS && ADK_TARGET_SYSTEM_SYNOPSYS_HSDK
- default "nsim_hs" if ADK_TARGET_CPU_ARC_ARCHS && ADK_TARGET_SYSTEM_SYNOPSYS_NSIM
- default "nsim_700" if ADK_TARGET_CPU_ARC_ARC700 && ADK_TARGET_SYSTEM_SYNOPSYS_NSIM
+ default "haps_hs" if ADK_TARGET_CPU_ARC_ARCHS && ADK_TARGET_SYSTEM_SYNOPSYS_NSIM
+ default "haps_hs" if ADK_TARGET_CPU_ARC_ARCHS && ADK_TARGET_SYSTEM_QEMU_ARC
+ default "nsim_700" if ADK_TARGET_CPU_ARC_ARC700
diff --git a/target/linux/config/Config.in.audio b/target/linux/config/Config.in.audio
index 6084ebfed..cbcb0e29a 100644
--- a/target/linux/config/Config.in.audio
+++ b/target/linux/config/Config.in.audio
@@ -109,6 +109,18 @@ config ADK_LINUX_KERNEL_SND_SOC_PCM512x_SPI
select ADK_LINUX_KERNEL_SND_SOC_PCM512x
select ADK_LINUX_KERNEL_SND_SOC_I2C_AND_SPI
+config ADK_LINUX_KERNEL_SND_DESIGNWARE_I2S
+ tristate
+
+config ADK_LINUX_KERNEL_SND_SOC_ROCKCHIP_I2S
+ tristate
+
+config ADK_LINUX_KERNEL_SND_SOC_ES8316
+ tristate
+
+config ADK_LINUX_KERNEL_SND_AUDIO_GRAPH_CARD
+ tristate
+
config ADK_LINUX_KERNEL_SND
tristate
select ADK_LINUX_KERNEL_SOUND
@@ -140,6 +152,19 @@ config ADK_LINUX_KERNEL_SND_INTEL8X0
help
Driver for intel chipsets.
+config ADK_LINUX_KERNEL_SND_SOC_ROCKCHIP
+ tristate "Rockchip driver (ES8316 Codec)"
+ select ADK_LINUX_KERNEL_SND
+ select ADK_LINUX_KERNEL_SND_SOC
+ select ADK_LINUX_KERNEL_SND_SOC_ES8316
+ select ADK_LINUX_KERNEL_SND_SOC_ROCKCHIP_I2S
+ select ADK_LINUX_KERNEL_SND_DESIGNWARE_I2S
+ select ADK_LINUX_KERNEL_SND_AUDIO_GRAPH_CARD
+ default m if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+ default n
+ help
+ ALSA Rockchip driver
+
config ADK_LINUX_KERNEL_SND_VIA82XX
tristate "VIA82XX driver"
select ADK_LINUX_KERNEL_SND
@@ -194,6 +219,7 @@ config ADK_LINUX_KERNEL_SND_BCM2835
tristate "BCM28XX onboard soundcard"
select ADK_LINUX_KERNEL_SND
select ADK_LINUX_KERNEL_SND_ARM
+ select ADK_LINUX_KERNEL_STAGING
depends on ADK_TARGET_BOARD_BCM28XX
default m if ADK_TARGET_HARDWARE_NONE
default n
diff --git a/target/linux/config/Config.in.block b/target/linux/config/Config.in.block
index f6c265266..e7b35a3d7 100644
--- a/target/linux/config/Config.in.block
+++ b/target/linux/config/Config.in.block
@@ -148,6 +148,12 @@ config ADK_LINUX_KERNEL_MMC_SDHCI_IO_ACCESSORS
config ADK_LINUX_KERNEL_MMC_SDHCI_PLTFM
bool
+config ADK_LINUX_KERNEL_MMC_SDHCI_IPROC
+ bool
+
+config ADK_LINUX_KERNEL_MMC_SDHCI_BRCMSTB
+ bool
+
config ADK_LINUX_KERNEL_MMC_BCM2835_MMC
bool
@@ -157,6 +163,12 @@ config ADK_LINUX_KERNEL_MMC_BCM2835_DMA
config ADK_LINUX_KERNEL_MMC_BCM2835_SDHOST
bool
+config ADK_LINUX_KERNEL_MMC_DW
+ bool
+
+config ADK_LINUX_KERNEL_MMC_DW_PLTFM
+ bool
+
config ADK_LINUX_KERNEL_PWRSEQ_EMMC
bool
@@ -173,7 +185,6 @@ menu "SATA/PATA devices support"
depends on ADK_TARGET_WITH_PATA \
|| ADK_TARGET_WITH_SATA \
|| ADK_TARGET_QEMU \
- || ADK_TARGET_VBOX \
|| ADK_TARGET_GENERIC
config ADK_LINUX_KERNEL_PATA_RB532
@@ -231,10 +242,8 @@ config ADK_LINUX_KERNEL_SATA_AHCI
select ADK_LINUX_KERNEL_BLK_DEV_SD
depends on \
ADK_TARGET_SYSTEM_PCENGINES_APU || \
- ADK_TARGET_GENERIC || \
- ADK_TARGET_VBOX
+ ADK_TARGET_GENERIC
default y if ADK_TARGET_SYSTEM_PCENGINES_APU
- default y if ADK_TARGET_VBOX
default n
help
Enables support for AHCI Serial ATA.
@@ -466,6 +475,8 @@ config ADK_LINUX_KERNEL_MMC_BCM2835_MMC
select ADK_LINUX_KERNEL_BLK_DEV_THROTTLING
select ADK_LINUX_KERNEL_MMC_SDHCI
select ADK_LINUX_KERNEL_MMC_SDHCI_PLTFM
+ select ADK_LINUX_KERNEL_MMC_SDHCI_IPROC
+ select ADK_LINUX_KERNEL_MMC_SDHCI_BRCMSTB if ADK_TARGET_SYSTEM_RASPBERRY_PI5
select ADK_LINUX_KERNEL_MMC_BCM2835_DMA
select ADK_LINUX_KERNEL_MMC_BCM2835_SDHOST
depends on ADK_TARGET_BOARD_BCM28XX
@@ -549,6 +560,31 @@ config ADK_LINUX_KERNEL_MMC_ATMELMCI
Atmel Multimedia Card Interface driver for AT32
and AT91 plattforms.
+config ADK_LINUX_KERNEL_MMC_DW_ROCKCHIP
+ bool "SD/MMC Driver (Rockchip)"
+ select ADK_LINUX_KERNEL_BLOCK
+ select ADK_LINUX_KERNEL_BLK_DEV
+ select ADK_LINUX_KERNEL_LBDAF
+ select ADK_LINUX_KERNEL_SCSI
+ select ADK_LINUX_KERNEL_SCSI_DMA
+ select ADK_LINUX_KERNEL_SCSI_MULTI_LUN
+ select ADK_LINUX_KERNEL_SCSI_CONSTANTS
+ select ADK_LINUX_KERNEL_SCSI_LOGGING
+ select ADK_LINUX_KERNEL_SCSI_SCAN_ASYNC
+ select ADK_LINUX_KERNEL_MMC
+ select ADK_LINUX_KERNEL_MMC_BLOCK
+ select ADK_LINUX_KERNEL_MMC_BLOCK_BOUNCE
+ select ADK_LINUX_KERNEL_MMC_SDHCI
+ select ADK_LINUX_KERNEL_MMC_SDHCI_IO_ACCESSORS
+ select ADK_LINUX_KERNEL_MMC_SDHCI_PLTFM
+ select ADK_LINUX_KERNEL_MMC_DW
+ select ADK_LINUX_KERNEL_MMC_DW_PLTFM
+ depends on ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+ default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+ default n
+ help
+ RockPI 4 Plus driver for MMC
+
endmenu
menu "Block driver support"
@@ -645,6 +681,33 @@ config ADK_LINUX_KERNEL_DM_MIRROR
Allow volume managers to mirror logical volumes, also
needed for live data migration tools such as 'pvmove'.
+config ADK_LINUX_KERNEL_DM_RAID
+ tristate "RAID 1/4/5/6/10 target"
+ depends on ADK_LINUX_KERNEL_BLK_DEV_DM
+ select ADK_LINUX_KERNEL_MD_RAID0
+ select ADK_LINUX_KERNEL_MD_RAID1
+ select ADK_LINUX_KERNEL_MD_RAID10
+ select ADK_LINUX_KERNEL_MD_RAID456
+ select ADK_LINUX_KERNEL_BLK_DEV_MD
+ ---help---
+ A dm target that supports RAID1, RAID10, RAID4, RAID5 and RAID6 mappings
+
+ A RAID-5 set of N drives with a capacity of C MB per drive provides
+ the capacity of C * (N - 1) MB, and protects against a failure
+ of a single drive. For a given sector (row) number, (N - 1) drives
+ contain data sectors, and one drive contains the parity protection.
+ For a RAID-4 set, the parity blocks are present on a single drive,
+ while a RAID-5 set distributes the parity across the drives in one
+ of the available parity distribution methods.
+
+ A RAID-6 set of N drives with a capacity of C MB per drive
+ provides the capacity of C * (N - 2) MB, and protects
+ against a failure of any two drives. For a given sector
+ (row) number, (N - 2) drives contain data sectors, and two
+ drives contains two independent redundancy syndromes. Like
+ RAID-5, RAID-6 distributes the syndromes across the drives
+ in one of the available parity distribution methods.
+
config ADK_LINUX_KERNEL_BLK_DEV_DRBD
tristate "DRBD support (Network RAID 1)"
select ADK_LINUX_KERNEL_BLOCK
diff --git a/target/linux/config/Config.in.bluetooth b/target/linux/config/Config.in.bluetooth
index 49f0a1202..44df845af 100644
--- a/target/linux/config/Config.in.bluetooth
+++ b/target/linux/config/Config.in.bluetooth
@@ -132,12 +132,18 @@ config ADK_LINUX_KERNEL_BT_HCIUART_3WIRE
depends on ADK_LINUX_KERNEL_BT_HCIUART
default n
+config ADK_LINUX_KERNEL_BT_HCIUART_SERDEV
+ bool
+ depends on ADK_LINUX_KERNEL_BT_HCIUART
+ default n
+
config ADK_LINUX_KERNEL_BT_HCIUART_BCM
- tristate "Broadcom protocol support"
- select ADK_LINUX_KERNEL_BT_HCIUART
+ bool "Broadcom protocol support"
+ select ADK_LINUX_KERNEL_BT_HCIUART_SERDEV
select ADK_LINUX_KERNEL_BT_HCIUART_3WIRE
select ADK_LINUX_KERNEL_BT_BCM
- depends on ADK_TARGET_SYSTEM_RASPBERRY_PI3 || ADK_TARGET_SYSTEM_RASPBERRY_PI3P
+ depends on ADK_TARGET_SYSTEM_RASPBERRY_PI3 || \
+ ADK_TARGET_SYSTEM_ROCKPI4_PLUS
default n
help
The Broadcom protocol support enables Bluetooth HCI over serial
diff --git a/target/linux/config/Config.in.bus b/target/linux/config/Config.in.bus
index 5f909e9cc..45c79e1eb 100644
--- a/target/linux/config/Config.in.bus
+++ b/target/linux/config/Config.in.bus
@@ -6,7 +6,6 @@ config ADK_LINUX_KERNEL_PCI
select ADK_LINUX_KERNEL_PCI_QUIRKS
depends on ADK_TARGET_WITH_PCI \
|| ADK_TARGET_QEMU \
- || ADK_TARGET_VBOX \
|| ADK_TARGET_GENERIC
default n if ADK_TARGET_CPU_XTENSA_DE212
default n if ADK_TARGET_SYSTEM_GENERIC_NDS32
diff --git a/target/linux/config/Config.in.compression b/target/linux/config/Config.in.compression
index 2eeaab240..2e3d16b6c 100644
--- a/target/linux/config/Config.in.compression
+++ b/target/linux/config/Config.in.compression
@@ -8,6 +8,10 @@ config ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_XZ
bool
select ADK_HOST_NEED_XZ
+config ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_ZSTD
+ bool
+ select ADK_HOST_NEED_ZSTD
+
config ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_LZ4
bool
select ADK_HOST_NEED_LZ4
@@ -57,6 +61,12 @@ config ADK_LINUX_KERNEL_RD_LZO
config ADK_LINUX_KERNEL_KERNEL_LZO
bool
+config ADK_LINUX_KERNEL_RD_ZSTD
+ bool
+
+config ADK_LINUX_KERNEL_KERNEL_ZSTD
+ bool
+
config ADK_LINUX_KERNEL_RD_XZ
bool
@@ -74,8 +84,17 @@ choice
prompt "Kernel compression"
depends on ADK_TARGET_OS_LINUX && !ADK_APPLIANCE_TOOLCHAIN && !ADK_TARGET_CHOOSE_ARCH
default ADK_LINUX_KERNEL_COMP_GZIP if ADK_TARGET_BOARD_BCM28XX
+default ADK_LINUX_KERNEL_COMP_ZSTD if ADK_TARGET_ARCH_OR1K
default ADK_LINUX_KERNEL_COMP_XZ
+config ADK_LINUX_KERNEL_COMP_ZSTD
+ bool "use Zstandard compression"
+ select ADK_LINUX_KERNEL_RD_ZSTD
+ select ADK_LINUX_KERNEL_KERNEL_ZSTD
+ select ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_ZSTD
+ depends on ADK_TARGET_KERNEL_WITH_COMPRESSION \
+ || ADK_TARGET_GENERIC
+
config ADK_LINUX_KERNEL_COMP_XZ
bool "use XZ compression"
select ADK_LINUX_KERNEL_RD_XZ
diff --git a/target/linux/config/Config.in.cpu b/target/linux/config/Config.in.cpu
index 8a78d7572..5effd7bfd 100644
--- a/target/linux/config/Config.in.cpu
+++ b/target/linux/config/Config.in.cpu
@@ -50,8 +50,10 @@ config ADK_LINUX_KERNEL_CPUFREQ_DT
bool "CPU frequency support DT"
select ADK_LINUX_KERNEL_CPU_FREQ
select ADK_LINUX_KERNEL_CPUFREQ_DT_PLATDEV
- depends on ADK_TARGET_SYSTEM_ORANGE_PI0
+ depends on ADK_TARGET_SYSTEM_ORANGE_PI0 || \
+ ADK_TARGET_SYSTEM_ROCKPI4_PLUS
default y if ADK_TARGET_SYSTEM_ORANGE_PI0
+ default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
default n
config ADK_LINUX_KERNEL_ARM_IMX6Q_CPUFREQ
diff --git a/target/linux/config/Config.in.crypto b/target/linux/config/Config.in.crypto
index c25c7dc51..949b98312 100644
--- a/target/linux/config/Config.in.crypto
+++ b/target/linux/config/Config.in.crypto
@@ -557,4 +557,61 @@ config ADK_LINUX_KERNEL_CRYPTO_CRC32C
Module will be crc32c.
endmenu
+
+menu "User-space interface"
+
+config ADK_LINUX_KERNEL_CRYPTO_USER_API
+ tristate
+
+config ADK_LINUX_KERNEL_CRYPTO_USER_API_HASH
+ tristate "User-space interface for hash algorithms"
+ depends on ADK_LINUX_KERNEL_NET
+ select ADK_LINUX_KERNEL_CRYPTO_HASH
+ select ADK_LINUX_KERNEL_CRYPTO_USER_API
+ help
+ This option enables the user-spaces interface for hash
+ algorithms.
+
+config ADK_LINUX_KERNEL_CRYPTO_USER_API_SKCIPHER
+ tristate "User-space interface for symmetric key cipher algorithms"
+ depends on ADK_LINUX_KERNEL_NET
+ select ADK_LINUX_KERNEL_CRYPTO_BLKCIPHER
+ select ADK_LINUX_KERNEL_CRYPTO_USER_API
+ help
+ This option enables the user-spaces interface for symmetric
+ key cipher algorithms.
+
+config ADK_LINUX_KERNEL_CRYPTO_USER_API_RNG
+ tristate "User-space interface for random number generator algorithms"
+ depends on ADK_LINUX_KERNEL_NET
+ select ADK_LINUX_KERNEL_CRYPTO_RNG
+ select ADK_LINUX_KERNEL_CRYPTO_USER_API
+ help
+ This option enables the user-spaces interface for random
+ number generator algorithms.
+
+config ADK_LINUX_KERNEL_CRYPTO_USER_API_AEAD
+ tristate "User-space interface for AEAD cipher algorithms"
+ depends on ADK_LINUX_KERNEL_NET
+ select ADK_LINUX_KERNEL_CRYPTO_AEAD
+ select ADK_LINUX_KERNEL_CRYPTO_BLKCIPHER
+ select ADK_LINUX_KERNEL_CRYPTO_NULL
+ select ADK_LINUX_KERNEL_CRYPTO_USER_API
+ help
+ This option enables the user-spaces interface for AEAD
+ cipher algorithms.
+
+config ADK_LINUX_KERNEL_CRYPTO_STATS
+ bool "Crypto usage statistics for User-space"
+ depends on ADK_LINUX_KERNEL_CRYPTO_USER
+ help
+ This option enables the gathering of crypto stats.
+ This will collect:
+ - encrypt/decrypt size and numbers of symmeric operations
+ - compress/decompress size and numbers of compress operations
+ - size and numbers of hash operations
+ - encrypt/decrypt/sign/verify numbers for asymmetric operations
+ - generate/seed numbers for rng operations
+
+endmenu
endmenu
diff --git a/target/linux/config/Config.in.ethernet b/target/linux/config/Config.in.ethernet
index 9a98c8ef1..ec58b3069 100644
--- a/target/linux/config/Config.in.ethernet
+++ b/target/linux/config/Config.in.ethernet
@@ -9,7 +9,7 @@ config ADK_LINUX_KERNEL_NET_ETHERNET
bool
default y
-config ADK_LINUX_KERNEL_NET_CADENCE
+config ADK_LINUX_KERNEL_NET_VENDOR_CADENCE
bool
config ADK_LINUX_KERNEL_NET_VENDOR_ARC
@@ -21,6 +21,9 @@ config ADK_LINUX_KERNEL_NET_VENDOR_AMD
config ADK_LINUX_KERNEL_NET_VENDOR_ATHEROS
bool
+config ADK_LINUX_KERNEL_NET_VENDOR_BROADCOM
+ bool
+
config ADK_LINUX_KERNEL_NET_VENDOR_DEC
bool
@@ -115,6 +118,9 @@ config ADK_LINUX_KERNEL_DWMAC_GENERIC
config ADK_LINUX_KERNEL_DWMAC_SUNXI
bool
+config ADK_LINUX_KERNEL_DWMAC_ROCKCHIP
+ bool
+
config ADK_LINUX_KERNEL_STMMAC_PLATFORM
bool
@@ -152,6 +158,17 @@ config ADK_LINUX_KERNEL_AG71XX
help
Atheros AG71XX ethernet driver
+config ADK_LINUX_KERNEL_BCMGENET
+ tristate "Broadcom GENET internal MAC support"
+ select ADK_LINUX_KERNEL_NET_VENDOR_BROADCOM
+ depends on ADK_TARGET_SYSTEM_RASPBERRY_PI4 || \
+ ADK_TARGET_SYSTEM_RASPBERRY_PI4_64
+ default y if ADK_TARGET_SYSTEM_RASPBERRY_PI4 || \
+ ADK_TARGET_SYSTEM_RASPBERRY_PI4_64
+ default n
+ help
+ Broadcom GENET internal MAC support
+
config ADK_LINUX_KERNEL_DE2104X
tristate "DE2104X ethernet driver"
select ADK_LINUX_KERNEL_NET_VENDOR_DEC
@@ -233,10 +250,10 @@ config ADK_LINUX_KERNEL_USB_LAN78XX
tristate "Microchip LAN78XX"
select ADK_LINUX_KERNEL_USB_NET_DRIVERS
select ADK_LINUX_KERNEL_USB_USBNET
- depends on ADK_TARGET_SYSTEM_RASPBERRY_PI3P \
- || ADK_TARGET_SYSTEM_RASPBERRY_PI3P_64
- default y if ADK_TARGET_SYSTEM_RASPBERRY_PI3P
- default y if ADK_TARGET_SYSTEM_RASPBERRY_PI3P_64
+ depends on ADK_TARGET_SYSTEM_RASPBERRY_PI3 \
+ || ADK_TARGET_SYSTEM_RASPBERRY_PI3_64
+ default y if ADK_TARGET_SYSTEM_RASPBERRY_PI3
+ default y if ADK_TARGET_SYSTEM_RASPBERRY_PI3_64
default n
help
Microchip LAN78XX Based USB Ethernet Adapters.
@@ -246,9 +263,11 @@ config ADK_LINUX_KERNEL_SMC91X
select ADK_LINUX_KERNEL_NET_VENDOR_SMSC
select ADK_LINUX_KERNEL_GPIOLIB
depends on ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB || \
- ADK_TARGET_SYSTEM_QEMU_ARM_REALVIEW_EB_MPCORE
+ ADK_TARGET_SYSTEM_QEMU_ARM_REALVIEW_EB_MPCORE || \
+ ADK_TARGET_SYSTEM_HITACHI_EDOSK2674
default y if ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB
default y if ADK_TARGET_SYSTEM_QEMU_ARM_REALVIEW_EB_MPCORE
+ default y if ADK_TARGET_SYSTEM_HITACHI_EDOSK2674
default n
help
SMC91X ethernet driver
@@ -372,7 +391,6 @@ config ADK_LINUX_KERNEL_E1000
ADK_TARGET_SYSTEM_QEMU_ALPHA || \
ADK_TARGET_SYSTEM_QEMU_HPPA || \
ADK_TARGET_SYSTEM_QEMU_SPARC64 || \
- ADK_TARGET_VBOX || \
ADK_TARGET_GENERIC
default y if ADK_TARGET_SYSTEM_QEMU_X86
default y if ADK_TARGET_SYSTEM_QEMU_X86_64
@@ -384,7 +402,6 @@ config ADK_LINUX_KERNEL_E1000
default y if ADK_TARGET_SYSTEM_QEMU_ALPHA
default y if ADK_TARGET_SYSTEM_QEMU_HPPA
default y if ADK_TARGET_SYSTEM_QEMU_SPARC64
- default y if ADK_TARGET_VBOX
default n
help
Intel(R) PRO/1000 gigabit ethernet driver
@@ -419,13 +436,15 @@ config ADK_LINUX_KERNEL_IBMVETH
IBM ethernet driver
config ADK_LINUX_KERNEL_MACB
- tristate "Atmel AT32/AT91 network driver"
- select ADK_LINUX_KERNEL_NET_CADENCE
+ tristate "Cadence MACB network driver"
+ select ADK_LINUX_KERNEL_NET_VENDOR_CADENCE
depends on ADK_TARGET_CPU_AVR32 \
+ || ADK_TARGET_SYSTEM_RASPBERRY_PI5 \
|| ADK_TARGET_SYSTEM_QEMU_ARM_XILINX_ZYNQ
default y if ADK_TARGET_SYSTEM_ATMEL_NGW100
default y if ADK_TARGET_SYSTEM_ATMEL_GRASSHOPPER
default y if ADK_TARGET_SYSTEM_QEMU_ARM_XILINX_ZYNQ
+ default y if ADK_TARGET_SYSTEM_RASPBERRY_PI5
default n
help
Ethernet Driver for Atmel AT32 and AT91 parts. This driver
@@ -487,14 +506,17 @@ config ADK_LINUX_KERNEL_STMMAC_ETH
select ADK_LINUX_KERNEL_DWMAC_GENERIC if ADK_TARGET_SYSTEM_QEMU_CSKY
select ADK_LINUX_KERNEL_DWMAC_GENERIC if ADK_TARGET_SYSTEM_SYNOPSYS_HSDK
select ADK_LINUX_KERNEL_MICREL_PHY if ADK_TARGET_SYSTEM_SYNOPSYS_HSDK
+ select ADK_LINUX_KERNEL_DWMAC_ROCKCHIP if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
depends on ADK_TARGET_SYSTEM_BANANA_PRO \
|| ADK_TARGET_SYSTEM_ORANGE_PI0 \
|| ADK_TARGET_SYSTEM_QEMU_CSKY \
- || ADK_TARGET_SYSTEM_SYNOPSYS_HSDK
+ || ADK_TARGET_SYSTEM_SYNOPSYS_HSDK \
+ || ADK_TARGET_SYSTEM_ROCKPI4_PLUS
default y if ADK_TARGET_SYSTEM_BANANA_PRO
default y if ADK_TARGET_SYSTEM_ORANGE_PI0
default y if ADK_TARGET_SYSTEM_QEMU_CSKY
default y if ADK_TARGET_SYSTEM_SYNOPSYS_HSDK
+ default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
default n
config ADK_LINUX_KERNEL_SUNGEM
diff --git a/target/linux/config/Config.in.fs b/target/linux/config/Config.in.fs
index d90c09911..1bed25ee6 100644
--- a/target/linux/config/Config.in.fs
+++ b/target/linux/config/Config.in.fs
@@ -96,6 +96,25 @@ config ADK_LINUX_KERNEL_EXT4_FS
help
Ext4 filesystem.
+config ADK_LINUX_KERNEL_BTRFS_FS
+ tristate "Btrfs filesystem support"
+ select ADK_LINUX_KERNEL_BLOCK
+ help
+ Btrfs is a general purpose copy-on-write filesystem with extents,
+ writable snapshotting, support for multiple devices and many more
+ features focused on fault tolerance, repair and easy administration.
+
+ The filesystem disk format is no longer unstable, and it's not
+ expected to change unless there are strong reasons to do so. If there
+ is a format change, file systems with a unchanged format will
+ continue to be mountable and usable by newer kernels.
+
+ For more information, please see the web pages at
+ http://btrfs.wiki.kernel.org.
+
+ To compile this file system support as a module, choose M here. The
+ module will be called btrfs.
+
config ADK_LINUX_KERNEL_HFSPLUS_FS
tristate "HFS+ filesystem support"
select ADK_LINUX_KERNEL_BLOCK
@@ -252,6 +271,12 @@ config ADK_LINUX_KERNEL_UBIFS_FS
help
UBIFS is a file system for flash devices which works on top of UBI.
+config ADK_LINUX_KERNEL_OVERLAY_FS
+ bool "Overlay filesystem support"
+ help
+ This enables the overlay filesystem which is present
+ in upstream kernels starting with version 3.18.
+
endmenu
diff --git a/target/linux/config/Config.in.fsopts b/target/linux/config/Config.in.fsopts
index d8afb57ce..ec2a5378f 100644
--- a/target/linux/config/Config.in.fsopts
+++ b/target/linux/config/Config.in.fsopts
@@ -9,4 +9,7 @@ config ADK_LINUX_KERNEL_INOTIFY_USER
config ADK_LINUX_KERNEL_DNOTIFY
bool "Enable DNOTIFY"
+config ADK_LINUX_KERNEL_FANOTIFY
+ bool "Enable FANOTIFY"
+
endmenu
diff --git a/target/linux/config/Config.in.graphics b/target/linux/config/Config.in.graphics
index a1908e167..11e94db68 100644
--- a/target/linux/config/Config.in.graphics
+++ b/target/linux/config/Config.in.graphics
@@ -4,7 +4,6 @@
menu "Graphic devices support"
depends on ADK_TARGET_WITH_VGA \
|| ADK_TARGET_QEMU \
- || ADK_TARGET_VBOX \
|| ADK_TARGET_GENERIC
config ADK_LINUX_KERNEL_VT
@@ -40,6 +39,9 @@ config ADK_LINUX_KERNEL_FB
select ADK_LINUX_KERNEL_VT
select ADK_LINUX_KERNEL_VT_CONSOLE
+config ADK_LINUX_KERNEL_FB_DEVICE
+ bool
+
config ADK_LINUX_KERNEL_FB_SBUS
bool
@@ -164,12 +166,12 @@ config ADK_LINUX_KERNEL_FB_SM501
config ADK_LINUX_KERNEL_DRM
bool
-config ADK_LINUX_KERNEL_DRM_VC4
- bool
-
config ADK_LINUX_KERNEL_DRM_I915
bool
+config ADK_LINUX_KERNEL_DRM_V3D
+ tristate
+
config ADK_LINUX_KERNEL_DRM_KMS_HELPER
bool
@@ -211,7 +213,6 @@ config ADK_LINUX_KERNEL_FB_VESA
bool "Framebuffer support for VESA"
select ADK_LINUX_KERNEL_FB
select ADK_LINUX_KERNEL_FRAMEBUFFER_CONSOLE
- default y if ADK_TARGET_VBOX
default n
help
Generic VESA Framebuffer support.
@@ -248,6 +249,29 @@ config ADK_LINUX_KERNEL_DRM_ETNAVIV
default n
help
Framebuffer support for Cubox-i/Hummingboard (Vivante)
+
+config ADK_LINUX_KERNEL_DRM_VC4
+ tristate "DRM support for VC4 GPU (Raspberry PI4/PI5)"
+ select ADK_LINUX_KERNEL_DRM
+ select ADK_LINUX_KERNEL_DRM_V3D
+ select ADK_LINUX_KERNEL_SND
+ select ADK_LINUX_KERNEL_SND_SOC
+ select ADK_LINUX_KERNEL_PM
+ select ADK_LINUX_KERNEL_COMMON_CLK
+ select ADK_LINUX_KERNEL_FB
+ select ADK_LINUX_KERNEL_FRAMEBUFFER_CONSOLE
+ select ADK_LINUX_KERNEL_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY
+ depends on ADK_TARGET_SYSTEM_RASPBERRY_PI4 || \
+ ADK_TARGET_SYSTEM_RASPBERRY_PI5 || \
+ ADK_TARGET_SYSTEM_RASPBERRY_PI4_64
+ default m if ADK_TARGET_SYSTEM_RASPBERRY_PI4 || \
+ ADK_TARGET_SYSTEM_RASPBERRY_PI5 || \
+ ADK_TARGET_SYSTEM_RASPBERRY_PI4_64 && \
+ ADK_PACKAGE_KODI
+ default n
+ help
+ DRM support for VC4 GPU (Raspberry PI4/PI5)
+
config ADK_LINUX_KERNEL_FB_PXA
bool "Framebuffer support for PXA boards (Sharp Zaurus)"
@@ -290,6 +314,7 @@ config ADK_LINUX_KERNEL_FB_SM712
config ADK_LINUX_KERNEL_FB_BCM2708
bool "Framebuffer support for BCM28XX boards (Raspberry PI)"
select ADK_LINUX_KERNEL_FB
+ select ADK_LINUX_KERNEL_FB_DEVICE
select ADK_LINUX_KERNEL_FRAMEBUFFER_CONSOLE
select ADK_LINUX_KERNEL_FONT_8x16
default y if ADK_TARGET_BOARD_BCM28XX
@@ -314,6 +339,19 @@ config ADK_LINUX_KERNEL_FB_RADEON
help
Framebuffer support for RADEON chips.
+config ADK_LINUX_KERNEL_DRM_ROCKCHIP
+ bool "Support for Rockchip graphic cards"
+ select ADK_LINUX_KERNEL_FB
+ select ADK_LINUX_KERNEL_DRM
+ select ADK_LINUX_KERNEL_FRAMEBUFFER_CONSOLE
+ select ADK_LINUX_KERNEL_DRM_KMS_HELPER
+ select ADK_LINUX_KERNEL_DRM_FBDEV_EMULATION
+ depends on ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+ default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+ default n
+ help
+ Support for Rockchip chipsets.
+
config ADK_LINUX_KERNEL_DRM_I915
bool "Support for Intel graphic cards"
select ADK_LINUX_KERNEL_FB
diff --git a/target/linux/config/Config.in.i2c b/target/linux/config/Config.in.i2c
index aa3b1d128..2629135b1 100644
--- a/target/linux/config/Config.in.i2c
+++ b/target/linux/config/Config.in.i2c
@@ -28,6 +28,26 @@ config ADK_LINUX_KERNEL_I2C_GPIO
config ADK_LINUX_KERNEL_I2C_BCM2835
tristate
+config ADK_LINUX_KERNEL_I2C_DESIGNWARE_CORE
+ tristate
+
+config ADK_LINUX_KERNEL_I2C_DESIGNWARE_PLATFORM
+ tristate
+
+config ADK_LINUX_KERNEL_I2C_RK3X
+ tristate "I2C driver for Rockchip"
+ select ADK_LINUX_KERNEL_I2C
+ select ADK_LINUX_KERNEL_REGMAP
+ select ADK_LINUX_KERNEL_REGMAP_I2C
+ select ADK_LINUX_KERNEL_I2C_CHARDEV
+ select ADK_LINUX_KERNEL_I2C_DESIGNWARE_CORE
+ select ADK_LINUX_KERNEL_I2C_DESIGNWARE_PLATFORM
+ depends on ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+ default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+ default n
+ help
+ I2C driver for Synopsys DesignWare.
+
config ADK_LINUX_KERNEL_I2C_BCM2708
tristate "I2C driver for BCM28XX boards"
select ADK_LINUX_KERNEL_I2C
diff --git a/target/linux/config/Config.in.input b/target/linux/config/Config.in.input
index 026187ca6..0d7800c92 100644
--- a/target/linux/config/Config.in.input
+++ b/target/linux/config/Config.in.input
@@ -6,8 +6,7 @@ depends on ADK_TARGET_WITH_USB \
|| ADK_TARGET_WITH_INPUT \
|| ADK_TARGET_WITH_TOUCHSCREEN \
|| ADK_TARGET_QEMU \
- || ADK_TARGET_GENERIC \
- || ADK_TARGET_VBOX
+ || ADK_TARGET_GENERIC
config ADK_LINUX_KERNEL_SERIO
bool
@@ -31,7 +30,6 @@ config ADK_LINUX_KERNEL_SERIO_I8042
config ADK_LINUX_KERNEL_INPUT
bool
- default y if ADK_TARGET_VBOX
default y if ADK_TARGET_SYSTEM_ARANYM_M68K
default y if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
default y if ADK_TARGET_SYSTEM_SHARP_ZAURUS
@@ -81,7 +79,6 @@ config ADK_LINUX_KERNEL_TOUCHSCREEN_ADS7846
config ADK_LINUX_KERNEL_INPUT_KEYBOARD
bool
- default y if ADK_TARGET_VBOX
default y if ADK_TARGET_SYSTEM_ARANYM_M68K
default y if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
default y if ADK_TARGET_SYSTEM_SHARP_ZAURUS
@@ -92,7 +89,6 @@ config ADK_LINUX_KERNEL_INPUT_KEYBOARD
config ADK_LINUX_KERNEL_INPUT_MOUSE
bool
- default y if ADK_TARGET_VBOX
default y if ADK_TARGET_SYSTEM_ARANYM_M68K
default y if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
default y if ADK_TARGET_SYSTEM_SHARP_ZAURUS
@@ -170,7 +166,6 @@ config ADK_LINUX_KERNEL_KEYBOARD_ATKBD
select ADK_LINUX_KERNEL_INPUT
select ADK_LINUX_KERNEL_INPUT_KEYBOARD
depends on !ADK_TARGET_BOARD_BCM28XX
- default y if ADK_TARGET_VBOX
default y if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
default y if ADK_TARGET_MODEL_PCENGINES_ALIX1C
default n
@@ -181,7 +176,6 @@ config ADK_LINUX_KERNEL_MOUSE_PS2
select ADK_LINUX_KERNEL_INPUT_MOUSEDEV
select ADK_LINUX_KERNEL_INPUT_MOUSE
depends on !ADK_TARGET_BOARD_BCM28XX
- default y if ADK_TARGET_VBOX
default y if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
default y if ADK_TARGET_MODEL_PCENGINES_ALIX1C
default n
diff --git a/target/linux/config/Config.in.kernel b/target/linux/config/Config.in.kernel
index 46124094c..e2b619926 100644
--- a/target/linux/config/Config.in.kernel
+++ b/target/linux/config/Config.in.kernel
@@ -5,6 +5,10 @@ config ADK_LINUX_KERNEL_EXPERIMENTAL
bool
default y
+config ADK_LINUX_KERNEL_MODULE_COMPRESS_NONE
+ bool
+ default y
+
config ADK_LINUX_KERNEL_STAGING
bool
@@ -23,6 +27,9 @@ config ADK_LINUX_KERNEL_CGROUPS
config ADK_LINUX_KERNEL_NAMESPACES
bool
+config ADK_LINUX_KERNEL_UTS_NS
+ bool
+
config ADK_LINUX_KERNEL_FHANDLE
bool
@@ -109,6 +116,7 @@ config ADK_LINUX_KERNEL_BINFMT_ELF
config ADK_LINUX_KERNEL_BINFMT_ELF_FDPIC
bool
default y if ADK_TARGET_BINFMT_FDPIC
+ default y if !ADK_TARGET_WITH_MMU && ADK_TARGET_BINFMT_ELF
config ADK_LINUX_KERNEL_BINFMT_FLAT
bool
@@ -138,6 +146,10 @@ config ADK_LINUX_KERNEL_KERNEL_MODE_NEON
bool
default y if ADK_TARGET_ARCH_ARM_WITH_NEON
+config ADK_LINUX_KERNEL_MIPS_FP_SUPPORT
+ bool
+ default y
+
config ADK_LINUX_KERNEL_PATCH_REALTIME
bool
@@ -246,9 +258,83 @@ config ADK_LINUX_KERNEL_HIGHMEM
config ADK_LINUX_KERNEL_CC_OPTIMIZE_FOR_SIZE
bool "Optimize for size"
# does not boot in qemu-microblaze
- depends on !ADK_TARGET_ARCH_MICROBLAZE && !ADK_TARGET_ARCH_RISC64
+ depends on !ADK_TARGET_ARCH_MICROBLAZE && \
+ !ADK_TARGET_ARCH_RISC64 && \
+ !ADK_TARGET_ARCH_KVX
default y
+config ADK_LINUX_KERNEL_IKCONFIG
+ tristate
+
+config ADK_LINUX_KERNEL_IKCONFIG_PROC
+ bool "Enable access to .config through /proc/config.gz"
+ select ADK_LINUX_KERNEL_IKCONFIG
+ default n
+
+config ADK_LINUX_KERNEL_BSD_PROCESS_ACCT
+ bool "BSD Process Accounting"
+ default n
+
+config ADK_LINUX_KERNEL_NAMESPACES
+ bool
+ default n
+
+config ADK_LINUX_KERNEL_GENERIC_VDSO_TIME_NS
+ bool
+ default n
+
+config ADK_LINUX_KERNEL_USER_NS
+ bool "User namespace"
+ select ADK_LINUX_KERNEL_NAMESPACES
+ default n
+
+config ADK_LINUX_KERNEL_NET_NS
+ bool "Network namespace"
+ select ADK_LINUX_KERNEL_NAMESPACES
+ default n
+
+config ADK_LINUX_KERNEL_TIME_NS
+ bool "Network namespace"
+ select ADK_LINUX_KERNEL_NAMESPACES
+ select ADK_LINUX_KERNEL_GENERIC_VDSO_TIME_NS
+ default n
+
+config ADK_LINUX_KERNEL_BPF
+ bool
+ default n
+
+config ADK_LINUX_KERNEL_BPF_SYSCALL
+ bool "Enable bpf() syscall"
+ select ADK_LINUX_KERNEL_BPF
+ default n
+
+config ADK_LINUX_KERNEL_WATCH_QUEUE
+ bool "General notification queue"
+ default n
+
+config ADK_LINUX_KERNEL_MEMCG
+ bool
+ default n
+
+config ADK_LINUX_KERNEL_BLK_CGROUP
+ bool
+ default n
+
+config ADK_LINUX_KERNEL_CGROUP_SCHED
+ bool
+ default n
+
+config ADK_LINUX_KERNEL_CGROUP_PIDS
+ bool
+ default n
+
+config ADK_LINUX_KERNEL_CGROUPS
+ bool "Control group support"
+ select ADK_LINUX_KERNEL_MEMCG
+ select ADK_LINUX_KERNEL_BLK_CGROUP
+ select ADK_LINUX_KERNEL_CGROUP_SCHED
+ select ADK_LINUX_KERNEL_CGROUP_PIDS
+ default n
choice
prompt "Page size"
diff --git a/target/linux/config/Config.in.m68k b/target/linux/config/Config.in.m68k
new file mode 100644
index 000000000..0a8fec23e
--- /dev/null
+++ b/target/linux/config/Config.in.m68k
@@ -0,0 +1,14 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+config ADK_LINUX_KERNEL_M68020
+ bool
+ default y if ADK_TARGET_CPU_M68K_68020
+
+config ADK_LINUX_KERNEL_M68040
+ bool
+ default y if ADK_TARGET_CPU_M68K_68040
+
+config ADK_LINUX_KERNEL_M68KFPU_EMU
+ bool
+ default y if ADK_TARGET_CPU_M68K_68040
diff --git a/target/linux/config/Config.in.misc b/target/linux/config/Config.in.misc
index 5a58fd2cb..c3c958ca3 100644
--- a/target/linux/config/Config.in.misc
+++ b/target/linux/config/Config.in.misc
@@ -10,6 +10,9 @@ config ADK_LINUX_KERNEL_MFD_SYSCON
config ADK_LINUX_KERNEL_OF
bool
+config ADK_LINUX_KERNEL_COMMON_CLK
+ bool
+
config ADK_LINUX_KERNEL_FIRMWARE_IN_KERNEL
bool
default y if ADK_LINUX_KERNEL_R8169 && ADK_LINUX_KERNEL_ROOT_NFS
diff --git a/target/linux/config/Config.in.part b/target/linux/config/Config.in.part
index 16142a092..b87cbe6b7 100644
--- a/target/linux/config/Config.in.part
+++ b/target/linux/config/Config.in.part
@@ -11,4 +11,9 @@ config ADK_LINUX_KERNEL_MSDOS_PARTITION
bool "MSDOS partitions"
default y
+config ADK_LINUX_KERNEL_EFI_PARTITION
+ bool "EFI GUID Partition support"
+ help
+ Support hard disks partitioned using EFI GPT.
+
endmenu
diff --git a/target/linux/config/Config.in.rtc b/target/linux/config/Config.in.rtc
index db68ff960..cf6bddb9e 100644
--- a/target/linux/config/Config.in.rtc
+++ b/target/linux/config/Config.in.rtc
@@ -52,6 +52,17 @@ config ADK_LINUX_KERNEL_RTC_DRV_AT91SAM9
help
Fox G20 RTC support.
+config ADK_LINUX_KERNEL_RTC_DRV_RK808
+ bool "RTC support for Rockchip"
+ select ADK_LINUX_KERNEL_RTC_CLASS
+ select ADK_LINUX_KERNEL_RTC_HCTOSYS
+ select ADK_LINUX_KERNEL_RTC_INTF_DEV
+ default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+ default n
+ depends on ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+ help
+ Rockchip RTC support.
+
config ADK_LINUX_KERNEL_RTC_DRV_CMOS
bool "RTC support for PC CMOS"
select ADK_LINUX_KERNEL_RTC_CLASS
diff --git a/target/linux/config/Config.in.serial b/target/linux/config/Config.in.serial
index 44c78d80b..833c6d1c4 100644
--- a/target/linux/config/Config.in.serial
+++ b/target/linux/config/Config.in.serial
@@ -2,7 +2,7 @@
# material, please see the LICENCE file in the top-level directory.
menu "Serial devices support"
-depends on ADK_TARGET_WITH_SERIAL || ADK_TARGET_QEMU || ADK_TARGET_VBOX || ADK_TARGET_SIM || ADK_TARGET_GENERIC
+depends on ADK_TARGET_WITH_SERIAL || ADK_TARGET_QEMU || ADK_TARGET_SIM || ADK_TARGET_GENERIC
config ADK_LINUX_KERNEL_SERIAL_8250_DMA
bool
@@ -16,6 +16,12 @@ config ADK_LINUX_KERNEL_SERIAL_8250_CONSOLE
config ADK_LINUX_KERNEL_SERIAL_8250_PNP
bool
+config ADK_LINUX_KERNEL_SERIAL_8250_EXTENDED
+ bool
+
+config ADK_LINUX_KERNEL_SERIAL_8250_SHARE_IRQ
+ bool
+
config ADK_LINUX_KERNEL_SERIAL_ARC_CONSOLE
bool
@@ -79,6 +85,9 @@ config ADK_LINUX_KERNEL_SERIAL_8250_INGENIC
config ADK_LINUX_KERNEL_SERIAL_MILKYMIST_CONSOLE
bool
+config ADK_LINUX_KERNEL_SERIAL_8250_BCM2835AUX
+ bool
+
config ADK_LINUX_KERNEL_SERIAL_BFIN
bool "BFIN serial driver"
select ADK_LINUX_KERNEL_SERIAL_BFIN_CONSOLE
@@ -90,8 +99,11 @@ config ADK_LINUX_KERNEL_SERIAL_BFIN
config ADK_LINUX_KERNEL_SERIAL_8250
bool "8250 serial driver"
select ADK_LINUX_KERNEL_SERIAL_8250_CONSOLE
+ select ADK_LINUX_KERNEL_SERIAL_OF_PLATFORM if ADK_TARGET_CPU_ARC_ARCHS && ADK_TARGET_SYSTEM_SYNOPSYS_NSIM
+ select ADK_LINUX_KERNEL_SERIAL_8250_DW if ADK_TARGET_CPU_ARC_ARCHS && ADK_TARGET_SYSTEM_SYNOPSYS_NSIM
select ADK_LINUX_KERNEL_SERIAL_OF_PLATFORM if ADK_TARGET_SYSTEM_XILINX_KINTEX7 \
|| ADK_TARGET_SYSTEM_IMGTEC_CI20 \
+ || ADK_TARGET_SYSTEM_QEMU_ARC \
|| ADK_TARGET_SYSTEM_QEMU_CSKY \
|| ADK_TARGET_SYSTEM_QEMU_XTENSA \
|| ADK_TARGET_SYSTEM_QEMU_MICROBLAZE_ML605 \
@@ -102,13 +114,22 @@ config ADK_LINUX_KERNEL_SERIAL_8250
|| ADK_TARGET_SYSTEM_ANDES_AG101P \
|| ADK_TARGET_SYSTEM_ORANGE_PI0 \
|| ADK_TARGET_SYSTEM_SYNOPSYS_HSDK \
- || ADK_TARGET_SYSTEM_SOM_C6745
+ || ADK_TARGET_SYSTEM_SOM_C6745 \
+ || ADK_TARGET_SYSTEM_ROCKPI4_PLUS
select ADK_LINUX_KERNEL_SERIAL_8250_PNP if ADK_TARGET_SYSTEM_PCENGINES_APU
select ADK_LINUX_KERNEL_SERIAL_8250_DW if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
select ADK_LINUX_KERNEL_SERIAL_8250_DW if ADK_TARGET_SYSTEM_ORANGE_PI0
select ADK_LINUX_KERNEL_SERIAL_8250_DW if ADK_TARGET_SYSTEM_SYNOPSYS_HSDK
+ select ADK_LINUX_KERNEL_SERIAL_8250_DW if ADK_TARGET_SYSTEM_QEMU_ARC
+ select ADK_LINUX_KERNEL_SERIAL_8250_DW if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
select ADK_LINUX_KERNEL_SERIAL_8250_DMA if ADK_TARGET_SYSTEM_ORANGE_PI0
select ADK_LINUX_KERNEL_SERIAL_8250_INGENIC if ADK_TARGET_SYSTEM_IMGTEC_CI20
+ select ADK_LINUX_KERNEL_SERIAL_8250_BCM2835AUX if ADK_TARGET_SYSTEM_RASPBERRY_PI4
+ select ADK_LINUX_KERNEL_SERIAL_8250_EXTENDED if ADK_TARGET_SYSTEM_RASPBERRY_PI4
+ select ADK_LINUX_KERNEL_SERIAL_8250_SHARE_IRQ if ADK_TARGET_SYSTEM_RASPBERRY_PI4
+ select ADK_LINUX_KERNEL_SERIAL_8250_BCM2835AUX if ADK_TARGET_SYSTEM_RASPBERRY_PI4_64
+ select ADK_LINUX_KERNEL_SERIAL_8250_EXTENDED if ADK_TARGET_SYSTEM_RASPBERRY_PI4_64
+ select ADK_LINUX_KERNEL_SERIAL_8250_SHARE_IRQ if ADK_TARGET_SYSTEM_RASPBERRY_PI4_64
depends on ADK_TARGET_SYSTEM_XILINX_KINTEX7 \
|| ADK_TARGET_SYSTEM_IMGTEC_CI20 \
|| ADK_TARGET_SYSTEM_LINKSYS_NSLU2 \
@@ -119,6 +140,7 @@ config ADK_LINUX_KERNEL_SERIAL_8250
|| ADK_TARGET_SYSTEM_QEMU_MIPS \
|| ADK_TARGET_SYSTEM_QEMU_MIPS64 \
|| ADK_TARGET_SYSTEM_QEMU_ALPHA \
+ || ADK_TARGET_SYSTEM_QEMU_ARC \
|| ADK_TARGET_SYSTEM_QEMU_CSKY \
|| ADK_TARGET_SYSTEM_QEMU_HPPA \
|| ADK_TARGET_SYSTEM_QEMU_NIOS2 \
@@ -138,7 +160,11 @@ config ADK_LINUX_KERNEL_SERIAL_8250
|| ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG \
|| ADK_TARGET_SYSTEM_ORANGE_PI0 \
|| ADK_TARGET_SYSTEM_SYNOPSYS_HSDK \
- || ADK_TARGET_SYSTEM_SOM_C6745
+ || ADK_TARGET_CPU_ARC_ARCHS \
+ || ADK_TARGET_SYSTEM_SOM_C6745 \
+ || ADK_TARGET_SYSTEM_RASPBERRY_PI4 \
+ || ADK_TARGET_SYSTEM_RASPBERRY_PI4_64 \
+ || ADK_TARGET_SYSTEM_ROCKPI4_PLUS
default y if ADK_TARGET_SYSTEM_XILINX_KINTEX7
default y if ADK_TARGET_SYSTEM_IMGTEC_CI20
default y if ADK_TARGET_SYSTEM_LINKSYS_NSLU2
@@ -149,6 +175,7 @@ config ADK_LINUX_KERNEL_SERIAL_8250
default y if ADK_TARGET_SYSTEM_QEMU_MIPS
default y if ADK_TARGET_SYSTEM_QEMU_MIPS64
default y if ADK_TARGET_SYSTEM_QEMU_ALPHA
+ default y if ADK_TARGET_SYSTEM_QEMU_ARC
default y if ADK_TARGET_SYSTEM_QEMU_CSKY
default y if ADK_TARGET_SYSTEM_QEMU_HPPA
default y if ADK_TARGET_SYSTEM_QEMU_NIOS2
@@ -168,7 +195,11 @@ config ADK_LINUX_KERNEL_SERIAL_8250
default y if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
default y if ADK_TARGET_SYSTEM_ORANGE_PI0
default y if ADK_TARGET_SYSTEM_SYNOPSYS_HSDK
+ default y if ADK_TARGET_CPU_ARC_ARCHS
default y if ADK_TARGET_SYSTEM_SOM_C6745
+ default y if ADK_TARGET_SYSTEM_RASPBERRY_PI4
+ default y if ADK_TARGET_SYSTEM_RASPBERRY_PI4_64
+ default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
default n
help
Serial driver for 8250 UART chip.
@@ -204,8 +235,8 @@ config ADK_LINUX_KERNEL_SERIAL_ETRAXFS
config ADK_LINUX_KERNEL_SERIAL_ARC
bool "ARC serial driver"
select ADK_LINUX_KERNEL_SERIAL_ARC_CONSOLE
- depends on ADK_TARGET_SYSTEM_SYNOPSYS_NSIM
- default y if ADK_TARGET_SYSTEM_SYNOPSYS_NSIM
+ depends on ADK_TARGET_SYSTEM_SYNOPSYS_NSIM && ADK_TARGET_CPU_ARC_ARC700
+ default y if ADK_TARGET_SYSTEM_SYNOPSYS_NSIM && ADK_TARGET_CPU_ARC_ARC700
default n
help
Serial driver for nSIM ARC simulator.
@@ -240,8 +271,7 @@ config ADK_LINUX_KERNEL_SERIAL_AMBA_PL011
|| ADK_TARGET_SYSTEM_QEMU_ARM_REALVIEW_EB_MPCORE \
|| ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB \
|| ADK_TARGET_SYSTEM_QEMU_ARM_VEXPRESS_A9
- default y if ADK_TARGET_SYSTEM_RASPBERRY_PI
- default y if ADK_TARGET_SYSTEM_RASPBERRY_PI2
+ default y if ADK_TARGET_BOARD_BCM28XX
default y if ADK_TARGET_SYSTEM_QEMU_ARM_REALVIEW_EB_MPCORE
default y if ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB
default y if ADK_TARGET_SYSTEM_QEMU_ARM_VEXPRESS_A9
diff --git a/target/linux/config/Config.in.usb b/target/linux/config/Config.in.usb
index bd50dd446..07e097bc1 100644
--- a/target/linux/config/Config.in.usb
+++ b/target/linux/config/Config.in.usb
@@ -7,6 +7,9 @@ depends on ADK_TARGET_WITH_USB \
|| ADK_TARGET_SYSTEM_QEMU_X86 \
|| ADK_TARGET_GENERIC
+config ADK_LINUX_KERNEL_USB_PCI
+ bool
+
config ADK_LINUX_KERNEL_USB_SUPPORT
bool
@@ -25,6 +28,9 @@ config ADK_LINUX_KERNEL_USB_EHCI_TT_NEWSCHED
config ADK_LINUX_KERNEL_USB_EHCI_MXC
bool
+config ADK_LINUX_KERNEL_USB_EHCI_HCD_PLATFORM
+ bool
+
config ADK_LINUX_KERNEL_USB_GADGET
tristate
@@ -38,6 +44,9 @@ config ADK_LINUX_KERNEL_USB_MXS_PHY
ADK_TARGET_SYSTEM_PHYTEC_IMX6
default n
+config ADK_LINUX_KERNEL_USB_XHCI_PLATFORM
+ bool
+
config ADK_LINUX_KERNEL_USB_OHCI_HCD_PLATFORM
bool
select ADK_LINUX_KERNEL_USB_OHCI_HCD
@@ -45,6 +54,12 @@ config ADK_LINUX_KERNEL_USB_OHCI_HCD_PLATFORM
config ADK_LINUX_KERNEL_USB_OHCI_HCD_PCI
bool
+config ADK_LINUX_KERNEL_USB_EHCI_HCD_PCI
+ bool
+
+config ADK_LINUX_KERNEL_USB_XHCI_PCI
+ bool
+
config ADK_LINUX_KERNEL_USB_LIBUSUAL
tristate
@@ -68,6 +83,8 @@ config ADK_LINUX_KERNEL_USB
ADK_TARGET_SYSTEM_PHYTEC_IMX6
default y if ADK_TARGET_SYSTEM_KINETIS_K70
default y if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
+ default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+ default y if ADK_TARGET_SYSTEM_RASPBERRY_PI5
default n
help
Universal Serial Bus (USB) is a specification for a serial bus
@@ -100,12 +117,31 @@ config ADK_LINUX_KERNEL_USB
menu "USB controller support"
+config ADK_LINUX_KERNEL_USB_XHCI_HCD
+ tristate "Support for USB xHCI HCD (USB 3.0)"
+ depends on ADK_LINUX_KERNEL_USB
+ select ADK_LINUX_KERNEL_USB_PCI
+ select ADK_LINUX_KERNEL_USB_XHCI_PLATFORM
+ select ADK_LINUX_KERNEL_USB_XHCI_PCI
+ default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+ default y if ADK_TARGET_SYSTEM_RASPBERRY_PI5
+ default n
+ help
+ The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
+ "SuperSpeed" host controller hardware.
+
+ To compile this driver as a module, choose M here: the
+ module will be called xhci-hcd.
+
+
config ADK_LINUX_KERNEL_USB_EHCI_HCD
tristate "Support for USB EHCI 2.0 controllers"
select ADK_LINUX_KERNEL_USB_MXS_PHY if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6 || \
ADK_TARGET_SYSTEM_PHYTEC_IMX6
select ADK_LINUX_KERNEL_USB_EHCI_MXC if ADK_TARGET_SYSTEM_KINETIS_K70
select ADK_LINUX_KERNEL_USB_DEVICE_CLASS if ADK_TARGET_SYSTEM_KINETIS_K70
+ select ADK_LINUX_KERNEL_USB_EHCI_HCD_PLATFORM if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+ select ADK_LINUX_KERNEL_USB_EHCI_HCD_PCI if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
depends on !ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
depends on !ADK_TARGET_BOARD_BCM28XX
depends on ADK_LINUX_KERNEL_USB
@@ -116,6 +152,8 @@ config ADK_LINUX_KERNEL_USB_EHCI_HCD
ADK_TARGET_SYSTEM_PHYTEC_IMX6
default y if ADK_TARGET_SYSTEM_KINETIS_K70
default y if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
+ default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+ default y if ADK_TARGET_SYSTEM_RASPBERRY_PI5
default n
help
The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
@@ -161,10 +199,12 @@ config ADK_LINUX_KERNEL_USB_OHCI_HCD
depends on !ADK_TARGET_BOARD_BCM28XX
select ADK_LINUX_KERNEL_USB_OHCI_HCD_PCI if ADK_TARGET_SYSTEM_PCENGINES_ALIX
select ADK_LINUX_KERNEL_USB_OHCI_HCD_PCI if ADK_TARGET_SYSTEM_PCENGINES_APU
+ select ADK_LINUX_KERNEL_USB_OHCI_HCD_PCI if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
default m if ADK_TARGET_SYSTEM_PCENGINES_APU
default m if ADK_TARGET_SYSTEM_PCENGINES_ALIX
default m if ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
default m if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
+ default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
default n
help
The Open Host Controller Interface (OHCI) is a standard for accessing
diff --git a/target/linux/config/Config.in.watchdog b/target/linux/config/Config.in.watchdog
index 3175180cf..59c60d94f 100644
--- a/target/linux/config/Config.in.watchdog
+++ b/target/linux/config/Config.in.watchdog
@@ -94,6 +94,15 @@ config ADK_LINUX_KERNEL_SUNXI_WATCHDOG
help
Support for SunXi hardware watchdog.
+config ADK_LINUX_KERNEL_DW_WATCHDOG
+ bool "Synopsys DesignWare watchdog"
+ depends on ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+ select ADK_LINUX_KERNEL_WATCHDOG
+ default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+ default n
+ help
+ Support for Synopsys DesignWare hardware watchdog.
+
config ADK_LINUX_KERNEL_SOFT_WATCHDOG
tristate "Software watchdog"
select ADK_LINUX_KERNEL_WATCHDOG
diff --git a/target/linux/config/Config.in.wireless b/target/linux/config/Config.in.wireless
index 44d6fa401..222efa3bb 100644
--- a/target/linux/config/Config.in.wireless
+++ b/target/linux/config/Config.in.wireless
@@ -149,16 +149,22 @@ config ADK_LINUX_KERNEL_BRCMFMAC
select ADK_LINUX_KERNEL_WLAN_VENDOR_BROADCOM
select ADK_LINUX_KERNEL_BRCMDBG
select ADK_PACKAGE_BRCMFMAC_FIRMWARE
+ default m if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
+ default m if ADK_TARGET_SYSTEM_BANANA_P2_ZERO
+ default m if ADK_TARGET_SYSTEM_ROCKPI4_ZERO
+ default m if ADK_TARGET_SYSTEM_RASPBERRY_PI5
+ default n
config ADK_LINUX_KERNEL_BRCMFMAC_SDIO
bool "Broadcom brcmfmac wireless driver (SDIO)"
- select ADK_LINUX_KERNEL_BRCMFMAC
depends on ADK_TARGET_WITH_SDIO
- default y if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6 || \
- ADK_TARGET_SYSTEM_PHYTEC_IMX6
+ default y if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
+ default y if ADK_TARGET_SYSTEM_PHYTEC_IMX6
default y if ADK_TARGET_SYSTEM_RASPBERRY_PI0
default y if ADK_TARGET_SYSTEM_RASPBERRY_PI3
- default y if ADK_TARGET_SYSTEM_RASPBERRY_PI3P
+ default y if ADK_TARGET_SYSTEM_RASPBERRY_PI5
+ default y if ADK_TARGET_SYSTEM_BANANA_P2_ZERO
+ default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
default n
help
Driver for Broadcom FullMac wireless cards (SDIO).
diff --git a/target/linux/patches/3.16.81/startup.patch b/target/linux/patches/3.16.81/startup.patch
deleted file mode 100644
index d396b75e4..000000000
--- a/target/linux/patches/3.16.81/startup.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff -Nur linux-3.13.3.orig/init/main.c linux-3.13.3/init/main.c
---- linux-3.13.3.orig/init/main.c 2014-02-13 23:00:14.000000000 +0100
-+++ linux-3.13.3/init/main.c 2014-02-17 11:35:14.000000000 +0100
-@@ -916,6 +917,8 @@
- if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
- pr_err("Warning: unable to open an initial console.\n");
-
-+ printk(KERN_WARNING "Starting Linux (built with OpenADK).\n");
-+
- (void) sys_dup(0);
- (void) sys_dup(0);
- /*
-diff -Nur linux-3.13.6.orig/init/initramfs.c linux-3.13.6/init/initramfs.c
---- linux-3.13.6.orig/init/initramfs.c 2014-03-07 07:07:02.000000000 +0100
-+++ linux-3.13.6/init/initramfs.c 2014-03-15 12:11:31.882731916 +0100
-@@ -622,6 +622,9 @@
- */
- load_default_modules();
- }
-+#ifdef CONFIG_DEVTMPFS_MOUNT
-+ devtmpfs_mount("dev");
-+#endif
- return 0;
- }
- rootfs_initcall(populate_rootfs);
-diff -Nur linux-3.13.6.orig/init/main.c linux-3.13.6/init/main.c
---- linux-3.13.6.orig/init/main.c 2014-03-07 07:07:02.000000000 +0100
-+++ linux-3.13.6/init/main.c 2014-03-15 12:13:16.459024452 +0100
-@@ -924,7 +924,7 @@
- */
-
- if (!ramdisk_execute_command)
-- ramdisk_execute_command = "/init";
-+ ramdisk_execute_command = "/sbin/init";
-
- if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) {
- ramdisk_execute_command = NULL;
diff --git a/target/linux/patches/3.16.81/bsd-compatibility.patch b/target/linux/patches/3.16.85/bsd-compatibility.patch
index b954b658f..b954b658f 100644
--- a/target/linux/patches/3.16.81/bsd-compatibility.patch
+++ b/target/linux/patches/3.16.85/bsd-compatibility.patch
diff --git a/target/linux/patches/3.16.81/cleankernel.patch b/target/linux/patches/3.16.85/cleankernel.patch
index d8c055dc3..d8c055dc3 100644
--- a/target/linux/patches/3.16.81/cleankernel.patch
+++ b/target/linux/patches/3.16.85/cleankernel.patch
diff --git a/target/linux/patches/3.16.81/cris-header.patch b/target/linux/patches/3.16.85/cris-header.patch
index 3db07e530..3db07e530 100644
--- a/target/linux/patches/3.16.81/cris-header.patch
+++ b/target/linux/patches/3.16.85/cris-header.patch
diff --git a/target/linux/patches/3.16.81/cris-initramfs.patch b/target/linux/patches/3.16.85/cris-initramfs.patch
index b709e705e..b709e705e 100644
--- a/target/linux/patches/3.16.81/cris-initramfs.patch
+++ b/target/linux/patches/3.16.85/cris-initramfs.patch
diff --git a/target/linux/patches/3.16.81/defaults.patch b/target/linux/patches/3.16.85/defaults.patch
index 6cdca084e..6cdca084e 100644
--- a/target/linux/patches/3.16.81/defaults.patch
+++ b/target/linux/patches/3.16.85/defaults.patch
diff --git a/target/linux/patches/3.16.81/export-symbol-for-exmap.patch b/target/linux/patches/3.16.85/export-symbol-for-exmap.patch
index 4f0fc8449..4f0fc8449 100644
--- a/target/linux/patches/3.16.81/export-symbol-for-exmap.patch
+++ b/target/linux/patches/3.16.85/export-symbol-for-exmap.patch
diff --git a/target/linux/patches/3.16.81/fblogo.patch b/target/linux/patches/3.16.85/fblogo.patch
index 5b9070242..5b9070242 100644
--- a/target/linux/patches/3.16.81/fblogo.patch
+++ b/target/linux/patches/3.16.85/fblogo.patch
diff --git a/target/linux/patches/3.16.81/gemalto.patch b/target/linux/patches/3.16.85/gemalto.patch
index 65f7af1d7..65f7af1d7 100644
--- a/target/linux/patches/3.16.81/gemalto.patch
+++ b/target/linux/patches/3.16.85/gemalto.patch
diff --git a/target/linux/patches/3.16.81/initramfs-nosizelimit.patch b/target/linux/patches/3.16.85/initramfs-nosizelimit.patch
index 40d2f6bd8..40d2f6bd8 100644
--- a/target/linux/patches/3.16.81/initramfs-nosizelimit.patch
+++ b/target/linux/patches/3.16.85/initramfs-nosizelimit.patch
diff --git a/target/linux/patches/3.16.81/lemote-rfkill.patch b/target/linux/patches/3.16.85/lemote-rfkill.patch
index a61488434..a61488434 100644
--- a/target/linux/patches/3.16.81/lemote-rfkill.patch
+++ b/target/linux/patches/3.16.85/lemote-rfkill.patch
diff --git a/target/linux/patches/3.16.81/microblaze-ethernet.patch b/target/linux/patches/3.16.85/microblaze-ethernet.patch
index 742ab477e..742ab477e 100644
--- a/target/linux/patches/3.16.81/microblaze-ethernet.patch
+++ b/target/linux/patches/3.16.85/microblaze-ethernet.patch
diff --git a/target/linux/patches/3.16.81/mkpiggy.patch b/target/linux/patches/3.16.85/mkpiggy.patch
index 751678b74..751678b74 100644
--- a/target/linux/patches/3.16.81/mkpiggy.patch
+++ b/target/linux/patches/3.16.85/mkpiggy.patch
diff --git a/target/linux/patches/3.16.81/mtd-rootfs.patch b/target/linux/patches/3.16.85/mtd-rootfs.patch
index 775d5fc80..775d5fc80 100644
--- a/target/linux/patches/3.16.81/mtd-rootfs.patch
+++ b/target/linux/patches/3.16.85/mtd-rootfs.patch
diff --git a/target/linux/patches/3.16.81/nfsv3-tcp.patch b/target/linux/patches/3.16.85/nfsv3-tcp.patch
index d5e07e1c2..d5e07e1c2 100644
--- a/target/linux/patches/3.16.81/nfsv3-tcp.patch
+++ b/target/linux/patches/3.16.85/nfsv3-tcp.patch
diff --git a/target/linux/patches/3.16.81/non-static.patch b/target/linux/patches/3.16.85/non-static.patch
index a967703d0..a967703d0 100644
--- a/target/linux/patches/3.16.81/non-static.patch
+++ b/target/linux/patches/3.16.85/non-static.patch
diff --git a/target/linux/patches/3.16.81/ppc64-missing-zlib.patch b/target/linux/patches/3.16.85/ppc64-missing-zlib.patch
index c6e0616be..c6e0616be 100644
--- a/target/linux/patches/3.16.81/ppc64-missing-zlib.patch
+++ b/target/linux/patches/3.16.85/ppc64-missing-zlib.patch
diff --git a/target/linux/patches/3.16.81/relocs.patch b/target/linux/patches/3.16.85/relocs.patch
index 69a7c88a9..69a7c88a9 100644
--- a/target/linux/patches/3.16.81/relocs.patch
+++ b/target/linux/patches/3.16.85/relocs.patch
diff --git a/target/linux/patches/3.16.81/sgidefs.patch b/target/linux/patches/3.16.85/sgidefs.patch
index f00a284d9..f00a284d9 100644
--- a/target/linux/patches/3.16.81/sgidefs.patch
+++ b/target/linux/patches/3.16.85/sgidefs.patch
diff --git a/target/linux/patches/3.16.81/sortext.patch b/target/linux/patches/3.16.85/sortext.patch
index 8fd4e1d6b..8fd4e1d6b 100644
--- a/target/linux/patches/3.16.81/sortext.patch
+++ b/target/linux/patches/3.16.85/sortext.patch
diff --git a/target/linux/patches/3.16.85/startup.patch b/target/linux/patches/3.16.85/startup.patch
new file mode 100644
index 000000000..52465989f
--- /dev/null
+++ b/target/linux/patches/3.16.85/startup.patch
@@ -0,0 +1,25 @@
+diff -Nur linux-3.13.3.orig/init/main.c linux-3.13.3/init/main.c
+--- linux-3.13.3.orig/init/main.c 2014-02-13 23:00:14.000000000 +0100
++++ linux-3.13.3/init/main.c 2014-02-17 11:35:14.000000000 +0100
+@@ -916,6 +917,8 @@
+ if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
+ pr_err("Warning: unable to open an initial console.\n");
+
++ printk(KERN_WARNING "Starting Linux (built with OpenADK).\n");
++
+ (void) sys_dup(0);
+ (void) sys_dup(0);
+ /*
+diff -Nur linux-3.13.6.orig/init/initramfs.c linux-3.13.6/init/initramfs.c
+--- linux-3.13.6.orig/init/initramfs.c 2014-03-07 07:07:02.000000000 +0100
++++ linux-3.13.6/init/initramfs.c 2014-03-15 12:11:31.882731916 +0100
+@@ -622,6 +622,9 @@
+ */
+ load_default_modules();
+ }
++#ifdef CONFIG_DEVTMPFS_MOUNT
++ devtmpfs_mount("dev");
++#endif
+ return 0;
+ }
+ rootfs_initcall(populate_rootfs);
diff --git a/target/linux/patches/3.16.81/wlan-cf.patch b/target/linux/patches/3.16.85/wlan-cf.patch
index fc20759e2..fc20759e2 100644
--- a/target/linux/patches/3.16.81/wlan-cf.patch
+++ b/target/linux/patches/3.16.85/wlan-cf.patch
diff --git a/target/linux/patches/3.16.81/xargs.patch b/target/linux/patches/3.16.85/xargs.patch
index 2c7b3df59..2c7b3df59 100644
--- a/target/linux/patches/3.16.81/xargs.patch
+++ b/target/linux/patches/3.16.85/xargs.patch
diff --git a/target/linux/patches/4.14.168/startup.patch b/target/linux/patches/4.14.168/startup.patch
deleted file mode 100644
index bac354728..000000000
--- a/target/linux/patches/4.14.168/startup.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff -Nur linux-4.14.24.orig/init/initramfs.c linux-4.14.24/init/initramfs.c
---- linux-4.14.24.orig/init/initramfs.c 2018-03-03 10:24:39.000000000 +0100
-+++ linux-4.14.24/init/initramfs.c 2018-03-08 06:51:14.808479805 +0100
-@@ -659,6 +659,9 @@
- * us a chance to load before device_initcalls.
- */
- load_default_modules();
-+#ifdef CONFIG_DEVTMPFS_MOUNT
-+ devtmpfs_mount("dev");
-+#endif
-
- return 0;
- }
-diff -Nur linux-4.14.24.orig/init/main.c linux-4.14.24/init/main.c
---- linux-4.14.24.orig/init/main.c 2018-03-03 10:24:39.000000000 +0100
-+++ linux-4.14.24/init/main.c 2018-03-08 06:15:19.961419100 +0100
-@@ -1069,6 +1069,8 @@
- if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
- pr_err("Warning: unable to open an initial console.\n");
-
-+ printk(KERN_WARNING "Starting Linux (built with OpenADK).\n");
-+
- (void) sys_dup(0);
- (void) sys_dup(0);
- /*
-@@ -1077,7 +1079,7 @@
- */
-
- if (!ramdisk_execute_command)
-- ramdisk_execute_command = "/init";
-+ ramdisk_execute_command = "/sbin/init";
-
- if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) {
- ramdisk_execute_command = NULL;
diff --git a/target/linux/patches/4.14.168/alpha-remove-coff.patch b/target/linux/patches/4.14.334/alpha-remove-coff.patch
index 51b7bcc14..51b7bcc14 100644
--- a/target/linux/patches/4.14.168/alpha-remove-coff.patch
+++ b/target/linux/patches/4.14.334/alpha-remove-coff.patch
diff --git a/target/linux/patches/4.14.168/arm-nommu.patch b/target/linux/patches/4.14.334/arm-nommu.patch
index b91aaf712..b91aaf712 100644
--- a/target/linux/patches/4.14.168/arm-nommu.patch
+++ b/target/linux/patches/4.14.334/arm-nommu.patch
diff --git a/target/linux/patches/4.14.168/arm-thumb2.patch b/target/linux/patches/4.14.334/arm-thumb2.patch
index d8d1f4984..d8d1f4984 100644
--- a/target/linux/patches/4.14.168/arm-thumb2.patch
+++ b/target/linux/patches/4.14.334/arm-thumb2.patch
diff --git a/target/linux/patches/4.14.168/h8300.patch b/target/linux/patches/4.14.334/h8300.patch
index 836a414e5..836a414e5 100644
--- a/target/linux/patches/4.14.168/h8300.patch
+++ b/target/linux/patches/4.14.334/h8300.patch
diff --git a/target/linux/patches/4.14.168/initramfs-nosizelimit.patch b/target/linux/patches/4.14.334/initramfs-nosizelimit.patch
index 0e524c1d9..0e524c1d9 100644
--- a/target/linux/patches/4.14.168/initramfs-nosizelimit.patch
+++ b/target/linux/patches/4.14.334/initramfs-nosizelimit.patch
diff --git a/target/linux/patches/4.14.168/microblaze-sigaltstack.patch b/target/linux/patches/4.14.334/microblaze-sigaltstack.patch
index 80413890a..80413890a 100644
--- a/target/linux/patches/4.14.168/microblaze-sigaltstack.patch
+++ b/target/linux/patches/4.14.334/microblaze-sigaltstack.patch
diff --git a/target/linux/patches/4.14.168/or1k-more-ram.patch b/target/linux/patches/4.14.334/or1k-more-ram.patch
index de848c838..de848c838 100644
--- a/target/linux/patches/4.14.168/or1k-more-ram.patch
+++ b/target/linux/patches/4.14.334/or1k-more-ram.patch
diff --git a/target/linux/patches/4.14.334/startup.patch b/target/linux/patches/4.14.334/startup.patch
new file mode 100644
index 000000000..f52660a95
--- /dev/null
+++ b/target/linux/patches/4.14.334/startup.patch
@@ -0,0 +1,25 @@
+diff -Nur linux-4.14.24.orig/init/initramfs.c linux-4.14.24/init/initramfs.c
+--- linux-4.14.24.orig/init/initramfs.c 2018-03-03 10:24:39.000000000 +0100
++++ linux-4.14.24/init/initramfs.c 2018-03-08 06:51:14.808479805 +0100
+@@ -659,6 +659,9 @@
+ * us a chance to load before device_initcalls.
+ */
+ load_default_modules();
++#ifdef CONFIG_DEVTMPFS_MOUNT
++ devtmpfs_mount("dev");
++#endif
+
+ return 0;
+ }
+diff -Nur linux-4.14.24.orig/init/main.c linux-4.14.24/init/main.c
+--- linux-4.14.24.orig/init/main.c 2018-03-03 10:24:39.000000000 +0100
++++ linux-4.14.24/init/main.c 2018-03-08 06:15:19.961419100 +0100
+@@ -1069,6 +1069,8 @@
+ if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
+ pr_err("Warning: unable to open an initial console.\n");
+
++ printk(KERN_WARNING "Starting Linux (built with OpenADK).\n");
++
+ (void) sys_dup(0);
+ (void) sys_dup(0);
+ /*
diff --git a/target/linux/patches/4.14.168/vdso2.patch b/target/linux/patches/4.14.334/vdso2.patch
index b6c32f31b..b6c32f31b 100644
--- a/target/linux/patches/4.14.168/vdso2.patch
+++ b/target/linux/patches/4.14.334/vdso2.patch
diff --git a/target/linux/patches/4.16.17/startup.patch b/target/linux/patches/4.16.17/startup.patch
index 8115b2cc6..e8de6cd4b 100644
--- a/target/linux/patches/4.16.17/startup.patch
+++ b/target/linux/patches/4.16.17/startup.patch
@@ -23,12 +23,3 @@ diff -Nur linux-4.15.13.orig/init/main.c linux-4.15.13/init/main.c
(void) sys_dup(0);
(void) sys_dup(0);
/*
-@@ -1083,7 +1085,7 @@
- */
-
- if (!ramdisk_execute_command)
-- ramdisk_execute_command = "/init";
-+ ramdisk_execute_command = "/sbin/init";
-
- if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) {
- ramdisk_execute_command = NULL;
diff --git a/target/linux/patches/4.19.136/startup.patch b/target/linux/patches/4.19.136/startup.patch
deleted file mode 100644
index dd27de856..000000000
--- a/target/linux/patches/4.19.136/startup.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff -Nur linux-4.17.orig/init/initramfs.c linux-4.17/init/initramfs.c
---- linux-4.17.orig/init/initramfs.c 2018-06-03 23:15:21.000000000 +0200
-+++ linux-4.17/init/initramfs.c 2018-06-10 17:01:16.000000000 +0200
-@@ -659,6 +659,9 @@
- * us a chance to load before device_initcalls.
- */
- load_default_modules();
-+#ifdef CONFIG_DEVTMPFS_MOUNT
-+ devtmpfs_mount("dev");
-+#endif
-
- return 0;
- }
-diff -Nur linux-4.17.orig/init/main.c linux-4.17/init/main.c
---- linux-4.17.orig/init/main.c 2018-06-03 23:15:21.000000000 +0200
-+++ linux-4.17/init/main.c 2018-06-10 17:01:52.000000000 +0200
-@@ -1138,6 +1138,8 @@
- if (ksys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
- pr_err("Warning: unable to open an initial console.\n");
-
-+ printk(KERN_WARNING "Starting Linux (built with OpenADK).\n");
-+
- (void) ksys_dup(0);
- (void) ksys_dup(0);
- /*
-@@ -1146,7 +1148,7 @@
- */
-
- if (!ramdisk_execute_command)
-- ramdisk_execute_command = "/init";
-+ ramdisk_execute_command = "/sbin/init";
-
- if (ksys_access((const char __user *)
- ramdisk_execute_command, 0) != 0) {
diff --git a/target/linux/patches/4.19.136/arc.patch b/target/linux/patches/4.19.310/arc.patch
index 20810ce64..20810ce64 100644
--- a/target/linux/patches/4.19.136/arc.patch
+++ b/target/linux/patches/4.19.310/arc.patch
diff --git a/target/linux/patches/4.19.310/arm-nommu.patch b/target/linux/patches/4.19.310/arm-nommu.patch
new file mode 100644
index 000000000..d23d3f4eb
--- /dev/null
+++ b/target/linux/patches/4.19.310/arm-nommu.patch
@@ -0,0 +1,81 @@
+diff -Nur linux-4.19.213.orig/arch/arm/include/asm/mach/map.h linux-4.19.213/arch/arm/include/asm/mach/map.h
+--- linux-4.19.213.orig/arch/arm/include/asm/mach/map.h 2021-10-20 11:23:05.000000000 +0200
++++ linux-4.19.213/arch/arm/include/asm/mach/map.h 2021-10-26 09:16:01.660445624 +0200
+@@ -62,6 +62,7 @@
+ #else
+ #define iotable_init(map,num) do { } while (0)
+ #define vm_reserve_area_early(a,s,c) do { } while (0)
++#define debug_ll_io_init() do { } while (0)
+ #endif
+
+ #endif
+diff -Nur linux-4.19.213.orig/arch/arm/Kconfig linux-4.19.213/arch/arm/Kconfig
+--- linux-4.19.213.orig/arch/arm/Kconfig 2021-10-20 11:23:05.000000000 +0200
++++ linux-4.19.213/arch/arm/Kconfig 2021-10-26 09:16:01.656445624 +0200
+@@ -353,6 +353,17 @@
+ select SPARSE_IRQ
+ select USE_OF
+
++config ARM_SINGLE_ARCH_VERSATILE
++ bool "ARM Ltd. Versatile family"
++ depends on !MMU
++ select AUTO_ZRELADDR
++ select CLKSRC_OF
++ select COMMON_CLK
++ select GENERIC_CLOCKEVENTS
++ select GPIOLIB
++ select SPARSE_IRQ
++ select USE_OF
++
+ config ARCH_EBSA110
+ bool "EBSA-110"
+ select ARCH_USES_GETTIMEOFFSET
+diff -Nur linux-4.19.213.orig/arch/arm/Kconfig.debug linux-4.19.213/arch/arm/Kconfig.debug
+--- linux-4.19.213.orig/arch/arm/Kconfig.debug 2021-10-20 11:23:05.000000000 +0200
++++ linux-4.19.213/arch/arm/Kconfig.debug 2021-10-26 09:16:01.660445624 +0200
+@@ -1852,7 +1852,8 @@
+ config UNCOMPRESS_INCLUDE
+ string
+ default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
+- PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
++ PLAT_SAMSUNG || ARM_SINGLE_ARMV7M || \
++ ARM_SINGLE_ARCH_VERSATILE
+ default "mach/uncompress.h"
+
+ config EARLY_PRINTK
+diff -Nur linux-4.19.213.orig/arch/arm/mach-versatile/Kconfig linux-4.19.213/arch/arm/mach-versatile/Kconfig
+--- linux-4.19.213.orig/arch/arm/mach-versatile/Kconfig 2021-10-20 11:23:05.000000000 +0200
++++ linux-4.19.213/arch/arm/mach-versatile/Kconfig 2021-10-26 09:16:01.660445624 +0200
+@@ -1,7 +1,8 @@
+ # SPDX-License-Identifier: GPL-2.0
+ config ARCH_VERSATILE
+- bool "ARM Ltd. Versatile family"
+- depends on ARCH_MULTI_V5
++ bool "ARM Ltd. Versatile family" if ARCH_MULTI_V5
++ depends on ARCH_MULTI_V5 || ARM_SINGLE_ARCH_VERSATILE
++ default y if ARM_SINGLE_ARCH_VERSATILE
+ select ARM_AMBA
+ select ARM_TIMER_SP804
+ select ARM_VIC
+diff -Nur linux-4.19.213.orig/arch/arm/mach-versatile/Makefile.boot linux-4.19.213/arch/arm/mach-versatile/Makefile.boot
+--- linux-4.19.213.orig/arch/arm/mach-versatile/Makefile.boot 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.19.213/arch/arm/mach-versatile/Makefile.boot 2021-10-26 09:16:01.660445624 +0200
+@@ -0,0 +1,3 @@
++# Empty file waiting for deletion once Makefile.boot isn't needed any more.
++# Patch waits for application at
++# http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=7889/1 .
+diff -Nur linux-4.19.213.orig/arch/arm/mach-versatile/versatile_dt.c linux-4.19.213/arch/arm/mach-versatile/versatile_dt.c
+--- linux-4.19.213.orig/arch/arm/mach-versatile/versatile_dt.c 2021-10-20 11:23:05.000000000 +0200
++++ linux-4.19.213/arch/arm/mach-versatile/versatile_dt.c 2021-10-26 09:16:01.660445624 +0200
+@@ -37,7 +37,11 @@
+ #include <asm/mach/map.h>
+
+ /* macro to get at MMIO space when running virtually */
++#ifdef CONFIG_MMU
+ #define IO_ADDRESS(x) (((x) & 0x0fffffff) + (((x) >> 4) & 0x0f000000) + 0xf0000000)
++#else
++#define IO_ADDRESS(x) (x)
++#endif
+ #define __io_address(n) ((void __iomem __force *)IO_ADDRESS(n))
+
+ /*
diff --git a/target/linux/patches/4.19.136/darwin-dtc.patch b/target/linux/patches/4.19.310/darwin-dtc.patch
index 0cdc23ab4..0cdc23ab4 100644
--- a/target/linux/patches/4.19.136/darwin-dtc.patch
+++ b/target/linux/patches/4.19.310/darwin-dtc.patch
diff --git a/target/linux/patches/4.19.136/darwin-file2alias.patch b/target/linux/patches/4.19.310/darwin-file2alias.patch
index fdbc598a8..fdbc598a8 100644
--- a/target/linux/patches/4.19.136/darwin-file2alias.patch
+++ b/target/linux/patches/4.19.310/darwin-file2alias.patch
diff --git a/target/linux/patches/4.19.136/fec-coldfire.patch b/target/linux/patches/4.19.310/fec-coldfire.patch
index 09d8ad047..09d8ad047 100644
--- a/target/linux/patches/4.19.136/fec-coldfire.patch
+++ b/target/linux/patches/4.19.310/fec-coldfire.patch
diff --git a/target/linux/patches/4.19.136/or1k-more-ram.patch b/target/linux/patches/4.19.310/or1k-more-ram.patch
index de848c838..de848c838 100644
--- a/target/linux/patches/4.19.136/or1k-more-ram.patch
+++ b/target/linux/patches/4.19.310/or1k-more-ram.patch
diff --git a/target/linux/patches/4.19.136/relocs.patch b/target/linux/patches/4.19.310/relocs.patch
index 5bcd974c7..5bcd974c7 100644
--- a/target/linux/patches/4.19.136/relocs.patch
+++ b/target/linux/patches/4.19.310/relocs.patch
diff --git a/target/linux/patches/4.19.310/startup.patch b/target/linux/patches/4.19.310/startup.patch
new file mode 100644
index 000000000..4f42e84a7
--- /dev/null
+++ b/target/linux/patches/4.19.310/startup.patch
@@ -0,0 +1,25 @@
+diff -Nur linux-4.17.orig/init/initramfs.c linux-4.17/init/initramfs.c
+--- linux-4.17.orig/init/initramfs.c 2018-06-03 23:15:21.000000000 +0200
++++ linux-4.17/init/initramfs.c 2018-06-10 17:01:16.000000000 +0200
+@@ -659,6 +659,9 @@
+ * us a chance to load before device_initcalls.
+ */
+ load_default_modules();
++#ifdef CONFIG_DEVTMPFS_MOUNT
++ devtmpfs_mount("dev");
++#endif
+
+ return 0;
+ }
+diff -Nur linux-4.17.orig/init/main.c linux-4.17/init/main.c
+--- linux-4.17.orig/init/main.c 2018-06-03 23:15:21.000000000 +0200
++++ linux-4.17/init/main.c 2018-06-10 17:01:52.000000000 +0200
+@@ -1138,6 +1138,8 @@
+ if (ksys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
+ pr_err("Warning: unable to open an initial console.\n");
+
++ printk(KERN_WARNING "Starting Linux (built with OpenADK).\n");
++
+ (void) ksys_dup(0);
+ (void) ksys_dup(0);
+ /*
diff --git a/target/linux/patches/4.19.310/vdso2.patch b/target/linux/patches/4.19.310/vdso2.patch
new file mode 100644
index 000000000..3d9d47ede
--- /dev/null
+++ b/target/linux/patches/4.19.310/vdso2.patch
@@ -0,0 +1,24 @@
+diff -Nur linux-4.19.151.orig/arch/x86/entry/vdso/vdso2c.c linux-4.19.151/arch/x86/entry/vdso/vdso2c.c
+--- linux-4.19.151.orig/arch/x86/entry/vdso/vdso2c.c 2020-10-14 10:31:27.000000000 +0200
++++ linux-4.19.151/arch/x86/entry/vdso/vdso2c.c 2020-10-17 06:09:50.000000000 +0200
+@@ -64,8 +64,20 @@
+ #include <tools/le_byteshift.h>
+
+ #include <linux/elf.h>
++#ifdef __linux__
+ #include <linux/types.h>
+ #include <linux/kernel.h>
++#else
++
++#define __must_be_array(a) 0
++#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
++
++typedef _Bool bool;
++enum {
++ false = 0,
++ true = 1
++};
++#endif
+
+ const char *outfilename;
+
diff --git a/target/linux/patches/4.4.211/startup.patch b/target/linux/patches/4.4.211/startup.patch
deleted file mode 100644
index e54ac19a6..000000000
--- a/target/linux/patches/4.4.211/startup.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff -Nur linux-4.4.6.orig/init/initramfs.c linux-4.4.6/init/initramfs.c
---- linux-4.4.6.orig/init/initramfs.c 2016-03-16 16:43:17.000000000 +0100
-+++ linux-4.4.6/init/initramfs.c 2016-03-27 14:15:43.931044532 +0200
-@@ -653,6 +653,9 @@
- */
- load_default_modules();
- }
-+#ifdef CONFIG_DEVTMPFS_MOUNT
-+ devtmpfs_mount("dev");
-+#endif
- return 0;
- }
- rootfs_initcall(populate_rootfs);
-diff -Nur linux-4.4.6.orig/init/main.c linux-4.4.6/init/main.c
---- linux-4.4.6.orig/init/main.c 2016-03-16 16:43:17.000000000 +0100
-+++ linux-4.4.6/init/main.c 2016-03-27 14:15:43.935044783 +0200
-@@ -1011,6 +1011,8 @@
- if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
- pr_err("Warning: unable to open an initial console.\n");
-
-+ printk(KERN_WARNING "Starting Linux (built with OpenADK).\n");
-+
- (void) sys_dup(0);
- (void) sys_dup(0);
- /*
-@@ -1019,7 +1021,7 @@
- */
-
- if (!ramdisk_execute_command)
-- ramdisk_execute_command = "/init";
-+ ramdisk_execute_command = "/sbin/init";
-
- if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) {
- ramdisk_execute_command = NULL;
diff --git a/target/linux/patches/4.4.211/coldfire-sighandler.patch b/target/linux/patches/4.4.302/coldfire-sighandler.patch
index c52a4e228..c52a4e228 100644
--- a/target/linux/patches/4.4.211/coldfire-sighandler.patch
+++ b/target/linux/patches/4.4.302/coldfire-sighandler.patch
diff --git a/target/linux/patches/4.4.211/crisv32.patch b/target/linux/patches/4.4.302/crisv32.patch
index cb9b0d028..cb9b0d028 100644
--- a/target/linux/patches/4.4.211/crisv32.patch
+++ b/target/linux/patches/4.4.302/crisv32.patch
diff --git a/target/linux/patches/4.4.211/crisv32_ethernet_driver.patch b/target/linux/patches/4.4.302/crisv32_ethernet_driver.patch
index 0cef202fc..0cef202fc 100644
--- a/target/linux/patches/4.4.211/crisv32_ethernet_driver.patch
+++ b/target/linux/patches/4.4.302/crisv32_ethernet_driver.patch
diff --git a/target/linux/patches/4.4.302/h8300-net.patch b/target/linux/patches/4.4.302/h8300-net.patch
new file mode 100644
index 000000000..788ae7db8
--- /dev/null
+++ b/target/linux/patches/4.4.302/h8300-net.patch
@@ -0,0 +1,81 @@
+diff -Nur linux-4.4.302.orig/arch/h8300/boot/dts/edosk2674.dts linux-4.4.302/arch/h8300/boot/dts/edosk2674.dts
+--- linux-4.4.302.orig/arch/h8300/boot/dts/edosk2674.dts 2022-02-03 09:27:54.000000000 +0100
++++ linux-4.4.302/arch/h8300/boot/dts/edosk2674.dts 2022-02-14 05:05:26.253691787 +0100
+@@ -6,7 +6,7 @@
+ interrupt-parent = <&h8intc>;
+
+ chosen {
+- bootargs = "console=ttySC2,38400";
++ bootargs = "console=ttySC2,38400 root=/dev/nfs ip=dhcp";
+ stdout-path = &sci2;
+ };
+ aliases {
+@@ -104,4 +104,9 @@
+ clocks = <&fclk>;
+ clock-names = "sci_ick";
+ };
++ ethernet: ethernet@f80000 {
++ compatible = "smsc,lan91c94";
++ reg = <0xf80000 0xfbffff>;
++ interrupts = <16 0>;
++ };
+ };
+diff -Nur linux-4.4.302.orig/drivers/net/ethernet/smsc/Kconfig linux-4.4.302/drivers/net/ethernet/smsc/Kconfig
+--- linux-4.4.302.orig/drivers/net/ethernet/smsc/Kconfig 2022-02-03 09:27:54.000000000 +0100
++++ linux-4.4.302/drivers/net/ethernet/smsc/Kconfig 2022-02-14 04:21:54.546112552 +0100
+@@ -7,7 +7,7 @@
+ default y
+ depends on ARM || ARM64 || ATARI_ETHERNAT || BLACKFIN || COLDFIRE || \
+ ISA || M32R || MAC || MIPS || MN10300 || NIOS2 || PCI || \
+- PCMCIA || SUPERH || XTENSA
++ PCMCIA || SUPERH || XTENSA || H8300
+ ---help---
+ If you have a network (Ethernet) card belonging to this class, say Y.
+
+@@ -36,9 +36,8 @@
+ tristate "SMC 91C9x/91C1xxx support"
+ select CRC32
+ select MII
+- depends on !OF || GPIOLIB
+ depends on ARM || ARM64 || ATARI_ETHERNAT || BLACKFIN || COLDFIRE || \
+- M32R || MIPS || MN10300 || NIOS2 || SUPERH || XTENSA
++ M32R || MIPS || MN10300 || NIOS2 || SUPERH || XTENSA || H8300
+ ---help---
+ This is a driver for SMC's 91x series of Ethernet chipsets,
+ including the SMC91C94 and the SMC91C111. Say Y if you want it
+diff -Nur linux-4.4.302.orig/drivers/net/ethernet/smsc/smc91x.c linux-4.4.302/drivers/net/ethernet/smsc/smc91x.c
+--- linux-4.4.302.orig/drivers/net/ethernet/smsc/smc91x.c 2022-02-03 09:27:54.000000000 +0100
++++ linux-4.4.302/drivers/net/ethernet/smsc/smc91x.c 2022-02-14 05:31:18.727485106 +0100
+@@ -61,7 +61,7 @@
+
+ /* Debugging level */
+ #ifndef SMC_DEBUG
+-#define SMC_DEBUG 0
++#define SMC_DEBUG 1
+ #endif
+
+
+@@ -2204,6 +2204,7 @@
+ };
+ MODULE_DEVICE_TABLE(of, smc91x_match);
+
++#if defined(CONFIG_GPIOLIB)
+ /**
+ * of_try_set_control_gpio - configure a gpio if it exists
+ */
+@@ -2228,6 +2229,15 @@
+
+ return 0;
+ }
++#else
++static int try_toggle_control_gpio(struct device *dev,
++ struct gpio_desc **desc,
++ const char *name, int index,
++ int value, unsigned int nsdelay)
++{
++ return 0;
++}
++#endif
+ #endif
+
+ /*
diff --git a/target/linux/patches/4.4.211/h8300.patch b/target/linux/patches/4.4.302/h8300.patch
index cf73989a6..cf73989a6 100644
--- a/target/linux/patches/4.4.211/h8300.patch
+++ b/target/linux/patches/4.4.302/h8300.patch
diff --git a/target/linux/patches/4.4.211/initramfs-nosizelimit.patch b/target/linux/patches/4.4.302/initramfs-nosizelimit.patch
index 40d2f6bd8..40d2f6bd8 100644
--- a/target/linux/patches/4.4.211/initramfs-nosizelimit.patch
+++ b/target/linux/patches/4.4.302/initramfs-nosizelimit.patch
diff --git a/target/linux/patches/4.4.211/ld-or1k.patch b/target/linux/patches/4.4.302/ld-or1k.patch
index 264f9166f..264f9166f 100644
--- a/target/linux/patches/4.4.211/ld-or1k.patch
+++ b/target/linux/patches/4.4.302/ld-or1k.patch
diff --git a/target/linux/patches/4.4.211/macsonic.patch b/target/linux/patches/4.4.302/macsonic.patch
index 75a6fcad2..75a6fcad2 100644
--- a/target/linux/patches/4.4.211/macsonic.patch
+++ b/target/linux/patches/4.4.302/macsonic.patch
diff --git a/target/linux/patches/4.4.211/mips-xz.patch b/target/linux/patches/4.4.302/mips-xz.patch
index 5cfac6254..5cfac6254 100644
--- a/target/linux/patches/4.4.211/mips-xz.patch
+++ b/target/linux/patches/4.4.302/mips-xz.patch
diff --git a/target/linux/patches/4.4.211/patch-realtime b/target/linux/patches/4.4.302/patch-realtime
index 9fe252409..9fe252409 100644
--- a/target/linux/patches/4.4.211/patch-realtime
+++ b/target/linux/patches/4.4.302/patch-realtime
diff --git a/target/linux/patches/4.4.302/startup.patch b/target/linux/patches/4.4.302/startup.patch
new file mode 100644
index 000000000..f9ab3f1c1
--- /dev/null
+++ b/target/linux/patches/4.4.302/startup.patch
@@ -0,0 +1,25 @@
+diff -Nur linux-4.4.6.orig/init/initramfs.c linux-4.4.6/init/initramfs.c
+--- linux-4.4.6.orig/init/initramfs.c 2016-03-16 16:43:17.000000000 +0100
++++ linux-4.4.6/init/initramfs.c 2016-03-27 14:15:43.931044532 +0200
+@@ -653,6 +653,9 @@
+ */
+ load_default_modules();
+ }
++#ifdef CONFIG_DEVTMPFS_MOUNT
++ devtmpfs_mount("dev");
++#endif
+ return 0;
+ }
+ rootfs_initcall(populate_rootfs);
+diff -Nur linux-4.4.6.orig/init/main.c linux-4.4.6/init/main.c
+--- linux-4.4.6.orig/init/main.c 2016-03-16 16:43:17.000000000 +0100
++++ linux-4.4.6/init/main.c 2016-03-27 14:15:43.935044783 +0200
+@@ -1011,6 +1011,8 @@
+ if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
+ pr_err("Warning: unable to open an initial console.\n");
+
++ printk(KERN_WARNING "Starting Linux (built with OpenADK).\n");
++
+ (void) sys_dup(0);
+ (void) sys_dup(0);
+ /*
diff --git a/target/linux/patches/4.4.211/use-libgcc-for-sh.patch b/target/linux/patches/4.4.302/use-libgcc-for-sh.patch
index 6420219b0..6420219b0 100644
--- a/target/linux/patches/4.4.211/use-libgcc-for-sh.patch
+++ b/target/linux/patches/4.4.302/use-libgcc-for-sh.patch
diff --git a/target/linux/patches/4.4.211/versatile-nommu.patch b/target/linux/patches/4.4.302/versatile-nommu.patch
index 96140b30c..96140b30c 100644
--- a/target/linux/patches/4.4.211/versatile-nommu.patch
+++ b/target/linux/patches/4.4.302/versatile-nommu.patch
diff --git a/target/linux/patches/4.9.211/startup.patch b/target/linux/patches/4.9.211/startup.patch
deleted file mode 100644
index e54ac19a6..000000000
--- a/target/linux/patches/4.9.211/startup.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff -Nur linux-4.4.6.orig/init/initramfs.c linux-4.4.6/init/initramfs.c
---- linux-4.4.6.orig/init/initramfs.c 2016-03-16 16:43:17.000000000 +0100
-+++ linux-4.4.6/init/initramfs.c 2016-03-27 14:15:43.931044532 +0200
-@@ -653,6 +653,9 @@
- */
- load_default_modules();
- }
-+#ifdef CONFIG_DEVTMPFS_MOUNT
-+ devtmpfs_mount("dev");
-+#endif
- return 0;
- }
- rootfs_initcall(populate_rootfs);
-diff -Nur linux-4.4.6.orig/init/main.c linux-4.4.6/init/main.c
---- linux-4.4.6.orig/init/main.c 2016-03-16 16:43:17.000000000 +0100
-+++ linux-4.4.6/init/main.c 2016-03-27 14:15:43.935044783 +0200
-@@ -1011,6 +1011,8 @@
- if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
- pr_err("Warning: unable to open an initial console.\n");
-
-+ printk(KERN_WARNING "Starting Linux (built with OpenADK).\n");
-+
- (void) sys_dup(0);
- (void) sys_dup(0);
- /*
-@@ -1019,7 +1021,7 @@
- */
-
- if (!ramdisk_execute_command)
-- ramdisk_execute_command = "/init";
-+ ramdisk_execute_command = "/sbin/init";
-
- if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) {
- ramdisk_execute_command = NULL;
diff --git a/target/linux/patches/4.9.211/alpha-remove-coff.patch b/target/linux/patches/4.9.287/alpha-remove-coff.patch
index 176db3c88..176db3c88 100644
--- a/target/linux/patches/4.9.211/alpha-remove-coff.patch
+++ b/target/linux/patches/4.9.287/alpha-remove-coff.patch
diff --git a/target/linux/patches/4.9.211/arm-nommu.patch b/target/linux/patches/4.9.287/arm-nommu.patch
index a9e80f197..a9e80f197 100644
--- a/target/linux/patches/4.9.211/arm-nommu.patch
+++ b/target/linux/patches/4.9.287/arm-nommu.patch
diff --git a/target/linux/patches/4.9.211/arm-thumb2.patch b/target/linux/patches/4.9.287/arm-thumb2.patch
index 6a42899b6..6a42899b6 100644
--- a/target/linux/patches/4.9.211/arm-thumb2.patch
+++ b/target/linux/patches/4.9.287/arm-thumb2.patch
diff --git a/target/linux/patches/4.9.211/crisv32_ethernet_driver.patch b/target/linux/patches/4.9.287/crisv32_ethernet_driver.patch
index 0cef202fc..0cef202fc 100644
--- a/target/linux/patches/4.9.211/crisv32_ethernet_driver.patch
+++ b/target/linux/patches/4.9.287/crisv32_ethernet_driver.patch
diff --git a/target/linux/patches/4.9.211/h8300.patch b/target/linux/patches/4.9.287/h8300.patch
index c71194f0a..c71194f0a 100644
--- a/target/linux/patches/4.9.211/h8300.patch
+++ b/target/linux/patches/4.9.287/h8300.patch
diff --git a/target/linux/patches/4.9.211/hppa-remove-debug.patch b/target/linux/patches/4.9.287/hppa-remove-debug.patch
index 72059657f..72059657f 100644
--- a/target/linux/patches/4.9.211/hppa-remove-debug.patch
+++ b/target/linux/patches/4.9.287/hppa-remove-debug.patch
diff --git a/target/linux/patches/4.9.211/initramfs-nosizelimit.patch b/target/linux/patches/4.9.287/initramfs-nosizelimit.patch
index 40d2f6bd8..40d2f6bd8 100644
--- a/target/linux/patches/4.9.211/initramfs-nosizelimit.patch
+++ b/target/linux/patches/4.9.287/initramfs-nosizelimit.patch
diff --git a/target/linux/patches/4.9.211/ld-or1k.patch b/target/linux/patches/4.9.287/ld-or1k.patch
index 264f9166f..264f9166f 100644
--- a/target/linux/patches/4.9.211/ld-or1k.patch
+++ b/target/linux/patches/4.9.287/ld-or1k.patch
diff --git a/target/linux/patches/4.9.211/macsonic.patch b/target/linux/patches/4.9.287/macsonic.patch
index 75a6fcad2..75a6fcad2 100644
--- a/target/linux/patches/4.9.211/macsonic.patch
+++ b/target/linux/patches/4.9.287/macsonic.patch
diff --git a/target/linux/patches/4.9.211/microblaze-sigaltstack.patch b/target/linux/patches/4.9.287/microblaze-sigaltstack.patch
index c4064e8b9..c4064e8b9 100644
--- a/target/linux/patches/4.9.211/microblaze-sigaltstack.patch
+++ b/target/linux/patches/4.9.287/microblaze-sigaltstack.patch
diff --git a/target/linux/patches/4.9.211/or1k-more-ram.patch b/target/linux/patches/4.9.287/or1k-more-ram.patch
index de848c838..de848c838 100644
--- a/target/linux/patches/4.9.211/or1k-more-ram.patch
+++ b/target/linux/patches/4.9.287/or1k-more-ram.patch
diff --git a/target/linux/patches/4.9.211/patch-realtime b/target/linux/patches/4.9.287/patch-realtime
index 7bb72e14d..7bb72e14d 100644
--- a/target/linux/patches/4.9.211/patch-realtime
+++ b/target/linux/patches/4.9.287/patch-realtime
diff --git a/target/linux/patches/4.9.211/sh2.patch b/target/linux/patches/4.9.287/sh2.patch
index 9debe80ad..9debe80ad 100644
--- a/target/linux/patches/4.9.211/sh2.patch
+++ b/target/linux/patches/4.9.287/sh2.patch
diff --git a/target/linux/patches/4.9.287/startup.patch b/target/linux/patches/4.9.287/startup.patch
new file mode 100644
index 000000000..f9ab3f1c1
--- /dev/null
+++ b/target/linux/patches/4.9.287/startup.patch
@@ -0,0 +1,25 @@
+diff -Nur linux-4.4.6.orig/init/initramfs.c linux-4.4.6/init/initramfs.c
+--- linux-4.4.6.orig/init/initramfs.c 2016-03-16 16:43:17.000000000 +0100
++++ linux-4.4.6/init/initramfs.c 2016-03-27 14:15:43.931044532 +0200
+@@ -653,6 +653,9 @@
+ */
+ load_default_modules();
+ }
++#ifdef CONFIG_DEVTMPFS_MOUNT
++ devtmpfs_mount("dev");
++#endif
+ return 0;
+ }
+ rootfs_initcall(populate_rootfs);
+diff -Nur linux-4.4.6.orig/init/main.c linux-4.4.6/init/main.c
+--- linux-4.4.6.orig/init/main.c 2016-03-16 16:43:17.000000000 +0100
++++ linux-4.4.6/init/main.c 2016-03-27 14:15:43.935044783 +0200
+@@ -1011,6 +1011,8 @@
+ if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
+ pr_err("Warning: unable to open an initial console.\n");
+
++ printk(KERN_WARNING "Starting Linux (built with OpenADK).\n");
++
+ (void) sys_dup(0);
+ (void) sys_dup(0);
+ /*
diff --git a/target/linux/patches/4.9.287/stm32.patch b/target/linux/patches/4.9.287/stm32.patch
new file mode 100644
index 000000000..9071eab47
--- /dev/null
+++ b/target/linux/patches/4.9.287/stm32.patch
@@ -0,0 +1,12 @@
+diff -Nur linux-4.9.257.orig/arch/arm/boot/dts/stm32f429-disco.dts linux-4.9.257/arch/arm/boot/dts/stm32f429-disco.dts
+--- linux-4.9.257.orig/arch/arm/boot/dts/stm32f429-disco.dts 2021-02-10 09:09:27.000000000 +0100
++++ linux-4.9.257/arch/arm/boot/dts/stm32f429-disco.dts 2021-04-09 20:08:56.113152788 +0200
+@@ -53,7 +53,7 @@
+ compatible = "st,stm32f429i-disco", "st,stm32f429";
+
+ chosen {
+- bootargs = "root=/dev/ram rdinit=/linuxrc";
++ bootargs = "";
+ stdout-path = "serial0:115200n8";
+ };
+
diff --git a/target/linux/patches/4.9.211/vdso2.patch b/target/linux/patches/4.9.287/vdso2.patch
index 35df488a8..35df488a8 100644
--- a/target/linux/patches/4.9.211/vdso2.patch
+++ b/target/linux/patches/4.9.287/vdso2.patch
diff --git a/target/linux/patches/5.4.53/arc.patch b/target/linux/patches/5.10.213/arc.patch
index 20810ce64..20810ce64 100644
--- a/target/linux/patches/5.4.53/arc.patch
+++ b/target/linux/patches/5.10.213/arc.patch
diff --git a/target/linux/patches/5.4.53/darwin-dtc.patch b/target/linux/patches/5.10.213/darwin-dtc.patch
index 0cdc23ab4..0cdc23ab4 100644
--- a/target/linux/patches/5.4.53/darwin-dtc.patch
+++ b/target/linux/patches/5.10.213/darwin-dtc.patch
diff --git a/target/linux/patches/5.4.53/darwin-file2alias.patch b/target/linux/patches/5.10.213/darwin-file2alias.patch
index fdbc598a8..fdbc598a8 100644
--- a/target/linux/patches/5.4.53/darwin-file2alias.patch
+++ b/target/linux/patches/5.10.213/darwin-file2alias.patch
diff --git a/target/linux/patches/5.4.53/dtc-noyaml.patch b/target/linux/patches/5.10.213/dtc-noyaml.patch
index 759bb01f7..759bb01f7 100644
--- a/target/linux/patches/5.4.53/dtc-noyaml.patch
+++ b/target/linux/patches/5.10.213/dtc-noyaml.patch
diff --git a/target/linux/patches/5.10.213/nds32-ag101p.patch b/target/linux/patches/5.10.213/nds32-ag101p.patch
new file mode 100644
index 000000000..a8beea478
--- /dev/null
+++ b/target/linux/patches/5.10.213/nds32-ag101p.patch
@@ -0,0 +1,64 @@
+diff -Nur linux-5.10.93.orig/arch/nds32/boot/dts/ag101p.dts linux-5.10.93/arch/nds32/boot/dts/ag101p.dts
+--- linux-5.10.93.orig/arch/nds32/boot/dts/ag101p.dts 1970-01-01 01:00:00.000000000 +0100
++++ linux-5.10.93/arch/nds32/boot/dts/ag101p.dts 2022-01-21 03:39:21.936044612 +0100
+@@ -0,0 +1,60 @@
++/dts-v1/;
++/ {
++ compatible = "nds32 ag101p";
++ #address-cells = <1>;
++ #size-cells = <1>;
++ interrupt-parent = <&intc>;
++
++ chosen {
++ bootargs = "console=ttyS0,38400n8 earlyprintk=uart8250-32bit,0x99600000 debug loglevel=7";
++ };
++
++ memory@0 {
++ device_type = "memory";
++ reg = <0x00000000 0x40000000>;
++ };
++
++ cpus {
++ cpu@0 {
++ device_type = "cpu";
++ compatible = "andestech,n13";
++ next-level-cache = <&L2>;
++ };
++ };
++
++ intc: interrupt-controller {
++ compatible = "andestech,atnointc010";
++ #interrupt-cells = <2>;
++ interrupt-controller;
++ };
++
++ serial0: serial@99600000 {
++ compatible = "andestech,uart16550", "ns16550a";
++ reg = <0x99600000 0x1000>;
++ interrupts = <7 4>;
++ clock-frequency = <14745600>;
++ reg-shift = <2>;
++ no-loopback-test = <1>;
++ };
++
++ timer0: timer@98400000 {
++ compatible = "andestech,atftmr010";
++ reg = <0x98400000 0x1000>;
++ interrupts = <19 4>;
++ clock-frequency = <15000000>;
++ cycle-count-offset = <0x20>;
++ };
++
++ mac0: mac@90900000 {
++ compatible = "andestech,atmac100";
++ reg = <0x90900000 0x1000>;
++ interrupts = <25 4>;
++ };
++
++ L2: l2-cache {
++ compatible = "andestech,atl2c";
++ reg = <0x90f00000 0x1000>;
++ cache-unified;
++ cache-level = <2>;
++ };
++};
diff --git a/target/linux/patches/5.4.53/or1k-more-ram.patch b/target/linux/patches/5.10.213/or1k-more-ram.patch
index de848c838..de848c838 100644
--- a/target/linux/patches/5.4.53/or1k-more-ram.patch
+++ b/target/linux/patches/5.10.213/or1k-more-ram.patch
diff --git a/target/linux/patches/5.4.53/relocs.patch b/target/linux/patches/5.10.213/relocs.patch
index 5bcd974c7..5bcd974c7 100644
--- a/target/linux/patches/5.4.53/relocs.patch
+++ b/target/linux/patches/5.10.213/relocs.patch
diff --git a/target/linux/patches/5.10.213/startup.patch b/target/linux/patches/5.10.213/startup.patch
new file mode 100644
index 000000000..eef481021
--- /dev/null
+++ b/target/linux/patches/5.10.213/startup.patch
@@ -0,0 +1,25 @@
+diff -Nur linux-5.10.17.orig/init/initramfs.c linux-5.10.17/init/initramfs.c
+--- linux-5.10.17.orig/init/initramfs.c 2021-02-17 11:02:30.000000000 +0100
++++ linux-5.10.17/init/initramfs.c 2021-02-23 13:27:40.449467155 +0100
+@@ -636,6 +636,9 @@
+ initrd_start = 0;
+ initrd_end = 0;
+
++#ifdef CONFIG_DEVTMPFS_MOUNT
++ devtmpfs_mount();
++#endif
+ flush_delayed_fput();
+ return 0;
+ }
+diff -Nur linux-5.10.17.orig/init/main.c linux-5.10.17/init/main.c
+--- linux-5.10.17.orig/init/main.c 2021-02-17 11:02:30.000000000 +0100
++++ linux-5.10.17/init/main.c 2021-02-23 13:39:32.238650450 +0100
+@@ -1483,6 +1483,8 @@
+ pr_err("Warning: unable to open an initial console.\n");
+ return;
+ }
++ printk(KERN_WARNING "Starting Linux (built with OpenADK).\n");
++
+ init_dup(file);
+ init_dup(file);
+ init_dup(file);
diff --git a/target/linux/patches/5.15.152/darwin-dtc.patch b/target/linux/patches/5.15.152/darwin-dtc.patch
new file mode 100644
index 000000000..0cdc23ab4
--- /dev/null
+++ b/target/linux/patches/5.15.152/darwin-dtc.patch
@@ -0,0 +1,26 @@
+diff -Nur linux-4.19.132.orig/scripts/dtc/dtc.h linux-4.19.132/scripts/dtc/dtc.h
+--- linux-4.19.132.orig/scripts/dtc/dtc.h 2020-07-09 09:37:13.000000000 +0200
++++ linux-4.19.132/scripts/dtc/dtc.h 2020-07-15 02:38:00.000000000 +0200
+@@ -33,8 +33,8 @@
+ #include <unistd.h>
+ #include <inttypes.h>
+
+-#include <libfdt_env.h>
+-#include <fdt.h>
++#include "libfdt/libfdt_env.h"
++#include "libfdt/fdt.h"
+
+ #include "util.h"
+
+diff -Nur linux-4.19.132.orig/scripts/dtc/util.c linux-4.19.132/scripts/dtc/util.c
+--- linux-4.19.132.orig/scripts/dtc/util.c 2020-07-09 09:37:13.000000000 +0200
++++ linux-4.19.132/scripts/dtc/util.c 2020-07-15 02:38:18.000000000 +0200
+@@ -32,7 +32,7 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+
+-#include "libfdt.h"
++#include "libfdt/libfdt.h"
+ #include "util.h"
+ #include "version_gen.h"
+
diff --git a/target/linux/patches/5.15.152/darwin-file2alias.patch b/target/linux/patches/5.15.152/darwin-file2alias.patch
new file mode 100644
index 000000000..fdbc598a8
--- /dev/null
+++ b/target/linux/patches/5.15.152/darwin-file2alias.patch
@@ -0,0 +1,14 @@
+diff -Nur linux-5.4.42.orig/scripts/mod/file2alias.c linux-5.4.42/scripts/mod/file2alias.c
+--- linux-5.4.42.orig/scripts/mod/file2alias.c 2020-05-20 08:20:41.000000000 +0200
++++ linux-5.4.42/scripts/mod/file2alias.c 2020-06-06 20:14:59.000000000 +0200
+@@ -10,6 +10,10 @@
+ * of the GNU General Public License, incorporated herein by reference.
+ */
+
++/* workaround for Darwin */
++#define _UUID_T
++#define __GETHOSTUUID_H
++
+ #include "modpost.h"
+ #include "devicetable-offsets.h"
+
diff --git a/target/linux/patches/5.15.152/dtc-noyaml.patch b/target/linux/patches/5.15.152/dtc-noyaml.patch
new file mode 100644
index 000000000..759bb01f7
--- /dev/null
+++ b/target/linux/patches/5.15.152/dtc-noyaml.patch
@@ -0,0 +1,16 @@
+diff -Nur linux-5.4.53.orig/scripts/dtc/dtc.c linux-5.4.53/scripts/dtc/dtc.c
+--- linux-5.4.53.orig/scripts/dtc/dtc.c 2020-07-22 09:33:18.000000000 +0200
++++ linux-5.4.53/scripts/dtc/dtc.c 2020-07-28 14:20:10.000000000 +0200
+@@ -349,12 +349,6 @@
+
+ if (streq(outform, "dts")) {
+ dt_to_source(outf, dti);
+-#ifndef NO_YAML
+- } else if (streq(outform, "yaml")) {
+- if (!streq(inform, "dts"))
+- die("YAML output format requires dts input format\n");
+- dt_to_yaml(outf, dti);
+-#endif
+ } else if (streq(outform, "dtb")) {
+ dt_to_blob(outf, dti, outversion);
+ } else if (streq(outform, "asm")) {
diff --git a/target/linux/patches/5.15.152/enable-ethernet-bpi-m2-plus.patch b/target/linux/patches/5.15.152/enable-ethernet-bpi-m2-plus.patch
new file mode 100644
index 000000000..7e9abd9ce
--- /dev/null
+++ b/target/linux/patches/5.15.152/enable-ethernet-bpi-m2-plus.patch
@@ -0,0 +1,15 @@
+diff -Nur linux-6.0.11.orig/arch/arm/boot/dts/sunxi-h3-h5.dtsi linux-6.0.11/arch/arm/boot/dts/sunxi-h3-h5.dtsi
+--- linux-6.0.11.orig/arch/arm/boot/dts/sunxi-h3-h5.dtsi 2022-12-02 17:43:18.000000000 +0100
++++ linux-6.0.11/arch/arm/boot/dts/sunxi-h3-h5.dtsi 2022-12-19 08:06:16.836436057 +0100
+@@ -532,7 +532,10 @@
+ reset-names = "stmmaceth";
+ clocks = <&ccu CLK_BUS_EMAC>;
+ clock-names = "stmmaceth";
+- status = "disabled";
++ status = "okay";
++ phy-handle = <&int_mii_phy>;
++ phy-mode = "mii";
++ allwinner,leds-active-low;
+
+ mdio: mdio {
+ #address-cells = <1>;
diff --git a/target/linux/patches/5.15.152/nds32-ag101p.patch b/target/linux/patches/5.15.152/nds32-ag101p.patch
new file mode 100644
index 000000000..a8beea478
--- /dev/null
+++ b/target/linux/patches/5.15.152/nds32-ag101p.patch
@@ -0,0 +1,64 @@
+diff -Nur linux-5.10.93.orig/arch/nds32/boot/dts/ag101p.dts linux-5.10.93/arch/nds32/boot/dts/ag101p.dts
+--- linux-5.10.93.orig/arch/nds32/boot/dts/ag101p.dts 1970-01-01 01:00:00.000000000 +0100
++++ linux-5.10.93/arch/nds32/boot/dts/ag101p.dts 2022-01-21 03:39:21.936044612 +0100
+@@ -0,0 +1,60 @@
++/dts-v1/;
++/ {
++ compatible = "nds32 ag101p";
++ #address-cells = <1>;
++ #size-cells = <1>;
++ interrupt-parent = <&intc>;
++
++ chosen {
++ bootargs = "console=ttyS0,38400n8 earlyprintk=uart8250-32bit,0x99600000 debug loglevel=7";
++ };
++
++ memory@0 {
++ device_type = "memory";
++ reg = <0x00000000 0x40000000>;
++ };
++
++ cpus {
++ cpu@0 {
++ device_type = "cpu";
++ compatible = "andestech,n13";
++ next-level-cache = <&L2>;
++ };
++ };
++
++ intc: interrupt-controller {
++ compatible = "andestech,atnointc010";
++ #interrupt-cells = <2>;
++ interrupt-controller;
++ };
++
++ serial0: serial@99600000 {
++ compatible = "andestech,uart16550", "ns16550a";
++ reg = <0x99600000 0x1000>;
++ interrupts = <7 4>;
++ clock-frequency = <14745600>;
++ reg-shift = <2>;
++ no-loopback-test = <1>;
++ };
++
++ timer0: timer@98400000 {
++ compatible = "andestech,atftmr010";
++ reg = <0x98400000 0x1000>;
++ interrupts = <19 4>;
++ clock-frequency = <15000000>;
++ cycle-count-offset = <0x20>;
++ };
++
++ mac0: mac@90900000 {
++ compatible = "andestech,atmac100";
++ reg = <0x90900000 0x1000>;
++ interrupts = <25 4>;
++ };
++
++ L2: l2-cache {
++ compatible = "andestech,atl2c";
++ reg = <0x90f00000 0x1000>;
++ cache-unified;
++ cache-level = <2>;
++ };
++};
diff --git a/target/linux/patches/5.15.152/or1k-more-ram.patch b/target/linux/patches/5.15.152/or1k-more-ram.patch
new file mode 100644
index 000000000..de848c838
--- /dev/null
+++ b/target/linux/patches/5.15.152/or1k-more-ram.patch
@@ -0,0 +1,12 @@
+diff -Nur linux-4.8.11.orig/arch/openrisc/boot/dts/or1ksim.dts linux-4.8.11/arch/openrisc/boot/dts/or1ksim.dts
+--- linux-4.8.11.orig/arch/openrisc/boot/dts/or1ksim.dts 2016-11-26 09:57:13.000000000 +0100
++++ linux-4.8.11/arch/openrisc/boot/dts/or1ksim.dts 2016-12-04 14:39:46.092952799 +0100
+@@ -11,7 +11,7 @@
+
+ memory@0 {
+ device_type = "memory";
+- reg = <0x00000000 0x02000000>;
++ reg = <0x00000000 0x04000000>;
+ };
+
+ cpus {
diff --git a/target/linux/patches/5.15.152/relocs.patch b/target/linux/patches/5.15.152/relocs.patch
new file mode 100644
index 000000000..5bcd974c7
--- /dev/null
+++ b/target/linux/patches/5.15.152/relocs.patch
@@ -0,0 +1,2698 @@
+diff -Nur linux-5.4.42.orig/arch/x86/tools/relocs.h linux-5.4.42/arch/x86/tools/relocs.h
+--- linux-5.4.42.orig/arch/x86/tools/relocs.h 2020-05-20 08:20:41.000000000 +0200
++++ linux-5.4.42/arch/x86/tools/relocs.h 2020-06-06 18:18:17.000000000 +0200
+@@ -10,11 +10,19 @@
+ #include <string.h>
+ #include <errno.h>
+ #include <unistd.h>
++#ifdef __linux__
+ #include <elf.h>
+ #include <byteswap.h>
+ #define USE_BSD
+ #include <endian.h>
++#else
++#include "elf.h"
++#endif
++#ifdef __APPLE__
++#include <pcreposix.h>
++#else
+ #include <regex.h>
++#endif
+ #include <tools/le_byteshift.h>
+
+ void die(char *fmt, ...) __attribute__((noreturn));
+diff -Nur linux-5.4.42.orig/tools/include/elf.h linux-5.4.42/tools/include/elf.h
+--- linux-5.4.42.orig/tools/include/elf.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-5.4.42/tools/include/elf.h 2020-06-06 18:18:17.000000000 +0200
+@@ -0,0 +1,2671 @@
++#ifndef _ELF_H
++#define _ELF_H
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++#include <stdint.h>
++
++typedef uint16_t Elf32_Half;
++typedef uint16_t Elf64_Half;
++
++typedef uint32_t Elf32_Word;
++typedef int32_t Elf32_Sword;
++typedef uint32_t Elf64_Word;
++typedef int32_t Elf64_Sword;
++
++typedef uint64_t Elf32_Xword;
++typedef int64_t Elf32_Sxword;
++typedef uint64_t Elf64_Xword;
++typedef int64_t Elf64_Sxword;
++
++typedef uint32_t Elf32_Addr;
++typedef uint64_t Elf64_Addr;
++
++typedef uint32_t Elf32_Off;
++typedef uint64_t Elf64_Off;
++
++typedef uint16_t Elf32_Section;
++typedef uint16_t Elf64_Section;
++
++typedef Elf32_Half Elf32_Versym;
++typedef Elf64_Half Elf64_Versym;
++
++#define EI_NIDENT (16)
++
++typedef struct {
++ unsigned char e_ident[EI_NIDENT];
++ Elf32_Half e_type;
++ Elf32_Half e_machine;
++ Elf32_Word e_version;
++ Elf32_Addr e_entry;
++ Elf32_Off e_phoff;
++ Elf32_Off e_shoff;
++ Elf32_Word e_flags;
++ Elf32_Half e_ehsize;
++ Elf32_Half e_phentsize;
++ Elf32_Half e_phnum;
++ Elf32_Half e_shentsize;
++ Elf32_Half e_shnum;
++ Elf32_Half e_shstrndx;
++} Elf32_Ehdr;
++
++typedef struct {
++ unsigned char e_ident[EI_NIDENT];
++ Elf64_Half e_type;
++ Elf64_Half e_machine;
++ Elf64_Word e_version;
++ Elf64_Addr e_entry;
++ Elf64_Off e_phoff;
++ Elf64_Off e_shoff;
++ Elf64_Word e_flags;
++ Elf64_Half e_ehsize;
++ Elf64_Half e_phentsize;
++ Elf64_Half e_phnum;
++ Elf64_Half e_shentsize;
++ Elf64_Half e_shnum;
++ Elf64_Half e_shstrndx;
++} Elf64_Ehdr;
++
++#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 SELFMAG 4
++
++#define EI_CLASS 4
++#define ELFCLASSNONE 0
++#define ELFCLASS32 1
++#define ELFCLASS64 2
++#define ELFCLASSNUM 3
++
++#define EI_DATA 5
++#define ELFDATANONE 0
++#define ELFDATA2LSB 1
++#define ELFDATA2MSB 2
++#define ELFDATANUM 3
++
++#define EI_VERSION 6
++
++
++#define EI_OSABI 7
++#define ELFOSABI_NONE 0
++#define ELFOSABI_SYSV 0
++#define ELFOSABI_HPUX 1
++#define ELFOSABI_NETBSD 2
++#define ELFOSABI_LINUX 3
++#define ELFOSABI_GNU 3
++#define ELFOSABI_SOLARIS 6
++#define ELFOSABI_AIX 7
++#define ELFOSABI_IRIX 8
++#define ELFOSABI_FREEBSD 9
++#define ELFOSABI_TRU64 10
++#define ELFOSABI_MODESTO 11
++#define ELFOSABI_OPENBSD 12
++#define ELFOSABI_ARM 97
++#define ELFOSABI_STANDALONE 255
++
++#define EI_ABIVERSION 8
++
++#define EI_PAD 9
++
++
++
++#define ET_NONE 0
++#define ET_REL 1
++#define ET_EXEC 2
++#define ET_DYN 3
++#define ET_CORE 4
++#define ET_NUM 5
++#define ET_LOOS 0xfe00
++#define ET_HIOS 0xfeff
++#define ET_LOPROC 0xff00
++#define ET_HIPROC 0xffff
++
++
++
++#define EM_NONE 0
++#define EM_M32 1
++#define EM_SPARC 2
++#define EM_386 3
++#define EM_68K 4
++#define EM_88K 5
++#define EM_860 7
++#define EM_MIPS 8
++#define EM_S370 9
++#define EM_MIPS_RS3_LE 10
++
++#define EM_PARISC 15
++#define EM_VPP500 17
++#define EM_SPARC32PLUS 18
++#define EM_960 19
++#define EM_PPC 20
++#define EM_PPC64 21
++#define EM_S390 22
++
++#define EM_V800 36
++#define EM_FR20 37
++#define EM_RH32 38
++#define EM_RCE 39
++#define EM_ARM 40
++#define EM_FAKE_ALPHA 41
++#define EM_SH 42
++#define EM_SPARCV9 43
++#define EM_TRICORE 44
++#define EM_ARC 45
++#define EM_H8_300 46
++#define EM_H8_300H 47
++#define EM_H8S 48
++#define EM_H8_500 49
++#define EM_IA_64 50
++#define EM_MIPS_X 51
++#define EM_COLDFIRE 52
++#define EM_68HC12 53
++#define EM_MMA 54
++#define EM_PCP 55
++#define EM_NCPU 56
++#define EM_NDR1 57
++#define EM_STARCORE 58
++#define EM_ME16 59
++#define EM_ST100 60
++#define EM_TINYJ 61
++#define EM_X86_64 62
++#define EM_PDSP 63
++
++#define EM_FX66 66
++#define EM_ST9PLUS 67
++#define EM_ST7 68
++#define EM_68HC16 69
++#define EM_68HC11 70
++#define EM_68HC08 71
++#define EM_68HC05 72
++#define EM_SVX 73
++#define EM_ST19 74
++#define EM_VAX 75
++#define EM_CRIS 76
++#define EM_JAVELIN 77
++#define EM_FIREPATH 78
++#define EM_ZSP 79
++#define EM_MMIX 80
++#define EM_HUANY 81
++#define EM_PRISM 82
++#define EM_AVR 83
++#define EM_FR30 84
++#define EM_D10V 85
++#define EM_D30V 86
++#define EM_V850 87
++#define EM_M32R 88
++#define EM_MN10300 89
++#define EM_MN10200 90
++#define EM_PJ 91
++#define EM_OPENRISC 92
++#define EM_ARC_A5 93
++#define EM_XTENSA 94
++#define EM_AARCH64 183
++#define EM_TILEPRO 188
++#define EM_MICROBLAZE 189
++#define EM_TILEGX 191
++#define EM_NUM 192
++#define EM_ALPHA 0x9026
++
++#define EV_NONE 0
++#define EV_CURRENT 1
++#define EV_NUM 2
++
++typedef struct {
++ Elf32_Word sh_name;
++ Elf32_Word sh_type;
++ Elf32_Word sh_flags;
++ Elf32_Addr sh_addr;
++ Elf32_Off sh_offset;
++ Elf32_Word sh_size;
++ Elf32_Word sh_link;
++ Elf32_Word sh_info;
++ Elf32_Word sh_addralign;
++ Elf32_Word sh_entsize;
++} Elf32_Shdr;
++
++typedef struct {
++ Elf64_Word sh_name;
++ Elf64_Word sh_type;
++ Elf64_Xword sh_flags;
++ Elf64_Addr sh_addr;
++ Elf64_Off sh_offset;
++ Elf64_Xword sh_size;
++ Elf64_Word sh_link;
++ Elf64_Word sh_info;
++ Elf64_Xword sh_addralign;
++ Elf64_Xword sh_entsize;
++} Elf64_Shdr;
++
++
++
++#define SHN_UNDEF 0
++#define SHN_LORESERVE 0xff00
++#define SHN_LOPROC 0xff00
++#define SHN_BEFORE 0xff00
++
++#define SHN_AFTER 0xff01
++
++#define SHN_HIPROC 0xff1f
++#define SHN_LOOS 0xff20
++#define SHN_HIOS 0xff3f
++#define SHN_ABS 0xfff1
++#define SHN_COMMON 0xfff2
++#define SHN_XINDEX 0xffff
++#define SHN_HIRESERVE 0xffff
++
++
++
++#define SHT_NULL 0
++#define SHT_PROGBITS 1
++#define SHT_SYMTAB 2
++#define SHT_STRTAB 3
++#define SHT_RELA 4
++#define SHT_HASH 5
++#define SHT_DYNAMIC 6
++#define SHT_NOTE 7
++#define SHT_NOBITS 8
++#define SHT_REL 9
++#define SHT_SHLIB 10
++#define SHT_DYNSYM 11
++#define SHT_INIT_ARRAY 14
++#define SHT_FINI_ARRAY 15
++#define SHT_PREINIT_ARRAY 16
++#define SHT_GROUP 17
++#define SHT_SYMTAB_SHNDX 18
++#define SHT_NUM 19
++#define SHT_LOOS 0x60000000
++#define SHT_GNU_ATTRIBUTES 0x6ffffff5
++#define SHT_GNU_HASH 0x6ffffff6
++#define SHT_GNU_LIBLIST 0x6ffffff7
++#define SHT_CHECKSUM 0x6ffffff8
++#define SHT_LOSUNW 0x6ffffffa
++#define SHT_SUNW_move 0x6ffffffa
++#define SHT_SUNW_COMDAT 0x6ffffffb
++#define SHT_SUNW_syminfo 0x6ffffffc
++#define SHT_GNU_verdef 0x6ffffffd
++#define SHT_GNU_verneed 0x6ffffffe
++#define SHT_GNU_versym 0x6fffffff
++#define SHT_HISUNW 0x6fffffff
++#define SHT_HIOS 0x6fffffff
++#define SHT_LOPROC 0x70000000
++#define SHT_HIPROC 0x7fffffff
++#define SHT_LOUSER 0x80000000
++#define SHT_HIUSER 0x8fffffff
++
++#define SHF_WRITE (1 << 0)
++#define SHF_ALLOC (1 << 1)
++#define SHF_EXECINSTR (1 << 2)
++#define SHF_MERGE (1 << 4)
++#define SHF_STRINGS (1 << 5)
++#define SHF_INFO_LINK (1 << 6)
++#define SHF_LINK_ORDER (1 << 7)
++#define SHF_OS_NONCONFORMING (1 << 8)
++
++#define SHF_GROUP (1 << 9)
++#define SHF_TLS (1 << 10)
++#define SHF_MASKOS 0x0ff00000
++#define SHF_MASKPROC 0xf0000000
++#define SHF_ORDERED (1 << 30)
++#define SHF_EXCLUDE (1 << 31)
++
++#define GRP_COMDAT 0x1
++
++typedef struct {
++ Elf32_Word st_name;
++ Elf32_Addr st_value;
++ Elf32_Word st_size;
++ unsigned char st_info;
++ unsigned char st_other;
++ Elf32_Section st_shndx;
++} Elf32_Sym;
++
++typedef struct {
++ Elf64_Word st_name;
++ unsigned char st_info;
++ unsigned char st_other;
++ Elf64_Section st_shndx;
++ Elf64_Addr st_value;
++ Elf64_Xword st_size;
++} Elf64_Sym;
++
++typedef struct {
++ Elf32_Half si_boundto;
++ Elf32_Half si_flags;
++} Elf32_Syminfo;
++
++typedef struct {
++ Elf64_Half si_boundto;
++ Elf64_Half si_flags;
++} Elf64_Syminfo;
++
++#define SYMINFO_BT_SELF 0xffff
++#define SYMINFO_BT_PARENT 0xfffe
++#define SYMINFO_BT_LOWRESERVE 0xff00
++
++#define SYMINFO_FLG_DIRECT 0x0001
++#define SYMINFO_FLG_PASSTHRU 0x0002
++#define SYMINFO_FLG_COPY 0x0004
++#define SYMINFO_FLG_LAZYLOAD 0x0008
++
++#define SYMINFO_NONE 0
++#define SYMINFO_CURRENT 1
++#define SYMINFO_NUM 2
++
++#define ELF32_ST_BIND(val) (((unsigned char) (val)) >> 4)
++#define ELF32_ST_TYPE(val) ((val) & 0xf)
++#define ELF32_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf))
++
++#define ELF64_ST_BIND(val) ELF32_ST_BIND (val)
++#define ELF64_ST_TYPE(val) ELF32_ST_TYPE (val)
++#define ELF64_ST_INFO(bind, type) ELF32_ST_INFO ((bind), (type))
++
++#define STB_LOCAL 0
++#define STB_GLOBAL 1
++#define STB_WEAK 2
++#define STB_NUM 3
++#define STB_LOOS 10
++#define STB_GNU_UNIQUE 10
++#define STB_HIOS 12
++#define STB_LOPROC 13
++#define STB_HIPROC 15
++
++#define STT_NOTYPE 0
++#define STT_OBJECT 1
++#define STT_FUNC 2
++#define STT_SECTION 3
++#define STT_FILE 4
++#define STT_COMMON 5
++#define STT_TLS 6
++#define STT_NUM 7
++#define STT_LOOS 10
++#define STT_GNU_IFUNC 10
++#define STT_HIOS 12
++#define STT_LOPROC 13
++#define STT_HIPROC 15
++
++#define STN_UNDEF 0
++
++#define ELF32_ST_VISIBILITY(o) ((o) & 0x03)
++#define ELF64_ST_VISIBILITY(o) ELF32_ST_VISIBILITY (o)
++
++#define STV_DEFAULT 0
++#define STV_INTERNAL 1
++#define STV_HIDDEN 2
++#define STV_PROTECTED 3
++
++
++
++
++typedef struct
++{
++ Elf32_Addr r_offset;
++ Elf32_Word r_info;
++} Elf32_Rel;
++
++typedef struct {
++ Elf64_Addr r_offset;
++ Elf64_Xword r_info;
++} Elf64_Rel;
++
++
++
++typedef struct {
++ Elf32_Addr r_offset;
++ Elf32_Word r_info;
++ Elf32_Sword r_addend;
++} Elf32_Rela;
++
++typedef struct {
++ Elf64_Addr r_offset;
++ Elf64_Xword r_info;
++ Elf64_Sxword r_addend;
++} Elf64_Rela;
++
++
++
++#define ELF32_R_SYM(val) ((val) >> 8)
++#define ELF32_R_TYPE(val) ((val) & 0xff)
++#define ELF32_R_INFO(sym, type) (((sym) << 8) + ((type) & 0xff))
++
++#define ELF64_R_SYM(i) ((i) >> 32)
++#define ELF64_R_TYPE(i) ((i) & 0xffffffff)
++#define ELF64_R_INFO(sym,type) ((((Elf64_Xword) (sym)) << 32) + (type))
++
++
++
++typedef struct {
++ Elf32_Word p_type;
++ Elf32_Off p_offset;
++ Elf32_Addr p_vaddr;
++ Elf32_Addr p_paddr;
++ Elf32_Word p_filesz;
++ Elf32_Word p_memsz;
++ Elf32_Word p_flags;
++ Elf32_Word p_align;
++} Elf32_Phdr;
++
++typedef struct {
++ Elf64_Word p_type;
++ Elf64_Word p_flags;
++ Elf64_Off p_offset;
++ Elf64_Addr p_vaddr;
++ Elf64_Addr p_paddr;
++ Elf64_Xword p_filesz;
++ Elf64_Xword p_memsz;
++ Elf64_Xword p_align;
++} Elf64_Phdr;
++
++
++
++#define PT_NULL 0
++#define PT_LOAD 1
++#define PT_DYNAMIC 2
++#define PT_INTERP 3
++#define PT_NOTE 4
++#define PT_SHLIB 5
++#define PT_PHDR 6
++#define PT_TLS 7
++#define PT_NUM 8
++#define PT_LOOS 0x60000000
++#define PT_GNU_EH_FRAME 0x6474e550
++#define PT_GNU_STACK 0x6474e551
++#define PT_GNU_RELRO 0x6474e552
++#define PT_LOSUNW 0x6ffffffa
++#define PT_SUNWBSS 0x6ffffffa
++#define PT_SUNWSTACK 0x6ffffffb
++#define PT_HISUNW 0x6fffffff
++#define PT_HIOS 0x6fffffff
++#define PT_LOPROC 0x70000000
++#define PT_HIPROC 0x7fffffff
++
++
++#define PN_XNUM 0xffff
++
++
++#define PF_X (1 << 0)
++#define PF_W (1 << 1)
++#define PF_R (1 << 2)
++#define PF_MASKOS 0x0ff00000
++#define PF_MASKPROC 0xf0000000
++
++
++
++#define NT_PRSTATUS 1
++#define NT_FPREGSET 2
++#define NT_PRPSINFO 3
++#define NT_PRXREG 4
++#define NT_TASKSTRUCT 4
++#define NT_PLATFORM 5
++#define NT_AUXV 6
++#define NT_GWINDOWS 7
++#define NT_ASRS 8
++#define NT_PSTATUS 10
++#define NT_PSINFO 13
++#define NT_PRCRED 14
++#define NT_UTSNAME 15
++#define NT_LWPSTATUS 16
++#define NT_LWPSINFO 17
++#define NT_PRFPXREG 20
++#define NT_SIGINFO 0x53494749
++#define NT_FILE 0x46494c45
++#define NT_PRXFPREG 0x46e62b7f
++#define NT_PPC_VMX 0x100
++#define NT_PPC_SPE 0x101
++#define NT_PPC_VSX 0x102
++#define NT_386_TLS 0x200
++#define NT_386_IOPERM 0x201
++#define NT_X86_XSTATE 0x202
++#define NT_S390_HIGH_GPRS 0x300
++#define NT_S390_TIMER 0x301
++#define NT_S390_TODCMP 0x302
++#define NT_S390_TODPREG 0x303
++#define NT_S390_CTRS 0x304
++#define NT_S390_PREFIX 0x305
++#define NT_S390_LAST_BREAK 0x306
++#define NT_S390_SYSTEM_CALL 0x307
++#define NT_S390_TDB 0x308
++#define NT_ARM_VFP 0x400
++#define NT_ARM_TLS 0x401
++#define NT_ARM_HW_BREAK 0x402
++#define NT_ARM_HW_WATCH 0x403
++#define NT_METAG_CBUF 0x500
++#define NT_METAG_RPIPE 0x501
++#define NT_METAG_TLS 0x502
++#define NT_VERSION 1
++
++
++
++
++typedef struct {
++ Elf32_Sword d_tag;
++ union {
++ Elf32_Word d_val;
++ Elf32_Addr d_ptr;
++ } d_un;
++} Elf32_Dyn;
++
++typedef struct {
++ Elf64_Sxword d_tag;
++ union {
++ Elf64_Xword d_val;
++ Elf64_Addr d_ptr;
++ } d_un;
++} Elf64_Dyn;
++
++
++
++#define DT_NULL 0
++#define DT_NEEDED 1
++#define DT_PLTRELSZ 2
++#define DT_PLTGOT 3
++#define DT_HASH 4
++#define DT_STRTAB 5
++#define DT_SYMTAB 6
++#define DT_RELA 7
++#define DT_RELASZ 8
++#define DT_RELAENT 9
++#define DT_STRSZ 10
++#define DT_SYMENT 11
++#define DT_INIT 12
++#define DT_FINI 13
++#define DT_SONAME 14
++#define DT_RPATH 15
++#define DT_SYMBOLIC 16
++#define DT_REL 17
++#define DT_RELSZ 18
++#define DT_RELENT 19
++#define DT_PLTREL 20
++#define DT_DEBUG 21
++#define DT_TEXTREL 22
++#define DT_JMPREL 23
++#define DT_BIND_NOW 24
++#define DT_INIT_ARRAY 25
++#define DT_FINI_ARRAY 26
++#define DT_INIT_ARRAYSZ 27
++#define DT_FINI_ARRAYSZ 28
++#define DT_RUNPATH 29
++#define DT_FLAGS 30
++#define DT_ENCODING 32
++#define DT_PREINIT_ARRAY 32
++#define DT_PREINIT_ARRAYSZ 33
++#define DT_NUM 34
++#define DT_LOOS 0x6000000d
++#define DT_HIOS 0x6ffff000
++#define DT_LOPROC 0x70000000
++#define DT_HIPROC 0x7fffffff
++#define DT_PROCNUM DT_MIPS_NUM
++
++#define DT_VALRNGLO 0x6ffffd00
++#define DT_GNU_PRELINKED 0x6ffffdf5
++#define DT_GNU_CONFLICTSZ 0x6ffffdf6
++#define DT_GNU_LIBLISTSZ 0x6ffffdf7
++#define DT_CHECKSUM 0x6ffffdf8
++#define DT_PLTPADSZ 0x6ffffdf9
++#define DT_MOVEENT 0x6ffffdfa
++#define DT_MOVESZ 0x6ffffdfb
++#define DT_FEATURE_1 0x6ffffdfc
++#define DT_POSFLAG_1 0x6ffffdfd
++
++#define DT_SYMINSZ 0x6ffffdfe
++#define DT_SYMINENT 0x6ffffdff
++#define DT_VALRNGHI 0x6ffffdff
++#define DT_VALTAGIDX(tag) (DT_VALRNGHI - (tag))
++#define DT_VALNUM 12
++
++#define DT_ADDRRNGLO 0x6ffffe00
++#define DT_GNU_HASH 0x6ffffef5
++#define DT_TLSDESC_PLT 0x6ffffef6
++#define DT_TLSDESC_GOT 0x6ffffef7
++#define DT_GNU_CONFLICT 0x6ffffef8
++#define DT_GNU_LIBLIST 0x6ffffef9
++#define DT_CONFIG 0x6ffffefa
++#define DT_DEPAUDIT 0x6ffffefb
++#define DT_AUDIT 0x6ffffefc
++#define DT_PLTPAD 0x6ffffefd
++#define DT_MOVETAB 0x6ffffefe
++#define DT_SYMINFO 0x6ffffeff
++#define DT_ADDRRNGHI 0x6ffffeff
++#define DT_ADDRTAGIDX(tag) (DT_ADDRRNGHI - (tag))
++#define DT_ADDRNUM 11
++
++
++
++#define DT_VERSYM 0x6ffffff0
++
++#define DT_RELACOUNT 0x6ffffff9
++#define DT_RELCOUNT 0x6ffffffa
++
++
++#define DT_FLAGS_1 0x6ffffffb
++#define DT_VERDEF 0x6ffffffc
++
++#define DT_VERDEFNUM 0x6ffffffd
++#define DT_VERNEED 0x6ffffffe
++
++#define DT_VERNEEDNUM 0x6fffffff
++#define DT_VERSIONTAGIDX(tag) (DT_VERNEEDNUM - (tag))
++#define DT_VERSIONTAGNUM 16
++
++
++
++#define DT_AUXILIARY 0x7ffffffd
++#define DT_FILTER 0x7fffffff
++#define DT_EXTRATAGIDX(tag) ((Elf32_Word)-((Elf32_Sword) (tag) <<1>>1)-1)
++#define DT_EXTRANUM 3
++
++
++#define DF_ORIGIN 0x00000001
++#define DF_SYMBOLIC 0x00000002
++#define DF_TEXTREL 0x00000004
++#define DF_BIND_NOW 0x00000008
++#define DF_STATIC_TLS 0x00000010
++
++
++
++#define DF_1_NOW 0x00000001
++#define DF_1_GLOBAL 0x00000002
++#define DF_1_GROUP 0x00000004
++#define DF_1_NODELETE 0x00000008
++#define DF_1_LOADFLTR 0x00000010
++#define DF_1_INITFIRST 0x00000020
++#define DF_1_NOOPEN 0x00000040
++#define DF_1_ORIGIN 0x00000080
++#define DF_1_DIRECT 0x00000100
++#define DF_1_TRANS 0x00000200
++#define DF_1_INTERPOSE 0x00000400
++#define DF_1_NODEFLIB 0x00000800
++#define DF_1_NODUMP 0x00001000
++#define DF_1_CONFALT 0x00002000
++#define DF_1_ENDFILTEE 0x00004000
++#define DF_1_DISPRELDNE 0x00008000
++#define DF_1_DISPRELPND 0x00010000
++#define DF_1_NODIRECT 0x00020000
++#define DF_1_IGNMULDEF 0x00040000
++#define DF_1_NOKSYMS 0x00080000
++#define DF_1_NOHDR 0x00100000
++#define DF_1_EDITED 0x00200000
++#define DF_1_NORELOC 0x00400000
++#define DF_1_SYMINTPOSE 0x00800000
++#define DF_1_GLOBAUDIT 0x01000000
++#define DF_1_SINGLETON 0x02000000
++
++#define DTF_1_PARINIT 0x00000001
++#define DTF_1_CONFEXP 0x00000002
++
++
++#define DF_P1_LAZYLOAD 0x00000001
++#define DF_P1_GROUPPERM 0x00000002
++
++
++
++
++typedef struct {
++ Elf32_Half vd_version;
++ Elf32_Half vd_flags;
++ Elf32_Half vd_ndx;
++ Elf32_Half vd_cnt;
++ Elf32_Word vd_hash;
++ Elf32_Word vd_aux;
++ Elf32_Word vd_next;
++} Elf32_Verdef;
++
++typedef struct {
++ Elf64_Half vd_version;
++ Elf64_Half vd_flags;
++ Elf64_Half vd_ndx;
++ Elf64_Half vd_cnt;
++ Elf64_Word vd_hash;
++ Elf64_Word vd_aux;
++ Elf64_Word vd_next;
++} Elf64_Verdef;
++
++
++
++#define VER_DEF_NONE 0
++#define VER_DEF_CURRENT 1
++#define VER_DEF_NUM 2
++
++
++#define VER_FLG_BASE 0x1
++#define VER_FLG_WEAK 0x2
++
++
++#define VER_NDX_LOCAL 0
++#define VER_NDX_GLOBAL 1
++#define VER_NDX_LORESERVE 0xff00
++#define VER_NDX_ELIMINATE 0xff01
++
++
++
++typedef struct {
++ Elf32_Word vda_name;
++ Elf32_Word vda_next;
++} Elf32_Verdaux;
++
++typedef struct {
++ Elf64_Word vda_name;
++ Elf64_Word vda_next;
++} Elf64_Verdaux;
++
++
++
++
++typedef struct {
++ Elf32_Half vn_version;
++ Elf32_Half vn_cnt;
++ Elf32_Word vn_file;
++ Elf32_Word vn_aux;
++ Elf32_Word vn_next;
++} Elf32_Verneed;
++
++typedef struct {
++ Elf64_Half vn_version;
++ Elf64_Half vn_cnt;
++ Elf64_Word vn_file;
++ Elf64_Word vn_aux;
++ Elf64_Word vn_next;
++} Elf64_Verneed;
++
++
++
++#define VER_NEED_NONE 0
++#define VER_NEED_CURRENT 1
++#define VER_NEED_NUM 2
++
++
++
++typedef struct {
++ Elf32_Word vna_hash;
++ Elf32_Half vna_flags;
++ Elf32_Half vna_other;
++ Elf32_Word vna_name;
++ Elf32_Word vna_next;
++} Elf32_Vernaux;
++
++typedef struct {
++ Elf64_Word vna_hash;
++ Elf64_Half vna_flags;
++ Elf64_Half vna_other;
++ Elf64_Word vna_name;
++ Elf64_Word vna_next;
++} Elf64_Vernaux;
++
++
++
++#define VER_FLG_WEAK 0x2
++
++
++
++typedef struct {
++ uint32_t a_type;
++ union {
++ uint32_t a_val;
++ } a_un;
++} Elf32_auxv_t;
++
++typedef struct {
++ uint64_t a_type;
++ union {
++ uint64_t a_val;
++ } a_un;
++} Elf64_auxv_t;
++
++
++
++#define AT_NULL 0
++#define AT_IGNORE 1
++#define AT_EXECFD 2
++#define AT_PHDR 3
++#define AT_PHENT 4
++#define AT_PHNUM 5
++#define AT_PAGESZ 6
++#define AT_BASE 7
++#define AT_FLAGS 8
++#define AT_ENTRY 9
++#define AT_NOTELF 10
++#define AT_UID 11
++#define AT_EUID 12
++#define AT_GID 13
++#define AT_EGID 14
++#define AT_CLKTCK 17
++
++
++#define AT_PLATFORM 15
++#define AT_HWCAP 16
++
++
++
++
++#define AT_FPUCW 18
++
++
++#define AT_DCACHEBSIZE 19
++#define AT_ICACHEBSIZE 20
++#define AT_UCACHEBSIZE 21
++
++
++
++#define AT_IGNOREPPC 22
++
++#define AT_SECURE 23
++
++#define AT_BASE_PLATFORM 24
++
++#define AT_RANDOM 25
++
++#define AT_HWCAP2 26
++
++#define AT_EXECFN 31
++
++
++
++#define AT_SYSINFO 32
++#define AT_SYSINFO_EHDR 33
++
++
++
++#define AT_L1I_CACHESHAPE 34
++#define AT_L1D_CACHESHAPE 35
++#define AT_L2_CACHESHAPE 36
++#define AT_L3_CACHESHAPE 37
++
++
++
++
++typedef struct {
++ Elf32_Word n_namesz;
++ Elf32_Word n_descsz;
++ Elf32_Word n_type;
++} Elf32_Nhdr;
++
++typedef struct {
++ Elf64_Word n_namesz;
++ Elf64_Word n_descsz;
++ Elf64_Word n_type;
++} Elf64_Nhdr;
++
++
++
++
++#define ELF_NOTE_SOLARIS "SUNW Solaris"
++
++
++#define ELF_NOTE_GNU "GNU"
++
++
++
++
++
++#define ELF_NOTE_PAGESIZE_HINT 1
++
++
++#define NT_GNU_ABI_TAG 1
++#define ELF_NOTE_ABI NT_GNU_ABI_TAG
++
++
++
++#define ELF_NOTE_OS_LINUX 0
++#define ELF_NOTE_OS_GNU 1
++#define ELF_NOTE_OS_SOLARIS2 2
++#define ELF_NOTE_OS_FREEBSD 3
++
++#define NT_GNU_BUILD_ID 3
++#define NT_GNU_GOLD_VERSION 4
++
++
++
++typedef struct {
++ Elf32_Xword m_value;
++ Elf32_Word m_info;
++ Elf32_Word m_poffset;
++ Elf32_Half m_repeat;
++ Elf32_Half m_stride;
++} Elf32_Move;
++
++typedef struct {
++ Elf64_Xword m_value;
++ Elf64_Xword m_info;
++ Elf64_Xword m_poffset;
++ Elf64_Half m_repeat;
++ Elf64_Half m_stride;
++} Elf64_Move;
++
++
++#define ELF32_M_SYM(info) ((info) >> 8)
++#define ELF32_M_SIZE(info) ((unsigned char) (info))
++#define ELF32_M_INFO(sym, size) (((sym) << 8) + (unsigned char) (size))
++
++#define ELF64_M_SYM(info) ELF32_M_SYM (info)
++#define ELF64_M_SIZE(info) ELF32_M_SIZE (info)
++#define ELF64_M_INFO(sym, size) ELF32_M_INFO (sym, size)
++
++#define EF_CPU32 0x00810000
++
++#define R_68K_NONE 0
++#define R_68K_32 1
++#define R_68K_16 2
++#define R_68K_8 3
++#define R_68K_PC32 4
++#define R_68K_PC16 5
++#define R_68K_PC8 6
++#define R_68K_GOT32 7
++#define R_68K_GOT16 8
++#define R_68K_GOT8 9
++#define R_68K_GOT32O 10
++#define R_68K_GOT16O 11
++#define R_68K_GOT8O 12
++#define R_68K_PLT32 13
++#define R_68K_PLT16 14
++#define R_68K_PLT8 15
++#define R_68K_PLT32O 16
++#define R_68K_PLT16O 17
++#define R_68K_PLT8O 18
++#define R_68K_COPY 19
++#define R_68K_GLOB_DAT 20
++#define R_68K_JMP_SLOT 21
++#define R_68K_RELATIVE 22
++#define R_68K_NUM 23
++
++#define R_386_NONE 0
++#define R_386_32 1
++#define R_386_PC32 2
++#define R_386_GOT32 3
++#define R_386_PLT32 4
++#define R_386_COPY 5
++#define R_386_GLOB_DAT 6
++#define R_386_JMP_SLOT 7
++#define R_386_RELATIVE 8
++#define R_386_GOTOFF 9
++#define R_386_GOTPC 10
++#define R_386_32PLT 11
++#define R_386_TLS_TPOFF 14
++#define R_386_TLS_IE 15
++#define R_386_TLS_GOTIE 16
++#define R_386_TLS_LE 17
++#define R_386_TLS_GD 18
++#define R_386_TLS_LDM 19
++#define R_386_16 20
++#define R_386_PC16 21
++#define R_386_8 22
++#define R_386_PC8 23
++#define R_386_TLS_GD_32 24
++#define R_386_TLS_GD_PUSH 25
++#define R_386_TLS_GD_CALL 26
++#define R_386_TLS_GD_POP 27
++#define R_386_TLS_LDM_32 28
++#define R_386_TLS_LDM_PUSH 29
++#define R_386_TLS_LDM_CALL 30
++#define R_386_TLS_LDM_POP 31
++#define R_386_TLS_LDO_32 32
++#define R_386_TLS_IE_32 33
++#define R_386_TLS_LE_32 34
++#define R_386_TLS_DTPMOD32 35
++#define R_386_TLS_DTPOFF32 36
++#define R_386_TLS_TPOFF32 37
++#define R_386_SIZE32 38
++#define R_386_TLS_GOTDESC 39
++#define R_386_TLS_DESC_CALL 40
++#define R_386_TLS_DESC 41
++#define R_386_IRELATIVE 42
++#define R_386_NUM 43
++
++
++
++
++
++#define STT_SPARC_REGISTER 13
++
++
++
++#define EF_SPARCV9_MM 3
++#define EF_SPARCV9_TSO 0
++#define EF_SPARCV9_PSO 1
++#define EF_SPARCV9_RMO 2
++#define EF_SPARC_LEDATA 0x800000
++#define EF_SPARC_EXT_MASK 0xFFFF00
++#define EF_SPARC_32PLUS 0x000100
++#define EF_SPARC_SUN_US1 0x000200
++#define EF_SPARC_HAL_R1 0x000400
++#define EF_SPARC_SUN_US3 0x000800
++
++
++
++#define R_SPARC_NONE 0
++#define R_SPARC_8 1
++#define R_SPARC_16 2
++#define R_SPARC_32 3
++#define R_SPARC_DISP8 4
++#define R_SPARC_DISP16 5
++#define R_SPARC_DISP32 6
++#define R_SPARC_WDISP30 7
++#define R_SPARC_WDISP22 8
++#define R_SPARC_HI22 9
++#define R_SPARC_22 10
++#define R_SPARC_13 11
++#define R_SPARC_LO10 12
++#define R_SPARC_GOT10 13
++#define R_SPARC_GOT13 14
++#define R_SPARC_GOT22 15
++#define R_SPARC_PC10 16
++#define R_SPARC_PC22 17
++#define R_SPARC_WPLT30 18
++#define R_SPARC_COPY 19
++#define R_SPARC_GLOB_DAT 20
++#define R_SPARC_JMP_SLOT 21
++#define R_SPARC_RELATIVE 22
++#define R_SPARC_UA32 23
++
++
++
++#define R_SPARC_PLT32 24
++#define R_SPARC_HIPLT22 25
++#define R_SPARC_LOPLT10 26
++#define R_SPARC_PCPLT32 27
++#define R_SPARC_PCPLT22 28
++#define R_SPARC_PCPLT10 29
++#define R_SPARC_10 30
++#define R_SPARC_11 31
++#define R_SPARC_64 32
++#define R_SPARC_OLO10 33
++#define R_SPARC_HH22 34
++#define R_SPARC_HM10 35
++#define R_SPARC_LM22 36
++#define R_SPARC_PC_HH22 37
++#define R_SPARC_PC_HM10 38
++#define R_SPARC_PC_LM22 39
++#define R_SPARC_WDISP16 40
++#define R_SPARC_WDISP19 41
++#define R_SPARC_GLOB_JMP 42
++#define R_SPARC_7 43
++#define R_SPARC_5 44
++#define R_SPARC_6 45
++#define R_SPARC_DISP64 46
++#define R_SPARC_PLT64 47
++#define R_SPARC_HIX22 48
++#define R_SPARC_LOX10 49
++#define R_SPARC_H44 50
++#define R_SPARC_M44 51
++#define R_SPARC_L44 52
++#define R_SPARC_REGISTER 53
++#define R_SPARC_UA64 54
++#define R_SPARC_UA16 55
++#define R_SPARC_TLS_GD_HI22 56
++#define R_SPARC_TLS_GD_LO10 57
++#define R_SPARC_TLS_GD_ADD 58
++#define R_SPARC_TLS_GD_CALL 59
++#define R_SPARC_TLS_LDM_HI22 60
++#define R_SPARC_TLS_LDM_LO10 61
++#define R_SPARC_TLS_LDM_ADD 62
++#define R_SPARC_TLS_LDM_CALL 63
++#define R_SPARC_TLS_LDO_HIX22 64
++#define R_SPARC_TLS_LDO_LOX10 65
++#define R_SPARC_TLS_LDO_ADD 66
++#define R_SPARC_TLS_IE_HI22 67
++#define R_SPARC_TLS_IE_LO10 68
++#define R_SPARC_TLS_IE_LD 69
++#define R_SPARC_TLS_IE_LDX 70
++#define R_SPARC_TLS_IE_ADD 71
++#define R_SPARC_TLS_LE_HIX22 72
++#define R_SPARC_TLS_LE_LOX10 73
++#define R_SPARC_TLS_DTPMOD32 74
++#define R_SPARC_TLS_DTPMOD64 75
++#define R_SPARC_TLS_DTPOFF32 76
++#define R_SPARC_TLS_DTPOFF64 77
++#define R_SPARC_TLS_TPOFF32 78
++#define R_SPARC_TLS_TPOFF64 79
++#define R_SPARC_GOTDATA_HIX22 80
++#define R_SPARC_GOTDATA_LOX10 81
++#define R_SPARC_GOTDATA_OP_HIX22 82
++#define R_SPARC_GOTDATA_OP_LOX10 83
++#define R_SPARC_GOTDATA_OP 84
++#define R_SPARC_H34 85
++#define R_SPARC_SIZE32 86
++#define R_SPARC_SIZE64 87
++#define R_SPARC_GNU_VTINHERIT 250
++#define R_SPARC_GNU_VTENTRY 251
++#define R_SPARC_REV32 252
++
++#define R_SPARC_NUM 253
++
++
++
++#define DT_SPARC_REGISTER 0x70000001
++#define DT_SPARC_NUM 2
++
++
++#define EF_MIPS_NOREORDER 1
++#define EF_MIPS_PIC 2
++#define EF_MIPS_CPIC 4
++#define EF_MIPS_XGOT 8
++#define EF_MIPS_64BIT_WHIRL 16
++#define EF_MIPS_ABI2 32
++#define EF_MIPS_ABI_ON32 64
++#define EF_MIPS_ARCH 0xf0000000
++
++
++
++#define EF_MIPS_ARCH_1 0x00000000
++#define EF_MIPS_ARCH_2 0x10000000
++#define EF_MIPS_ARCH_3 0x20000000
++#define EF_MIPS_ARCH_4 0x30000000
++#define EF_MIPS_ARCH_5 0x40000000
++#define EF_MIPS_ARCH_32 0x50000000
++#define EF_MIPS_ARCH_64 0x60000000
++#define EF_MIPS_ARCH_32R2 0x70000000
++#define EF_MIPS_ARCH_64R2 0x80000000
++
++
++#define E_MIPS_ARCH_1 0x00000000
++#define E_MIPS_ARCH_2 0x10000000
++#define E_MIPS_ARCH_3 0x20000000
++#define E_MIPS_ARCH_4 0x30000000
++#define E_MIPS_ARCH_5 0x40000000
++#define E_MIPS_ARCH_32 0x50000000
++#define E_MIPS_ARCH_64 0x60000000
++
++
++
++#define SHN_MIPS_ACOMMON 0xff00
++#define SHN_MIPS_TEXT 0xff01
++#define SHN_MIPS_DATA 0xff02
++#define SHN_MIPS_SCOMMON 0xff03
++#define SHN_MIPS_SUNDEFINED 0xff04
++
++
++
++#define SHT_MIPS_LIBLIST 0x70000000
++#define SHT_MIPS_MSYM 0x70000001
++#define SHT_MIPS_CONFLICT 0x70000002
++#define SHT_MIPS_GPTAB 0x70000003
++#define SHT_MIPS_UCODE 0x70000004
++#define SHT_MIPS_DEBUG 0x70000005
++#define SHT_MIPS_REGINFO 0x70000006
++#define SHT_MIPS_PACKAGE 0x70000007
++#define SHT_MIPS_PACKSYM 0x70000008
++#define SHT_MIPS_RELD 0x70000009
++#define SHT_MIPS_IFACE 0x7000000b
++#define SHT_MIPS_CONTENT 0x7000000c
++#define SHT_MIPS_OPTIONS 0x7000000d
++#define SHT_MIPS_SHDR 0x70000010
++#define SHT_MIPS_FDESC 0x70000011
++#define SHT_MIPS_EXTSYM 0x70000012
++#define SHT_MIPS_DENSE 0x70000013
++#define SHT_MIPS_PDESC 0x70000014
++#define SHT_MIPS_LOCSYM 0x70000015
++#define SHT_MIPS_AUXSYM 0x70000016
++#define SHT_MIPS_OPTSYM 0x70000017
++#define SHT_MIPS_LOCSTR 0x70000018
++#define SHT_MIPS_LINE 0x70000019
++#define SHT_MIPS_RFDESC 0x7000001a
++#define SHT_MIPS_DELTASYM 0x7000001b
++#define SHT_MIPS_DELTAINST 0x7000001c
++#define SHT_MIPS_DELTACLASS 0x7000001d
++#define SHT_MIPS_DWARF 0x7000001e
++#define SHT_MIPS_DELTADECL 0x7000001f
++#define SHT_MIPS_SYMBOL_LIB 0x70000020
++#define SHT_MIPS_EVENTS 0x70000021
++#define SHT_MIPS_TRANSLATE 0x70000022
++#define SHT_MIPS_PIXIE 0x70000023
++#define SHT_MIPS_XLATE 0x70000024
++#define SHT_MIPS_XLATE_DEBUG 0x70000025
++#define SHT_MIPS_WHIRL 0x70000026
++#define SHT_MIPS_EH_REGION 0x70000027
++#define SHT_MIPS_XLATE_OLD 0x70000028
++#define SHT_MIPS_PDR_EXCEPTION 0x70000029
++
++
++
++#define SHF_MIPS_GPREL 0x10000000
++#define SHF_MIPS_MERGE 0x20000000
++#define SHF_MIPS_ADDR 0x40000000
++#define SHF_MIPS_STRINGS 0x80000000
++#define SHF_MIPS_NOSTRIP 0x08000000
++#define SHF_MIPS_LOCAL 0x04000000
++#define SHF_MIPS_NAMES 0x02000000
++#define SHF_MIPS_NODUPE 0x01000000
++
++
++
++
++
++#define STO_MIPS_DEFAULT 0x0
++#define STO_MIPS_INTERNAL 0x1
++#define STO_MIPS_HIDDEN 0x2
++#define STO_MIPS_PROTECTED 0x3
++#define STO_MIPS_PLT 0x8
++#define STO_MIPS_SC_ALIGN_UNUSED 0xff
++
++
++#define STB_MIPS_SPLIT_COMMON 13
++
++
++
++typedef union {
++ struct {
++ Elf32_Word gt_current_g_value;
++ Elf32_Word gt_unused;
++ } gt_header;
++ struct {
++ Elf32_Word gt_g_value;
++ Elf32_Word gt_bytes;
++ } gt_entry;
++} Elf32_gptab;
++
++
++
++typedef struct {
++ Elf32_Word ri_gprmask;
++ Elf32_Word ri_cprmask[4];
++ Elf32_Sword ri_gp_value;
++} Elf32_RegInfo;
++
++
++
++typedef struct {
++ unsigned char kind;
++
++ unsigned char size;
++ Elf32_Section section;
++
++ Elf32_Word info;
++} Elf_Options;
++
++
++
++#define ODK_NULL 0
++#define ODK_REGINFO 1
++#define ODK_EXCEPTIONS 2
++#define ODK_PAD 3
++#define ODK_HWPATCH 4
++#define ODK_FILL 5
++#define ODK_TAGS 6
++#define ODK_HWAND 7
++#define ODK_HWOR 8
++
++
++
++#define OEX_FPU_MIN 0x1f
++#define OEX_FPU_MAX 0x1f00
++#define OEX_PAGE0 0x10000
++#define OEX_SMM 0x20000
++#define OEX_FPDBUG 0x40000
++#define OEX_PRECISEFP OEX_FPDBUG
++#define OEX_DISMISS 0x80000
++
++#define OEX_FPU_INVAL 0x10
++#define OEX_FPU_DIV0 0x08
++#define OEX_FPU_OFLO 0x04
++#define OEX_FPU_UFLO 0x02
++#define OEX_FPU_INEX 0x01
++
++
++
++#define OHW_R4KEOP 0x1
++#define OHW_R8KPFETCH 0x2
++#define OHW_R5KEOP 0x4
++#define OHW_R5KCVTL 0x8
++
++#define OPAD_PREFIX 0x1
++#define OPAD_POSTFIX 0x2
++#define OPAD_SYMBOL 0x4
++
++
++
++typedef struct {
++ Elf32_Word hwp_flags1;
++ Elf32_Word hwp_flags2;
++} Elf_Options_Hw;
++
++
++
++#define OHWA0_R4KEOP_CHECKED 0x00000001
++#define OHWA1_R4KEOP_CLEAN 0x00000002
++
++
++
++#define R_MIPS_NONE 0
++#define R_MIPS_16 1
++#define R_MIPS_32 2
++#define R_MIPS_REL32 3
++#define R_MIPS_26 4
++#define R_MIPS_HI16 5
++#define R_MIPS_LO16 6
++#define R_MIPS_GPREL16 7
++#define R_MIPS_LITERAL 8
++#define R_MIPS_GOT16 9
++#define R_MIPS_PC16 10
++#define R_MIPS_CALL16 11
++#define R_MIPS_GPREL32 12
++
++#define R_MIPS_SHIFT5 16
++#define R_MIPS_SHIFT6 17
++#define R_MIPS_64 18
++#define R_MIPS_GOT_DISP 19
++#define R_MIPS_GOT_PAGE 20
++#define R_MIPS_GOT_OFST 21
++#define R_MIPS_GOT_HI16 22
++#define R_MIPS_GOT_LO16 23
++#define R_MIPS_SUB 24
++#define R_MIPS_INSERT_A 25
++#define R_MIPS_INSERT_B 26
++#define R_MIPS_DELETE 27
++#define R_MIPS_HIGHER 28
++#define R_MIPS_HIGHEST 29
++#define R_MIPS_CALL_HI16 30
++#define R_MIPS_CALL_LO16 31
++#define R_MIPS_SCN_DISP 32
++#define R_MIPS_REL16 33
++#define R_MIPS_ADD_IMMEDIATE 34
++#define R_MIPS_PJUMP 35
++#define R_MIPS_RELGOT 36
++#define R_MIPS_JALR 37
++#define R_MIPS_TLS_DTPMOD32 38
++#define R_MIPS_TLS_DTPREL32 39
++#define R_MIPS_TLS_DTPMOD64 40
++#define R_MIPS_TLS_DTPREL64 41
++#define R_MIPS_TLS_GD 42
++#define R_MIPS_TLS_LDM 43
++#define R_MIPS_TLS_DTPREL_HI16 44
++#define R_MIPS_TLS_DTPREL_LO16 45
++#define R_MIPS_TLS_GOTTPREL 46
++#define R_MIPS_TLS_TPREL32 47
++#define R_MIPS_TLS_TPREL64 48
++#define R_MIPS_TLS_TPREL_HI16 49
++#define R_MIPS_TLS_TPREL_LO16 50
++#define R_MIPS_GLOB_DAT 51
++#define R_MIPS_COPY 126
++#define R_MIPS_JUMP_SLOT 127
++
++#define R_MIPS_NUM 128
++
++
++
++#define PT_MIPS_REGINFO 0x70000000
++#define PT_MIPS_RTPROC 0x70000001
++#define PT_MIPS_OPTIONS 0x70000002
++
++
++
++#define PF_MIPS_LOCAL 0x10000000
++
++
++
++#define DT_MIPS_RLD_VERSION 0x70000001
++#define DT_MIPS_TIME_STAMP 0x70000002
++#define DT_MIPS_ICHECKSUM 0x70000003
++#define DT_MIPS_IVERSION 0x70000004
++#define DT_MIPS_FLAGS 0x70000005
++#define DT_MIPS_BASE_ADDRESS 0x70000006
++#define DT_MIPS_MSYM 0x70000007
++#define DT_MIPS_CONFLICT 0x70000008
++#define DT_MIPS_LIBLIST 0x70000009
++#define DT_MIPS_LOCAL_GOTNO 0x7000000a
++#define DT_MIPS_CONFLICTNO 0x7000000b
++#define DT_MIPS_LIBLISTNO 0x70000010
++#define DT_MIPS_SYMTABNO 0x70000011
++#define DT_MIPS_UNREFEXTNO 0x70000012
++#define DT_MIPS_GOTSYM 0x70000013
++#define DT_MIPS_HIPAGENO 0x70000014
++#define DT_MIPS_RLD_MAP 0x70000016
++#define DT_MIPS_DELTA_CLASS 0x70000017
++#define DT_MIPS_DELTA_CLASS_NO 0x70000018
++
++#define DT_MIPS_DELTA_INSTANCE 0x70000019
++#define DT_MIPS_DELTA_INSTANCE_NO 0x7000001a
++
++#define DT_MIPS_DELTA_RELOC 0x7000001b
++#define DT_MIPS_DELTA_RELOC_NO 0x7000001c
++
++#define DT_MIPS_DELTA_SYM 0x7000001d
++
++#define DT_MIPS_DELTA_SYM_NO 0x7000001e
++
++#define DT_MIPS_DELTA_CLASSSYM 0x70000020
++
++#define DT_MIPS_DELTA_CLASSSYM_NO 0x70000021
++
++#define DT_MIPS_CXX_FLAGS 0x70000022
++#define DT_MIPS_PIXIE_INIT 0x70000023
++#define DT_MIPS_SYMBOL_LIB 0x70000024
++#define DT_MIPS_LOCALPAGE_GOTIDX 0x70000025
++#define DT_MIPS_LOCAL_GOTIDX 0x70000026
++#define DT_MIPS_HIDDEN_GOTIDX 0x70000027
++#define DT_MIPS_PROTECTED_GOTIDX 0x70000028
++#define DT_MIPS_OPTIONS 0x70000029
++#define DT_MIPS_INTERFACE 0x7000002a
++#define DT_MIPS_DYNSTR_ALIGN 0x7000002b
++#define DT_MIPS_INTERFACE_SIZE 0x7000002c
++#define DT_MIPS_RLD_TEXT_RESOLVE_ADDR 0x7000002d
++
++#define DT_MIPS_PERF_SUFFIX 0x7000002e
++
++#define DT_MIPS_COMPACT_SIZE 0x7000002f
++#define DT_MIPS_GP_VALUE 0x70000030
++#define DT_MIPS_AUX_DYNAMIC 0x70000031
++
++#define DT_MIPS_PLTGOT 0x70000032
++
++#define DT_MIPS_RWPLT 0x70000034
++#define DT_MIPS_NUM 0x35
++
++
++
++#define RHF_NONE 0
++#define RHF_QUICKSTART (1 << 0)
++#define RHF_NOTPOT (1 << 1)
++#define RHF_NO_LIBRARY_REPLACEMENT (1 << 2)
++#define RHF_NO_MOVE (1 << 3)
++#define RHF_SGI_ONLY (1 << 4)
++#define RHF_GUARANTEE_INIT (1 << 5)
++#define RHF_DELTA_C_PLUS_PLUS (1 << 6)
++#define RHF_GUARANTEE_START_INIT (1 << 7)
++#define RHF_PIXIE (1 << 8)
++#define RHF_DEFAULT_DELAY_LOAD (1 << 9)
++#define RHF_REQUICKSTART (1 << 10)
++#define RHF_REQUICKSTARTED (1 << 11)
++#define RHF_CORD (1 << 12)
++#define RHF_NO_UNRES_UNDEF (1 << 13)
++#define RHF_RLD_ORDER_SAFE (1 << 14)
++
++
++
++typedef struct
++{
++ Elf32_Word l_name;
++ Elf32_Word l_time_stamp;
++ Elf32_Word l_checksum;
++ Elf32_Word l_version;
++ Elf32_Word l_flags;
++} Elf32_Lib;
++
++typedef struct
++{
++ Elf64_Word l_name;
++ Elf64_Word l_time_stamp;
++ Elf64_Word l_checksum;
++ Elf64_Word l_version;
++ Elf64_Word l_flags;
++} Elf64_Lib;
++
++
++
++
++#define LL_NONE 0
++#define LL_EXACT_MATCH (1 << 0)
++#define LL_IGNORE_INT_VER (1 << 1)
++#define LL_REQUIRE_MINOR (1 << 2)
++#define LL_EXPORTS (1 << 3)
++#define LL_DELAY_LOAD (1 << 4)
++#define LL_DELTA (1 << 5)
++
++
++
++typedef Elf32_Addr Elf32_Conflict;
++
++
++
++
++
++
++#define EF_PARISC_TRAPNIL 0x00010000
++#define EF_PARISC_EXT 0x00020000
++#define EF_PARISC_LSB 0x00040000
++#define EF_PARISC_WIDE 0x00080000
++#define EF_PARISC_NO_KABP 0x00100000
++
++#define EF_PARISC_LAZYSWAP 0x00400000
++#define EF_PARISC_ARCH 0x0000ffff
++
++
++
++#define EFA_PARISC_1_0 0x020b
++#define EFA_PARISC_1_1 0x0210
++#define EFA_PARISC_2_0 0x0214
++
++
++
++#define SHN_PARISC_ANSI_COMMON 0xff00
++
++#define SHN_PARISC_HUGE_COMMON 0xff01
++
++
++
++#define SHT_PARISC_EXT 0x70000000
++#define SHT_PARISC_UNWIND 0x70000001
++#define SHT_PARISC_DOC 0x70000002
++
++
++
++#define SHF_PARISC_SHORT 0x20000000
++#define SHF_PARISC_HUGE 0x40000000
++#define SHF_PARISC_SBP 0x80000000
++
++
++
++#define STT_PARISC_MILLICODE 13
++
++#define STT_HP_OPAQUE (STT_LOOS + 0x1)
++#define STT_HP_STUB (STT_LOOS + 0x2)
++
++
++
++#define R_PARISC_NONE 0
++#define R_PARISC_DIR32 1
++#define R_PARISC_DIR21L 2
++#define R_PARISC_DIR17R 3
++#define R_PARISC_DIR17F 4
++#define R_PARISC_DIR14R 6
++#define R_PARISC_PCREL32 9
++#define R_PARISC_PCREL21L 10
++#define R_PARISC_PCREL17R 11
++#define R_PARISC_PCREL17F 12
++#define R_PARISC_PCREL14R 14
++#define R_PARISC_DPREL21L 18
++#define R_PARISC_DPREL14R 22
++#define R_PARISC_GPREL21L 26
++#define R_PARISC_GPREL14R 30
++#define R_PARISC_LTOFF21L 34
++#define R_PARISC_LTOFF14R 38
++#define R_PARISC_SECREL32 41
++#define R_PARISC_SEGBASE 48
++#define R_PARISC_SEGREL32 49
++#define R_PARISC_PLTOFF21L 50
++#define R_PARISC_PLTOFF14R 54
++#define R_PARISC_LTOFF_FPTR32 57
++#define R_PARISC_LTOFF_FPTR21L 58
++#define R_PARISC_LTOFF_FPTR14R 62
++#define R_PARISC_FPTR64 64
++#define R_PARISC_PLABEL32 65
++#define R_PARISC_PLABEL21L 66
++#define R_PARISC_PLABEL14R 70
++#define R_PARISC_PCREL64 72
++#define R_PARISC_PCREL22F 74
++#define R_PARISC_PCREL14WR 75
++#define R_PARISC_PCREL14DR 76
++#define R_PARISC_PCREL16F 77
++#define R_PARISC_PCREL16WF 78
++#define R_PARISC_PCREL16DF 79
++#define R_PARISC_DIR64 80
++#define R_PARISC_DIR14WR 83
++#define R_PARISC_DIR14DR 84
++#define R_PARISC_DIR16F 85
++#define R_PARISC_DIR16WF 86
++#define R_PARISC_DIR16DF 87
++#define R_PARISC_GPREL64 88
++#define R_PARISC_GPREL14WR 91
++#define R_PARISC_GPREL14DR 92
++#define R_PARISC_GPREL16F 93
++#define R_PARISC_GPREL16WF 94
++#define R_PARISC_GPREL16DF 95
++#define R_PARISC_LTOFF64 96
++#define R_PARISC_LTOFF14WR 99
++#define R_PARISC_LTOFF14DR 100
++#define R_PARISC_LTOFF16F 101
++#define R_PARISC_LTOFF16WF 102
++#define R_PARISC_LTOFF16DF 103
++#define R_PARISC_SECREL64 104
++#define R_PARISC_SEGREL64 112
++#define R_PARISC_PLTOFF14WR 115
++#define R_PARISC_PLTOFF14DR 116
++#define R_PARISC_PLTOFF16F 117
++#define R_PARISC_PLTOFF16WF 118
++#define R_PARISC_PLTOFF16DF 119
++#define R_PARISC_LTOFF_FPTR64 120
++#define R_PARISC_LTOFF_FPTR14WR 123
++#define R_PARISC_LTOFF_FPTR14DR 124
++#define R_PARISC_LTOFF_FPTR16F 125
++#define R_PARISC_LTOFF_FPTR16WF 126
++#define R_PARISC_LTOFF_FPTR16DF 127
++#define R_PARISC_LORESERVE 128
++#define R_PARISC_COPY 128
++#define R_PARISC_IPLT 129
++#define R_PARISC_EPLT 130
++#define R_PARISC_TPREL32 153
++#define R_PARISC_TPREL21L 154
++#define R_PARISC_TPREL14R 158
++#define R_PARISC_LTOFF_TP21L 162
++#define R_PARISC_LTOFF_TP14R 166
++#define R_PARISC_LTOFF_TP14F 167
++#define R_PARISC_TPREL64 216
++#define R_PARISC_TPREL14WR 219
++#define R_PARISC_TPREL14DR 220
++#define R_PARISC_TPREL16F 221
++#define R_PARISC_TPREL16WF 222
++#define R_PARISC_TPREL16DF 223
++#define R_PARISC_LTOFF_TP64 224
++#define R_PARISC_LTOFF_TP14WR 227
++#define R_PARISC_LTOFF_TP14DR 228
++#define R_PARISC_LTOFF_TP16F 229
++#define R_PARISC_LTOFF_TP16WF 230
++#define R_PARISC_LTOFF_TP16DF 231
++#define R_PARISC_GNU_VTENTRY 232
++#define R_PARISC_GNU_VTINHERIT 233
++#define R_PARISC_TLS_GD21L 234
++#define R_PARISC_TLS_GD14R 235
++#define R_PARISC_TLS_GDCALL 236
++#define R_PARISC_TLS_LDM21L 237
++#define R_PARISC_TLS_LDM14R 238
++#define R_PARISC_TLS_LDMCALL 239
++#define R_PARISC_TLS_LDO21L 240
++#define R_PARISC_TLS_LDO14R 241
++#define R_PARISC_TLS_DTPMOD32 242
++#define R_PARISC_TLS_DTPMOD64 243
++#define R_PARISC_TLS_DTPOFF32 244
++#define R_PARISC_TLS_DTPOFF64 245
++#define R_PARISC_TLS_LE21L R_PARISC_TPREL21L
++#define R_PARISC_TLS_LE14R R_PARISC_TPREL14R
++#define R_PARISC_TLS_IE21L R_PARISC_LTOFF_TP21L
++#define R_PARISC_TLS_IE14R R_PARISC_LTOFF_TP14R
++#define R_PARISC_TLS_TPREL32 R_PARISC_TPREL32
++#define R_PARISC_TLS_TPREL64 R_PARISC_TPREL64
++#define R_PARISC_HIRESERVE 255
++
++
++
++#define PT_HP_TLS (PT_LOOS + 0x0)
++#define PT_HP_CORE_NONE (PT_LOOS + 0x1)
++#define PT_HP_CORE_VERSION (PT_LOOS + 0x2)
++#define PT_HP_CORE_KERNEL (PT_LOOS + 0x3)
++#define PT_HP_CORE_COMM (PT_LOOS + 0x4)
++#define PT_HP_CORE_PROC (PT_LOOS + 0x5)
++#define PT_HP_CORE_LOADABLE (PT_LOOS + 0x6)
++#define PT_HP_CORE_STACK (PT_LOOS + 0x7)
++#define PT_HP_CORE_SHM (PT_LOOS + 0x8)
++#define PT_HP_CORE_MMF (PT_LOOS + 0x9)
++#define PT_HP_PARALLEL (PT_LOOS + 0x10)
++#define PT_HP_FASTBIND (PT_LOOS + 0x11)
++#define PT_HP_OPT_ANNOT (PT_LOOS + 0x12)
++#define PT_HP_HSL_ANNOT (PT_LOOS + 0x13)
++#define PT_HP_STACK (PT_LOOS + 0x14)
++
++#define PT_PARISC_ARCHEXT 0x70000000
++#define PT_PARISC_UNWIND 0x70000001
++
++
++
++#define PF_PARISC_SBP 0x08000000
++
++#define PF_HP_PAGE_SIZE 0x00100000
++#define PF_HP_FAR_SHARED 0x00200000
++#define PF_HP_NEAR_SHARED 0x00400000
++#define PF_HP_CODE 0x01000000
++#define PF_HP_MODIFY 0x02000000
++#define PF_HP_LAZYSWAP 0x04000000
++#define PF_HP_SBP 0x08000000
++
++
++
++
++
++
++#define EF_ALPHA_32BIT 1
++#define EF_ALPHA_CANRELAX 2
++
++
++
++
++#define SHT_ALPHA_DEBUG 0x70000001
++#define SHT_ALPHA_REGINFO 0x70000002
++
++
++
++#define SHF_ALPHA_GPREL 0x10000000
++
++
++#define STO_ALPHA_NOPV 0x80
++#define STO_ALPHA_STD_GPLOAD 0x88
++
++
++
++#define R_ALPHA_NONE 0
++#define R_ALPHA_REFLONG 1
++#define R_ALPHA_REFQUAD 2
++#define R_ALPHA_GPREL32 3
++#define R_ALPHA_LITERAL 4
++#define R_ALPHA_LITUSE 5
++#define R_ALPHA_GPDISP 6
++#define R_ALPHA_BRADDR 7
++#define R_ALPHA_HINT 8
++#define R_ALPHA_SREL16 9
++#define R_ALPHA_SREL32 10
++#define R_ALPHA_SREL64 11
++#define R_ALPHA_GPRELHIGH 17
++#define R_ALPHA_GPRELLOW 18
++#define R_ALPHA_GPREL16 19
++#define R_ALPHA_COPY 24
++#define R_ALPHA_GLOB_DAT 25
++#define R_ALPHA_JMP_SLOT 26
++#define R_ALPHA_RELATIVE 27
++#define R_ALPHA_TLS_GD_HI 28
++#define R_ALPHA_TLSGD 29
++#define R_ALPHA_TLS_LDM 30
++#define R_ALPHA_DTPMOD64 31
++#define R_ALPHA_GOTDTPREL 32
++#define R_ALPHA_DTPREL64 33
++#define R_ALPHA_DTPRELHI 34
++#define R_ALPHA_DTPRELLO 35
++#define R_ALPHA_DTPREL16 36
++#define R_ALPHA_GOTTPREL 37
++#define R_ALPHA_TPREL64 38
++#define R_ALPHA_TPRELHI 39
++#define R_ALPHA_TPRELLO 40
++#define R_ALPHA_TPREL16 41
++
++#define R_ALPHA_NUM 46
++
++
++#define LITUSE_ALPHA_ADDR 0
++#define LITUSE_ALPHA_BASE 1
++#define LITUSE_ALPHA_BYTOFF 2
++#define LITUSE_ALPHA_JSR 3
++#define LITUSE_ALPHA_TLS_GD 4
++#define LITUSE_ALPHA_TLS_LDM 5
++
++
++#define DT_ALPHA_PLTRO (DT_LOPROC + 0)
++#define DT_ALPHA_NUM 1
++
++
++
++
++#define EF_PPC_EMB 0x80000000
++
++
++#define EF_PPC_RELOCATABLE 0x00010000
++#define EF_PPC_RELOCATABLE_LIB 0x00008000
++
++
++
++#define R_PPC_NONE 0
++#define R_PPC_ADDR32 1
++#define R_PPC_ADDR24 2
++#define R_PPC_ADDR16 3
++#define R_PPC_ADDR16_LO 4
++#define R_PPC_ADDR16_HI 5
++#define R_PPC_ADDR16_HA 6
++#define R_PPC_ADDR14 7
++#define R_PPC_ADDR14_BRTAKEN 8
++#define R_PPC_ADDR14_BRNTAKEN 9
++#define R_PPC_REL24 10
++#define R_PPC_REL14 11
++#define R_PPC_REL14_BRTAKEN 12
++#define R_PPC_REL14_BRNTAKEN 13
++#define R_PPC_GOT16 14
++#define R_PPC_GOT16_LO 15
++#define R_PPC_GOT16_HI 16
++#define R_PPC_GOT16_HA 17
++#define R_PPC_PLTREL24 18
++#define R_PPC_COPY 19
++#define R_PPC_GLOB_DAT 20
++#define R_PPC_JMP_SLOT 21
++#define R_PPC_RELATIVE 22
++#define R_PPC_LOCAL24PC 23
++#define R_PPC_UADDR32 24
++#define R_PPC_UADDR16 25
++#define R_PPC_REL32 26
++#define R_PPC_PLT32 27
++#define R_PPC_PLTREL32 28
++#define R_PPC_PLT16_LO 29
++#define R_PPC_PLT16_HI 30
++#define R_PPC_PLT16_HA 31
++#define R_PPC_SDAREL16 32
++#define R_PPC_SECTOFF 33
++#define R_PPC_SECTOFF_LO 34
++#define R_PPC_SECTOFF_HI 35
++#define R_PPC_SECTOFF_HA 36
++
++
++#define R_PPC_TLS 67
++#define R_PPC_DTPMOD32 68
++#define R_PPC_TPREL16 69
++#define R_PPC_TPREL16_LO 70
++#define R_PPC_TPREL16_HI 71
++#define R_PPC_TPREL16_HA 72
++#define R_PPC_TPREL32 73
++#define R_PPC_DTPREL16 74
++#define R_PPC_DTPREL16_LO 75
++#define R_PPC_DTPREL16_HI 76
++#define R_PPC_DTPREL16_HA 77
++#define R_PPC_DTPREL32 78
++#define R_PPC_GOT_TLSGD16 79
++#define R_PPC_GOT_TLSGD16_LO 80
++#define R_PPC_GOT_TLSGD16_HI 81
++#define R_PPC_GOT_TLSGD16_HA 82
++#define R_PPC_GOT_TLSLD16 83
++#define R_PPC_GOT_TLSLD16_LO 84
++#define R_PPC_GOT_TLSLD16_HI 85
++#define R_PPC_GOT_TLSLD16_HA 86
++#define R_PPC_GOT_TPREL16 87
++#define R_PPC_GOT_TPREL16_LO 88
++#define R_PPC_GOT_TPREL16_HI 89
++#define R_PPC_GOT_TPREL16_HA 90
++#define R_PPC_GOT_DTPREL16 91
++#define R_PPC_GOT_DTPREL16_LO 92
++#define R_PPC_GOT_DTPREL16_HI 93
++#define R_PPC_GOT_DTPREL16_HA 94
++
++
++
++#define R_PPC_EMB_NADDR32 101
++#define R_PPC_EMB_NADDR16 102
++#define R_PPC_EMB_NADDR16_LO 103
++#define R_PPC_EMB_NADDR16_HI 104
++#define R_PPC_EMB_NADDR16_HA 105
++#define R_PPC_EMB_SDAI16 106
++#define R_PPC_EMB_SDA2I16 107
++#define R_PPC_EMB_SDA2REL 108
++#define R_PPC_EMB_SDA21 109
++#define R_PPC_EMB_MRKREF 110
++#define R_PPC_EMB_RELSEC16 111
++#define R_PPC_EMB_RELST_LO 112
++#define R_PPC_EMB_RELST_HI 113
++#define R_PPC_EMB_RELST_HA 114
++#define R_PPC_EMB_BIT_FLD 115
++#define R_PPC_EMB_RELSDA 116
++
++
++#define R_PPC_DIAB_SDA21_LO 180
++#define R_PPC_DIAB_SDA21_HI 181
++#define R_PPC_DIAB_SDA21_HA 182
++#define R_PPC_DIAB_RELSDA_LO 183
++#define R_PPC_DIAB_RELSDA_HI 184
++#define R_PPC_DIAB_RELSDA_HA 185
++
++
++#define R_PPC_IRELATIVE 248
++
++
++#define R_PPC_REL16 249
++#define R_PPC_REL16_LO 250
++#define R_PPC_REL16_HI 251
++#define R_PPC_REL16_HA 252
++
++
++
++#define R_PPC_TOC16 255
++
++
++#define DT_PPC_GOT (DT_LOPROC + 0)
++#define DT_PPC_NUM 1
++
++
++#define R_PPC64_NONE R_PPC_NONE
++#define R_PPC64_ADDR32 R_PPC_ADDR32
++#define R_PPC64_ADDR24 R_PPC_ADDR24
++#define R_PPC64_ADDR16 R_PPC_ADDR16
++#define R_PPC64_ADDR16_LO R_PPC_ADDR16_LO
++#define R_PPC64_ADDR16_HI R_PPC_ADDR16_HI
++#define R_PPC64_ADDR16_HA R_PPC_ADDR16_HA
++#define R_PPC64_ADDR14 R_PPC_ADDR14
++#define R_PPC64_ADDR14_BRTAKEN R_PPC_ADDR14_BRTAKEN
++#define R_PPC64_ADDR14_BRNTAKEN R_PPC_ADDR14_BRNTAKEN
++#define R_PPC64_REL24 R_PPC_REL24
++#define R_PPC64_REL14 R_PPC_REL14
++#define R_PPC64_REL14_BRTAKEN R_PPC_REL14_BRTAKEN
++#define R_PPC64_REL14_BRNTAKEN R_PPC_REL14_BRNTAKEN
++#define R_PPC64_GOT16 R_PPC_GOT16
++#define R_PPC64_GOT16_LO R_PPC_GOT16_LO
++#define R_PPC64_GOT16_HI R_PPC_GOT16_HI
++#define R_PPC64_GOT16_HA R_PPC_GOT16_HA
++
++#define R_PPC64_COPY R_PPC_COPY
++#define R_PPC64_GLOB_DAT R_PPC_GLOB_DAT
++#define R_PPC64_JMP_SLOT R_PPC_JMP_SLOT
++#define R_PPC64_RELATIVE R_PPC_RELATIVE
++
++#define R_PPC64_UADDR32 R_PPC_UADDR32
++#define R_PPC64_UADDR16 R_PPC_UADDR16
++#define R_PPC64_REL32 R_PPC_REL32
++#define R_PPC64_PLT32 R_PPC_PLT32
++#define R_PPC64_PLTREL32 R_PPC_PLTREL32
++#define R_PPC64_PLT16_LO R_PPC_PLT16_LO
++#define R_PPC64_PLT16_HI R_PPC_PLT16_HI
++#define R_PPC64_PLT16_HA R_PPC_PLT16_HA
++
++#define R_PPC64_SECTOFF R_PPC_SECTOFF
++#define R_PPC64_SECTOFF_LO R_PPC_SECTOFF_LO
++#define R_PPC64_SECTOFF_HI R_PPC_SECTOFF_HI
++#define R_PPC64_SECTOFF_HA R_PPC_SECTOFF_HA
++#define R_PPC64_ADDR30 37
++#define R_PPC64_ADDR64 38
++#define R_PPC64_ADDR16_HIGHER 39
++#define R_PPC64_ADDR16_HIGHERA 40
++#define R_PPC64_ADDR16_HIGHEST 41
++#define R_PPC64_ADDR16_HIGHESTA 42
++#define R_PPC64_UADDR64 43
++#define R_PPC64_REL64 44
++#define R_PPC64_PLT64 45
++#define R_PPC64_PLTREL64 46
++#define R_PPC64_TOC16 47
++#define R_PPC64_TOC16_LO 48
++#define R_PPC64_TOC16_HI 49
++#define R_PPC64_TOC16_HA 50
++#define R_PPC64_TOC 51
++#define R_PPC64_PLTGOT16 52
++#define R_PPC64_PLTGOT16_LO 53
++#define R_PPC64_PLTGOT16_HI 54
++#define R_PPC64_PLTGOT16_HA 55
++
++#define R_PPC64_ADDR16_DS 56
++#define R_PPC64_ADDR16_LO_DS 57
++#define R_PPC64_GOT16_DS 58
++#define R_PPC64_GOT16_LO_DS 59
++#define R_PPC64_PLT16_LO_DS 60
++#define R_PPC64_SECTOFF_DS 61
++#define R_PPC64_SECTOFF_LO_DS 62
++#define R_PPC64_TOC16_DS 63
++#define R_PPC64_TOC16_LO_DS 64
++#define R_PPC64_PLTGOT16_DS 65
++#define R_PPC64_PLTGOT16_LO_DS 66
++
++
++#define R_PPC64_TLS 67
++#define R_PPC64_DTPMOD64 68
++#define R_PPC64_TPREL16 69
++#define R_PPC64_TPREL16_LO 70
++#define R_PPC64_TPREL16_HI 71
++#define R_PPC64_TPREL16_HA 72
++#define R_PPC64_TPREL64 73
++#define R_PPC64_DTPREL16 74
++#define R_PPC64_DTPREL16_LO 75
++#define R_PPC64_DTPREL16_HI 76
++#define R_PPC64_DTPREL16_HA 77
++#define R_PPC64_DTPREL64 78
++#define R_PPC64_GOT_TLSGD16 79
++#define R_PPC64_GOT_TLSGD16_LO 80
++#define R_PPC64_GOT_TLSGD16_HI 81
++#define R_PPC64_GOT_TLSGD16_HA 82
++#define R_PPC64_GOT_TLSLD16 83
++#define R_PPC64_GOT_TLSLD16_LO 84
++#define R_PPC64_GOT_TLSLD16_HI 85
++#define R_PPC64_GOT_TLSLD16_HA 86
++#define R_PPC64_GOT_TPREL16_DS 87
++#define R_PPC64_GOT_TPREL16_LO_DS 88
++#define R_PPC64_GOT_TPREL16_HI 89
++#define R_PPC64_GOT_TPREL16_HA 90
++#define R_PPC64_GOT_DTPREL16_DS 91
++#define R_PPC64_GOT_DTPREL16_LO_DS 92
++#define R_PPC64_GOT_DTPREL16_HI 93
++#define R_PPC64_GOT_DTPREL16_HA 94
++#define R_PPC64_TPREL16_DS 95
++#define R_PPC64_TPREL16_LO_DS 96
++#define R_PPC64_TPREL16_HIGHER 97
++#define R_PPC64_TPREL16_HIGHERA 98
++#define R_PPC64_TPREL16_HIGHEST 99
++#define R_PPC64_TPREL16_HIGHESTA 100
++#define R_PPC64_DTPREL16_DS 101
++#define R_PPC64_DTPREL16_LO_DS 102
++#define R_PPC64_DTPREL16_HIGHER 103
++#define R_PPC64_DTPREL16_HIGHERA 104
++#define R_PPC64_DTPREL16_HIGHEST 105
++#define R_PPC64_DTPREL16_HIGHESTA 106
++
++
++#define R_PPC64_JMP_IREL 247
++#define R_PPC64_IRELATIVE 248
++#define R_PPC64_REL16 249
++#define R_PPC64_REL16_LO 250
++#define R_PPC64_REL16_HI 251
++#define R_PPC64_REL16_HA 252
++
++
++#define DT_PPC64_GLINK (DT_LOPROC + 0)
++#define DT_PPC64_OPD (DT_LOPROC + 1)
++#define DT_PPC64_OPDSZ (DT_LOPROC + 2)
++#define DT_PPC64_NUM 3
++
++
++
++
++
++#define EF_ARM_RELEXEC 0x01
++#define EF_ARM_HASENTRY 0x02
++#define EF_ARM_INTERWORK 0x04
++#define EF_ARM_APCS_26 0x08
++#define EF_ARM_APCS_FLOAT 0x10
++#define EF_ARM_PIC 0x20
++#define EF_ARM_ALIGN8 0x40
++#define EF_ARM_NEW_ABI 0x80
++#define EF_ARM_OLD_ABI 0x100
++#define EF_ARM_SOFT_FLOAT 0x200
++#define EF_ARM_VFP_FLOAT 0x400
++#define EF_ARM_MAVERICK_FLOAT 0x800
++
++#define EF_ARM_ABI_FLOAT_SOFT 0x200
++#define EF_ARM_ABI_FLOAT_HARD 0x400
++
++
++#define EF_ARM_SYMSARESORTED 0x04
++#define EF_ARM_DYNSYMSUSESEGIDX 0x08
++#define EF_ARM_MAPSYMSFIRST 0x10
++#define EF_ARM_EABIMASK 0XFF000000
++
++
++#define EF_ARM_BE8 0x00800000
++#define EF_ARM_LE8 0x00400000
++
++#define EF_ARM_EABI_VERSION(flags) ((flags) & EF_ARM_EABIMASK)
++#define EF_ARM_EABI_UNKNOWN 0x00000000
++#define EF_ARM_EABI_VER1 0x01000000
++#define EF_ARM_EABI_VER2 0x02000000
++#define EF_ARM_EABI_VER3 0x03000000
++#define EF_ARM_EABI_VER4 0x04000000
++#define EF_ARM_EABI_VER5 0x05000000
++
++
++#define STT_ARM_TFUNC STT_LOPROC
++#define STT_ARM_16BIT STT_HIPROC
++
++
++#define SHF_ARM_ENTRYSECT 0x10000000
++#define SHF_ARM_COMDEF 0x80000000
++
++
++
++#define PF_ARM_SB 0x10000000
++
++#define PF_ARM_PI 0x20000000
++#define PF_ARM_ABS 0x40000000
++
++
++#define PT_ARM_EXIDX (PT_LOPROC + 1)
++
++
++#define SHT_ARM_EXIDX (SHT_LOPROC + 1)
++#define SHT_ARM_PREEMPTMAP (SHT_LOPROC + 2)
++#define SHT_ARM_ATTRIBUTES (SHT_LOPROC + 3)
++
++
++#define R_AARCH64_NONE 0
++#define R_AARCH64_ABS64 257
++#define R_AARCH64_ABS32 258
++#define R_AARCH64_COPY 1024
++#define R_AARCH64_GLOB_DAT 1025
++#define R_AARCH64_JUMP_SLOT 1026
++#define R_AARCH64_RELATIVE 1027
++#define R_AARCH64_TLS_DTPMOD64 1028
++#define R_AARCH64_TLS_DTPREL64 1029
++#define R_AARCH64_TLS_TPREL64 1030
++#define R_AARCH64_TLSDESC 1031
++
++
++#define R_ARM_NONE 0
++#define R_ARM_PC24 1
++#define R_ARM_ABS32 2
++#define R_ARM_REL32 3
++#define R_ARM_PC13 4
++#define R_ARM_ABS16 5
++#define R_ARM_ABS12 6
++#define R_ARM_THM_ABS5 7
++#define R_ARM_ABS8 8
++#define R_ARM_SBREL32 9
++#define R_ARM_THM_PC22 10
++#define R_ARM_THM_PC8 11
++#define R_ARM_AMP_VCALL9 12
++#define R_ARM_TLS_DESC 13
++#define R_ARM_THM_SWI8 14
++#define R_ARM_XPC25 15
++#define R_ARM_THM_XPC22 16
++#define R_ARM_TLS_DTPMOD32 17
++#define R_ARM_TLS_DTPOFF32 18
++#define R_ARM_TLS_TPOFF32 19
++#define R_ARM_COPY 20
++#define R_ARM_GLOB_DAT 21
++#define R_ARM_JUMP_SLOT 22
++#define R_ARM_RELATIVE 23
++#define R_ARM_GOTOFF 24
++#define R_ARM_GOTPC 25
++#define R_ARM_GOT32 26
++#define R_ARM_PLT32 27
++#define R_ARM_CALL 28
++#define R_ARM_JUMP24 29
++#define R_ARM_THM_JUMP24 30
++#define R_ARM_BASE_ABS 31
++#define R_ARM_ALU_PCREL_7_0 32
++#define R_ARM_ALU_PCREL_15_8 33
++#define R_ARM_ALU_PCREL_23_15 34
++#define R_ARM_LDR_SBREL_11_0 35
++#define R_ARM_ALU_SBREL_19_12 36
++#define R_ARM_ALU_SBREL_27_20 37
++#define R_ARM_TARGET1 38
++#define R_ARM_SBREL31 39
++#define R_ARM_V4BX 40
++#define R_ARM_TARGET2 41
++#define R_ARM_PREL31 42
++#define R_ARM_MOVW_ABS_NC 43
++#define R_ARM_MOVT_ABS 44
++#define R_ARM_MOVW_PREL_NC 45
++#define R_ARM_MOVT_PREL 46
++#define R_ARM_THM_MOVW_ABS_NC 47
++#define R_ARM_THM_MOVT_ABS 48
++#define R_ARM_THM_MOVW_PREL_NC 49
++#define R_ARM_THM_MOVT_PREL 50
++#define R_ARM_THM_JUMP19 51
++#define R_ARM_THM_JUMP6 52
++#define R_ARM_THM_ALU_PREL_11_0 53
++#define R_ARM_THM_PC12 54
++#define R_ARM_ABS32_NOI 55
++#define R_ARM_REL32_NOI 56
++#define R_ARM_ALU_PC_G0_NC 57
++#define R_ARM_ALU_PC_G0 58
++#define R_ARM_ALU_PC_G1_NC 59
++#define R_ARM_ALU_PC_G1 60
++#define R_ARM_ALU_PC_G2 61
++#define R_ARM_LDR_PC_G1 62
++#define R_ARM_LDR_PC_G2 63
++#define R_ARM_LDRS_PC_G0 64
++#define R_ARM_LDRS_PC_G1 65
++#define R_ARM_LDRS_PC_G2 66
++#define R_ARM_LDC_PC_G0 67
++#define R_ARM_LDC_PC_G1 68
++#define R_ARM_LDC_PC_G2 69
++#define R_ARM_ALU_SB_G0_NC 70
++#define R_ARM_ALU_SB_G0 71
++#define R_ARM_ALU_SB_G1_NC 72
++#define R_ARM_ALU_SB_G1 73
++#define R_ARM_ALU_SB_G2 74
++#define R_ARM_LDR_SB_G0 75
++#define R_ARM_LDR_SB_G1 76
++#define R_ARM_LDR_SB_G2 77
++#define R_ARM_LDRS_SB_G0 78
++#define R_ARM_LDRS_SB_G1 79
++#define R_ARM_LDRS_SB_G2 80
++#define R_ARM_LDC_SB_G0 81
++#define R_ARM_LDC_SB_G1 82
++#define R_ARM_LDC_SB_G2 83
++#define R_ARM_MOVW_BREL_NC 84
++#define R_ARM_MOVT_BREL 85
++#define R_ARM_MOVW_BREL 86
++#define R_ARM_THM_MOVW_BREL_NC 87
++#define R_ARM_THM_MOVT_BREL 88
++#define R_ARM_THM_MOVW_BREL 89
++#define R_ARM_TLS_GOTDESC 90
++#define R_ARM_TLS_CALL 91
++#define R_ARM_TLS_DESCSEQ 92
++#define R_ARM_THM_TLS_CALL 93
++#define R_ARM_PLT32_ABS 94
++#define R_ARM_GOT_ABS 95
++#define R_ARM_GOT_PREL 96
++#define R_ARM_GOT_BREL12 97
++#define R_ARM_GOTOFF12 98
++#define R_ARM_GOTRELAX 99
++#define R_ARM_GNU_VTENTRY 100
++#define R_ARM_GNU_VTINHERIT 101
++#define R_ARM_THM_PC11 102
++#define R_ARM_THM_PC9 103
++#define R_ARM_TLS_GD32 104
++
++#define R_ARM_TLS_LDM32 105
++
++#define R_ARM_TLS_LDO32 106
++
++#define R_ARM_TLS_IE32 107
++
++#define R_ARM_TLS_LE32 108
++#define R_ARM_TLS_LDO12 109
++#define R_ARM_TLS_LE12 110
++#define R_ARM_TLS_IE12GP 111
++#define R_ARM_ME_TOO 128
++#define R_ARM_THM_TLS_DESCSEQ 129
++#define R_ARM_THM_TLS_DESCSEQ16 129
++#define R_ARM_THM_TLS_DESCSEQ32 130
++#define R_ARM_THM_GOT_BREL12 131
++#define R_ARM_IRELATIVE 160
++#define R_ARM_RXPC25 249
++#define R_ARM_RSBREL32 250
++#define R_ARM_THM_RPC22 251
++#define R_ARM_RREL32 252
++#define R_ARM_RABS22 253
++#define R_ARM_RPC24 254
++#define R_ARM_RBASE 255
++
++#define R_ARM_NUM 256
++
++
++
++
++#define EF_IA_64_MASKOS 0x0000000f
++#define EF_IA_64_ABI64 0x00000010
++#define EF_IA_64_ARCH 0xff000000
++
++
++#define PT_IA_64_ARCHEXT (PT_LOPROC + 0)
++#define PT_IA_64_UNWIND (PT_LOPROC + 1)
++#define PT_IA_64_HP_OPT_ANOT (PT_LOOS + 0x12)
++#define PT_IA_64_HP_HSL_ANOT (PT_LOOS + 0x13)
++#define PT_IA_64_HP_STACK (PT_LOOS + 0x14)
++
++
++#define PF_IA_64_NORECOV 0x80000000
++
++
++#define SHT_IA_64_EXT (SHT_LOPROC + 0)
++#define SHT_IA_64_UNWIND (SHT_LOPROC + 1)
++
++
++#define SHF_IA_64_SHORT 0x10000000
++#define SHF_IA_64_NORECOV 0x20000000
++
++
++#define DT_IA_64_PLT_RESERVE (DT_LOPROC + 0)
++#define DT_IA_64_NUM 1
++
++
++#define R_IA64_NONE 0x00
++#define R_IA64_IMM14 0x21
++#define R_IA64_IMM22 0x22
++#define R_IA64_IMM64 0x23
++#define R_IA64_DIR32MSB 0x24
++#define R_IA64_DIR32LSB 0x25
++#define R_IA64_DIR64MSB 0x26
++#define R_IA64_DIR64LSB 0x27
++#define R_IA64_GPREL22 0x2a
++#define R_IA64_GPREL64I 0x2b
++#define R_IA64_GPREL32MSB 0x2c
++#define R_IA64_GPREL32LSB 0x2d
++#define R_IA64_GPREL64MSB 0x2e
++#define R_IA64_GPREL64LSB 0x2f
++#define R_IA64_LTOFF22 0x32
++#define R_IA64_LTOFF64I 0x33
++#define R_IA64_PLTOFF22 0x3a
++#define R_IA64_PLTOFF64I 0x3b
++#define R_IA64_PLTOFF64MSB 0x3e
++#define R_IA64_PLTOFF64LSB 0x3f
++#define R_IA64_FPTR64I 0x43
++#define R_IA64_FPTR32MSB 0x44
++#define R_IA64_FPTR32LSB 0x45
++#define R_IA64_FPTR64MSB 0x46
++#define R_IA64_FPTR64LSB 0x47
++#define R_IA64_PCREL60B 0x48
++#define R_IA64_PCREL21B 0x49
++#define R_IA64_PCREL21M 0x4a
++#define R_IA64_PCREL21F 0x4b
++#define R_IA64_PCREL32MSB 0x4c
++#define R_IA64_PCREL32LSB 0x4d
++#define R_IA64_PCREL64MSB 0x4e
++#define R_IA64_PCREL64LSB 0x4f
++#define R_IA64_LTOFF_FPTR22 0x52
++#define R_IA64_LTOFF_FPTR64I 0x53
++#define R_IA64_LTOFF_FPTR32MSB 0x54
++#define R_IA64_LTOFF_FPTR32LSB 0x55
++#define R_IA64_LTOFF_FPTR64MSB 0x56
++#define R_IA64_LTOFF_FPTR64LSB 0x57
++#define R_IA64_SEGREL32MSB 0x5c
++#define R_IA64_SEGREL32LSB 0x5d
++#define R_IA64_SEGREL64MSB 0x5e
++#define R_IA64_SEGREL64LSB 0x5f
++#define R_IA64_SECREL32MSB 0x64
++#define R_IA64_SECREL32LSB 0x65
++#define R_IA64_SECREL64MSB 0x66
++#define R_IA64_SECREL64LSB 0x67
++#define R_IA64_REL32MSB 0x6c
++#define R_IA64_REL32LSB 0x6d
++#define R_IA64_REL64MSB 0x6e
++#define R_IA64_REL64LSB 0x6f
++#define R_IA64_LTV32MSB 0x74
++#define R_IA64_LTV32LSB 0x75
++#define R_IA64_LTV64MSB 0x76
++#define R_IA64_LTV64LSB 0x77
++#define R_IA64_PCREL21BI 0x79
++#define R_IA64_PCREL22 0x7a
++#define R_IA64_PCREL64I 0x7b
++#define R_IA64_IPLTMSB 0x80
++#define R_IA64_IPLTLSB 0x81
++#define R_IA64_COPY 0x84
++#define R_IA64_SUB 0x85
++#define R_IA64_LTOFF22X 0x86
++#define R_IA64_LDXMOV 0x87
++#define R_IA64_TPREL14 0x91
++#define R_IA64_TPREL22 0x92
++#define R_IA64_TPREL64I 0x93
++#define R_IA64_TPREL64MSB 0x96
++#define R_IA64_TPREL64LSB 0x97
++#define R_IA64_LTOFF_TPREL22 0x9a
++#define R_IA64_DTPMOD64MSB 0xa6
++#define R_IA64_DTPMOD64LSB 0xa7
++#define R_IA64_LTOFF_DTPMOD22 0xaa
++#define R_IA64_DTPREL14 0xb1
++#define R_IA64_DTPREL22 0xb2
++#define R_IA64_DTPREL64I 0xb3
++#define R_IA64_DTPREL32MSB 0xb4
++#define R_IA64_DTPREL32LSB 0xb5
++#define R_IA64_DTPREL64MSB 0xb6
++#define R_IA64_DTPREL64LSB 0xb7
++#define R_IA64_LTOFF_DTPREL22 0xba
++
++
++
++
++#define R_SH_NONE 0
++#define R_SH_DIR32 1
++#define R_SH_REL32 2
++#define R_SH_DIR8WPN 3
++#define R_SH_IND12W 4
++#define R_SH_DIR8WPL 5
++#define R_SH_DIR8WPZ 6
++#define R_SH_DIR8BP 7
++#define R_SH_DIR8W 8
++#define R_SH_DIR8L 9
++#define R_SH_SWITCH16 25
++#define R_SH_SWITCH32 26
++#define R_SH_USES 27
++#define R_SH_COUNT 28
++#define R_SH_ALIGN 29
++#define R_SH_CODE 30
++#define R_SH_DATA 31
++#define R_SH_LABEL 32
++#define R_SH_SWITCH8 33
++#define R_SH_GNU_VTINHERIT 34
++#define R_SH_GNU_VTENTRY 35
++#define R_SH_TLS_GD_32 144
++#define R_SH_TLS_LD_32 145
++#define R_SH_TLS_LDO_32 146
++#define R_SH_TLS_IE_32 147
++#define R_SH_TLS_LE_32 148
++#define R_SH_TLS_DTPMOD32 149
++#define R_SH_TLS_DTPOFF32 150
++#define R_SH_TLS_TPOFF32 151
++#define R_SH_GOT32 160
++#define R_SH_PLT32 161
++#define R_SH_COPY 162
++#define R_SH_GLOB_DAT 163
++#define R_SH_JMP_SLOT 164
++#define R_SH_RELATIVE 165
++#define R_SH_GOTOFF 166
++#define R_SH_GOTPC 167
++
++#define R_SH_NUM 256
++
++
++
++#define R_390_NONE 0
++#define R_390_8 1
++#define R_390_12 2
++#define R_390_16 3
++#define R_390_32 4
++#define R_390_PC32 5
++#define R_390_GOT12 6
++#define R_390_GOT32 7
++#define R_390_PLT32 8
++#define R_390_COPY 9
++#define R_390_GLOB_DAT 10
++#define R_390_JMP_SLOT 11
++#define R_390_RELATIVE 12
++#define R_390_GOTOFF32 13
++#define R_390_GOTPC 14
++#define R_390_GOT16 15
++#define R_390_PC16 16
++#define R_390_PC16DBL 17
++#define R_390_PLT16DBL 18
++#define R_390_PC32DBL 19
++#define R_390_PLT32DBL 20
++#define R_390_GOTPCDBL 21
++#define R_390_64 22
++#define R_390_PC64 23
++#define R_390_GOT64 24
++#define R_390_PLT64 25
++#define R_390_GOTENT 26
++#define R_390_GOTOFF16 27
++#define R_390_GOTOFF64 28
++#define R_390_GOTPLT12 29
++#define R_390_GOTPLT16 30
++#define R_390_GOTPLT32 31
++#define R_390_GOTPLT64 32
++#define R_390_GOTPLTENT 33
++#define R_390_PLTOFF16 34
++#define R_390_PLTOFF32 35
++#define R_390_PLTOFF64 36
++#define R_390_TLS_LOAD 37
++#define R_390_TLS_GDCALL 38
++
++#define R_390_TLS_LDCALL 39
++
++#define R_390_TLS_GD32 40
++
++#define R_390_TLS_GD64 41
++
++#define R_390_TLS_GOTIE12 42
++
++#define R_390_TLS_GOTIE32 43
++
++#define R_390_TLS_GOTIE64 44
++
++#define R_390_TLS_LDM32 45
++
++#define R_390_TLS_LDM64 46
++
++#define R_390_TLS_IE32 47
++
++#define R_390_TLS_IE64 48
++
++#define R_390_TLS_IEENT 49
++
++#define R_390_TLS_LE32 50
++
++#define R_390_TLS_LE64 51
++
++#define R_390_TLS_LDO32 52
++
++#define R_390_TLS_LDO64 53
++
++#define R_390_TLS_DTPMOD 54
++#define R_390_TLS_DTPOFF 55
++#define R_390_TLS_TPOFF 56
++
++#define R_390_20 57
++#define R_390_GOT20 58
++#define R_390_GOTPLT20 59
++#define R_390_TLS_GOTIE20 60
++
++
++#define R_390_NUM 61
++
++
++
++#define R_CRIS_NONE 0
++#define R_CRIS_8 1
++#define R_CRIS_16 2
++#define R_CRIS_32 3
++#define R_CRIS_8_PCREL 4
++#define R_CRIS_16_PCREL 5
++#define R_CRIS_32_PCREL 6
++#define R_CRIS_GNU_VTINHERIT 7
++#define R_CRIS_GNU_VTENTRY 8
++#define R_CRIS_COPY 9
++#define R_CRIS_GLOB_DAT 10
++#define R_CRIS_JUMP_SLOT 11
++#define R_CRIS_RELATIVE 12
++#define R_CRIS_16_GOT 13
++#define R_CRIS_32_GOT 14
++#define R_CRIS_16_GOTPLT 15
++#define R_CRIS_32_GOTPLT 16
++#define R_CRIS_32_GOTREL 17
++#define R_CRIS_32_PLT_GOTREL 18
++#define R_CRIS_32_PLT_PCREL 19
++
++#define R_CRIS_NUM 20
++
++
++
++#define R_X86_64_NONE 0
++#define R_X86_64_64 1
++#define R_X86_64_PC32 2
++#define R_X86_64_GOT32 3
++#define R_X86_64_PLT32 4
++#define R_X86_64_COPY 5
++#define R_X86_64_GLOB_DAT 6
++#define R_X86_64_JUMP_SLOT 7
++#define R_X86_64_RELATIVE 8
++#define R_X86_64_GOTPCREL 9
++
++#define R_X86_64_32 10
++#define R_X86_64_32S 11
++#define R_X86_64_16 12
++#define R_X86_64_PC16 13
++#define R_X86_64_8 14
++#define R_X86_64_PC8 15
++#define R_X86_64_DTPMOD64 16
++#define R_X86_64_DTPOFF64 17
++#define R_X86_64_TPOFF64 18
++#define R_X86_64_TLSGD 19
++
++#define R_X86_64_TLSLD 20
++
++#define R_X86_64_DTPOFF32 21
++#define R_X86_64_GOTTPOFF 22
++
++#define R_X86_64_TPOFF32 23
++#define R_X86_64_PC64 24
++#define R_X86_64_GOTOFF64 25
++#define R_X86_64_GOTPC32 26
++#define R_X86_64_GOT64 27
++#define R_X86_64_GOTPCREL64 28
++#define R_X86_64_GOTPC64 29
++#define R_X86_64_GOTPLT64 30
++#define R_X86_64_PLTOFF64 31
++#define R_X86_64_SIZE32 32
++#define R_X86_64_SIZE64 33
++
++#define R_X86_64_GOTPC32_TLSDESC 34
++#define R_X86_64_TLSDESC_CALL 35
++
++#define R_X86_64_TLSDESC 36
++#define R_X86_64_IRELATIVE 37
++#define R_X86_64_RELATIVE64 38
++#define R_X86_64_NUM 39
++
++
++
++#define R_MN10300_NONE 0
++#define R_MN10300_32 1
++#define R_MN10300_16 2
++#define R_MN10300_8 3
++#define R_MN10300_PCREL32 4
++#define R_MN10300_PCREL16 5
++#define R_MN10300_PCREL8 6
++#define R_MN10300_GNU_VTINHERIT 7
++#define R_MN10300_GNU_VTENTRY 8
++#define R_MN10300_24 9
++#define R_MN10300_GOTPC32 10
++#define R_MN10300_GOTPC16 11
++#define R_MN10300_GOTOFF32 12
++#define R_MN10300_GOTOFF24 13
++#define R_MN10300_GOTOFF16 14
++#define R_MN10300_PLT32 15
++#define R_MN10300_PLT16 16
++#define R_MN10300_GOT32 17
++#define R_MN10300_GOT24 18
++#define R_MN10300_GOT16 19
++#define R_MN10300_COPY 20
++#define R_MN10300_GLOB_DAT 21
++#define R_MN10300_JMP_SLOT 22
++#define R_MN10300_RELATIVE 23
++
++#define R_MN10300_NUM 24
++
++
++
++#define R_M32R_NONE 0
++#define R_M32R_16 1
++#define R_M32R_32 2
++#define R_M32R_24 3
++#define R_M32R_10_PCREL 4
++#define R_M32R_18_PCREL 5
++#define R_M32R_26_PCREL 6
++#define R_M32R_HI16_ULO 7
++#define R_M32R_HI16_SLO 8
++#define R_M32R_LO16 9
++#define R_M32R_SDA16 10
++#define R_M32R_GNU_VTINHERIT 11
++#define R_M32R_GNU_VTENTRY 12
++
++#define R_M32R_16_RELA 33
++#define R_M32R_32_RELA 34
++#define R_M32R_24_RELA 35
++#define R_M32R_10_PCREL_RELA 36
++#define R_M32R_18_PCREL_RELA 37
++#define R_M32R_26_PCREL_RELA 38
++#define R_M32R_HI16_ULO_RELA 39
++#define R_M32R_HI16_SLO_RELA 40
++#define R_M32R_LO16_RELA 41
++#define R_M32R_SDA16_RELA 42
++#define R_M32R_RELA_GNU_VTINHERIT 43
++#define R_M32R_RELA_GNU_VTENTRY 44
++#define R_M32R_REL32 45
++
++#define R_M32R_GOT24 48
++#define R_M32R_26_PLTREL 49
++#define R_M32R_COPY 50
++#define R_M32R_GLOB_DAT 51
++#define R_M32R_JMP_SLOT 52
++#define R_M32R_RELATIVE 53
++#define R_M32R_GOTOFF 54
++#define R_M32R_GOTPC24 55
++#define R_M32R_GOT16_HI_ULO 56
++
++#define R_M32R_GOT16_HI_SLO 57
++
++#define R_M32R_GOT16_LO 58
++#define R_M32R_GOTPC_HI_ULO 59
++
++#define R_M32R_GOTPC_HI_SLO 60
++
++#define R_M32R_GOTPC_LO 61
++
++#define R_M32R_GOTOFF_HI_ULO 62
++
++#define R_M32R_GOTOFF_HI_SLO 63
++
++#define R_M32R_GOTOFF_LO 64
++#define R_M32R_NUM 256
++
++#define R_MICROBLAZE_NONE 0
++#define R_MICROBLAZE_32 1
++#define R_MICROBLAZE_32_PCREL 2
++#define R_MICROBLAZE_64_PCREL 3
++#define R_MICROBLAZE_32_PCREL_LO 4
++#define R_MICROBLAZE_64 5
++#define R_MICROBLAZE_32_LO 6
++#define R_MICROBLAZE_SRO32 7
++#define R_MICROBLAZE_SRW32 8
++#define R_MICROBLAZE_64_NONE 9
++#define R_MICROBLAZE_32_SYM_OP_SYM 10
++#define R_MICROBLAZE_GNU_VTINHERIT 11
++#define R_MICROBLAZE_GNU_VTENTRY 12
++#define R_MICROBLAZE_GOTPC_64 13
++#define R_MICROBLAZE_GOT_64 14
++#define R_MICROBLAZE_PLT_64 15
++#define R_MICROBLAZE_REL 16
++#define R_MICROBLAZE_JUMP_SLOT 17
++#define R_MICROBLAZE_GLOB_DAT 18
++#define R_MICROBLAZE_GOTOFF_64 19
++#define R_MICROBLAZE_GOTOFF_32 20
++#define R_MICROBLAZE_COPY 21
++#define R_MICROBLAZE_TLS 22
++#define R_MICROBLAZE_TLSGD 23
++#define R_MICROBLAZE_TLSLD 24
++#define R_MICROBLAZE_TLSDTPMOD32 25
++#define R_MICROBLAZE_TLSDTPREL32 26
++#define R_MICROBLAZE_TLSDTPREL64 27
++#define R_MICROBLAZE_TLSGOTTPREL32 28
++#define R_MICROBLAZE_TLSTPREL32 29
++
++#ifdef __cplusplus
++}
++#endif
++
++
++#endif
diff --git a/target/linux/patches/5.15.152/rockchip-115200.patch b/target/linux/patches/5.15.152/rockchip-115200.patch
new file mode 100644
index 000000000..ad8a2d7a7
--- /dev/null
+++ b/target/linux/patches/5.15.152/rockchip-115200.patch
@@ -0,0 +1,12 @@
+diff -Nur linux-5.15.81.orig/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi linux-5.15.81/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
+--- linux-5.15.81.orig/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi 2022-12-02 17:41:12.000000000 +0100
++++ linux-5.15.81/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi 2022-12-22 09:51:57.370394227 +0100
+@@ -17,7 +17,7 @@
+ };
+
+ chosen {
+- stdout-path = "serial2:1500000n8";
++ stdout-path = "serial2:115200n8";
+ };
+
+ clkin_gmac: external-gmac-clock {
diff --git a/target/linux/patches/5.15.152/startup.patch b/target/linux/patches/5.15.152/startup.patch
new file mode 100644
index 000000000..eef481021
--- /dev/null
+++ b/target/linux/patches/5.15.152/startup.patch
@@ -0,0 +1,25 @@
+diff -Nur linux-5.10.17.orig/init/initramfs.c linux-5.10.17/init/initramfs.c
+--- linux-5.10.17.orig/init/initramfs.c 2021-02-17 11:02:30.000000000 +0100
++++ linux-5.10.17/init/initramfs.c 2021-02-23 13:27:40.449467155 +0100
+@@ -636,6 +636,9 @@
+ initrd_start = 0;
+ initrd_end = 0;
+
++#ifdef CONFIG_DEVTMPFS_MOUNT
++ devtmpfs_mount();
++#endif
+ flush_delayed_fput();
+ return 0;
+ }
+diff -Nur linux-5.10.17.orig/init/main.c linux-5.10.17/init/main.c
+--- linux-5.10.17.orig/init/main.c 2021-02-17 11:02:30.000000000 +0100
++++ linux-5.10.17/init/main.c 2021-02-23 13:39:32.238650450 +0100
+@@ -1483,6 +1483,8 @@
+ pr_err("Warning: unable to open an initial console.\n");
+ return;
+ }
++ printk(KERN_WARNING "Starting Linux (built with OpenADK).\n");
++
+ init_dup(file);
+ init_dup(file);
+ init_dup(file);
diff --git a/target/linux/patches/5.4.272/arc.patch b/target/linux/patches/5.4.272/arc.patch
new file mode 100644
index 000000000..20810ce64
--- /dev/null
+++ b/target/linux/patches/5.4.272/arc.patch
@@ -0,0 +1,12 @@
+diff -Nur linux-4.17.1.orig/arch/arc/boot/Makefile linux-4.17.1/arch/arc/boot/Makefile
+--- linux-4.17.1.orig/arch/arc/boot/Makefile 2018-06-11 22:43:19.000000000 +0200
++++ linux-4.17.1/arch/arc/boot/Makefile 2018-06-16 18:28:02.000000000 +0200
+@@ -7,7 +7,7 @@
+
+ OBJCOPYFLAGS= -O binary -R .note -R .note.gnu.build-id -R .comment -S
+
+-LINUX_START_TEXT = $$(readelf -h vmlinux | \
++LINUX_START_TEXT = $$(${CROSS_COMPILE}readelf -h vmlinux | \
+ grep "Entry point address" | grep -o 0x.*)
+
+ UIMAGE_LOADADDR = $(CONFIG_LINUX_LINK_BASE)
diff --git a/target/linux/patches/5.4.272/arm-nommu.patch b/target/linux/patches/5.4.272/arm-nommu.patch
new file mode 100644
index 000000000..fdcec3f09
--- /dev/null
+++ b/target/linux/patches/5.4.272/arm-nommu.patch
@@ -0,0 +1,81 @@
+diff -Nur linux-5.4.155.orig/arch/arm/include/asm/mach/map.h linux-5.4.155/arch/arm/include/asm/mach/map.h
+--- linux-5.4.155.orig/arch/arm/include/asm/mach/map.h 2021-10-20 11:40:18.000000000 +0200
++++ linux-5.4.155/arch/arm/include/asm/mach/map.h 2021-10-26 11:20:50.164712192 +0200
+@@ -59,6 +59,7 @@
+ #else
+ #define iotable_init(map,num) do { } while (0)
+ #define vm_reserve_area_early(a,s,c) do { } while (0)
++#define debug_ll_io_init() do { } while (0)
+ #endif
+
+ #endif
+diff -Nur linux-5.4.155.orig/arch/arm/Kconfig linux-5.4.155/arch/arm/Kconfig
+--- linux-5.4.155.orig/arch/arm/Kconfig 2021-10-20 11:40:18.000000000 +0200
++++ linux-5.4.155/arch/arm/Kconfig 2021-10-26 11:20:50.164712192 +0200
+@@ -340,6 +340,17 @@
+ select SPARSE_IRQ
+ select USE_OF
+
++config ARM_SINGLE_ARCH_VERSATILE
++ bool "ARM Ltd. Versatile family"
++ depends on !MMU
++ select AUTO_ZRELADDR
++ select CLKSRC_OF
++ select COMMON_CLK
++ select GENERIC_CLOCKEVENTS
++ select GPIOLIB
++ select SPARSE_IRQ
++ select USE_OF
++
+ config ARCH_EBSA110
+ bool "EBSA-110"
+ select ARCH_USES_GETTIMEOFFSET
+diff -Nur linux-5.4.155.orig/arch/arm/Kconfig.debug linux-5.4.155/arch/arm/Kconfig.debug
+--- linux-5.4.155.orig/arch/arm/Kconfig.debug 2021-10-20 11:40:18.000000000 +0200
++++ linux-5.4.155/arch/arm/Kconfig.debug 2021-10-26 11:20:50.168712192 +0200
+@@ -1878,7 +1878,8 @@
+ config UNCOMPRESS_INCLUDE
+ string
+ default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
+- PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
++ PLAT_SAMSUNG || ARM_SINGLE_ARMV7M || \
++ ARM_SINGLE_ARCH_VERSATILE
+ default "mach/uncompress.h"
+
+ config EARLY_PRINTK
+diff -Nur linux-5.4.155.orig/arch/arm/mach-versatile/Kconfig linux-5.4.155/arch/arm/mach-versatile/Kconfig
+--- linux-5.4.155.orig/arch/arm/mach-versatile/Kconfig 2021-10-20 11:40:18.000000000 +0200
++++ linux-5.4.155/arch/arm/mach-versatile/Kconfig 2021-10-26 11:20:50.168712192 +0200
+@@ -1,7 +1,8 @@
+ # SPDX-License-Identifier: GPL-2.0
+ config ARCH_VERSATILE
+- bool "ARM Ltd. Versatile family"
+- depends on ARCH_MULTI_V5
++ bool "ARM Ltd. Versatile family" if ARCH_MULTI_V5
++ depends on ARCH_MULTI_V5 || ARM_SINGLE_ARCH_VERSATILE
++ default y if ARM_SINGLE_ARCH_VERSATILE
+ select ARM_AMBA
+ select ARM_TIMER_SP804
+ select ARM_VIC
+diff -Nur linux-5.4.155.orig/arch/arm/mach-versatile/Makefile.boot linux-5.4.155/arch/arm/mach-versatile/Makefile.boot
+--- linux-5.4.155.orig/arch/arm/mach-versatile/Makefile.boot 1970-01-01 01:00:00.000000000 +0100
++++ linux-5.4.155/arch/arm/mach-versatile/Makefile.boot 2021-10-26 11:20:50.168712192 +0200
+@@ -0,0 +1,3 @@
++# Empty file waiting for deletion once Makefile.boot isn't needed any more.
++# Patch waits for application at
++# http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=7889/1 .
+diff -Nur linux-5.4.155.orig/arch/arm/mach-versatile/versatile_dt.c linux-5.4.155/arch/arm/mach-versatile/versatile_dt.c
+--- linux-5.4.155.orig/arch/arm/mach-versatile/versatile_dt.c 2021-10-20 11:40:18.000000000 +0200
++++ linux-5.4.155/arch/arm/mach-versatile/versatile_dt.c 2021-10-26 11:20:50.168712192 +0200
+@@ -22,7 +22,11 @@
+ #include <asm/mach/map.h>
+
+ /* macro to get at MMIO space when running virtually */
++#ifdef CONFIG_MMU
+ #define IO_ADDRESS(x) (((x) & 0x0fffffff) + (((x) >> 4) & 0x0f000000) + 0xf0000000)
++#else
++#define IO_ADDRESS(x) (x)
++#endif
+ #define __io_address(n) ((void __iomem __force *)IO_ADDRESS(n))
+
+ /*
diff --git a/target/linux/patches/5.4.272/darwin-dtc.patch b/target/linux/patches/5.4.272/darwin-dtc.patch
new file mode 100644
index 000000000..0cdc23ab4
--- /dev/null
+++ b/target/linux/patches/5.4.272/darwin-dtc.patch
@@ -0,0 +1,26 @@
+diff -Nur linux-4.19.132.orig/scripts/dtc/dtc.h linux-4.19.132/scripts/dtc/dtc.h
+--- linux-4.19.132.orig/scripts/dtc/dtc.h 2020-07-09 09:37:13.000000000 +0200
++++ linux-4.19.132/scripts/dtc/dtc.h 2020-07-15 02:38:00.000000000 +0200
+@@ -33,8 +33,8 @@
+ #include <unistd.h>
+ #include <inttypes.h>
+
+-#include <libfdt_env.h>
+-#include <fdt.h>
++#include "libfdt/libfdt_env.h"
++#include "libfdt/fdt.h"
+
+ #include "util.h"
+
+diff -Nur linux-4.19.132.orig/scripts/dtc/util.c linux-4.19.132/scripts/dtc/util.c
+--- linux-4.19.132.orig/scripts/dtc/util.c 2020-07-09 09:37:13.000000000 +0200
++++ linux-4.19.132/scripts/dtc/util.c 2020-07-15 02:38:18.000000000 +0200
+@@ -32,7 +32,7 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+
+-#include "libfdt.h"
++#include "libfdt/libfdt.h"
+ #include "util.h"
+ #include "version_gen.h"
+
diff --git a/target/linux/patches/5.4.272/darwin-file2alias.patch b/target/linux/patches/5.4.272/darwin-file2alias.patch
new file mode 100644
index 000000000..fdbc598a8
--- /dev/null
+++ b/target/linux/patches/5.4.272/darwin-file2alias.patch
@@ -0,0 +1,14 @@
+diff -Nur linux-5.4.42.orig/scripts/mod/file2alias.c linux-5.4.42/scripts/mod/file2alias.c
+--- linux-5.4.42.orig/scripts/mod/file2alias.c 2020-05-20 08:20:41.000000000 +0200
++++ linux-5.4.42/scripts/mod/file2alias.c 2020-06-06 20:14:59.000000000 +0200
+@@ -10,6 +10,10 @@
+ * of the GNU General Public License, incorporated herein by reference.
+ */
+
++/* workaround for Darwin */
++#define _UUID_T
++#define __GETHOSTUUID_H
++
+ #include "modpost.h"
+ #include "devicetable-offsets.h"
+
diff --git a/target/linux/patches/5.4.272/dtc-noyaml.patch b/target/linux/patches/5.4.272/dtc-noyaml.patch
new file mode 100644
index 000000000..759bb01f7
--- /dev/null
+++ b/target/linux/patches/5.4.272/dtc-noyaml.patch
@@ -0,0 +1,16 @@
+diff -Nur linux-5.4.53.orig/scripts/dtc/dtc.c linux-5.4.53/scripts/dtc/dtc.c
+--- linux-5.4.53.orig/scripts/dtc/dtc.c 2020-07-22 09:33:18.000000000 +0200
++++ linux-5.4.53/scripts/dtc/dtc.c 2020-07-28 14:20:10.000000000 +0200
+@@ -349,12 +349,6 @@
+
+ if (streq(outform, "dts")) {
+ dt_to_source(outf, dti);
+-#ifndef NO_YAML
+- } else if (streq(outform, "yaml")) {
+- if (!streq(inform, "dts"))
+- die("YAML output format requires dts input format\n");
+- dt_to_yaml(outf, dti);
+-#endif
+ } else if (streq(outform, "dtb")) {
+ dt_to_blob(outf, dti, outversion);
+ } else if (streq(outform, "asm")) {
diff --git a/target/linux/patches/5.4.272/macsonic.patch b/target/linux/patches/5.4.272/macsonic.patch
new file mode 100644
index 000000000..75a6fcad2
--- /dev/null
+++ b/target/linux/patches/5.4.272/macsonic.patch
@@ -0,0 +1,11 @@
+diff -Nur linux-4.4.6.orig/drivers/net/ethernet/natsemi/Kconfig linux-4.4.6/drivers/net/ethernet/natsemi/Kconfig
+--- linux-4.4.6.orig/drivers/net/ethernet/natsemi/Kconfig 2016-03-16 16:43:17.000000000 +0100
++++ linux-4.4.6/drivers/net/ethernet/natsemi/Kconfig 2016-03-18 10:43:34.000000000 +0100
+@@ -18,6 +18,7 @@
+ config MACSONIC
+ tristate "Macintosh SONIC based ethernet (onboard, NuBus, LC, CS)"
+ depends on MAC
++ select BITREVERSE
+ ---help---
+ Support for NatSemi SONIC based Ethernet devices. This includes
+ the onboard Ethernet in many Quadras as well as some LC-PDS,
diff --git a/target/linux/patches/5.4.272/or1k-more-ram.patch b/target/linux/patches/5.4.272/or1k-more-ram.patch
new file mode 100644
index 000000000..540dc43b5
--- /dev/null
+++ b/target/linux/patches/5.4.272/or1k-more-ram.patch
@@ -0,0 +1,12 @@
+diff -Nur linux-4.8.11.orig/arch/openrisc/boot/dts/or1ksim.dts linux-4.8.11/arch/openrisc/boot/dts/or1ksim.dts
+--- linux-4.8.11.orig/arch/openrisc/boot/dts/or1ksim.dts 2016-11-26 09:57:13.000000000 +0100
++++ linux-4.8.11/arch/openrisc/boot/dts/or1ksim.dts 2016-12-04 14:39:46.092952799 +0100
+@@ -11,7 +11,7 @@
+
+ memory@0 {
+ device_type = "memory";
+- reg = <0x00000000 0x02000000>;
++ reg = <0x00000000 0x08000000>;
+ };
+
+ cpus {
diff --git a/target/linux/patches/5.4.272/relocs.patch b/target/linux/patches/5.4.272/relocs.patch
new file mode 100644
index 000000000..5bcd974c7
--- /dev/null
+++ b/target/linux/patches/5.4.272/relocs.patch
@@ -0,0 +1,2698 @@
+diff -Nur linux-5.4.42.orig/arch/x86/tools/relocs.h linux-5.4.42/arch/x86/tools/relocs.h
+--- linux-5.4.42.orig/arch/x86/tools/relocs.h 2020-05-20 08:20:41.000000000 +0200
++++ linux-5.4.42/arch/x86/tools/relocs.h 2020-06-06 18:18:17.000000000 +0200
+@@ -10,11 +10,19 @@
+ #include <string.h>
+ #include <errno.h>
+ #include <unistd.h>
++#ifdef __linux__
+ #include <elf.h>
+ #include <byteswap.h>
+ #define USE_BSD
+ #include <endian.h>
++#else
++#include "elf.h"
++#endif
++#ifdef __APPLE__
++#include <pcreposix.h>
++#else
+ #include <regex.h>
++#endif
+ #include <tools/le_byteshift.h>
+
+ void die(char *fmt, ...) __attribute__((noreturn));
+diff -Nur linux-5.4.42.orig/tools/include/elf.h linux-5.4.42/tools/include/elf.h
+--- linux-5.4.42.orig/tools/include/elf.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-5.4.42/tools/include/elf.h 2020-06-06 18:18:17.000000000 +0200
+@@ -0,0 +1,2671 @@
++#ifndef _ELF_H
++#define _ELF_H
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++#include <stdint.h>
++
++typedef uint16_t Elf32_Half;
++typedef uint16_t Elf64_Half;
++
++typedef uint32_t Elf32_Word;
++typedef int32_t Elf32_Sword;
++typedef uint32_t Elf64_Word;
++typedef int32_t Elf64_Sword;
++
++typedef uint64_t Elf32_Xword;
++typedef int64_t Elf32_Sxword;
++typedef uint64_t Elf64_Xword;
++typedef int64_t Elf64_Sxword;
++
++typedef uint32_t Elf32_Addr;
++typedef uint64_t Elf64_Addr;
++
++typedef uint32_t Elf32_Off;
++typedef uint64_t Elf64_Off;
++
++typedef uint16_t Elf32_Section;
++typedef uint16_t Elf64_Section;
++
++typedef Elf32_Half Elf32_Versym;
++typedef Elf64_Half Elf64_Versym;
++
++#define EI_NIDENT (16)
++
++typedef struct {
++ unsigned char e_ident[EI_NIDENT];
++ Elf32_Half e_type;
++ Elf32_Half e_machine;
++ Elf32_Word e_version;
++ Elf32_Addr e_entry;
++ Elf32_Off e_phoff;
++ Elf32_Off e_shoff;
++ Elf32_Word e_flags;
++ Elf32_Half e_ehsize;
++ Elf32_Half e_phentsize;
++ Elf32_Half e_phnum;
++ Elf32_Half e_shentsize;
++ Elf32_Half e_shnum;
++ Elf32_Half e_shstrndx;
++} Elf32_Ehdr;
++
++typedef struct {
++ unsigned char e_ident[EI_NIDENT];
++ Elf64_Half e_type;
++ Elf64_Half e_machine;
++ Elf64_Word e_version;
++ Elf64_Addr e_entry;
++ Elf64_Off e_phoff;
++ Elf64_Off e_shoff;
++ Elf64_Word e_flags;
++ Elf64_Half e_ehsize;
++ Elf64_Half e_phentsize;
++ Elf64_Half e_phnum;
++ Elf64_Half e_shentsize;
++ Elf64_Half e_shnum;
++ Elf64_Half e_shstrndx;
++} Elf64_Ehdr;
++
++#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 SELFMAG 4
++
++#define EI_CLASS 4
++#define ELFCLASSNONE 0
++#define ELFCLASS32 1
++#define ELFCLASS64 2
++#define ELFCLASSNUM 3
++
++#define EI_DATA 5
++#define ELFDATANONE 0
++#define ELFDATA2LSB 1
++#define ELFDATA2MSB 2
++#define ELFDATANUM 3
++
++#define EI_VERSION 6
++
++
++#define EI_OSABI 7
++#define ELFOSABI_NONE 0
++#define ELFOSABI_SYSV 0
++#define ELFOSABI_HPUX 1
++#define ELFOSABI_NETBSD 2
++#define ELFOSABI_LINUX 3
++#define ELFOSABI_GNU 3
++#define ELFOSABI_SOLARIS 6
++#define ELFOSABI_AIX 7
++#define ELFOSABI_IRIX 8
++#define ELFOSABI_FREEBSD 9
++#define ELFOSABI_TRU64 10
++#define ELFOSABI_MODESTO 11
++#define ELFOSABI_OPENBSD 12
++#define ELFOSABI_ARM 97
++#define ELFOSABI_STANDALONE 255
++
++#define EI_ABIVERSION 8
++
++#define EI_PAD 9
++
++
++
++#define ET_NONE 0
++#define ET_REL 1
++#define ET_EXEC 2
++#define ET_DYN 3
++#define ET_CORE 4
++#define ET_NUM 5
++#define ET_LOOS 0xfe00
++#define ET_HIOS 0xfeff
++#define ET_LOPROC 0xff00
++#define ET_HIPROC 0xffff
++
++
++
++#define EM_NONE 0
++#define EM_M32 1
++#define EM_SPARC 2
++#define EM_386 3
++#define EM_68K 4
++#define EM_88K 5
++#define EM_860 7
++#define EM_MIPS 8
++#define EM_S370 9
++#define EM_MIPS_RS3_LE 10
++
++#define EM_PARISC 15
++#define EM_VPP500 17
++#define EM_SPARC32PLUS 18
++#define EM_960 19
++#define EM_PPC 20
++#define EM_PPC64 21
++#define EM_S390 22
++
++#define EM_V800 36
++#define EM_FR20 37
++#define EM_RH32 38
++#define EM_RCE 39
++#define EM_ARM 40
++#define EM_FAKE_ALPHA 41
++#define EM_SH 42
++#define EM_SPARCV9 43
++#define EM_TRICORE 44
++#define EM_ARC 45
++#define EM_H8_300 46
++#define EM_H8_300H 47
++#define EM_H8S 48
++#define EM_H8_500 49
++#define EM_IA_64 50
++#define EM_MIPS_X 51
++#define EM_COLDFIRE 52
++#define EM_68HC12 53
++#define EM_MMA 54
++#define EM_PCP 55
++#define EM_NCPU 56
++#define EM_NDR1 57
++#define EM_STARCORE 58
++#define EM_ME16 59
++#define EM_ST100 60
++#define EM_TINYJ 61
++#define EM_X86_64 62
++#define EM_PDSP 63
++
++#define EM_FX66 66
++#define EM_ST9PLUS 67
++#define EM_ST7 68
++#define EM_68HC16 69
++#define EM_68HC11 70
++#define EM_68HC08 71
++#define EM_68HC05 72
++#define EM_SVX 73
++#define EM_ST19 74
++#define EM_VAX 75
++#define EM_CRIS 76
++#define EM_JAVELIN 77
++#define EM_FIREPATH 78
++#define EM_ZSP 79
++#define EM_MMIX 80
++#define EM_HUANY 81
++#define EM_PRISM 82
++#define EM_AVR 83
++#define EM_FR30 84
++#define EM_D10V 85
++#define EM_D30V 86
++#define EM_V850 87
++#define EM_M32R 88
++#define EM_MN10300 89
++#define EM_MN10200 90
++#define EM_PJ 91
++#define EM_OPENRISC 92
++#define EM_ARC_A5 93
++#define EM_XTENSA 94
++#define EM_AARCH64 183
++#define EM_TILEPRO 188
++#define EM_MICROBLAZE 189
++#define EM_TILEGX 191
++#define EM_NUM 192
++#define EM_ALPHA 0x9026
++
++#define EV_NONE 0
++#define EV_CURRENT 1
++#define EV_NUM 2
++
++typedef struct {
++ Elf32_Word sh_name;
++ Elf32_Word sh_type;
++ Elf32_Word sh_flags;
++ Elf32_Addr sh_addr;
++ Elf32_Off sh_offset;
++ Elf32_Word sh_size;
++ Elf32_Word sh_link;
++ Elf32_Word sh_info;
++ Elf32_Word sh_addralign;
++ Elf32_Word sh_entsize;
++} Elf32_Shdr;
++
++typedef struct {
++ Elf64_Word sh_name;
++ Elf64_Word sh_type;
++ Elf64_Xword sh_flags;
++ Elf64_Addr sh_addr;
++ Elf64_Off sh_offset;
++ Elf64_Xword sh_size;
++ Elf64_Word sh_link;
++ Elf64_Word sh_info;
++ Elf64_Xword sh_addralign;
++ Elf64_Xword sh_entsize;
++} Elf64_Shdr;
++
++
++
++#define SHN_UNDEF 0
++#define SHN_LORESERVE 0xff00
++#define SHN_LOPROC 0xff00
++#define SHN_BEFORE 0xff00
++
++#define SHN_AFTER 0xff01
++
++#define SHN_HIPROC 0xff1f
++#define SHN_LOOS 0xff20
++#define SHN_HIOS 0xff3f
++#define SHN_ABS 0xfff1
++#define SHN_COMMON 0xfff2
++#define SHN_XINDEX 0xffff
++#define SHN_HIRESERVE 0xffff
++
++
++
++#define SHT_NULL 0
++#define SHT_PROGBITS 1
++#define SHT_SYMTAB 2
++#define SHT_STRTAB 3
++#define SHT_RELA 4
++#define SHT_HASH 5
++#define SHT_DYNAMIC 6
++#define SHT_NOTE 7
++#define SHT_NOBITS 8
++#define SHT_REL 9
++#define SHT_SHLIB 10
++#define SHT_DYNSYM 11
++#define SHT_INIT_ARRAY 14
++#define SHT_FINI_ARRAY 15
++#define SHT_PREINIT_ARRAY 16
++#define SHT_GROUP 17
++#define SHT_SYMTAB_SHNDX 18
++#define SHT_NUM 19
++#define SHT_LOOS 0x60000000
++#define SHT_GNU_ATTRIBUTES 0x6ffffff5
++#define SHT_GNU_HASH 0x6ffffff6
++#define SHT_GNU_LIBLIST 0x6ffffff7
++#define SHT_CHECKSUM 0x6ffffff8
++#define SHT_LOSUNW 0x6ffffffa
++#define SHT_SUNW_move 0x6ffffffa
++#define SHT_SUNW_COMDAT 0x6ffffffb
++#define SHT_SUNW_syminfo 0x6ffffffc
++#define SHT_GNU_verdef 0x6ffffffd
++#define SHT_GNU_verneed 0x6ffffffe
++#define SHT_GNU_versym 0x6fffffff
++#define SHT_HISUNW 0x6fffffff
++#define SHT_HIOS 0x6fffffff
++#define SHT_LOPROC 0x70000000
++#define SHT_HIPROC 0x7fffffff
++#define SHT_LOUSER 0x80000000
++#define SHT_HIUSER 0x8fffffff
++
++#define SHF_WRITE (1 << 0)
++#define SHF_ALLOC (1 << 1)
++#define SHF_EXECINSTR (1 << 2)
++#define SHF_MERGE (1 << 4)
++#define SHF_STRINGS (1 << 5)
++#define SHF_INFO_LINK (1 << 6)
++#define SHF_LINK_ORDER (1 << 7)
++#define SHF_OS_NONCONFORMING (1 << 8)
++
++#define SHF_GROUP (1 << 9)
++#define SHF_TLS (1 << 10)
++#define SHF_MASKOS 0x0ff00000
++#define SHF_MASKPROC 0xf0000000
++#define SHF_ORDERED (1 << 30)
++#define SHF_EXCLUDE (1 << 31)
++
++#define GRP_COMDAT 0x1
++
++typedef struct {
++ Elf32_Word st_name;
++ Elf32_Addr st_value;
++ Elf32_Word st_size;
++ unsigned char st_info;
++ unsigned char st_other;
++ Elf32_Section st_shndx;
++} Elf32_Sym;
++
++typedef struct {
++ Elf64_Word st_name;
++ unsigned char st_info;
++ unsigned char st_other;
++ Elf64_Section st_shndx;
++ Elf64_Addr st_value;
++ Elf64_Xword st_size;
++} Elf64_Sym;
++
++typedef struct {
++ Elf32_Half si_boundto;
++ Elf32_Half si_flags;
++} Elf32_Syminfo;
++
++typedef struct {
++ Elf64_Half si_boundto;
++ Elf64_Half si_flags;
++} Elf64_Syminfo;
++
++#define SYMINFO_BT_SELF 0xffff
++#define SYMINFO_BT_PARENT 0xfffe
++#define SYMINFO_BT_LOWRESERVE 0xff00
++
++#define SYMINFO_FLG_DIRECT 0x0001
++#define SYMINFO_FLG_PASSTHRU 0x0002
++#define SYMINFO_FLG_COPY 0x0004
++#define SYMINFO_FLG_LAZYLOAD 0x0008
++
++#define SYMINFO_NONE 0
++#define SYMINFO_CURRENT 1
++#define SYMINFO_NUM 2
++
++#define ELF32_ST_BIND(val) (((unsigned char) (val)) >> 4)
++#define ELF32_ST_TYPE(val) ((val) & 0xf)
++#define ELF32_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf))
++
++#define ELF64_ST_BIND(val) ELF32_ST_BIND (val)
++#define ELF64_ST_TYPE(val) ELF32_ST_TYPE (val)
++#define ELF64_ST_INFO(bind, type) ELF32_ST_INFO ((bind), (type))
++
++#define STB_LOCAL 0
++#define STB_GLOBAL 1
++#define STB_WEAK 2
++#define STB_NUM 3
++#define STB_LOOS 10
++#define STB_GNU_UNIQUE 10
++#define STB_HIOS 12
++#define STB_LOPROC 13
++#define STB_HIPROC 15
++
++#define STT_NOTYPE 0
++#define STT_OBJECT 1
++#define STT_FUNC 2
++#define STT_SECTION 3
++#define STT_FILE 4
++#define STT_COMMON 5
++#define STT_TLS 6
++#define STT_NUM 7
++#define STT_LOOS 10
++#define STT_GNU_IFUNC 10
++#define STT_HIOS 12
++#define STT_LOPROC 13
++#define STT_HIPROC 15
++
++#define STN_UNDEF 0
++
++#define ELF32_ST_VISIBILITY(o) ((o) & 0x03)
++#define ELF64_ST_VISIBILITY(o) ELF32_ST_VISIBILITY (o)
++
++#define STV_DEFAULT 0
++#define STV_INTERNAL 1
++#define STV_HIDDEN 2
++#define STV_PROTECTED 3
++
++
++
++
++typedef struct
++{
++ Elf32_Addr r_offset;
++ Elf32_Word r_info;
++} Elf32_Rel;
++
++typedef struct {
++ Elf64_Addr r_offset;
++ Elf64_Xword r_info;
++} Elf64_Rel;
++
++
++
++typedef struct {
++ Elf32_Addr r_offset;
++ Elf32_Word r_info;
++ Elf32_Sword r_addend;
++} Elf32_Rela;
++
++typedef struct {
++ Elf64_Addr r_offset;
++ Elf64_Xword r_info;
++ Elf64_Sxword r_addend;
++} Elf64_Rela;
++
++
++
++#define ELF32_R_SYM(val) ((val) >> 8)
++#define ELF32_R_TYPE(val) ((val) & 0xff)
++#define ELF32_R_INFO(sym, type) (((sym) << 8) + ((type) & 0xff))
++
++#define ELF64_R_SYM(i) ((i) >> 32)
++#define ELF64_R_TYPE(i) ((i) & 0xffffffff)
++#define ELF64_R_INFO(sym,type) ((((Elf64_Xword) (sym)) << 32) + (type))
++
++
++
++typedef struct {
++ Elf32_Word p_type;
++ Elf32_Off p_offset;
++ Elf32_Addr p_vaddr;
++ Elf32_Addr p_paddr;
++ Elf32_Word p_filesz;
++ Elf32_Word p_memsz;
++ Elf32_Word p_flags;
++ Elf32_Word p_align;
++} Elf32_Phdr;
++
++typedef struct {
++ Elf64_Word p_type;
++ Elf64_Word p_flags;
++ Elf64_Off p_offset;
++ Elf64_Addr p_vaddr;
++ Elf64_Addr p_paddr;
++ Elf64_Xword p_filesz;
++ Elf64_Xword p_memsz;
++ Elf64_Xword p_align;
++} Elf64_Phdr;
++
++
++
++#define PT_NULL 0
++#define PT_LOAD 1
++#define PT_DYNAMIC 2
++#define PT_INTERP 3
++#define PT_NOTE 4
++#define PT_SHLIB 5
++#define PT_PHDR 6
++#define PT_TLS 7
++#define PT_NUM 8
++#define PT_LOOS 0x60000000
++#define PT_GNU_EH_FRAME 0x6474e550
++#define PT_GNU_STACK 0x6474e551
++#define PT_GNU_RELRO 0x6474e552
++#define PT_LOSUNW 0x6ffffffa
++#define PT_SUNWBSS 0x6ffffffa
++#define PT_SUNWSTACK 0x6ffffffb
++#define PT_HISUNW 0x6fffffff
++#define PT_HIOS 0x6fffffff
++#define PT_LOPROC 0x70000000
++#define PT_HIPROC 0x7fffffff
++
++
++#define PN_XNUM 0xffff
++
++
++#define PF_X (1 << 0)
++#define PF_W (1 << 1)
++#define PF_R (1 << 2)
++#define PF_MASKOS 0x0ff00000
++#define PF_MASKPROC 0xf0000000
++
++
++
++#define NT_PRSTATUS 1
++#define NT_FPREGSET 2
++#define NT_PRPSINFO 3
++#define NT_PRXREG 4
++#define NT_TASKSTRUCT 4
++#define NT_PLATFORM 5
++#define NT_AUXV 6
++#define NT_GWINDOWS 7
++#define NT_ASRS 8
++#define NT_PSTATUS 10
++#define NT_PSINFO 13
++#define NT_PRCRED 14
++#define NT_UTSNAME 15
++#define NT_LWPSTATUS 16
++#define NT_LWPSINFO 17
++#define NT_PRFPXREG 20
++#define NT_SIGINFO 0x53494749
++#define NT_FILE 0x46494c45
++#define NT_PRXFPREG 0x46e62b7f
++#define NT_PPC_VMX 0x100
++#define NT_PPC_SPE 0x101
++#define NT_PPC_VSX 0x102
++#define NT_386_TLS 0x200
++#define NT_386_IOPERM 0x201
++#define NT_X86_XSTATE 0x202
++#define NT_S390_HIGH_GPRS 0x300
++#define NT_S390_TIMER 0x301
++#define NT_S390_TODCMP 0x302
++#define NT_S390_TODPREG 0x303
++#define NT_S390_CTRS 0x304
++#define NT_S390_PREFIX 0x305
++#define NT_S390_LAST_BREAK 0x306
++#define NT_S390_SYSTEM_CALL 0x307
++#define NT_S390_TDB 0x308
++#define NT_ARM_VFP 0x400
++#define NT_ARM_TLS 0x401
++#define NT_ARM_HW_BREAK 0x402
++#define NT_ARM_HW_WATCH 0x403
++#define NT_METAG_CBUF 0x500
++#define NT_METAG_RPIPE 0x501
++#define NT_METAG_TLS 0x502
++#define NT_VERSION 1
++
++
++
++
++typedef struct {
++ Elf32_Sword d_tag;
++ union {
++ Elf32_Word d_val;
++ Elf32_Addr d_ptr;
++ } d_un;
++} Elf32_Dyn;
++
++typedef struct {
++ Elf64_Sxword d_tag;
++ union {
++ Elf64_Xword d_val;
++ Elf64_Addr d_ptr;
++ } d_un;
++} Elf64_Dyn;
++
++
++
++#define DT_NULL 0
++#define DT_NEEDED 1
++#define DT_PLTRELSZ 2
++#define DT_PLTGOT 3
++#define DT_HASH 4
++#define DT_STRTAB 5
++#define DT_SYMTAB 6
++#define DT_RELA 7
++#define DT_RELASZ 8
++#define DT_RELAENT 9
++#define DT_STRSZ 10
++#define DT_SYMENT 11
++#define DT_INIT 12
++#define DT_FINI 13
++#define DT_SONAME 14
++#define DT_RPATH 15
++#define DT_SYMBOLIC 16
++#define DT_REL 17
++#define DT_RELSZ 18
++#define DT_RELENT 19
++#define DT_PLTREL 20
++#define DT_DEBUG 21
++#define DT_TEXTREL 22
++#define DT_JMPREL 23
++#define DT_BIND_NOW 24
++#define DT_INIT_ARRAY 25
++#define DT_FINI_ARRAY 26
++#define DT_INIT_ARRAYSZ 27
++#define DT_FINI_ARRAYSZ 28
++#define DT_RUNPATH 29
++#define DT_FLAGS 30
++#define DT_ENCODING 32
++#define DT_PREINIT_ARRAY 32
++#define DT_PREINIT_ARRAYSZ 33
++#define DT_NUM 34
++#define DT_LOOS 0x6000000d
++#define DT_HIOS 0x6ffff000
++#define DT_LOPROC 0x70000000
++#define DT_HIPROC 0x7fffffff
++#define DT_PROCNUM DT_MIPS_NUM
++
++#define DT_VALRNGLO 0x6ffffd00
++#define DT_GNU_PRELINKED 0x6ffffdf5
++#define DT_GNU_CONFLICTSZ 0x6ffffdf6
++#define DT_GNU_LIBLISTSZ 0x6ffffdf7
++#define DT_CHECKSUM 0x6ffffdf8
++#define DT_PLTPADSZ 0x6ffffdf9
++#define DT_MOVEENT 0x6ffffdfa
++#define DT_MOVESZ 0x6ffffdfb
++#define DT_FEATURE_1 0x6ffffdfc
++#define DT_POSFLAG_1 0x6ffffdfd
++
++#define DT_SYMINSZ 0x6ffffdfe
++#define DT_SYMINENT 0x6ffffdff
++#define DT_VALRNGHI 0x6ffffdff
++#define DT_VALTAGIDX(tag) (DT_VALRNGHI - (tag))
++#define DT_VALNUM 12
++
++#define DT_ADDRRNGLO 0x6ffffe00
++#define DT_GNU_HASH 0x6ffffef5
++#define DT_TLSDESC_PLT 0x6ffffef6
++#define DT_TLSDESC_GOT 0x6ffffef7
++#define DT_GNU_CONFLICT 0x6ffffef8
++#define DT_GNU_LIBLIST 0x6ffffef9
++#define DT_CONFIG 0x6ffffefa
++#define DT_DEPAUDIT 0x6ffffefb
++#define DT_AUDIT 0x6ffffefc
++#define DT_PLTPAD 0x6ffffefd
++#define DT_MOVETAB 0x6ffffefe
++#define DT_SYMINFO 0x6ffffeff
++#define DT_ADDRRNGHI 0x6ffffeff
++#define DT_ADDRTAGIDX(tag) (DT_ADDRRNGHI - (tag))
++#define DT_ADDRNUM 11
++
++
++
++#define DT_VERSYM 0x6ffffff0
++
++#define DT_RELACOUNT 0x6ffffff9
++#define DT_RELCOUNT 0x6ffffffa
++
++
++#define DT_FLAGS_1 0x6ffffffb
++#define DT_VERDEF 0x6ffffffc
++
++#define DT_VERDEFNUM 0x6ffffffd
++#define DT_VERNEED 0x6ffffffe
++
++#define DT_VERNEEDNUM 0x6fffffff
++#define DT_VERSIONTAGIDX(tag) (DT_VERNEEDNUM - (tag))
++#define DT_VERSIONTAGNUM 16
++
++
++
++#define DT_AUXILIARY 0x7ffffffd
++#define DT_FILTER 0x7fffffff
++#define DT_EXTRATAGIDX(tag) ((Elf32_Word)-((Elf32_Sword) (tag) <<1>>1)-1)
++#define DT_EXTRANUM 3
++
++
++#define DF_ORIGIN 0x00000001
++#define DF_SYMBOLIC 0x00000002
++#define DF_TEXTREL 0x00000004
++#define DF_BIND_NOW 0x00000008
++#define DF_STATIC_TLS 0x00000010
++
++
++
++#define DF_1_NOW 0x00000001
++#define DF_1_GLOBAL 0x00000002
++#define DF_1_GROUP 0x00000004
++#define DF_1_NODELETE 0x00000008
++#define DF_1_LOADFLTR 0x00000010
++#define DF_1_INITFIRST 0x00000020
++#define DF_1_NOOPEN 0x00000040
++#define DF_1_ORIGIN 0x00000080
++#define DF_1_DIRECT 0x00000100
++#define DF_1_TRANS 0x00000200
++#define DF_1_INTERPOSE 0x00000400
++#define DF_1_NODEFLIB 0x00000800
++#define DF_1_NODUMP 0x00001000
++#define DF_1_CONFALT 0x00002000
++#define DF_1_ENDFILTEE 0x00004000
++#define DF_1_DISPRELDNE 0x00008000
++#define DF_1_DISPRELPND 0x00010000
++#define DF_1_NODIRECT 0x00020000
++#define DF_1_IGNMULDEF 0x00040000
++#define DF_1_NOKSYMS 0x00080000
++#define DF_1_NOHDR 0x00100000
++#define DF_1_EDITED 0x00200000
++#define DF_1_NORELOC 0x00400000
++#define DF_1_SYMINTPOSE 0x00800000
++#define DF_1_GLOBAUDIT 0x01000000
++#define DF_1_SINGLETON 0x02000000
++
++#define DTF_1_PARINIT 0x00000001
++#define DTF_1_CONFEXP 0x00000002
++
++
++#define DF_P1_LAZYLOAD 0x00000001
++#define DF_P1_GROUPPERM 0x00000002
++
++
++
++
++typedef struct {
++ Elf32_Half vd_version;
++ Elf32_Half vd_flags;
++ Elf32_Half vd_ndx;
++ Elf32_Half vd_cnt;
++ Elf32_Word vd_hash;
++ Elf32_Word vd_aux;
++ Elf32_Word vd_next;
++} Elf32_Verdef;
++
++typedef struct {
++ Elf64_Half vd_version;
++ Elf64_Half vd_flags;
++ Elf64_Half vd_ndx;
++ Elf64_Half vd_cnt;
++ Elf64_Word vd_hash;
++ Elf64_Word vd_aux;
++ Elf64_Word vd_next;
++} Elf64_Verdef;
++
++
++
++#define VER_DEF_NONE 0
++#define VER_DEF_CURRENT 1
++#define VER_DEF_NUM 2
++
++
++#define VER_FLG_BASE 0x1
++#define VER_FLG_WEAK 0x2
++
++
++#define VER_NDX_LOCAL 0
++#define VER_NDX_GLOBAL 1
++#define VER_NDX_LORESERVE 0xff00
++#define VER_NDX_ELIMINATE 0xff01
++
++
++
++typedef struct {
++ Elf32_Word vda_name;
++ Elf32_Word vda_next;
++} Elf32_Verdaux;
++
++typedef struct {
++ Elf64_Word vda_name;
++ Elf64_Word vda_next;
++} Elf64_Verdaux;
++
++
++
++
++typedef struct {
++ Elf32_Half vn_version;
++ Elf32_Half vn_cnt;
++ Elf32_Word vn_file;
++ Elf32_Word vn_aux;
++ Elf32_Word vn_next;
++} Elf32_Verneed;
++
++typedef struct {
++ Elf64_Half vn_version;
++ Elf64_Half vn_cnt;
++ Elf64_Word vn_file;
++ Elf64_Word vn_aux;
++ Elf64_Word vn_next;
++} Elf64_Verneed;
++
++
++
++#define VER_NEED_NONE 0
++#define VER_NEED_CURRENT 1
++#define VER_NEED_NUM 2
++
++
++
++typedef struct {
++ Elf32_Word vna_hash;
++ Elf32_Half vna_flags;
++ Elf32_Half vna_other;
++ Elf32_Word vna_name;
++ Elf32_Word vna_next;
++} Elf32_Vernaux;
++
++typedef struct {
++ Elf64_Word vna_hash;
++ Elf64_Half vna_flags;
++ Elf64_Half vna_other;
++ Elf64_Word vna_name;
++ Elf64_Word vna_next;
++} Elf64_Vernaux;
++
++
++
++#define VER_FLG_WEAK 0x2
++
++
++
++typedef struct {
++ uint32_t a_type;
++ union {
++ uint32_t a_val;
++ } a_un;
++} Elf32_auxv_t;
++
++typedef struct {
++ uint64_t a_type;
++ union {
++ uint64_t a_val;
++ } a_un;
++} Elf64_auxv_t;
++
++
++
++#define AT_NULL 0
++#define AT_IGNORE 1
++#define AT_EXECFD 2
++#define AT_PHDR 3
++#define AT_PHENT 4
++#define AT_PHNUM 5
++#define AT_PAGESZ 6
++#define AT_BASE 7
++#define AT_FLAGS 8
++#define AT_ENTRY 9
++#define AT_NOTELF 10
++#define AT_UID 11
++#define AT_EUID 12
++#define AT_GID 13
++#define AT_EGID 14
++#define AT_CLKTCK 17
++
++
++#define AT_PLATFORM 15
++#define AT_HWCAP 16
++
++
++
++
++#define AT_FPUCW 18
++
++
++#define AT_DCACHEBSIZE 19
++#define AT_ICACHEBSIZE 20
++#define AT_UCACHEBSIZE 21
++
++
++
++#define AT_IGNOREPPC 22
++
++#define AT_SECURE 23
++
++#define AT_BASE_PLATFORM 24
++
++#define AT_RANDOM 25
++
++#define AT_HWCAP2 26
++
++#define AT_EXECFN 31
++
++
++
++#define AT_SYSINFO 32
++#define AT_SYSINFO_EHDR 33
++
++
++
++#define AT_L1I_CACHESHAPE 34
++#define AT_L1D_CACHESHAPE 35
++#define AT_L2_CACHESHAPE 36
++#define AT_L3_CACHESHAPE 37
++
++
++
++
++typedef struct {
++ Elf32_Word n_namesz;
++ Elf32_Word n_descsz;
++ Elf32_Word n_type;
++} Elf32_Nhdr;
++
++typedef struct {
++ Elf64_Word n_namesz;
++ Elf64_Word n_descsz;
++ Elf64_Word n_type;
++} Elf64_Nhdr;
++
++
++
++
++#define ELF_NOTE_SOLARIS "SUNW Solaris"
++
++
++#define ELF_NOTE_GNU "GNU"
++
++
++
++
++
++#define ELF_NOTE_PAGESIZE_HINT 1
++
++
++#define NT_GNU_ABI_TAG 1
++#define ELF_NOTE_ABI NT_GNU_ABI_TAG
++
++
++
++#define ELF_NOTE_OS_LINUX 0
++#define ELF_NOTE_OS_GNU 1
++#define ELF_NOTE_OS_SOLARIS2 2
++#define ELF_NOTE_OS_FREEBSD 3
++
++#define NT_GNU_BUILD_ID 3
++#define NT_GNU_GOLD_VERSION 4
++
++
++
++typedef struct {
++ Elf32_Xword m_value;
++ Elf32_Word m_info;
++ Elf32_Word m_poffset;
++ Elf32_Half m_repeat;
++ Elf32_Half m_stride;
++} Elf32_Move;
++
++typedef struct {
++ Elf64_Xword m_value;
++ Elf64_Xword m_info;
++ Elf64_Xword m_poffset;
++ Elf64_Half m_repeat;
++ Elf64_Half m_stride;
++} Elf64_Move;
++
++
++#define ELF32_M_SYM(info) ((info) >> 8)
++#define ELF32_M_SIZE(info) ((unsigned char) (info))
++#define ELF32_M_INFO(sym, size) (((sym) << 8) + (unsigned char) (size))
++
++#define ELF64_M_SYM(info) ELF32_M_SYM (info)
++#define ELF64_M_SIZE(info) ELF32_M_SIZE (info)
++#define ELF64_M_INFO(sym, size) ELF32_M_INFO (sym, size)
++
++#define EF_CPU32 0x00810000
++
++#define R_68K_NONE 0
++#define R_68K_32 1
++#define R_68K_16 2
++#define R_68K_8 3
++#define R_68K_PC32 4
++#define R_68K_PC16 5
++#define R_68K_PC8 6
++#define R_68K_GOT32 7
++#define R_68K_GOT16 8
++#define R_68K_GOT8 9
++#define R_68K_GOT32O 10
++#define R_68K_GOT16O 11
++#define R_68K_GOT8O 12
++#define R_68K_PLT32 13
++#define R_68K_PLT16 14
++#define R_68K_PLT8 15
++#define R_68K_PLT32O 16
++#define R_68K_PLT16O 17
++#define R_68K_PLT8O 18
++#define R_68K_COPY 19
++#define R_68K_GLOB_DAT 20
++#define R_68K_JMP_SLOT 21
++#define R_68K_RELATIVE 22
++#define R_68K_NUM 23
++
++#define R_386_NONE 0
++#define R_386_32 1
++#define R_386_PC32 2
++#define R_386_GOT32 3
++#define R_386_PLT32 4
++#define R_386_COPY 5
++#define R_386_GLOB_DAT 6
++#define R_386_JMP_SLOT 7
++#define R_386_RELATIVE 8
++#define R_386_GOTOFF 9
++#define R_386_GOTPC 10
++#define R_386_32PLT 11
++#define R_386_TLS_TPOFF 14
++#define R_386_TLS_IE 15
++#define R_386_TLS_GOTIE 16
++#define R_386_TLS_LE 17
++#define R_386_TLS_GD 18
++#define R_386_TLS_LDM 19
++#define R_386_16 20
++#define R_386_PC16 21
++#define R_386_8 22
++#define R_386_PC8 23
++#define R_386_TLS_GD_32 24
++#define R_386_TLS_GD_PUSH 25
++#define R_386_TLS_GD_CALL 26
++#define R_386_TLS_GD_POP 27
++#define R_386_TLS_LDM_32 28
++#define R_386_TLS_LDM_PUSH 29
++#define R_386_TLS_LDM_CALL 30
++#define R_386_TLS_LDM_POP 31
++#define R_386_TLS_LDO_32 32
++#define R_386_TLS_IE_32 33
++#define R_386_TLS_LE_32 34
++#define R_386_TLS_DTPMOD32 35
++#define R_386_TLS_DTPOFF32 36
++#define R_386_TLS_TPOFF32 37
++#define R_386_SIZE32 38
++#define R_386_TLS_GOTDESC 39
++#define R_386_TLS_DESC_CALL 40
++#define R_386_TLS_DESC 41
++#define R_386_IRELATIVE 42
++#define R_386_NUM 43
++
++
++
++
++
++#define STT_SPARC_REGISTER 13
++
++
++
++#define EF_SPARCV9_MM 3
++#define EF_SPARCV9_TSO 0
++#define EF_SPARCV9_PSO 1
++#define EF_SPARCV9_RMO 2
++#define EF_SPARC_LEDATA 0x800000
++#define EF_SPARC_EXT_MASK 0xFFFF00
++#define EF_SPARC_32PLUS 0x000100
++#define EF_SPARC_SUN_US1 0x000200
++#define EF_SPARC_HAL_R1 0x000400
++#define EF_SPARC_SUN_US3 0x000800
++
++
++
++#define R_SPARC_NONE 0
++#define R_SPARC_8 1
++#define R_SPARC_16 2
++#define R_SPARC_32 3
++#define R_SPARC_DISP8 4
++#define R_SPARC_DISP16 5
++#define R_SPARC_DISP32 6
++#define R_SPARC_WDISP30 7
++#define R_SPARC_WDISP22 8
++#define R_SPARC_HI22 9
++#define R_SPARC_22 10
++#define R_SPARC_13 11
++#define R_SPARC_LO10 12
++#define R_SPARC_GOT10 13
++#define R_SPARC_GOT13 14
++#define R_SPARC_GOT22 15
++#define R_SPARC_PC10 16
++#define R_SPARC_PC22 17
++#define R_SPARC_WPLT30 18
++#define R_SPARC_COPY 19
++#define R_SPARC_GLOB_DAT 20
++#define R_SPARC_JMP_SLOT 21
++#define R_SPARC_RELATIVE 22
++#define R_SPARC_UA32 23
++
++
++
++#define R_SPARC_PLT32 24
++#define R_SPARC_HIPLT22 25
++#define R_SPARC_LOPLT10 26
++#define R_SPARC_PCPLT32 27
++#define R_SPARC_PCPLT22 28
++#define R_SPARC_PCPLT10 29
++#define R_SPARC_10 30
++#define R_SPARC_11 31
++#define R_SPARC_64 32
++#define R_SPARC_OLO10 33
++#define R_SPARC_HH22 34
++#define R_SPARC_HM10 35
++#define R_SPARC_LM22 36
++#define R_SPARC_PC_HH22 37
++#define R_SPARC_PC_HM10 38
++#define R_SPARC_PC_LM22 39
++#define R_SPARC_WDISP16 40
++#define R_SPARC_WDISP19 41
++#define R_SPARC_GLOB_JMP 42
++#define R_SPARC_7 43
++#define R_SPARC_5 44
++#define R_SPARC_6 45
++#define R_SPARC_DISP64 46
++#define R_SPARC_PLT64 47
++#define R_SPARC_HIX22 48
++#define R_SPARC_LOX10 49
++#define R_SPARC_H44 50
++#define R_SPARC_M44 51
++#define R_SPARC_L44 52
++#define R_SPARC_REGISTER 53
++#define R_SPARC_UA64 54
++#define R_SPARC_UA16 55
++#define R_SPARC_TLS_GD_HI22 56
++#define R_SPARC_TLS_GD_LO10 57
++#define R_SPARC_TLS_GD_ADD 58
++#define R_SPARC_TLS_GD_CALL 59
++#define R_SPARC_TLS_LDM_HI22 60
++#define R_SPARC_TLS_LDM_LO10 61
++#define R_SPARC_TLS_LDM_ADD 62
++#define R_SPARC_TLS_LDM_CALL 63
++#define R_SPARC_TLS_LDO_HIX22 64
++#define R_SPARC_TLS_LDO_LOX10 65
++#define R_SPARC_TLS_LDO_ADD 66
++#define R_SPARC_TLS_IE_HI22 67
++#define R_SPARC_TLS_IE_LO10 68
++#define R_SPARC_TLS_IE_LD 69
++#define R_SPARC_TLS_IE_LDX 70
++#define R_SPARC_TLS_IE_ADD 71
++#define R_SPARC_TLS_LE_HIX22 72
++#define R_SPARC_TLS_LE_LOX10 73
++#define R_SPARC_TLS_DTPMOD32 74
++#define R_SPARC_TLS_DTPMOD64 75
++#define R_SPARC_TLS_DTPOFF32 76
++#define R_SPARC_TLS_DTPOFF64 77
++#define R_SPARC_TLS_TPOFF32 78
++#define R_SPARC_TLS_TPOFF64 79
++#define R_SPARC_GOTDATA_HIX22 80
++#define R_SPARC_GOTDATA_LOX10 81
++#define R_SPARC_GOTDATA_OP_HIX22 82
++#define R_SPARC_GOTDATA_OP_LOX10 83
++#define R_SPARC_GOTDATA_OP 84
++#define R_SPARC_H34 85
++#define R_SPARC_SIZE32 86
++#define R_SPARC_SIZE64 87
++#define R_SPARC_GNU_VTINHERIT 250
++#define R_SPARC_GNU_VTENTRY 251
++#define R_SPARC_REV32 252
++
++#define R_SPARC_NUM 253
++
++
++
++#define DT_SPARC_REGISTER 0x70000001
++#define DT_SPARC_NUM 2
++
++
++#define EF_MIPS_NOREORDER 1
++#define EF_MIPS_PIC 2
++#define EF_MIPS_CPIC 4
++#define EF_MIPS_XGOT 8
++#define EF_MIPS_64BIT_WHIRL 16
++#define EF_MIPS_ABI2 32
++#define EF_MIPS_ABI_ON32 64
++#define EF_MIPS_ARCH 0xf0000000
++
++
++
++#define EF_MIPS_ARCH_1 0x00000000
++#define EF_MIPS_ARCH_2 0x10000000
++#define EF_MIPS_ARCH_3 0x20000000
++#define EF_MIPS_ARCH_4 0x30000000
++#define EF_MIPS_ARCH_5 0x40000000
++#define EF_MIPS_ARCH_32 0x50000000
++#define EF_MIPS_ARCH_64 0x60000000
++#define EF_MIPS_ARCH_32R2 0x70000000
++#define EF_MIPS_ARCH_64R2 0x80000000
++
++
++#define E_MIPS_ARCH_1 0x00000000
++#define E_MIPS_ARCH_2 0x10000000
++#define E_MIPS_ARCH_3 0x20000000
++#define E_MIPS_ARCH_4 0x30000000
++#define E_MIPS_ARCH_5 0x40000000
++#define E_MIPS_ARCH_32 0x50000000
++#define E_MIPS_ARCH_64 0x60000000
++
++
++
++#define SHN_MIPS_ACOMMON 0xff00
++#define SHN_MIPS_TEXT 0xff01
++#define SHN_MIPS_DATA 0xff02
++#define SHN_MIPS_SCOMMON 0xff03
++#define SHN_MIPS_SUNDEFINED 0xff04
++
++
++
++#define SHT_MIPS_LIBLIST 0x70000000
++#define SHT_MIPS_MSYM 0x70000001
++#define SHT_MIPS_CONFLICT 0x70000002
++#define SHT_MIPS_GPTAB 0x70000003
++#define SHT_MIPS_UCODE 0x70000004
++#define SHT_MIPS_DEBUG 0x70000005
++#define SHT_MIPS_REGINFO 0x70000006
++#define SHT_MIPS_PACKAGE 0x70000007
++#define SHT_MIPS_PACKSYM 0x70000008
++#define SHT_MIPS_RELD 0x70000009
++#define SHT_MIPS_IFACE 0x7000000b
++#define SHT_MIPS_CONTENT 0x7000000c
++#define SHT_MIPS_OPTIONS 0x7000000d
++#define SHT_MIPS_SHDR 0x70000010
++#define SHT_MIPS_FDESC 0x70000011
++#define SHT_MIPS_EXTSYM 0x70000012
++#define SHT_MIPS_DENSE 0x70000013
++#define SHT_MIPS_PDESC 0x70000014
++#define SHT_MIPS_LOCSYM 0x70000015
++#define SHT_MIPS_AUXSYM 0x70000016
++#define SHT_MIPS_OPTSYM 0x70000017
++#define SHT_MIPS_LOCSTR 0x70000018
++#define SHT_MIPS_LINE 0x70000019
++#define SHT_MIPS_RFDESC 0x7000001a
++#define SHT_MIPS_DELTASYM 0x7000001b
++#define SHT_MIPS_DELTAINST 0x7000001c
++#define SHT_MIPS_DELTACLASS 0x7000001d
++#define SHT_MIPS_DWARF 0x7000001e
++#define SHT_MIPS_DELTADECL 0x7000001f
++#define SHT_MIPS_SYMBOL_LIB 0x70000020
++#define SHT_MIPS_EVENTS 0x70000021
++#define SHT_MIPS_TRANSLATE 0x70000022
++#define SHT_MIPS_PIXIE 0x70000023
++#define SHT_MIPS_XLATE 0x70000024
++#define SHT_MIPS_XLATE_DEBUG 0x70000025
++#define SHT_MIPS_WHIRL 0x70000026
++#define SHT_MIPS_EH_REGION 0x70000027
++#define SHT_MIPS_XLATE_OLD 0x70000028
++#define SHT_MIPS_PDR_EXCEPTION 0x70000029
++
++
++
++#define SHF_MIPS_GPREL 0x10000000
++#define SHF_MIPS_MERGE 0x20000000
++#define SHF_MIPS_ADDR 0x40000000
++#define SHF_MIPS_STRINGS 0x80000000
++#define SHF_MIPS_NOSTRIP 0x08000000
++#define SHF_MIPS_LOCAL 0x04000000
++#define SHF_MIPS_NAMES 0x02000000
++#define SHF_MIPS_NODUPE 0x01000000
++
++
++
++
++
++#define STO_MIPS_DEFAULT 0x0
++#define STO_MIPS_INTERNAL 0x1
++#define STO_MIPS_HIDDEN 0x2
++#define STO_MIPS_PROTECTED 0x3
++#define STO_MIPS_PLT 0x8
++#define STO_MIPS_SC_ALIGN_UNUSED 0xff
++
++
++#define STB_MIPS_SPLIT_COMMON 13
++
++
++
++typedef union {
++ struct {
++ Elf32_Word gt_current_g_value;
++ Elf32_Word gt_unused;
++ } gt_header;
++ struct {
++ Elf32_Word gt_g_value;
++ Elf32_Word gt_bytes;
++ } gt_entry;
++} Elf32_gptab;
++
++
++
++typedef struct {
++ Elf32_Word ri_gprmask;
++ Elf32_Word ri_cprmask[4];
++ Elf32_Sword ri_gp_value;
++} Elf32_RegInfo;
++
++
++
++typedef struct {
++ unsigned char kind;
++
++ unsigned char size;
++ Elf32_Section section;
++
++ Elf32_Word info;
++} Elf_Options;
++
++
++
++#define ODK_NULL 0
++#define ODK_REGINFO 1
++#define ODK_EXCEPTIONS 2
++#define ODK_PAD 3
++#define ODK_HWPATCH 4
++#define ODK_FILL 5
++#define ODK_TAGS 6
++#define ODK_HWAND 7
++#define ODK_HWOR 8
++
++
++
++#define OEX_FPU_MIN 0x1f
++#define OEX_FPU_MAX 0x1f00
++#define OEX_PAGE0 0x10000
++#define OEX_SMM 0x20000
++#define OEX_FPDBUG 0x40000
++#define OEX_PRECISEFP OEX_FPDBUG
++#define OEX_DISMISS 0x80000
++
++#define OEX_FPU_INVAL 0x10
++#define OEX_FPU_DIV0 0x08
++#define OEX_FPU_OFLO 0x04
++#define OEX_FPU_UFLO 0x02
++#define OEX_FPU_INEX 0x01
++
++
++
++#define OHW_R4KEOP 0x1
++#define OHW_R8KPFETCH 0x2
++#define OHW_R5KEOP 0x4
++#define OHW_R5KCVTL 0x8
++
++#define OPAD_PREFIX 0x1
++#define OPAD_POSTFIX 0x2
++#define OPAD_SYMBOL 0x4
++
++
++
++typedef struct {
++ Elf32_Word hwp_flags1;
++ Elf32_Word hwp_flags2;
++} Elf_Options_Hw;
++
++
++
++#define OHWA0_R4KEOP_CHECKED 0x00000001
++#define OHWA1_R4KEOP_CLEAN 0x00000002
++
++
++
++#define R_MIPS_NONE 0
++#define R_MIPS_16 1
++#define R_MIPS_32 2
++#define R_MIPS_REL32 3
++#define R_MIPS_26 4
++#define R_MIPS_HI16 5
++#define R_MIPS_LO16 6
++#define R_MIPS_GPREL16 7
++#define R_MIPS_LITERAL 8
++#define R_MIPS_GOT16 9
++#define R_MIPS_PC16 10
++#define R_MIPS_CALL16 11
++#define R_MIPS_GPREL32 12
++
++#define R_MIPS_SHIFT5 16
++#define R_MIPS_SHIFT6 17
++#define R_MIPS_64 18
++#define R_MIPS_GOT_DISP 19
++#define R_MIPS_GOT_PAGE 20
++#define R_MIPS_GOT_OFST 21
++#define R_MIPS_GOT_HI16 22
++#define R_MIPS_GOT_LO16 23
++#define R_MIPS_SUB 24
++#define R_MIPS_INSERT_A 25
++#define R_MIPS_INSERT_B 26
++#define R_MIPS_DELETE 27
++#define R_MIPS_HIGHER 28
++#define R_MIPS_HIGHEST 29
++#define R_MIPS_CALL_HI16 30
++#define R_MIPS_CALL_LO16 31
++#define R_MIPS_SCN_DISP 32
++#define R_MIPS_REL16 33
++#define R_MIPS_ADD_IMMEDIATE 34
++#define R_MIPS_PJUMP 35
++#define R_MIPS_RELGOT 36
++#define R_MIPS_JALR 37
++#define R_MIPS_TLS_DTPMOD32 38
++#define R_MIPS_TLS_DTPREL32 39
++#define R_MIPS_TLS_DTPMOD64 40
++#define R_MIPS_TLS_DTPREL64 41
++#define R_MIPS_TLS_GD 42
++#define R_MIPS_TLS_LDM 43
++#define R_MIPS_TLS_DTPREL_HI16 44
++#define R_MIPS_TLS_DTPREL_LO16 45
++#define R_MIPS_TLS_GOTTPREL 46
++#define R_MIPS_TLS_TPREL32 47
++#define R_MIPS_TLS_TPREL64 48
++#define R_MIPS_TLS_TPREL_HI16 49
++#define R_MIPS_TLS_TPREL_LO16 50
++#define R_MIPS_GLOB_DAT 51
++#define R_MIPS_COPY 126
++#define R_MIPS_JUMP_SLOT 127
++
++#define R_MIPS_NUM 128
++
++
++
++#define PT_MIPS_REGINFO 0x70000000
++#define PT_MIPS_RTPROC 0x70000001
++#define PT_MIPS_OPTIONS 0x70000002
++
++
++
++#define PF_MIPS_LOCAL 0x10000000
++
++
++
++#define DT_MIPS_RLD_VERSION 0x70000001
++#define DT_MIPS_TIME_STAMP 0x70000002
++#define DT_MIPS_ICHECKSUM 0x70000003
++#define DT_MIPS_IVERSION 0x70000004
++#define DT_MIPS_FLAGS 0x70000005
++#define DT_MIPS_BASE_ADDRESS 0x70000006
++#define DT_MIPS_MSYM 0x70000007
++#define DT_MIPS_CONFLICT 0x70000008
++#define DT_MIPS_LIBLIST 0x70000009
++#define DT_MIPS_LOCAL_GOTNO 0x7000000a
++#define DT_MIPS_CONFLICTNO 0x7000000b
++#define DT_MIPS_LIBLISTNO 0x70000010
++#define DT_MIPS_SYMTABNO 0x70000011
++#define DT_MIPS_UNREFEXTNO 0x70000012
++#define DT_MIPS_GOTSYM 0x70000013
++#define DT_MIPS_HIPAGENO 0x70000014
++#define DT_MIPS_RLD_MAP 0x70000016
++#define DT_MIPS_DELTA_CLASS 0x70000017
++#define DT_MIPS_DELTA_CLASS_NO 0x70000018
++
++#define DT_MIPS_DELTA_INSTANCE 0x70000019
++#define DT_MIPS_DELTA_INSTANCE_NO 0x7000001a
++
++#define DT_MIPS_DELTA_RELOC 0x7000001b
++#define DT_MIPS_DELTA_RELOC_NO 0x7000001c
++
++#define DT_MIPS_DELTA_SYM 0x7000001d
++
++#define DT_MIPS_DELTA_SYM_NO 0x7000001e
++
++#define DT_MIPS_DELTA_CLASSSYM 0x70000020
++
++#define DT_MIPS_DELTA_CLASSSYM_NO 0x70000021
++
++#define DT_MIPS_CXX_FLAGS 0x70000022
++#define DT_MIPS_PIXIE_INIT 0x70000023
++#define DT_MIPS_SYMBOL_LIB 0x70000024
++#define DT_MIPS_LOCALPAGE_GOTIDX 0x70000025
++#define DT_MIPS_LOCAL_GOTIDX 0x70000026
++#define DT_MIPS_HIDDEN_GOTIDX 0x70000027
++#define DT_MIPS_PROTECTED_GOTIDX 0x70000028
++#define DT_MIPS_OPTIONS 0x70000029
++#define DT_MIPS_INTERFACE 0x7000002a
++#define DT_MIPS_DYNSTR_ALIGN 0x7000002b
++#define DT_MIPS_INTERFACE_SIZE 0x7000002c
++#define DT_MIPS_RLD_TEXT_RESOLVE_ADDR 0x7000002d
++
++#define DT_MIPS_PERF_SUFFIX 0x7000002e
++
++#define DT_MIPS_COMPACT_SIZE 0x7000002f
++#define DT_MIPS_GP_VALUE 0x70000030
++#define DT_MIPS_AUX_DYNAMIC 0x70000031
++
++#define DT_MIPS_PLTGOT 0x70000032
++
++#define DT_MIPS_RWPLT 0x70000034
++#define DT_MIPS_NUM 0x35
++
++
++
++#define RHF_NONE 0
++#define RHF_QUICKSTART (1 << 0)
++#define RHF_NOTPOT (1 << 1)
++#define RHF_NO_LIBRARY_REPLACEMENT (1 << 2)
++#define RHF_NO_MOVE (1 << 3)
++#define RHF_SGI_ONLY (1 << 4)
++#define RHF_GUARANTEE_INIT (1 << 5)
++#define RHF_DELTA_C_PLUS_PLUS (1 << 6)
++#define RHF_GUARANTEE_START_INIT (1 << 7)
++#define RHF_PIXIE (1 << 8)
++#define RHF_DEFAULT_DELAY_LOAD (1 << 9)
++#define RHF_REQUICKSTART (1 << 10)
++#define RHF_REQUICKSTARTED (1 << 11)
++#define RHF_CORD (1 << 12)
++#define RHF_NO_UNRES_UNDEF (1 << 13)
++#define RHF_RLD_ORDER_SAFE (1 << 14)
++
++
++
++typedef struct
++{
++ Elf32_Word l_name;
++ Elf32_Word l_time_stamp;
++ Elf32_Word l_checksum;
++ Elf32_Word l_version;
++ Elf32_Word l_flags;
++} Elf32_Lib;
++
++typedef struct
++{
++ Elf64_Word l_name;
++ Elf64_Word l_time_stamp;
++ Elf64_Word l_checksum;
++ Elf64_Word l_version;
++ Elf64_Word l_flags;
++} Elf64_Lib;
++
++
++
++
++#define LL_NONE 0
++#define LL_EXACT_MATCH (1 << 0)
++#define LL_IGNORE_INT_VER (1 << 1)
++#define LL_REQUIRE_MINOR (1 << 2)
++#define LL_EXPORTS (1 << 3)
++#define LL_DELAY_LOAD (1 << 4)
++#define LL_DELTA (1 << 5)
++
++
++
++typedef Elf32_Addr Elf32_Conflict;
++
++
++
++
++
++
++#define EF_PARISC_TRAPNIL 0x00010000
++#define EF_PARISC_EXT 0x00020000
++#define EF_PARISC_LSB 0x00040000
++#define EF_PARISC_WIDE 0x00080000
++#define EF_PARISC_NO_KABP 0x00100000
++
++#define EF_PARISC_LAZYSWAP 0x00400000
++#define EF_PARISC_ARCH 0x0000ffff
++
++
++
++#define EFA_PARISC_1_0 0x020b
++#define EFA_PARISC_1_1 0x0210
++#define EFA_PARISC_2_0 0x0214
++
++
++
++#define SHN_PARISC_ANSI_COMMON 0xff00
++
++#define SHN_PARISC_HUGE_COMMON 0xff01
++
++
++
++#define SHT_PARISC_EXT 0x70000000
++#define SHT_PARISC_UNWIND 0x70000001
++#define SHT_PARISC_DOC 0x70000002
++
++
++
++#define SHF_PARISC_SHORT 0x20000000
++#define SHF_PARISC_HUGE 0x40000000
++#define SHF_PARISC_SBP 0x80000000
++
++
++
++#define STT_PARISC_MILLICODE 13
++
++#define STT_HP_OPAQUE (STT_LOOS + 0x1)
++#define STT_HP_STUB (STT_LOOS + 0x2)
++
++
++
++#define R_PARISC_NONE 0
++#define R_PARISC_DIR32 1
++#define R_PARISC_DIR21L 2
++#define R_PARISC_DIR17R 3
++#define R_PARISC_DIR17F 4
++#define R_PARISC_DIR14R 6
++#define R_PARISC_PCREL32 9
++#define R_PARISC_PCREL21L 10
++#define R_PARISC_PCREL17R 11
++#define R_PARISC_PCREL17F 12
++#define R_PARISC_PCREL14R 14
++#define R_PARISC_DPREL21L 18
++#define R_PARISC_DPREL14R 22
++#define R_PARISC_GPREL21L 26
++#define R_PARISC_GPREL14R 30
++#define R_PARISC_LTOFF21L 34
++#define R_PARISC_LTOFF14R 38
++#define R_PARISC_SECREL32 41
++#define R_PARISC_SEGBASE 48
++#define R_PARISC_SEGREL32 49
++#define R_PARISC_PLTOFF21L 50
++#define R_PARISC_PLTOFF14R 54
++#define R_PARISC_LTOFF_FPTR32 57
++#define R_PARISC_LTOFF_FPTR21L 58
++#define R_PARISC_LTOFF_FPTR14R 62
++#define R_PARISC_FPTR64 64
++#define R_PARISC_PLABEL32 65
++#define R_PARISC_PLABEL21L 66
++#define R_PARISC_PLABEL14R 70
++#define R_PARISC_PCREL64 72
++#define R_PARISC_PCREL22F 74
++#define R_PARISC_PCREL14WR 75
++#define R_PARISC_PCREL14DR 76
++#define R_PARISC_PCREL16F 77
++#define R_PARISC_PCREL16WF 78
++#define R_PARISC_PCREL16DF 79
++#define R_PARISC_DIR64 80
++#define R_PARISC_DIR14WR 83
++#define R_PARISC_DIR14DR 84
++#define R_PARISC_DIR16F 85
++#define R_PARISC_DIR16WF 86
++#define R_PARISC_DIR16DF 87
++#define R_PARISC_GPREL64 88
++#define R_PARISC_GPREL14WR 91
++#define R_PARISC_GPREL14DR 92
++#define R_PARISC_GPREL16F 93
++#define R_PARISC_GPREL16WF 94
++#define R_PARISC_GPREL16DF 95
++#define R_PARISC_LTOFF64 96
++#define R_PARISC_LTOFF14WR 99
++#define R_PARISC_LTOFF14DR 100
++#define R_PARISC_LTOFF16F 101
++#define R_PARISC_LTOFF16WF 102
++#define R_PARISC_LTOFF16DF 103
++#define R_PARISC_SECREL64 104
++#define R_PARISC_SEGREL64 112
++#define R_PARISC_PLTOFF14WR 115
++#define R_PARISC_PLTOFF14DR 116
++#define R_PARISC_PLTOFF16F 117
++#define R_PARISC_PLTOFF16WF 118
++#define R_PARISC_PLTOFF16DF 119
++#define R_PARISC_LTOFF_FPTR64 120
++#define R_PARISC_LTOFF_FPTR14WR 123
++#define R_PARISC_LTOFF_FPTR14DR 124
++#define R_PARISC_LTOFF_FPTR16F 125
++#define R_PARISC_LTOFF_FPTR16WF 126
++#define R_PARISC_LTOFF_FPTR16DF 127
++#define R_PARISC_LORESERVE 128
++#define R_PARISC_COPY 128
++#define R_PARISC_IPLT 129
++#define R_PARISC_EPLT 130
++#define R_PARISC_TPREL32 153
++#define R_PARISC_TPREL21L 154
++#define R_PARISC_TPREL14R 158
++#define R_PARISC_LTOFF_TP21L 162
++#define R_PARISC_LTOFF_TP14R 166
++#define R_PARISC_LTOFF_TP14F 167
++#define R_PARISC_TPREL64 216
++#define R_PARISC_TPREL14WR 219
++#define R_PARISC_TPREL14DR 220
++#define R_PARISC_TPREL16F 221
++#define R_PARISC_TPREL16WF 222
++#define R_PARISC_TPREL16DF 223
++#define R_PARISC_LTOFF_TP64 224
++#define R_PARISC_LTOFF_TP14WR 227
++#define R_PARISC_LTOFF_TP14DR 228
++#define R_PARISC_LTOFF_TP16F 229
++#define R_PARISC_LTOFF_TP16WF 230
++#define R_PARISC_LTOFF_TP16DF 231
++#define R_PARISC_GNU_VTENTRY 232
++#define R_PARISC_GNU_VTINHERIT 233
++#define R_PARISC_TLS_GD21L 234
++#define R_PARISC_TLS_GD14R 235
++#define R_PARISC_TLS_GDCALL 236
++#define R_PARISC_TLS_LDM21L 237
++#define R_PARISC_TLS_LDM14R 238
++#define R_PARISC_TLS_LDMCALL 239
++#define R_PARISC_TLS_LDO21L 240
++#define R_PARISC_TLS_LDO14R 241
++#define R_PARISC_TLS_DTPMOD32 242
++#define R_PARISC_TLS_DTPMOD64 243
++#define R_PARISC_TLS_DTPOFF32 244
++#define R_PARISC_TLS_DTPOFF64 245
++#define R_PARISC_TLS_LE21L R_PARISC_TPREL21L
++#define R_PARISC_TLS_LE14R R_PARISC_TPREL14R
++#define R_PARISC_TLS_IE21L R_PARISC_LTOFF_TP21L
++#define R_PARISC_TLS_IE14R R_PARISC_LTOFF_TP14R
++#define R_PARISC_TLS_TPREL32 R_PARISC_TPREL32
++#define R_PARISC_TLS_TPREL64 R_PARISC_TPREL64
++#define R_PARISC_HIRESERVE 255
++
++
++
++#define PT_HP_TLS (PT_LOOS + 0x0)
++#define PT_HP_CORE_NONE (PT_LOOS + 0x1)
++#define PT_HP_CORE_VERSION (PT_LOOS + 0x2)
++#define PT_HP_CORE_KERNEL (PT_LOOS + 0x3)
++#define PT_HP_CORE_COMM (PT_LOOS + 0x4)
++#define PT_HP_CORE_PROC (PT_LOOS + 0x5)
++#define PT_HP_CORE_LOADABLE (PT_LOOS + 0x6)
++#define PT_HP_CORE_STACK (PT_LOOS + 0x7)
++#define PT_HP_CORE_SHM (PT_LOOS + 0x8)
++#define PT_HP_CORE_MMF (PT_LOOS + 0x9)
++#define PT_HP_PARALLEL (PT_LOOS + 0x10)
++#define PT_HP_FASTBIND (PT_LOOS + 0x11)
++#define PT_HP_OPT_ANNOT (PT_LOOS + 0x12)
++#define PT_HP_HSL_ANNOT (PT_LOOS + 0x13)
++#define PT_HP_STACK (PT_LOOS + 0x14)
++
++#define PT_PARISC_ARCHEXT 0x70000000
++#define PT_PARISC_UNWIND 0x70000001
++
++
++
++#define PF_PARISC_SBP 0x08000000
++
++#define PF_HP_PAGE_SIZE 0x00100000
++#define PF_HP_FAR_SHARED 0x00200000
++#define PF_HP_NEAR_SHARED 0x00400000
++#define PF_HP_CODE 0x01000000
++#define PF_HP_MODIFY 0x02000000
++#define PF_HP_LAZYSWAP 0x04000000
++#define PF_HP_SBP 0x08000000
++
++
++
++
++
++
++#define EF_ALPHA_32BIT 1
++#define EF_ALPHA_CANRELAX 2
++
++
++
++
++#define SHT_ALPHA_DEBUG 0x70000001
++#define SHT_ALPHA_REGINFO 0x70000002
++
++
++
++#define SHF_ALPHA_GPREL 0x10000000
++
++
++#define STO_ALPHA_NOPV 0x80
++#define STO_ALPHA_STD_GPLOAD 0x88
++
++
++
++#define R_ALPHA_NONE 0
++#define R_ALPHA_REFLONG 1
++#define R_ALPHA_REFQUAD 2
++#define R_ALPHA_GPREL32 3
++#define R_ALPHA_LITERAL 4
++#define R_ALPHA_LITUSE 5
++#define R_ALPHA_GPDISP 6
++#define R_ALPHA_BRADDR 7
++#define R_ALPHA_HINT 8
++#define R_ALPHA_SREL16 9
++#define R_ALPHA_SREL32 10
++#define R_ALPHA_SREL64 11
++#define R_ALPHA_GPRELHIGH 17
++#define R_ALPHA_GPRELLOW 18
++#define R_ALPHA_GPREL16 19
++#define R_ALPHA_COPY 24
++#define R_ALPHA_GLOB_DAT 25
++#define R_ALPHA_JMP_SLOT 26
++#define R_ALPHA_RELATIVE 27
++#define R_ALPHA_TLS_GD_HI 28
++#define R_ALPHA_TLSGD 29
++#define R_ALPHA_TLS_LDM 30
++#define R_ALPHA_DTPMOD64 31
++#define R_ALPHA_GOTDTPREL 32
++#define R_ALPHA_DTPREL64 33
++#define R_ALPHA_DTPRELHI 34
++#define R_ALPHA_DTPRELLO 35
++#define R_ALPHA_DTPREL16 36
++#define R_ALPHA_GOTTPREL 37
++#define R_ALPHA_TPREL64 38
++#define R_ALPHA_TPRELHI 39
++#define R_ALPHA_TPRELLO 40
++#define R_ALPHA_TPREL16 41
++
++#define R_ALPHA_NUM 46
++
++
++#define LITUSE_ALPHA_ADDR 0
++#define LITUSE_ALPHA_BASE 1
++#define LITUSE_ALPHA_BYTOFF 2
++#define LITUSE_ALPHA_JSR 3
++#define LITUSE_ALPHA_TLS_GD 4
++#define LITUSE_ALPHA_TLS_LDM 5
++
++
++#define DT_ALPHA_PLTRO (DT_LOPROC + 0)
++#define DT_ALPHA_NUM 1
++
++
++
++
++#define EF_PPC_EMB 0x80000000
++
++
++#define EF_PPC_RELOCATABLE 0x00010000
++#define EF_PPC_RELOCATABLE_LIB 0x00008000
++
++
++
++#define R_PPC_NONE 0
++#define R_PPC_ADDR32 1
++#define R_PPC_ADDR24 2
++#define R_PPC_ADDR16 3
++#define R_PPC_ADDR16_LO 4
++#define R_PPC_ADDR16_HI 5
++#define R_PPC_ADDR16_HA 6
++#define R_PPC_ADDR14 7
++#define R_PPC_ADDR14_BRTAKEN 8
++#define R_PPC_ADDR14_BRNTAKEN 9
++#define R_PPC_REL24 10
++#define R_PPC_REL14 11
++#define R_PPC_REL14_BRTAKEN 12
++#define R_PPC_REL14_BRNTAKEN 13
++#define R_PPC_GOT16 14
++#define R_PPC_GOT16_LO 15
++#define R_PPC_GOT16_HI 16
++#define R_PPC_GOT16_HA 17
++#define R_PPC_PLTREL24 18
++#define R_PPC_COPY 19
++#define R_PPC_GLOB_DAT 20
++#define R_PPC_JMP_SLOT 21
++#define R_PPC_RELATIVE 22
++#define R_PPC_LOCAL24PC 23
++#define R_PPC_UADDR32 24
++#define R_PPC_UADDR16 25
++#define R_PPC_REL32 26
++#define R_PPC_PLT32 27
++#define R_PPC_PLTREL32 28
++#define R_PPC_PLT16_LO 29
++#define R_PPC_PLT16_HI 30
++#define R_PPC_PLT16_HA 31
++#define R_PPC_SDAREL16 32
++#define R_PPC_SECTOFF 33
++#define R_PPC_SECTOFF_LO 34
++#define R_PPC_SECTOFF_HI 35
++#define R_PPC_SECTOFF_HA 36
++
++
++#define R_PPC_TLS 67
++#define R_PPC_DTPMOD32 68
++#define R_PPC_TPREL16 69
++#define R_PPC_TPREL16_LO 70
++#define R_PPC_TPREL16_HI 71
++#define R_PPC_TPREL16_HA 72
++#define R_PPC_TPREL32 73
++#define R_PPC_DTPREL16 74
++#define R_PPC_DTPREL16_LO 75
++#define R_PPC_DTPREL16_HI 76
++#define R_PPC_DTPREL16_HA 77
++#define R_PPC_DTPREL32 78
++#define R_PPC_GOT_TLSGD16 79
++#define R_PPC_GOT_TLSGD16_LO 80
++#define R_PPC_GOT_TLSGD16_HI 81
++#define R_PPC_GOT_TLSGD16_HA 82
++#define R_PPC_GOT_TLSLD16 83
++#define R_PPC_GOT_TLSLD16_LO 84
++#define R_PPC_GOT_TLSLD16_HI 85
++#define R_PPC_GOT_TLSLD16_HA 86
++#define R_PPC_GOT_TPREL16 87
++#define R_PPC_GOT_TPREL16_LO 88
++#define R_PPC_GOT_TPREL16_HI 89
++#define R_PPC_GOT_TPREL16_HA 90
++#define R_PPC_GOT_DTPREL16 91
++#define R_PPC_GOT_DTPREL16_LO 92
++#define R_PPC_GOT_DTPREL16_HI 93
++#define R_PPC_GOT_DTPREL16_HA 94
++
++
++
++#define R_PPC_EMB_NADDR32 101
++#define R_PPC_EMB_NADDR16 102
++#define R_PPC_EMB_NADDR16_LO 103
++#define R_PPC_EMB_NADDR16_HI 104
++#define R_PPC_EMB_NADDR16_HA 105
++#define R_PPC_EMB_SDAI16 106
++#define R_PPC_EMB_SDA2I16 107
++#define R_PPC_EMB_SDA2REL 108
++#define R_PPC_EMB_SDA21 109
++#define R_PPC_EMB_MRKREF 110
++#define R_PPC_EMB_RELSEC16 111
++#define R_PPC_EMB_RELST_LO 112
++#define R_PPC_EMB_RELST_HI 113
++#define R_PPC_EMB_RELST_HA 114
++#define R_PPC_EMB_BIT_FLD 115
++#define R_PPC_EMB_RELSDA 116
++
++
++#define R_PPC_DIAB_SDA21_LO 180
++#define R_PPC_DIAB_SDA21_HI 181
++#define R_PPC_DIAB_SDA21_HA 182
++#define R_PPC_DIAB_RELSDA_LO 183
++#define R_PPC_DIAB_RELSDA_HI 184
++#define R_PPC_DIAB_RELSDA_HA 185
++
++
++#define R_PPC_IRELATIVE 248
++
++
++#define R_PPC_REL16 249
++#define R_PPC_REL16_LO 250
++#define R_PPC_REL16_HI 251
++#define R_PPC_REL16_HA 252
++
++
++
++#define R_PPC_TOC16 255
++
++
++#define DT_PPC_GOT (DT_LOPROC + 0)
++#define DT_PPC_NUM 1
++
++
++#define R_PPC64_NONE R_PPC_NONE
++#define R_PPC64_ADDR32 R_PPC_ADDR32
++#define R_PPC64_ADDR24 R_PPC_ADDR24
++#define R_PPC64_ADDR16 R_PPC_ADDR16
++#define R_PPC64_ADDR16_LO R_PPC_ADDR16_LO
++#define R_PPC64_ADDR16_HI R_PPC_ADDR16_HI
++#define R_PPC64_ADDR16_HA R_PPC_ADDR16_HA
++#define R_PPC64_ADDR14 R_PPC_ADDR14
++#define R_PPC64_ADDR14_BRTAKEN R_PPC_ADDR14_BRTAKEN
++#define R_PPC64_ADDR14_BRNTAKEN R_PPC_ADDR14_BRNTAKEN
++#define R_PPC64_REL24 R_PPC_REL24
++#define R_PPC64_REL14 R_PPC_REL14
++#define R_PPC64_REL14_BRTAKEN R_PPC_REL14_BRTAKEN
++#define R_PPC64_REL14_BRNTAKEN R_PPC_REL14_BRNTAKEN
++#define R_PPC64_GOT16 R_PPC_GOT16
++#define R_PPC64_GOT16_LO R_PPC_GOT16_LO
++#define R_PPC64_GOT16_HI R_PPC_GOT16_HI
++#define R_PPC64_GOT16_HA R_PPC_GOT16_HA
++
++#define R_PPC64_COPY R_PPC_COPY
++#define R_PPC64_GLOB_DAT R_PPC_GLOB_DAT
++#define R_PPC64_JMP_SLOT R_PPC_JMP_SLOT
++#define R_PPC64_RELATIVE R_PPC_RELATIVE
++
++#define R_PPC64_UADDR32 R_PPC_UADDR32
++#define R_PPC64_UADDR16 R_PPC_UADDR16
++#define R_PPC64_REL32 R_PPC_REL32
++#define R_PPC64_PLT32 R_PPC_PLT32
++#define R_PPC64_PLTREL32 R_PPC_PLTREL32
++#define R_PPC64_PLT16_LO R_PPC_PLT16_LO
++#define R_PPC64_PLT16_HI R_PPC_PLT16_HI
++#define R_PPC64_PLT16_HA R_PPC_PLT16_HA
++
++#define R_PPC64_SECTOFF R_PPC_SECTOFF
++#define R_PPC64_SECTOFF_LO R_PPC_SECTOFF_LO
++#define R_PPC64_SECTOFF_HI R_PPC_SECTOFF_HI
++#define R_PPC64_SECTOFF_HA R_PPC_SECTOFF_HA
++#define R_PPC64_ADDR30 37
++#define R_PPC64_ADDR64 38
++#define R_PPC64_ADDR16_HIGHER 39
++#define R_PPC64_ADDR16_HIGHERA 40
++#define R_PPC64_ADDR16_HIGHEST 41
++#define R_PPC64_ADDR16_HIGHESTA 42
++#define R_PPC64_UADDR64 43
++#define R_PPC64_REL64 44
++#define R_PPC64_PLT64 45
++#define R_PPC64_PLTREL64 46
++#define R_PPC64_TOC16 47
++#define R_PPC64_TOC16_LO 48
++#define R_PPC64_TOC16_HI 49
++#define R_PPC64_TOC16_HA 50
++#define R_PPC64_TOC 51
++#define R_PPC64_PLTGOT16 52
++#define R_PPC64_PLTGOT16_LO 53
++#define R_PPC64_PLTGOT16_HI 54
++#define R_PPC64_PLTGOT16_HA 55
++
++#define R_PPC64_ADDR16_DS 56
++#define R_PPC64_ADDR16_LO_DS 57
++#define R_PPC64_GOT16_DS 58
++#define R_PPC64_GOT16_LO_DS 59
++#define R_PPC64_PLT16_LO_DS 60
++#define R_PPC64_SECTOFF_DS 61
++#define R_PPC64_SECTOFF_LO_DS 62
++#define R_PPC64_TOC16_DS 63
++#define R_PPC64_TOC16_LO_DS 64
++#define R_PPC64_PLTGOT16_DS 65
++#define R_PPC64_PLTGOT16_LO_DS 66
++
++
++#define R_PPC64_TLS 67
++#define R_PPC64_DTPMOD64 68
++#define R_PPC64_TPREL16 69
++#define R_PPC64_TPREL16_LO 70
++#define R_PPC64_TPREL16_HI 71
++#define R_PPC64_TPREL16_HA 72
++#define R_PPC64_TPREL64 73
++#define R_PPC64_DTPREL16 74
++#define R_PPC64_DTPREL16_LO 75
++#define R_PPC64_DTPREL16_HI 76
++#define R_PPC64_DTPREL16_HA 77
++#define R_PPC64_DTPREL64 78
++#define R_PPC64_GOT_TLSGD16 79
++#define R_PPC64_GOT_TLSGD16_LO 80
++#define R_PPC64_GOT_TLSGD16_HI 81
++#define R_PPC64_GOT_TLSGD16_HA 82
++#define R_PPC64_GOT_TLSLD16 83
++#define R_PPC64_GOT_TLSLD16_LO 84
++#define R_PPC64_GOT_TLSLD16_HI 85
++#define R_PPC64_GOT_TLSLD16_HA 86
++#define R_PPC64_GOT_TPREL16_DS 87
++#define R_PPC64_GOT_TPREL16_LO_DS 88
++#define R_PPC64_GOT_TPREL16_HI 89
++#define R_PPC64_GOT_TPREL16_HA 90
++#define R_PPC64_GOT_DTPREL16_DS 91
++#define R_PPC64_GOT_DTPREL16_LO_DS 92
++#define R_PPC64_GOT_DTPREL16_HI 93
++#define R_PPC64_GOT_DTPREL16_HA 94
++#define R_PPC64_TPREL16_DS 95
++#define R_PPC64_TPREL16_LO_DS 96
++#define R_PPC64_TPREL16_HIGHER 97
++#define R_PPC64_TPREL16_HIGHERA 98
++#define R_PPC64_TPREL16_HIGHEST 99
++#define R_PPC64_TPREL16_HIGHESTA 100
++#define R_PPC64_DTPREL16_DS 101
++#define R_PPC64_DTPREL16_LO_DS 102
++#define R_PPC64_DTPREL16_HIGHER 103
++#define R_PPC64_DTPREL16_HIGHERA 104
++#define R_PPC64_DTPREL16_HIGHEST 105
++#define R_PPC64_DTPREL16_HIGHESTA 106
++
++
++#define R_PPC64_JMP_IREL 247
++#define R_PPC64_IRELATIVE 248
++#define R_PPC64_REL16 249
++#define R_PPC64_REL16_LO 250
++#define R_PPC64_REL16_HI 251
++#define R_PPC64_REL16_HA 252
++
++
++#define DT_PPC64_GLINK (DT_LOPROC + 0)
++#define DT_PPC64_OPD (DT_LOPROC + 1)
++#define DT_PPC64_OPDSZ (DT_LOPROC + 2)
++#define DT_PPC64_NUM 3
++
++
++
++
++
++#define EF_ARM_RELEXEC 0x01
++#define EF_ARM_HASENTRY 0x02
++#define EF_ARM_INTERWORK 0x04
++#define EF_ARM_APCS_26 0x08
++#define EF_ARM_APCS_FLOAT 0x10
++#define EF_ARM_PIC 0x20
++#define EF_ARM_ALIGN8 0x40
++#define EF_ARM_NEW_ABI 0x80
++#define EF_ARM_OLD_ABI 0x100
++#define EF_ARM_SOFT_FLOAT 0x200
++#define EF_ARM_VFP_FLOAT 0x400
++#define EF_ARM_MAVERICK_FLOAT 0x800
++
++#define EF_ARM_ABI_FLOAT_SOFT 0x200
++#define EF_ARM_ABI_FLOAT_HARD 0x400
++
++
++#define EF_ARM_SYMSARESORTED 0x04
++#define EF_ARM_DYNSYMSUSESEGIDX 0x08
++#define EF_ARM_MAPSYMSFIRST 0x10
++#define EF_ARM_EABIMASK 0XFF000000
++
++
++#define EF_ARM_BE8 0x00800000
++#define EF_ARM_LE8 0x00400000
++
++#define EF_ARM_EABI_VERSION(flags) ((flags) & EF_ARM_EABIMASK)
++#define EF_ARM_EABI_UNKNOWN 0x00000000
++#define EF_ARM_EABI_VER1 0x01000000
++#define EF_ARM_EABI_VER2 0x02000000
++#define EF_ARM_EABI_VER3 0x03000000
++#define EF_ARM_EABI_VER4 0x04000000
++#define EF_ARM_EABI_VER5 0x05000000
++
++
++#define STT_ARM_TFUNC STT_LOPROC
++#define STT_ARM_16BIT STT_HIPROC
++
++
++#define SHF_ARM_ENTRYSECT 0x10000000
++#define SHF_ARM_COMDEF 0x80000000
++
++
++
++#define PF_ARM_SB 0x10000000
++
++#define PF_ARM_PI 0x20000000
++#define PF_ARM_ABS 0x40000000
++
++
++#define PT_ARM_EXIDX (PT_LOPROC + 1)
++
++
++#define SHT_ARM_EXIDX (SHT_LOPROC + 1)
++#define SHT_ARM_PREEMPTMAP (SHT_LOPROC + 2)
++#define SHT_ARM_ATTRIBUTES (SHT_LOPROC + 3)
++
++
++#define R_AARCH64_NONE 0
++#define R_AARCH64_ABS64 257
++#define R_AARCH64_ABS32 258
++#define R_AARCH64_COPY 1024
++#define R_AARCH64_GLOB_DAT 1025
++#define R_AARCH64_JUMP_SLOT 1026
++#define R_AARCH64_RELATIVE 1027
++#define R_AARCH64_TLS_DTPMOD64 1028
++#define R_AARCH64_TLS_DTPREL64 1029
++#define R_AARCH64_TLS_TPREL64 1030
++#define R_AARCH64_TLSDESC 1031
++
++
++#define R_ARM_NONE 0
++#define R_ARM_PC24 1
++#define R_ARM_ABS32 2
++#define R_ARM_REL32 3
++#define R_ARM_PC13 4
++#define R_ARM_ABS16 5
++#define R_ARM_ABS12 6
++#define R_ARM_THM_ABS5 7
++#define R_ARM_ABS8 8
++#define R_ARM_SBREL32 9
++#define R_ARM_THM_PC22 10
++#define R_ARM_THM_PC8 11
++#define R_ARM_AMP_VCALL9 12
++#define R_ARM_TLS_DESC 13
++#define R_ARM_THM_SWI8 14
++#define R_ARM_XPC25 15
++#define R_ARM_THM_XPC22 16
++#define R_ARM_TLS_DTPMOD32 17
++#define R_ARM_TLS_DTPOFF32 18
++#define R_ARM_TLS_TPOFF32 19
++#define R_ARM_COPY 20
++#define R_ARM_GLOB_DAT 21
++#define R_ARM_JUMP_SLOT 22
++#define R_ARM_RELATIVE 23
++#define R_ARM_GOTOFF 24
++#define R_ARM_GOTPC 25
++#define R_ARM_GOT32 26
++#define R_ARM_PLT32 27
++#define R_ARM_CALL 28
++#define R_ARM_JUMP24 29
++#define R_ARM_THM_JUMP24 30
++#define R_ARM_BASE_ABS 31
++#define R_ARM_ALU_PCREL_7_0 32
++#define R_ARM_ALU_PCREL_15_8 33
++#define R_ARM_ALU_PCREL_23_15 34
++#define R_ARM_LDR_SBREL_11_0 35
++#define R_ARM_ALU_SBREL_19_12 36
++#define R_ARM_ALU_SBREL_27_20 37
++#define R_ARM_TARGET1 38
++#define R_ARM_SBREL31 39
++#define R_ARM_V4BX 40
++#define R_ARM_TARGET2 41
++#define R_ARM_PREL31 42
++#define R_ARM_MOVW_ABS_NC 43
++#define R_ARM_MOVT_ABS 44
++#define R_ARM_MOVW_PREL_NC 45
++#define R_ARM_MOVT_PREL 46
++#define R_ARM_THM_MOVW_ABS_NC 47
++#define R_ARM_THM_MOVT_ABS 48
++#define R_ARM_THM_MOVW_PREL_NC 49
++#define R_ARM_THM_MOVT_PREL 50
++#define R_ARM_THM_JUMP19 51
++#define R_ARM_THM_JUMP6 52
++#define R_ARM_THM_ALU_PREL_11_0 53
++#define R_ARM_THM_PC12 54
++#define R_ARM_ABS32_NOI 55
++#define R_ARM_REL32_NOI 56
++#define R_ARM_ALU_PC_G0_NC 57
++#define R_ARM_ALU_PC_G0 58
++#define R_ARM_ALU_PC_G1_NC 59
++#define R_ARM_ALU_PC_G1 60
++#define R_ARM_ALU_PC_G2 61
++#define R_ARM_LDR_PC_G1 62
++#define R_ARM_LDR_PC_G2 63
++#define R_ARM_LDRS_PC_G0 64
++#define R_ARM_LDRS_PC_G1 65
++#define R_ARM_LDRS_PC_G2 66
++#define R_ARM_LDC_PC_G0 67
++#define R_ARM_LDC_PC_G1 68
++#define R_ARM_LDC_PC_G2 69
++#define R_ARM_ALU_SB_G0_NC 70
++#define R_ARM_ALU_SB_G0 71
++#define R_ARM_ALU_SB_G1_NC 72
++#define R_ARM_ALU_SB_G1 73
++#define R_ARM_ALU_SB_G2 74
++#define R_ARM_LDR_SB_G0 75
++#define R_ARM_LDR_SB_G1 76
++#define R_ARM_LDR_SB_G2 77
++#define R_ARM_LDRS_SB_G0 78
++#define R_ARM_LDRS_SB_G1 79
++#define R_ARM_LDRS_SB_G2 80
++#define R_ARM_LDC_SB_G0 81
++#define R_ARM_LDC_SB_G1 82
++#define R_ARM_LDC_SB_G2 83
++#define R_ARM_MOVW_BREL_NC 84
++#define R_ARM_MOVT_BREL 85
++#define R_ARM_MOVW_BREL 86
++#define R_ARM_THM_MOVW_BREL_NC 87
++#define R_ARM_THM_MOVT_BREL 88
++#define R_ARM_THM_MOVW_BREL 89
++#define R_ARM_TLS_GOTDESC 90
++#define R_ARM_TLS_CALL 91
++#define R_ARM_TLS_DESCSEQ 92
++#define R_ARM_THM_TLS_CALL 93
++#define R_ARM_PLT32_ABS 94
++#define R_ARM_GOT_ABS 95
++#define R_ARM_GOT_PREL 96
++#define R_ARM_GOT_BREL12 97
++#define R_ARM_GOTOFF12 98
++#define R_ARM_GOTRELAX 99
++#define R_ARM_GNU_VTENTRY 100
++#define R_ARM_GNU_VTINHERIT 101
++#define R_ARM_THM_PC11 102
++#define R_ARM_THM_PC9 103
++#define R_ARM_TLS_GD32 104
++
++#define R_ARM_TLS_LDM32 105
++
++#define R_ARM_TLS_LDO32 106
++
++#define R_ARM_TLS_IE32 107
++
++#define R_ARM_TLS_LE32 108
++#define R_ARM_TLS_LDO12 109
++#define R_ARM_TLS_LE12 110
++#define R_ARM_TLS_IE12GP 111
++#define R_ARM_ME_TOO 128
++#define R_ARM_THM_TLS_DESCSEQ 129
++#define R_ARM_THM_TLS_DESCSEQ16 129
++#define R_ARM_THM_TLS_DESCSEQ32 130
++#define R_ARM_THM_GOT_BREL12 131
++#define R_ARM_IRELATIVE 160
++#define R_ARM_RXPC25 249
++#define R_ARM_RSBREL32 250
++#define R_ARM_THM_RPC22 251
++#define R_ARM_RREL32 252
++#define R_ARM_RABS22 253
++#define R_ARM_RPC24 254
++#define R_ARM_RBASE 255
++
++#define R_ARM_NUM 256
++
++
++
++
++#define EF_IA_64_MASKOS 0x0000000f
++#define EF_IA_64_ABI64 0x00000010
++#define EF_IA_64_ARCH 0xff000000
++
++
++#define PT_IA_64_ARCHEXT (PT_LOPROC + 0)
++#define PT_IA_64_UNWIND (PT_LOPROC + 1)
++#define PT_IA_64_HP_OPT_ANOT (PT_LOOS + 0x12)
++#define PT_IA_64_HP_HSL_ANOT (PT_LOOS + 0x13)
++#define PT_IA_64_HP_STACK (PT_LOOS + 0x14)
++
++
++#define PF_IA_64_NORECOV 0x80000000
++
++
++#define SHT_IA_64_EXT (SHT_LOPROC + 0)
++#define SHT_IA_64_UNWIND (SHT_LOPROC + 1)
++
++
++#define SHF_IA_64_SHORT 0x10000000
++#define SHF_IA_64_NORECOV 0x20000000
++
++
++#define DT_IA_64_PLT_RESERVE (DT_LOPROC + 0)
++#define DT_IA_64_NUM 1
++
++
++#define R_IA64_NONE 0x00
++#define R_IA64_IMM14 0x21
++#define R_IA64_IMM22 0x22
++#define R_IA64_IMM64 0x23
++#define R_IA64_DIR32MSB 0x24
++#define R_IA64_DIR32LSB 0x25
++#define R_IA64_DIR64MSB 0x26
++#define R_IA64_DIR64LSB 0x27
++#define R_IA64_GPREL22 0x2a
++#define R_IA64_GPREL64I 0x2b
++#define R_IA64_GPREL32MSB 0x2c
++#define R_IA64_GPREL32LSB 0x2d
++#define R_IA64_GPREL64MSB 0x2e
++#define R_IA64_GPREL64LSB 0x2f
++#define R_IA64_LTOFF22 0x32
++#define R_IA64_LTOFF64I 0x33
++#define R_IA64_PLTOFF22 0x3a
++#define R_IA64_PLTOFF64I 0x3b
++#define R_IA64_PLTOFF64MSB 0x3e
++#define R_IA64_PLTOFF64LSB 0x3f
++#define R_IA64_FPTR64I 0x43
++#define R_IA64_FPTR32MSB 0x44
++#define R_IA64_FPTR32LSB 0x45
++#define R_IA64_FPTR64MSB 0x46
++#define R_IA64_FPTR64LSB 0x47
++#define R_IA64_PCREL60B 0x48
++#define R_IA64_PCREL21B 0x49
++#define R_IA64_PCREL21M 0x4a
++#define R_IA64_PCREL21F 0x4b
++#define R_IA64_PCREL32MSB 0x4c
++#define R_IA64_PCREL32LSB 0x4d
++#define R_IA64_PCREL64MSB 0x4e
++#define R_IA64_PCREL64LSB 0x4f
++#define R_IA64_LTOFF_FPTR22 0x52
++#define R_IA64_LTOFF_FPTR64I 0x53
++#define R_IA64_LTOFF_FPTR32MSB 0x54
++#define R_IA64_LTOFF_FPTR32LSB 0x55
++#define R_IA64_LTOFF_FPTR64MSB 0x56
++#define R_IA64_LTOFF_FPTR64LSB 0x57
++#define R_IA64_SEGREL32MSB 0x5c
++#define R_IA64_SEGREL32LSB 0x5d
++#define R_IA64_SEGREL64MSB 0x5e
++#define R_IA64_SEGREL64LSB 0x5f
++#define R_IA64_SECREL32MSB 0x64
++#define R_IA64_SECREL32LSB 0x65
++#define R_IA64_SECREL64MSB 0x66
++#define R_IA64_SECREL64LSB 0x67
++#define R_IA64_REL32MSB 0x6c
++#define R_IA64_REL32LSB 0x6d
++#define R_IA64_REL64MSB 0x6e
++#define R_IA64_REL64LSB 0x6f
++#define R_IA64_LTV32MSB 0x74
++#define R_IA64_LTV32LSB 0x75
++#define R_IA64_LTV64MSB 0x76
++#define R_IA64_LTV64LSB 0x77
++#define R_IA64_PCREL21BI 0x79
++#define R_IA64_PCREL22 0x7a
++#define R_IA64_PCREL64I 0x7b
++#define R_IA64_IPLTMSB 0x80
++#define R_IA64_IPLTLSB 0x81
++#define R_IA64_COPY 0x84
++#define R_IA64_SUB 0x85
++#define R_IA64_LTOFF22X 0x86
++#define R_IA64_LDXMOV 0x87
++#define R_IA64_TPREL14 0x91
++#define R_IA64_TPREL22 0x92
++#define R_IA64_TPREL64I 0x93
++#define R_IA64_TPREL64MSB 0x96
++#define R_IA64_TPREL64LSB 0x97
++#define R_IA64_LTOFF_TPREL22 0x9a
++#define R_IA64_DTPMOD64MSB 0xa6
++#define R_IA64_DTPMOD64LSB 0xa7
++#define R_IA64_LTOFF_DTPMOD22 0xaa
++#define R_IA64_DTPREL14 0xb1
++#define R_IA64_DTPREL22 0xb2
++#define R_IA64_DTPREL64I 0xb3
++#define R_IA64_DTPREL32MSB 0xb4
++#define R_IA64_DTPREL32LSB 0xb5
++#define R_IA64_DTPREL64MSB 0xb6
++#define R_IA64_DTPREL64LSB 0xb7
++#define R_IA64_LTOFF_DTPREL22 0xba
++
++
++
++
++#define R_SH_NONE 0
++#define R_SH_DIR32 1
++#define R_SH_REL32 2
++#define R_SH_DIR8WPN 3
++#define R_SH_IND12W 4
++#define R_SH_DIR8WPL 5
++#define R_SH_DIR8WPZ 6
++#define R_SH_DIR8BP 7
++#define R_SH_DIR8W 8
++#define R_SH_DIR8L 9
++#define R_SH_SWITCH16 25
++#define R_SH_SWITCH32 26
++#define R_SH_USES 27
++#define R_SH_COUNT 28
++#define R_SH_ALIGN 29
++#define R_SH_CODE 30
++#define R_SH_DATA 31
++#define R_SH_LABEL 32
++#define R_SH_SWITCH8 33
++#define R_SH_GNU_VTINHERIT 34
++#define R_SH_GNU_VTENTRY 35
++#define R_SH_TLS_GD_32 144
++#define R_SH_TLS_LD_32 145
++#define R_SH_TLS_LDO_32 146
++#define R_SH_TLS_IE_32 147
++#define R_SH_TLS_LE_32 148
++#define R_SH_TLS_DTPMOD32 149
++#define R_SH_TLS_DTPOFF32 150
++#define R_SH_TLS_TPOFF32 151
++#define R_SH_GOT32 160
++#define R_SH_PLT32 161
++#define R_SH_COPY 162
++#define R_SH_GLOB_DAT 163
++#define R_SH_JMP_SLOT 164
++#define R_SH_RELATIVE 165
++#define R_SH_GOTOFF 166
++#define R_SH_GOTPC 167
++
++#define R_SH_NUM 256
++
++
++
++#define R_390_NONE 0
++#define R_390_8 1
++#define R_390_12 2
++#define R_390_16 3
++#define R_390_32 4
++#define R_390_PC32 5
++#define R_390_GOT12 6
++#define R_390_GOT32 7
++#define R_390_PLT32 8
++#define R_390_COPY 9
++#define R_390_GLOB_DAT 10
++#define R_390_JMP_SLOT 11
++#define R_390_RELATIVE 12
++#define R_390_GOTOFF32 13
++#define R_390_GOTPC 14
++#define R_390_GOT16 15
++#define R_390_PC16 16
++#define R_390_PC16DBL 17
++#define R_390_PLT16DBL 18
++#define R_390_PC32DBL 19
++#define R_390_PLT32DBL 20
++#define R_390_GOTPCDBL 21
++#define R_390_64 22
++#define R_390_PC64 23
++#define R_390_GOT64 24
++#define R_390_PLT64 25
++#define R_390_GOTENT 26
++#define R_390_GOTOFF16 27
++#define R_390_GOTOFF64 28
++#define R_390_GOTPLT12 29
++#define R_390_GOTPLT16 30
++#define R_390_GOTPLT32 31
++#define R_390_GOTPLT64 32
++#define R_390_GOTPLTENT 33
++#define R_390_PLTOFF16 34
++#define R_390_PLTOFF32 35
++#define R_390_PLTOFF64 36
++#define R_390_TLS_LOAD 37
++#define R_390_TLS_GDCALL 38
++
++#define R_390_TLS_LDCALL 39
++
++#define R_390_TLS_GD32 40
++
++#define R_390_TLS_GD64 41
++
++#define R_390_TLS_GOTIE12 42
++
++#define R_390_TLS_GOTIE32 43
++
++#define R_390_TLS_GOTIE64 44
++
++#define R_390_TLS_LDM32 45
++
++#define R_390_TLS_LDM64 46
++
++#define R_390_TLS_IE32 47
++
++#define R_390_TLS_IE64 48
++
++#define R_390_TLS_IEENT 49
++
++#define R_390_TLS_LE32 50
++
++#define R_390_TLS_LE64 51
++
++#define R_390_TLS_LDO32 52
++
++#define R_390_TLS_LDO64 53
++
++#define R_390_TLS_DTPMOD 54
++#define R_390_TLS_DTPOFF 55
++#define R_390_TLS_TPOFF 56
++
++#define R_390_20 57
++#define R_390_GOT20 58
++#define R_390_GOTPLT20 59
++#define R_390_TLS_GOTIE20 60
++
++
++#define R_390_NUM 61
++
++
++
++#define R_CRIS_NONE 0
++#define R_CRIS_8 1
++#define R_CRIS_16 2
++#define R_CRIS_32 3
++#define R_CRIS_8_PCREL 4
++#define R_CRIS_16_PCREL 5
++#define R_CRIS_32_PCREL 6
++#define R_CRIS_GNU_VTINHERIT 7
++#define R_CRIS_GNU_VTENTRY 8
++#define R_CRIS_COPY 9
++#define R_CRIS_GLOB_DAT 10
++#define R_CRIS_JUMP_SLOT 11
++#define R_CRIS_RELATIVE 12
++#define R_CRIS_16_GOT 13
++#define R_CRIS_32_GOT 14
++#define R_CRIS_16_GOTPLT 15
++#define R_CRIS_32_GOTPLT 16
++#define R_CRIS_32_GOTREL 17
++#define R_CRIS_32_PLT_GOTREL 18
++#define R_CRIS_32_PLT_PCREL 19
++
++#define R_CRIS_NUM 20
++
++
++
++#define R_X86_64_NONE 0
++#define R_X86_64_64 1
++#define R_X86_64_PC32 2
++#define R_X86_64_GOT32 3
++#define R_X86_64_PLT32 4
++#define R_X86_64_COPY 5
++#define R_X86_64_GLOB_DAT 6
++#define R_X86_64_JUMP_SLOT 7
++#define R_X86_64_RELATIVE 8
++#define R_X86_64_GOTPCREL 9
++
++#define R_X86_64_32 10
++#define R_X86_64_32S 11
++#define R_X86_64_16 12
++#define R_X86_64_PC16 13
++#define R_X86_64_8 14
++#define R_X86_64_PC8 15
++#define R_X86_64_DTPMOD64 16
++#define R_X86_64_DTPOFF64 17
++#define R_X86_64_TPOFF64 18
++#define R_X86_64_TLSGD 19
++
++#define R_X86_64_TLSLD 20
++
++#define R_X86_64_DTPOFF32 21
++#define R_X86_64_GOTTPOFF 22
++
++#define R_X86_64_TPOFF32 23
++#define R_X86_64_PC64 24
++#define R_X86_64_GOTOFF64 25
++#define R_X86_64_GOTPC32 26
++#define R_X86_64_GOT64 27
++#define R_X86_64_GOTPCREL64 28
++#define R_X86_64_GOTPC64 29
++#define R_X86_64_GOTPLT64 30
++#define R_X86_64_PLTOFF64 31
++#define R_X86_64_SIZE32 32
++#define R_X86_64_SIZE64 33
++
++#define R_X86_64_GOTPC32_TLSDESC 34
++#define R_X86_64_TLSDESC_CALL 35
++
++#define R_X86_64_TLSDESC 36
++#define R_X86_64_IRELATIVE 37
++#define R_X86_64_RELATIVE64 38
++#define R_X86_64_NUM 39
++
++
++
++#define R_MN10300_NONE 0
++#define R_MN10300_32 1
++#define R_MN10300_16 2
++#define R_MN10300_8 3
++#define R_MN10300_PCREL32 4
++#define R_MN10300_PCREL16 5
++#define R_MN10300_PCREL8 6
++#define R_MN10300_GNU_VTINHERIT 7
++#define R_MN10300_GNU_VTENTRY 8
++#define R_MN10300_24 9
++#define R_MN10300_GOTPC32 10
++#define R_MN10300_GOTPC16 11
++#define R_MN10300_GOTOFF32 12
++#define R_MN10300_GOTOFF24 13
++#define R_MN10300_GOTOFF16 14
++#define R_MN10300_PLT32 15
++#define R_MN10300_PLT16 16
++#define R_MN10300_GOT32 17
++#define R_MN10300_GOT24 18
++#define R_MN10300_GOT16 19
++#define R_MN10300_COPY 20
++#define R_MN10300_GLOB_DAT 21
++#define R_MN10300_JMP_SLOT 22
++#define R_MN10300_RELATIVE 23
++
++#define R_MN10300_NUM 24
++
++
++
++#define R_M32R_NONE 0
++#define R_M32R_16 1
++#define R_M32R_32 2
++#define R_M32R_24 3
++#define R_M32R_10_PCREL 4
++#define R_M32R_18_PCREL 5
++#define R_M32R_26_PCREL 6
++#define R_M32R_HI16_ULO 7
++#define R_M32R_HI16_SLO 8
++#define R_M32R_LO16 9
++#define R_M32R_SDA16 10
++#define R_M32R_GNU_VTINHERIT 11
++#define R_M32R_GNU_VTENTRY 12
++
++#define R_M32R_16_RELA 33
++#define R_M32R_32_RELA 34
++#define R_M32R_24_RELA 35
++#define R_M32R_10_PCREL_RELA 36
++#define R_M32R_18_PCREL_RELA 37
++#define R_M32R_26_PCREL_RELA 38
++#define R_M32R_HI16_ULO_RELA 39
++#define R_M32R_HI16_SLO_RELA 40
++#define R_M32R_LO16_RELA 41
++#define R_M32R_SDA16_RELA 42
++#define R_M32R_RELA_GNU_VTINHERIT 43
++#define R_M32R_RELA_GNU_VTENTRY 44
++#define R_M32R_REL32 45
++
++#define R_M32R_GOT24 48
++#define R_M32R_26_PLTREL 49
++#define R_M32R_COPY 50
++#define R_M32R_GLOB_DAT 51
++#define R_M32R_JMP_SLOT 52
++#define R_M32R_RELATIVE 53
++#define R_M32R_GOTOFF 54
++#define R_M32R_GOTPC24 55
++#define R_M32R_GOT16_HI_ULO 56
++
++#define R_M32R_GOT16_HI_SLO 57
++
++#define R_M32R_GOT16_LO 58
++#define R_M32R_GOTPC_HI_ULO 59
++
++#define R_M32R_GOTPC_HI_SLO 60
++
++#define R_M32R_GOTPC_LO 61
++
++#define R_M32R_GOTOFF_HI_ULO 62
++
++#define R_M32R_GOTOFF_HI_SLO 63
++
++#define R_M32R_GOTOFF_LO 64
++#define R_M32R_NUM 256
++
++#define R_MICROBLAZE_NONE 0
++#define R_MICROBLAZE_32 1
++#define R_MICROBLAZE_32_PCREL 2
++#define R_MICROBLAZE_64_PCREL 3
++#define R_MICROBLAZE_32_PCREL_LO 4
++#define R_MICROBLAZE_64 5
++#define R_MICROBLAZE_32_LO 6
++#define R_MICROBLAZE_SRO32 7
++#define R_MICROBLAZE_SRW32 8
++#define R_MICROBLAZE_64_NONE 9
++#define R_MICROBLAZE_32_SYM_OP_SYM 10
++#define R_MICROBLAZE_GNU_VTINHERIT 11
++#define R_MICROBLAZE_GNU_VTENTRY 12
++#define R_MICROBLAZE_GOTPC_64 13
++#define R_MICROBLAZE_GOT_64 14
++#define R_MICROBLAZE_PLT_64 15
++#define R_MICROBLAZE_REL 16
++#define R_MICROBLAZE_JUMP_SLOT 17
++#define R_MICROBLAZE_GLOB_DAT 18
++#define R_MICROBLAZE_GOTOFF_64 19
++#define R_MICROBLAZE_GOTOFF_32 20
++#define R_MICROBLAZE_COPY 21
++#define R_MICROBLAZE_TLS 22
++#define R_MICROBLAZE_TLSGD 23
++#define R_MICROBLAZE_TLSLD 24
++#define R_MICROBLAZE_TLSDTPMOD32 25
++#define R_MICROBLAZE_TLSDTPREL32 26
++#define R_MICROBLAZE_TLSDTPREL64 27
++#define R_MICROBLAZE_TLSGOTTPREL32 28
++#define R_MICROBLAZE_TLSTPREL32 29
++
++#ifdef __cplusplus
++}
++#endif
++
++
++#endif
diff --git a/target/linux/patches/5.4.272/sh4.patch b/target/linux/patches/5.4.272/sh4.patch
new file mode 100644
index 000000000..8ae79d49d
--- /dev/null
+++ b/target/linux/patches/5.4.272/sh4.patch
@@ -0,0 +1,11 @@
+diff -Nur linux-5.4.69.orig/arch/sh/boot/compressed/vmlinux.scr linux-5.4.69/arch/sh/boot/compressed/vmlinux.scr
+--- linux-5.4.69.orig/arch/sh/boot/compressed/vmlinux.scr 2020-10-01 13:19:27.000000000 +0200
++++ linux-5.4.69/arch/sh/boot/compressed/vmlinux.scr 2020-10-31 07:13:51.213954737 +0100
+@@ -1,6 +1,6 @@
+ SECTIONS
+ {
+- .rodata..compressed : {
++ .rodata..compressed : ALIGN(8) {
+ input_len = .;
+ LONG(input_data_end - input_data) input_data = .;
+ *(.data)
diff --git a/target/linux/patches/5.4.272/startup.patch b/target/linux/patches/5.4.272/startup.patch
new file mode 100644
index 000000000..081aa103a
--- /dev/null
+++ b/target/linux/patches/5.4.272/startup.patch
@@ -0,0 +1,25 @@
+diff -Nur linux-5.4.147.orig/init/initramfs.c linux-5.4.147/init/initramfs.c
+--- linux-5.4.147.orig/init/initramfs.c 2021-09-16 12:56:14.000000000 +0200
++++ linux-5.4.147/init/initramfs.c 2021-09-16 16:11:25.493140211 +0200
+@@ -674,6 +674,9 @@
+ initrd_start = 0;
+ initrd_end = 0;
+
++#ifdef CONFIG_DEVTMPFS_MOUNT
++ devtmpfs_mount("dev");
++#endif
+ flush_delayed_fput();
+ return 0;
+ }
+diff -Nur linux-5.4.147.orig/init/main.c linux-5.4.147/init/main.c
+--- linux-5.4.147.orig/init/main.c 2021-09-16 12:56:14.000000000 +0200
++++ linux-5.4.147/init/main.c 2021-09-16 16:11:25.497140211 +0200
+@@ -1198,6 +1198,8 @@
+ if (ksys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
+ pr_err("Warning: unable to open an initial console.\n");
+
++ printk(KERN_WARNING "Starting Linux (built with OpenADK).\n");
++
+ (void) ksys_dup(0);
+ (void) ksys_dup(0);
+ /*
diff --git a/target/linux/patches/5.4.53/startup.patch b/target/linux/patches/5.4.53/startup.patch
deleted file mode 100644
index 7c6c5661a..000000000
--- a/target/linux/patches/5.4.53/startup.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -Nur linux-5.4.53.orig/init/main.c linux-5.4.53/init/main.c
---- linux-5.4.53.orig/init/main.c 2020-07-22 09:33:18.000000000 +0200
-+++ linux-5.4.53/init/main.c 2020-07-28 17:33:28.000000000 +0200
-@@ -1196,6 +1196,8 @@
- if (ksys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
- pr_err("Warning: unable to open an initial console.\n");
-
-+ printk(KERN_WARNING "Starting Linux (built with OpenADK).\n");
-+
- (void) ksys_dup(0);
- (void) ksys_dup(0);
- /*
-@@ -1204,7 +1206,7 @@
- */
-
- if (!ramdisk_execute_command)
-- ramdisk_execute_command = "/init";
-+ ramdisk_execute_command = "/sbin/init";
-
- if (ksys_access((const char __user *)
- ramdisk_execute_command, 0) != 0) {
diff --git a/target/linux/patches/59aeb16c7f1254f1383476956dda0766d10c918a/disable-gcc-plugins.patch b/target/linux/patches/59aeb16c7f1254f1383476956dda0766d10c918a/disable-gcc-plugins.patch
new file mode 100644
index 000000000..271fc5402
--- /dev/null
+++ b/target/linux/patches/59aeb16c7f1254f1383476956dda0766d10c918a/disable-gcc-plugins.patch
@@ -0,0 +1,22 @@
+diff -Nur linux-59aeb16c7f1254f1383476956dda0766d10c918a.orig/arch/arm/Kconfig linux-59aeb16c7f1254f1383476956dda0766d10c918a/arch/arm/Kconfig
+--- linux-59aeb16c7f1254f1383476956dda0766d10c918a.orig/arch/arm/Kconfig 2022-01-21 19:27:36.000000000 +0100
++++ linux-59aeb16c7f1254f1383476956dda0766d10c918a/arch/arm/Kconfig 2022-02-13 02:06:15.880669581 +0100
+@@ -88,7 +88,6 @@
+ select HAVE_FUNCTION_GRAPH_TRACER if !THUMB2_KERNEL && !CC_IS_CLANG
+ select HAVE_FUNCTION_TRACER if !XIP_KERNEL
+ select HAVE_FUTEX_CMPXCHG if FUTEX
+- select HAVE_GCC_PLUGINS
+ select HAVE_HW_BREAKPOINT if PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7)
+ select HAVE_IDE if PCI || ISA || PCMCIA
+ select HAVE_IRQ_TIME_ACCOUNTING
+diff -Nur linux-59aeb16c7f1254f1383476956dda0766d10c918a.orig/arch/arm64/Kconfig linux-59aeb16c7f1254f1383476956dda0766d10c918a/arch/arm64/Kconfig
+--- linux-59aeb16c7f1254f1383476956dda0766d10c918a.orig/arch/arm64/Kconfig 2022-01-21 19:27:37.000000000 +0100
++++ linux-59aeb16c7f1254f1383476956dda0766d10c918a/arch/arm64/Kconfig 2022-02-13 02:06:27.852961034 +0100
+@@ -165,7 +165,6 @@
+ select HAVE_FUNCTION_TRACER
+ select HAVE_FUNCTION_ERROR_INJECTION
+ select HAVE_FUNCTION_GRAPH_TRACER
+- select HAVE_GCC_PLUGINS
+ select HAVE_HW_BREAKPOINT if PERF_EVENTS
+ select HAVE_IRQ_TIME_ACCOUNTING
+ select HAVE_NMI
diff --git a/target/linux/patches/59aeb16c7f1254f1383476956dda0766d10c918a/localversion.patch b/target/linux/patches/59aeb16c7f1254f1383476956dda0766d10c918a/localversion.patch
new file mode 100644
index 000000000..b4b4b95d7
--- /dev/null
+++ b/target/linux/patches/59aeb16c7f1254f1383476956dda0766d10c918a/localversion.patch
@@ -0,0 +1,18 @@
+diff -Nur linux-59aeb16c7f1254f1383476956dda0766d10c918a.orig/arch/arm/configs/bcm2711_defconfig linux-59aeb16c7f1254f1383476956dda0766d10c918a/arch/arm/configs/bcm2711_defconfig
+--- linux-59aeb16c7f1254f1383476956dda0766d10c918a.orig/arch/arm/configs/bcm2711_defconfig 2022-01-21 19:27:36.000000000 +0100
++++ linux-59aeb16c7f1254f1383476956dda0766d10c918a/arch/arm/configs/bcm2711_defconfig 2022-02-15 12:41:31.879194595 +0100
+@@ -1,4 +1,4 @@
+-CONFIG_LOCALVERSION="-v7l"
++CONFIG_LOCALVERSION=""
+ # CONFIG_LOCALVERSION_AUTO is not set
+ CONFIG_SYSVIPC=y
+ CONFIG_POSIX_MQUEUE=y
+diff -Nur linux-59aeb16c7f1254f1383476956dda0766d10c918a.orig/arch/arm64/configs/bcm2711_defconfig linux-59aeb16c7f1254f1383476956dda0766d10c918a/arch/arm64/configs/bcm2711_defconfig
+--- linux-59aeb16c7f1254f1383476956dda0766d10c918a.orig/arch/arm64/configs/bcm2711_defconfig 2022-01-21 19:27:37.000000000 +0100
++++ linux-59aeb16c7f1254f1383476956dda0766d10c918a/arch/arm64/configs/bcm2711_defconfig 2022-02-15 12:41:11.014686670 +0100
+@@ -1,4 +1,4 @@
+-CONFIG_LOCALVERSION="-v8"
++CONFIG_LOCALVERSION=""
+ # CONFIG_LOCALVERSION_AUTO is not set
+ CONFIG_SYSVIPC=y
+ CONFIG_POSIX_MQUEUE=y
diff --git a/target/linux/patches/6.1.82/armnommu-fix-thread-registers.patch b/target/linux/patches/6.1.82/armnommu-fix-thread-registers.patch
new file mode 100644
index 000000000..8ab2196dc
--- /dev/null
+++ b/target/linux/patches/6.1.82/armnommu-fix-thread-registers.patch
@@ -0,0 +1,57 @@
+From 1410ebe685f13c1699a16bf147ae1332e7fd1983 Mon Sep 17 00:00:00 2001
+From: Greg Ungerer <gerg@kernel.org>
+Date: Thu, 20 Apr 2023 09:52:08 +1000
+Subject: [PATCH] ARM: start_thread: restore registers on ELF load for noMMU
+
+The binfmt_elf-fdpic loader is capable of loading constant displacement
+ELF format binaries (like those compiled -pie) on noMMU systems as well
+as elf-fdpic format binaries. The traditional ELF loader cannot be
+enabled on noMMU systems.
+
+Commit 5e588114329c ("ARM: start_thread(): don't always clear all regs")
+fixed the start_thread() code so that it maintains the required
+elf-fdpic registers through to the new process, but it only does that if
+current has its personality FDPIC_FUNCPTRS bit set. That is true for
+elf-fdpic format binaries but will not be true for non-fdpic ELF
+binaries.
+
+Modify the test of the FDPIC_FUNCPTRS personality bit to also carry out
+the register restore if this is a noMMU system. This is not perfect,
+since it will also preserve these registers on noMMU systems for all
+binary format types (could be flat format for example). That won't break
+anything, but it is potentially leaking some information into the new
+process. But for the noMMU case we need those start time registers set to
+be able to finalize the runtime loading of the -pie style ELF binary
+(carry out its segment and dynamic relocation processing).
+
+Unfortunately the FDPIC_FUNCPTRS flag cannot just be enabled for all
+elf-fdpic loaded binaries. That personality bit is used for other things
+like the controlling the changed behavior for signal handling.
+
+There is no change in behavior for normal ELF loading on MMU systems.
+A -pie style ELF binary built for noMMU systems can be load and run using
+the usual ELF loader on an MMU system (elf-fdpic loader not required in
+this case).
+
+Signed-off-by: Greg Ungerer <gerg@kernel.org>
+---
+ arch/arm/include/asm/processor.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/arch/arm/include/asm/processor.h b/arch/arm/include/asm/processor.h
+index 326864f79d18..5074cc3ae4e1 100644
+--- a/arch/arm/include/asm/processor.h
++++ b/arch/arm/include/asm/processor.h
+@@ -60,7 +60,8 @@ static inline void arch_thread_struct_whitelist(unsigned long *offset,
+ } \
+ memset(regs->uregs, 0, sizeof(regs->uregs)); \
+ if (IS_ENABLED(CONFIG_BINFMT_ELF_FDPIC) && \
+- current->personality & FDPIC_FUNCPTRS) { \
++ ((! IS_ENABLED(CONFIG_MMU)) || \
++ current->personality & FDPIC_FUNCPTRS)) { \
+ regs->ARM_r7 = r7; \
+ regs->ARM_r8 = r8; \
+ regs->ARM_r9 = r9; \
+--
+2.25.1
+
diff --git a/target/linux/patches/6.1.82/armnommu-versatile.patch b/target/linux/patches/6.1.82/armnommu-versatile.patch
new file mode 100644
index 000000000..f8f10f50b
--- /dev/null
+++ b/target/linux/patches/6.1.82/armnommu-versatile.patch
@@ -0,0 +1,101 @@
+From 77c038d93769c92ef54cdbb50388564d1b37987b Mon Sep 17 00:00:00 2001
+From: Greg Ungerer <gerg@kernel.org>
+Date: Fri, 23 Sep 2016 13:37:34 +1000
+Subject: [PATCH] ARM: versatile: support configuring versatile machine for no-MMU
+
+Allow the arm versatile machine to be configured for no-MMU operation.
+
+Older kernels had the ability to build the versatile machine with the MMU
+disabled (!CONFIG_MMU). Recent changes to convert the versatile machine
+to device tree lost this ability. (Although older kernels could be built
+they did not run due to a bug in the IO_ADDRESS() mapping on this machine).
+
+The motivation for this is that the versatile machine is well supported
+in qemu. And this provides an excellent platform for development and
+testing no-MMU support on ARM in general.
+
+This patch adds a versatile platform selection in the upper level arm
+system type menu - where it appeared in older kernel versions - when
+configuring for the no-MMU case. There is no visible change to the way
+versatile is selected for the MMU enabled case.
+
+Signed-off-by: Greg Ungerer <gerg@kernel.org>
+---
+ arch/arm/Kconfig | 13 ++++++++++++-
+ arch/arm/include/asm/mach/map.h | 1 +
+ arch/arm/mach-versatile/Kconfig | 2 +-
+ arch/arm/mach-versatile/versatile.c | 4 ++++
+ 4 files changed, 18 insertions(+), 2 deletions(-)
+
+diff --git a/arch/arm/mach-versatile/versatile.c b/arch/arm/mach-versatile/versatile.c
+index 02ba68abe533..835b51bc597b 100644
+--- a/arch/arm/mach-versatile/versatile.c
++++ b/arch/arm/mach-versatile/versatile.c
+@@ -22,7 +22,11 @@
+ #include <asm/mach/map.h>
+
+ /* macro to get at MMIO space when running virtually */
++#ifdef CONFIG_MMU
+ #define IO_ADDRESS(x) (((x) & 0x0fffffff) + (((x) >> 4) & 0x0f000000) + 0xf0000000)
++#else
++#define IO_ADDRESS(x) (x)
++#endif
+ #define __io_address(n) ((void __iomem __force *)IO_ADDRESS(n))
+
+ /*
+diff --git a/arch/arm/include/asm/mach/map.h b/arch/arm/include/asm/mach/map.h
+index 2b8970d8e5a2..41844ab6aec5 100644
+--- a/arch/arm/include/asm/mach/map.h
++++ b/arch/arm/include/asm/mach/map.h
+@@ -60,6 +60,7 @@ extern int ioremap_page(unsigned long virt, unsigned long phys,
+ #else
+ #define iotable_init(map,num) do { } while (0)
+ #define vm_reserve_area_early(a,s,c) do { } while (0)
++#define debug_ll_io_init() do { } while (0)
+ #endif
+
+ #endif
+diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
+index e24a9820e12f..342e1efa583a 100644
+--- a/arch/arm/Kconfig
++++ b/arch/arm/Kconfig
+@@ -307,12 +307,23 @@ config MMU
+ Select if you want MMU-based virtualised addressing space
+ support by paged memory management. If unsure, say 'Y'.
+
++choice
++ prompt "ARM system type"
++ depends on !MMU
++ default ARM_SINGLE_ARMV7M
++
+ config ARM_SINGLE_ARMV7M
+- def_bool !MMU
++ bool "ARMv7-M based platforms (Cortex-M0/M3/M4)"
+ select ARM_NVIC
+ select CPU_V7M
+ select NO_IOPORT_MAP
+
++config ARM_SINGLE_ARM926
++ bool "ARM926 based platforms"
++ select CPU_ARM926T
++
++endchoice
++
+ config ARCH_MMAP_RND_BITS_MIN
+ default 8
+
+diff --git a/arch/arm/mach-versatile/Kconfig b/arch/arm/mach-versatile/Kconfig
+index b1519b4dc03a..2f1bf95daeb0 100644
+--- a/arch/arm/mach-versatile/Kconfig
++++ b/arch/arm/mach-versatile/Kconfig
+@@ -1,7 +1,7 @@
+ # SPDX-License-Identifier: GPL-2.0
+ config ARCH_VERSATILE
+ bool "ARM Ltd. Versatile family"
+- depends on ARCH_MULTI_V5
++ depends on ARCH_MULTI_V5 || ARM_SINGLE_ARM926
+ depends on CPU_LITTLE_ENDIAN
+ select ARM_AMBA
+ select ARM_TIMER_SP804
+--
+2.25.1
diff --git a/target/linux/patches/6.1.82/board-rockpi4-0003-arm64-dts-pcie.patch b/target/linux/patches/6.1.82/board-rockpi4-0003-arm64-dts-pcie.patch
new file mode 100644
index 000000000..1777e7a86
--- /dev/null
+++ b/target/linux/patches/6.1.82/board-rockpi4-0003-arm64-dts-pcie.patch
@@ -0,0 +1,35 @@
+diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
+index 1ae1ebd4e..2f84397d5 100644
+--- a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
++++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
+@@ -62,6 +62,8 @@
+ regulator-name = "vcc3v3_pcie";
+ regulator-always-on;
+ regulator-boot-on;
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
+ vin-supply = <&vcc5v0_sys>;
+ };
+
+@@ -434,6 +459,21 @@
+ gpio1830-supply = <&vcc_3v0>;
+ };
+
++&pcie0 {
++ ep-gpios = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>;
++ num-lanes = <4>;
++ max-link-speed = <1>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&pcie_clkreqnb_cpm>;
++ vpcie12v-supply = <&vcc12v_dcin>;
++ vpcie3v3-supply = <&vcc3v3_pcie>;
++ status = "okay";
++};
++
++&pcie_phy {
++ status = "okay";
++};
++
+ &pmu_io_domains {
+ status = "okay";
+
diff --git a/target/linux/patches/6.1.82/enable-ethernet-bpi-m2-plus.patch b/target/linux/patches/6.1.82/enable-ethernet-bpi-m2-plus.patch
new file mode 100644
index 000000000..7e9abd9ce
--- /dev/null
+++ b/target/linux/patches/6.1.82/enable-ethernet-bpi-m2-plus.patch
@@ -0,0 +1,15 @@
+diff -Nur linux-6.0.11.orig/arch/arm/boot/dts/sunxi-h3-h5.dtsi linux-6.0.11/arch/arm/boot/dts/sunxi-h3-h5.dtsi
+--- linux-6.0.11.orig/arch/arm/boot/dts/sunxi-h3-h5.dtsi 2022-12-02 17:43:18.000000000 +0100
++++ linux-6.0.11/arch/arm/boot/dts/sunxi-h3-h5.dtsi 2022-12-19 08:06:16.836436057 +0100
+@@ -532,7 +532,10 @@
+ reset-names = "stmmaceth";
+ clocks = <&ccu CLK_BUS_EMAC>;
+ clock-names = "stmmaceth";
+- status = "disabled";
++ status = "okay";
++ phy-handle = <&int_mii_phy>;
++ phy-mode = "mii";
++ allwinner,leds-active-low;
+
+ mdio: mdio {
+ #address-cells = <1>;
diff --git a/target/linux/patches/6.1.82/hppa-cross-compile.patch b/target/linux/patches/6.1.82/hppa-cross-compile.patch
new file mode 100644
index 000000000..5400e87a0
--- /dev/null
+++ b/target/linux/patches/6.1.82/hppa-cross-compile.patch
@@ -0,0 +1,12 @@
+diff -Nur linux-6.1.41.orig/arch/parisc/Makefile linux-6.1.41/arch/parisc/Makefile
+--- linux-6.1.41.orig/arch/parisc/Makefile 2023-07-24 18:55:35.000000000 +0200
++++ linux-6.1.41/arch/parisc/Makefile 2023-07-25 17:32:20.338363915 +0200
+@@ -41,7 +41,7 @@
+
+ # Set default 32 bits cross compilers for vdso
+ CC_ARCHES_32 = hppa hppa2.0 hppa1.1
+-CC_SUFFIXES = linux linux-gnu unknown-linux-gnu suse-linux
++CC_SUFFIXES = linux linux-gnu unknown-linux-gnu suse-linux openadk-linux-uclibc
+ CROSS32_COMPILE := $(call cc-cross-prefix, \
+ $(foreach a,$(CC_ARCHES_32), \
+ $(foreach s,$(CC_SUFFIXES),$(a)-$(s)-)))
diff --git a/target/linux/patches/6.1.82/macsonic.patch b/target/linux/patches/6.1.82/macsonic.patch
new file mode 100644
index 000000000..177397221
--- /dev/null
+++ b/target/linux/patches/6.1.82/macsonic.patch
@@ -0,0 +1,11 @@
+diff -Nur linux-6.1.41.orig/drivers/net/ethernet/natsemi/Kconfig linux-6.1.41/drivers/net/ethernet/natsemi/Kconfig
+--- linux-6.1.41.orig/drivers/net/ethernet/natsemi/Kconfig 2023-07-24 18:55:35.000000000 +0200
++++ linux-6.1.41/drivers/net/ethernet/natsemi/Kconfig 2023-07-26 17:06:27.179154363 +0200
+@@ -19,6 +19,7 @@
+ config MACSONIC
+ tristate "Macintosh SONIC based ethernet (onboard, NuBus, LC, CS)"
+ depends on MAC
++ select BITREVERSE
+ help
+ Support for NatSemi SONIC based Ethernet devices. This includes
+ the onboard Ethernet in many Quadras as well as some LC-PDS,
diff --git a/target/linux/patches/6.1.82/nios2.patch b/target/linux/patches/6.1.82/nios2.patch
new file mode 100644
index 000000000..43631971e
--- /dev/null
+++ b/target/linux/patches/6.1.82/nios2.patch
@@ -0,0 +1,12 @@
+diff -Nur linux-6.1.41.orig/arch/nios2/configs/10m50_defconfig linux-6.1.41/arch/nios2/configs/10m50_defconfig
+--- linux-6.1.41.orig/arch/nios2/configs/10m50_defconfig 2023-07-24 18:55:35.000000000 +0200
++++ linux-6.1.41/arch/nios2/configs/10m50_defconfig 2023-07-29 13:12:27.796785539 +0200
+@@ -20,6 +20,8 @@
+ CONFIG_NIOS2_DCACHE_SIZE=0x8000
+ CONFIG_NIOS2_ICACHE_SIZE=0x8000
+ # CONFIG_NIOS2_CMDLINE_IGNORE_DTB is not set
++CONFIG_NIOS2_DTB_SOURCE_BOOL=y
++CONFIG_NIOS2_DTB_SOURCE="10m50_devboard.dts"
+ CONFIG_NET=y
+ CONFIG_PACKET=y
+ CONFIG_UNIX=y
diff --git a/target/linux/patches/6.1.82/riscv32.patch b/target/linux/patches/6.1.82/riscv32.patch
new file mode 100644
index 000000000..648b0de4d
--- /dev/null
+++ b/target/linux/patches/6.1.82/riscv32.patch
@@ -0,0 +1,49 @@
+diff -Nur linux-6.0.15.orig/arch/riscv/include/uapi/asm/unistd.h linux-6.0.15/arch/riscv/include/uapi/asm/unistd.h
+--- linux-6.0.15.orig/arch/riscv/include/uapi/asm/unistd.h 2022-12-21 17:41:16.000000000 +0100
++++ linux-6.0.15/arch/riscv/include/uapi/asm/unistd.h 2023-01-09 11:28:16.590796198 +0100
+@@ -15,9 +15,14 @@
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+-#if defined(__LP64__) && !defined(__SYSCALL_COMPAT)
++#ifndef __SYSCALL_COMPAT
+ #define __ARCH_WANT_NEW_STAT
+ #define __ARCH_WANT_SET_GET_RLIMIT
++#endif /* __SYSCALL_COMPAT */
++
++#ifndef __LP64__
++#define __ARCH_WANT_STAT64
++#define __ARCH_WANT_TIME32_SYSCALLS
+ #endif /* __LP64__ */
+
+ #define __ARCH_WANT_SYS_CLONE3
+diff -Nur linux-6.0.15.orig/arch/riscv/Kconfig linux-6.0.15/arch/riscv/Kconfig
+--- linux-6.0.15.orig/arch/riscv/Kconfig 2022-12-21 17:41:16.000000000 +0100
++++ linux-6.0.15/arch/riscv/Kconfig 2023-01-09 14:27:16.560750598 +0100
+@@ -163,8 +163,9 @@
+
+ config PAGE_OFFSET
+ hex
+- default 0xC0000000 if 32BIT
++ default 0xC0000000 if 32BIT && MMU
+ default 0x80000000 if 64BIT && !MMU
++ default 0x80000000 if !MMU
+ default 0xff60000000000000 if 64BIT
+
+ config KASAN_SHADOW_OFFSET
+@@ -262,7 +263,6 @@
+ select GENERIC_LIB_ASHRDI3
+ select GENERIC_LIB_LSHRDI3
+ select GENERIC_LIB_UCMPDI2
+- select MMU
+
+ config ARCH_RV64I
+ bool "RV64I"
+@@ -670,7 +670,6 @@
+ default !NONPORTABLE
+ select EFI
+ select OF
+- select MMU
+
+ menu "Power management options"
+
diff --git a/target/linux/patches/6.1.82/riscv64-flat.patch b/target/linux/patches/6.1.82/riscv64-flat.patch
new file mode 100644
index 000000000..ee70ea915
--- /dev/null
+++ b/target/linux/patches/6.1.82/riscv64-flat.patch
@@ -0,0 +1,19 @@
+diff -Nur linux-6.1.79.orig/fs/binfmt_flat.c linux-6.1.79/fs/binfmt_flat.c
+--- linux-6.1.79.orig/fs/binfmt_flat.c 2024-02-23 09:12:53.000000000 +0100
++++ linux-6.1.79/fs/binfmt_flat.c 2024-03-23 22:35:54.496759006 +0100
+@@ -879,6 +879,7 @@
+ if (res < 0)
+ return res;
+
++#ifndef CONFIG_BINFMT_FLAT_NO_DATA_START_OFFSET
+ /* Update data segment pointers for all libraries */
+ for (i = 0; i < MAX_SHARED_LIBS; i++) {
+ if (!libinfo.lib_list[i].loaded)
+@@ -893,6 +894,7 @@
+ return -EFAULT;
+ }
+ }
++#endif
+
+ set_binfmt(&flat_format);
+
diff --git a/target/linux/patches/6.1.82/rockchip-115200.patch b/target/linux/patches/6.1.82/rockchip-115200.patch
new file mode 100644
index 000000000..ad8a2d7a7
--- /dev/null
+++ b/target/linux/patches/6.1.82/rockchip-115200.patch
@@ -0,0 +1,12 @@
+diff -Nur linux-5.15.81.orig/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi linux-5.15.81/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
+--- linux-5.15.81.orig/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi 2022-12-02 17:41:12.000000000 +0100
++++ linux-5.15.81/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi 2022-12-22 09:51:57.370394227 +0100
+@@ -17,7 +17,7 @@
+ };
+
+ chosen {
+- stdout-path = "serial2:1500000n8";
++ stdout-path = "serial2:115200n8";
+ };
+
+ clkin_gmac: external-gmac-clock {
diff --git a/target/linux/patches/6.1.82/rockchip-pcie-timeout.patch b/target/linux/patches/6.1.82/rockchip-pcie-timeout.patch
new file mode 100644
index 000000000..2ef7df2da
--- /dev/null
+++ b/target/linux/patches/6.1.82/rockchip-pcie-timeout.patch
@@ -0,0 +1,16 @@
+diff -Nur linux-6.0.11.orig/drivers/pci/controller/pcie-rockchip-host.c linux-6.0.11/drivers/pci/controller/pcie-rockchip-host.c
+--- linux-6.0.11.orig/drivers/pci/controller/pcie-rockchip-host.c 2022-12-02 17:43:18.000000000 +0100
++++ linux-6.0.11/drivers/pci/controller/pcie-rockchip-host.c 2022-12-24 11:12:25.753213273 +0100
+@@ -327,10 +327,10 @@
+
+ gpiod_set_value_cansleep(rockchip->ep_gpio, 1);
+
+- /* 500ms timeout value should be enough for Gen1/2 training */
++ /* 1000ms timeout value should be enough for Gen1/2 training */
+ err = readl_poll_timeout(rockchip->apb_base + PCIE_CLIENT_BASIC_STATUS1,
+ status, PCIE_LINK_UP(status), 20,
+- 500 * USEC_PER_MSEC);
++ 1000 * USEC_PER_MSEC);
+ if (err) {
+ dev_err(dev, "PCIe link training gen1 timeout!\n");
+ goto err_power_off_phy;
diff --git a/target/linux/patches/6.6.22/armnommu-fix-thread-registers.patch b/target/linux/patches/6.6.22/armnommu-fix-thread-registers.patch
new file mode 100644
index 000000000..8ab2196dc
--- /dev/null
+++ b/target/linux/patches/6.6.22/armnommu-fix-thread-registers.patch
@@ -0,0 +1,57 @@
+From 1410ebe685f13c1699a16bf147ae1332e7fd1983 Mon Sep 17 00:00:00 2001
+From: Greg Ungerer <gerg@kernel.org>
+Date: Thu, 20 Apr 2023 09:52:08 +1000
+Subject: [PATCH] ARM: start_thread: restore registers on ELF load for noMMU
+
+The binfmt_elf-fdpic loader is capable of loading constant displacement
+ELF format binaries (like those compiled -pie) on noMMU systems as well
+as elf-fdpic format binaries. The traditional ELF loader cannot be
+enabled on noMMU systems.
+
+Commit 5e588114329c ("ARM: start_thread(): don't always clear all regs")
+fixed the start_thread() code so that it maintains the required
+elf-fdpic registers through to the new process, but it only does that if
+current has its personality FDPIC_FUNCPTRS bit set. That is true for
+elf-fdpic format binaries but will not be true for non-fdpic ELF
+binaries.
+
+Modify the test of the FDPIC_FUNCPTRS personality bit to also carry out
+the register restore if this is a noMMU system. This is not perfect,
+since it will also preserve these registers on noMMU systems for all
+binary format types (could be flat format for example). That won't break
+anything, but it is potentially leaking some information into the new
+process. But for the noMMU case we need those start time registers set to
+be able to finalize the runtime loading of the -pie style ELF binary
+(carry out its segment and dynamic relocation processing).
+
+Unfortunately the FDPIC_FUNCPTRS flag cannot just be enabled for all
+elf-fdpic loaded binaries. That personality bit is used for other things
+like the controlling the changed behavior for signal handling.
+
+There is no change in behavior for normal ELF loading on MMU systems.
+A -pie style ELF binary built for noMMU systems can be load and run using
+the usual ELF loader on an MMU system (elf-fdpic loader not required in
+this case).
+
+Signed-off-by: Greg Ungerer <gerg@kernel.org>
+---
+ arch/arm/include/asm/processor.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/arch/arm/include/asm/processor.h b/arch/arm/include/asm/processor.h
+index 326864f79d18..5074cc3ae4e1 100644
+--- a/arch/arm/include/asm/processor.h
++++ b/arch/arm/include/asm/processor.h
+@@ -60,7 +60,8 @@ static inline void arch_thread_struct_whitelist(unsigned long *offset,
+ } \
+ memset(regs->uregs, 0, sizeof(regs->uregs)); \
+ if (IS_ENABLED(CONFIG_BINFMT_ELF_FDPIC) && \
+- current->personality & FDPIC_FUNCPTRS) { \
++ ((! IS_ENABLED(CONFIG_MMU)) || \
++ current->personality & FDPIC_FUNCPTRS)) { \
+ regs->ARM_r7 = r7; \
+ regs->ARM_r8 = r8; \
+ regs->ARM_r9 = r9; \
+--
+2.25.1
+
diff --git a/target/linux/patches/6.6.22/armnommu-versatile.patch b/target/linux/patches/6.6.22/armnommu-versatile.patch
new file mode 100644
index 000000000..f8f10f50b
--- /dev/null
+++ b/target/linux/patches/6.6.22/armnommu-versatile.patch
@@ -0,0 +1,101 @@
+From 77c038d93769c92ef54cdbb50388564d1b37987b Mon Sep 17 00:00:00 2001
+From: Greg Ungerer <gerg@kernel.org>
+Date: Fri, 23 Sep 2016 13:37:34 +1000
+Subject: [PATCH] ARM: versatile: support configuring versatile machine for no-MMU
+
+Allow the arm versatile machine to be configured for no-MMU operation.
+
+Older kernels had the ability to build the versatile machine with the MMU
+disabled (!CONFIG_MMU). Recent changes to convert the versatile machine
+to device tree lost this ability. (Although older kernels could be built
+they did not run due to a bug in the IO_ADDRESS() mapping on this machine).
+
+The motivation for this is that the versatile machine is well supported
+in qemu. And this provides an excellent platform for development and
+testing no-MMU support on ARM in general.
+
+This patch adds a versatile platform selection in the upper level arm
+system type menu - where it appeared in older kernel versions - when
+configuring for the no-MMU case. There is no visible change to the way
+versatile is selected for the MMU enabled case.
+
+Signed-off-by: Greg Ungerer <gerg@kernel.org>
+---
+ arch/arm/Kconfig | 13 ++++++++++++-
+ arch/arm/include/asm/mach/map.h | 1 +
+ arch/arm/mach-versatile/Kconfig | 2 +-
+ arch/arm/mach-versatile/versatile.c | 4 ++++
+ 4 files changed, 18 insertions(+), 2 deletions(-)
+
+diff --git a/arch/arm/mach-versatile/versatile.c b/arch/arm/mach-versatile/versatile.c
+index 02ba68abe533..835b51bc597b 100644
+--- a/arch/arm/mach-versatile/versatile.c
++++ b/arch/arm/mach-versatile/versatile.c
+@@ -22,7 +22,11 @@
+ #include <asm/mach/map.h>
+
+ /* macro to get at MMIO space when running virtually */
++#ifdef CONFIG_MMU
+ #define IO_ADDRESS(x) (((x) & 0x0fffffff) + (((x) >> 4) & 0x0f000000) + 0xf0000000)
++#else
++#define IO_ADDRESS(x) (x)
++#endif
+ #define __io_address(n) ((void __iomem __force *)IO_ADDRESS(n))
+
+ /*
+diff --git a/arch/arm/include/asm/mach/map.h b/arch/arm/include/asm/mach/map.h
+index 2b8970d8e5a2..41844ab6aec5 100644
+--- a/arch/arm/include/asm/mach/map.h
++++ b/arch/arm/include/asm/mach/map.h
+@@ -60,6 +60,7 @@ extern int ioremap_page(unsigned long virt, unsigned long phys,
+ #else
+ #define iotable_init(map,num) do { } while (0)
+ #define vm_reserve_area_early(a,s,c) do { } while (0)
++#define debug_ll_io_init() do { } while (0)
+ #endif
+
+ #endif
+diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
+index e24a9820e12f..342e1efa583a 100644
+--- a/arch/arm/Kconfig
++++ b/arch/arm/Kconfig
+@@ -307,12 +307,23 @@ config MMU
+ Select if you want MMU-based virtualised addressing space
+ support by paged memory management. If unsure, say 'Y'.
+
++choice
++ prompt "ARM system type"
++ depends on !MMU
++ default ARM_SINGLE_ARMV7M
++
+ config ARM_SINGLE_ARMV7M
+- def_bool !MMU
++ bool "ARMv7-M based platforms (Cortex-M0/M3/M4)"
+ select ARM_NVIC
+ select CPU_V7M
+ select NO_IOPORT_MAP
+
++config ARM_SINGLE_ARM926
++ bool "ARM926 based platforms"
++ select CPU_ARM926T
++
++endchoice
++
+ config ARCH_MMAP_RND_BITS_MIN
+ default 8
+
+diff --git a/arch/arm/mach-versatile/Kconfig b/arch/arm/mach-versatile/Kconfig
+index b1519b4dc03a..2f1bf95daeb0 100644
+--- a/arch/arm/mach-versatile/Kconfig
++++ b/arch/arm/mach-versatile/Kconfig
+@@ -1,7 +1,7 @@
+ # SPDX-License-Identifier: GPL-2.0
+ config ARCH_VERSATILE
+ bool "ARM Ltd. Versatile family"
+- depends on ARCH_MULTI_V5
++ depends on ARCH_MULTI_V5 || ARM_SINGLE_ARM926
+ depends on CPU_LITTLE_ENDIAN
+ select ARM_AMBA
+ select ARM_TIMER_SP804
+--
+2.25.1
diff --git a/target/linux/patches/6064a9bdf48cefbccc4f6472dd04251f0dec1931/startup.patch b/target/linux/patches/6064a9bdf48cefbccc4f6472dd04251f0dec1931/startup.patch
index e54ac19a6..f9ab3f1c1 100644
--- a/target/linux/patches/6064a9bdf48cefbccc4f6472dd04251f0dec1931/startup.patch
+++ b/target/linux/patches/6064a9bdf48cefbccc4f6472dd04251f0dec1931/startup.patch
@@ -23,12 +23,3 @@ diff -Nur linux-4.4.6.orig/init/main.c linux-4.4.6/init/main.c
(void) sys_dup(0);
(void) sys_dup(0);
/*
-@@ -1019,7 +1021,7 @@
- */
-
- if (!ramdisk_execute_command)
-- ramdisk_execute_command = "/init";
-+ ramdisk_execute_command = "/sbin/init";
-
- if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) {
- ramdisk_execute_command = NULL;
diff --git a/target/linux/patches/b6bfece0d9ddf21e1526fead81340ef02f98f6ad/defconfig.patch b/target/linux/patches/b6bfece0d9ddf21e1526fead81340ef02f98f6ad/defconfig.patch
new file mode 100644
index 000000000..77025e98c
--- /dev/null
+++ b/target/linux/patches/b6bfece0d9ddf21e1526fead81340ef02f98f6ad/defconfig.patch
@@ -0,0 +1,18 @@
+diff -Nur linux-b6bfece0d9ddf21e1526fead81340ef02f98f6ad.orig/arch/arm/configs/bcm2711_defconfig linux-b6bfece0d9ddf21e1526fead81340ef02f98f6ad/arch/arm/configs/bcm2711_defconfig
+--- linux-b6bfece0d9ddf21e1526fead81340ef02f98f6ad.orig/arch/arm/configs/bcm2711_defconfig 2023-10-18 16:11:33.000000000 +0200
++++ linux-b6bfece0d9ddf21e1526fead81340ef02f98f6ad/arch/arm/configs/bcm2711_defconfig 2023-10-21 10:11:00.896240933 +0200
+@@ -1,5 +1,3 @@
+-CONFIG_LOCALVERSION="-v7l"
+-# CONFIG_LOCALVERSION_AUTO is not set
+ CONFIG_SYSVIPC=y
+ CONFIG_POSIX_MQUEUE=y
+ CONFIG_GENERIC_IRQ_DEBUGFS=y
+@@ -62,7 +60,7 @@
+ CONFIG_MODULE_UNLOAD=y
+ CONFIG_MODVERSIONS=y
+ CONFIG_MODULE_SRCVERSION_ALL=y
+-CONFIG_MODULE_COMPRESS_XZ=y
++CONFIG_MODULE_COMPRESS_NONE=y
+ CONFIG_BLK_DEV_THROTTLING=y
+ CONFIG_PARTITION_ADVANCED=y
+ CONFIG_MAC_PARTITION=y
diff --git a/target/linux/patches/d5066442e39dd9bf4ba6431ffb3f99e3d5085d3f/defconfig.patch b/target/linux/patches/d5066442e39dd9bf4ba6431ffb3f99e3d5085d3f/defconfig.patch
new file mode 100644
index 000000000..581c80b5d
--- /dev/null
+++ b/target/linux/patches/d5066442e39dd9bf4ba6431ffb3f99e3d5085d3f/defconfig.patch
@@ -0,0 +1,54 @@
+diff -Nur linux-d5066442e39dd9bf4ba6431ffb3f99e3d5085d3f.orig/arch/arm/configs/bcm2711_defconfig linux-d5066442e39dd9bf4ba6431ffb3f99e3d5085d3f/arch/arm/configs/bcm2711_defconfig
+--- linux-d5066442e39dd9bf4ba6431ffb3f99e3d5085d3f.orig/arch/arm/configs/bcm2711_defconfig 2024-01-04 18:44:08.000000000 +0100
++++ linux-d5066442e39dd9bf4ba6431ffb3f99e3d5085d3f/arch/arm/configs/bcm2711_defconfig 2024-02-23 03:20:17.274662945 +0100
+@@ -1,4 +1,4 @@
+-CONFIG_LOCALVERSION="-v7l"
++CONFIG_LOCALVERSION=""
+ # CONFIG_LOCALVERSION_AUTO is not set
+ CONFIG_SYSVIPC=y
+ CONFIG_POSIX_MQUEUE=y
+@@ -62,7 +62,7 @@
+ CONFIG_MODULE_UNLOAD=y
+ CONFIG_MODVERSIONS=y
+ CONFIG_MODULE_SRCVERSION_ALL=y
+-CONFIG_MODULE_COMPRESS_XZ=y
++CONFIG_MODULE_COMPRESS_NONE=y
+ CONFIG_BLK_DEV_THROTTLING=y
+ CONFIG_PARTITION_ADVANCED=y
+ CONFIG_MAC_PARTITION=y
+diff -Nur linux-d5066442e39dd9bf4ba6431ffb3f99e3d5085d3f.orig/arch/arm64/configs/bcm2711_defconfig linux-d5066442e39dd9bf4ba6431ffb3f99e3d5085d3f/arch/arm64/configs/bcm2711_defconfig
+--- linux-d5066442e39dd9bf4ba6431ffb3f99e3d5085d3f.orig/arch/arm64/configs/bcm2711_defconfig 2024-01-04 18:44:09.000000000 +0100
++++ linux-d5066442e39dd9bf4ba6431ffb3f99e3d5085d3f/arch/arm64/configs/bcm2711_defconfig 2024-02-23 03:18:12.395539339 +0100
+@@ -1,4 +1,4 @@
+-CONFIG_LOCALVERSION="-v8"
++CONFIG_LOCALVERSION=""
+ # CONFIG_LOCALVERSION_AUTO is not set
+ CONFIG_SYSVIPC=y
+ CONFIG_POSIX_MQUEUE=y
+@@ -69,7 +69,7 @@
+ CONFIG_MODULE_UNLOAD=y
+ CONFIG_MODVERSIONS=y
+ CONFIG_MODULE_SRCVERSION_ALL=y
+-CONFIG_MODULE_COMPRESS_XZ=y
++CONFIG_MODULE_COMPRESS_NONE=y
+ CONFIG_BLK_DEV_THROTTLING=y
+ CONFIG_PARTITION_ADVANCED=y
+ CONFIG_MAC_PARTITION=y
+diff -Nur linux-d5066442e39dd9bf4ba6431ffb3f99e3d5085d3f.orig/arch/arm64/configs/bcm2712_defconfig linux-d5066442e39dd9bf4ba6431ffb3f99e3d5085d3f/arch/arm64/configs/bcm2712_defconfig
+--- linux-d5066442e39dd9bf4ba6431ffb3f99e3d5085d3f.orig/arch/arm64/configs/bcm2712_defconfig 2024-01-04 18:44:09.000000000 +0100
++++ linux-d5066442e39dd9bf4ba6431ffb3f99e3d5085d3f/arch/arm64/configs/bcm2712_defconfig 2024-02-23 03:18:12.395539339 +0100
+@@ -1,4 +1,4 @@
+-CONFIG_LOCALVERSION="-v8-16k"
++CONFIG_LOCALVERSION=""
+ # CONFIG_LOCALVERSION_AUTO is not set
+ CONFIG_SYSVIPC=y
+ CONFIG_POSIX_MQUEUE=y
+@@ -72,7 +72,7 @@
+ CONFIG_MODULE_UNLOAD=y
+ CONFIG_MODVERSIONS=y
+ CONFIG_MODULE_SRCVERSION_ALL=y
+-CONFIG_MODULE_COMPRESS_XZ=y
++CONFIG_MODULE_COMPRESS_NONE=y
+ CONFIG_BLK_DEV_THROTTLING=y
+ CONFIG_PARTITION_ADVANCED=y
+ CONFIG_MAC_PARTITION=y
diff --git a/target/linux/patches/eb06d31da3e2025a2e578d8de9843e24b68137a6/defconfig.patch b/target/linux/patches/eb06d31da3e2025a2e578d8de9843e24b68137a6/defconfig.patch
new file mode 100644
index 000000000..17e1d1811
--- /dev/null
+++ b/target/linux/patches/eb06d31da3e2025a2e578d8de9843e24b68137a6/defconfig.patch
@@ -0,0 +1,36 @@
+diff -Nur linux-d5066442e39dd9bf4ba6431ffb3f99e3d5085d3f.orig/arch/arm64/configs/bcm2711_defconfig linux-d5066442e39dd9bf4ba6431ffb3f99e3d5085d3f/arch/arm64/configs/bcm2711_defconfig
+--- linux-d5066442e39dd9bf4ba6431ffb3f99e3d5085d3f.orig/arch/arm64/configs/bcm2711_defconfig 2024-01-04 18:44:09.000000000 +0100
++++ linux-d5066442e39dd9bf4ba6431ffb3f99e3d5085d3f/arch/arm64/configs/bcm2711_defconfig 2024-01-06 09:20:53.075282937 +0100
+@@ -1,4 +1,4 @@
+-CONFIG_LOCALVERSION="-v8"
++CONFIG_LOCALVERSION=""
+ # CONFIG_LOCALVERSION_AUTO is not set
+ CONFIG_SYSVIPC=y
+ CONFIG_POSIX_MQUEUE=y
+@@ -69,7 +69,7 @@
+ CONFIG_MODULE_UNLOAD=y
+ CONFIG_MODVERSIONS=y
+ CONFIG_MODULE_SRCVERSION_ALL=y
+-CONFIG_MODULE_COMPRESS_XZ=y
++CONFIG_MODULE_COMPRESS_NONE=y
+ CONFIG_BLK_DEV_THROTTLING=y
+ CONFIG_PARTITION_ADVANCED=y
+ CONFIG_MAC_PARTITION=y
+diff -Nur linux-d5066442e39dd9bf4ba6431ffb3f99e3d5085d3f.orig/arch/arm64/configs/bcm2712_defconfig linux-d5066442e39dd9bf4ba6431ffb3f99e3d5085d3f/arch/arm64/configs/bcm2712_defconfig
+--- linux-d5066442e39dd9bf4ba6431ffb3f99e3d5085d3f.orig/arch/arm64/configs/bcm2712_defconfig 2024-01-04 18:44:09.000000000 +0100
++++ linux-d5066442e39dd9bf4ba6431ffb3f99e3d5085d3f/arch/arm64/configs/bcm2712_defconfig 2024-01-06 09:20:34.328388717 +0100
+@@ -1,4 +1,4 @@
+-CONFIG_LOCALVERSION="-v8-16k"
++CONFIG_LOCALVERSION=""
+ # CONFIG_LOCALVERSION_AUTO is not set
+ CONFIG_SYSVIPC=y
+ CONFIG_POSIX_MQUEUE=y
+@@ -72,7 +72,7 @@
+ CONFIG_MODULE_UNLOAD=y
+ CONFIG_MODVERSIONS=y
+ CONFIG_MODULE_SRCVERSION_ALL=y
+-CONFIG_MODULE_COMPRESS_XZ=y
++CONFIG_MODULE_COMPRESS_NONE=y
+ CONFIG_BLK_DEV_THROTTLING=y
+ CONFIG_PARTITION_ADVANCED=y
+ CONFIG_MAC_PARTITION=y
diff --git a/target/linux/patches/stable-4.4-rockpi4/serial-baudrate.patch b/target/linux/patches/stable-4.4-rockpi4/serial-baudrate.patch
new file mode 100644
index 000000000..ba03e2a99
--- /dev/null
+++ b/target/linux/patches/stable-4.4-rockpi4/serial-baudrate.patch
@@ -0,0 +1,23 @@
+diff -Nur linux-stable-4.4-rockpi4.orig/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi linux-stable-4.4-rockpi4/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
+--- linux-stable-4.4-rockpi4.orig/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi 2022-12-09 18:12:00.000000000 +0100
++++ linux-stable-4.4-rockpi4/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi 2022-12-09 22:12:59.489123950 +0100
+@@ -58,7 +58,7 @@
+ rockchip,signal-irq = <182>;
+ rockchip,wake-irq = <0>;
+ rockchip,irq-mode-enable = <1>; /* If enable uart uses irq instead of fiq */
+- rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */
++ rockchip,baudrate = <115200>; /* Only 115200 and 1500000 */
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart2c_xfer>;
+ };
+diff -Nur linux-stable-4.4-rockpi4.orig/scripts/dtc/dtc-lexer.lex.c_shipped linux-stable-4.4-rockpi4/scripts/dtc/dtc-lexer.lex.c_shipped
+--- linux-stable-4.4-rockpi4.orig/scripts/dtc/dtc-lexer.lex.c_shipped 2022-12-09 18:12:07.000000000 +0100
++++ linux-stable-4.4-rockpi4/scripts/dtc/dtc-lexer.lex.c_shipped 2022-12-09 22:11:26.298627242 +0100
+@@ -631,7 +631,6 @@
+ #include "srcpos.h"
+ #include "dtc-parser.tab.h"
+
+-YYLTYPE yylloc;
+ extern bool treesource_error;
+
+ /* CAUTION: this will stop working if we ever use yyless() or yyunput() */
diff --git a/target/lm32/Makefile b/target/lm32/Makefile
index d79009445..6d6af4b0b 100644
--- a/target/lm32/Makefile
+++ b/target/lm32/Makefile
@@ -8,7 +8,7 @@ include $(ADK_TOPDIR)/mk/image.mk
KERNEL:=$(LINUX_DIR)/arch/lm32/boot/simpleImage.milkymist_one
QEMU_ARGS:=-M milkymist
-QEMU_ARGS+=-nographic -nodefaults -monitor pty -serial stdio -append "console=ttyS0"
+QEMU_ARGS+=-nographic -monitor pty -serial stdio -append "console=ttyS0 lpj=250"
#
# target helper text
ifeq ($(ADK_TARGET_FS),archive)
diff --git a/target/lm32/kernel/qemu-lm32 b/target/lm32/kernel/qemu-lm32
index b73bee5ff..b82eb9069 100644
--- a/target/lm32/kernel/qemu-lm32
+++ b/target/lm32/kernel/qemu-lm32
@@ -1,67 +1,5 @@
-CONFIG_BUG=y
-# CONFIG_LOCALVERSION_AUTO is not set
-# CONFIG_FHANDLE is not set
-CONFIG_LOG_BUF_SHIFT=12
+CONFIG_LM32=y
CONFIG_BLK_DEV_INITRD=y
-# CONFIG_RD_BZIP2 is not set
-# CONFIG_RD_LZMA is not set
-# CONFIG_RD_XZ is not set
-# CONFIG_RD_LZO is not set
-# CONFIG_ELF_CORE is not set
-# CONFIG_BASE_FULL is not set
-# CONFIG_EPOLL is not set
-# CONFIG_SIGNALFD is not set
-# CONFIG_EVENTFD is not set
-CONFIG_EMBEDDED=y
-CONFIG_SLAB=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_LBDAF is not set
-# CONFIG_BLK_DEV_BSG is not set
-# CONFIG_IOSCHED_DEADLINE is not set
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_HZ_100=y
-# CONFIG_BINFMT_ELF_FDPIC is not set
-CONFIG_BINFMT_FLAT=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_NET_KEY=y
-CONFIG_INET=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-CONFIG_IP_PNP_RARP=y
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_IPV6 is not set
-# CONFIG_WIRELESS is not set
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=1
-CONFIG_BLK_DEV_RAM_SIZE=8192
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO_SERPORT is not set
-# CONFIG_CONSOLE_TRANSLATIONS is not set
-# CONFIG_DEVKMEM is not set
-CONFIG_SERIAL_MILKYMIST=y
-CONFIG_SERIAL_MILKYMIST_CONSOLE=y
-# CONFIG_HW_RANDOM is not set
-# CONFIG_HWMON is not set
-# CONFIG_USB_SUPPORT is not set
-CONFIG_EXT2_FS=y
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_CRAMFS=y
-CONFIG_ROMFS_FS=y
-# CONFIG_NETWORK_FILESYSTEMS is not set
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_DEBUG_INFO=y
-# CONFIG_SCHED_DEBUG is not set
-# CONFIG_DEBUG_BUGVERBOSE is not set
-CONFIG_CRYPTO_ECHAINIV=y
-# CONFIG_CRYPTO_HW is not set
-CONFIG_CRC_CCITT=y
+CONFIG_BUG=y
+CONFIG_BINFMT_MISC=y
+CONFIG_RD_GZIP=y
diff --git a/target/lm32/uclibc-ng-nommu.config b/target/lm32/uclibc-ng-nommu.config
new file mode 100644
index 000000000..dbdf5613c
--- /dev/null
+++ b/target/lm32/uclibc-ng-nommu.config
@@ -0,0 +1,212 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# uClibc-ng 1.0.44 C Library Configuration
+#
+# TARGET_aarch64 is not set
+# TARGET_alpha is not set
+# TARGET_arc is not set
+# TARGET_arm is not set
+# TARGET_avr32 is not set
+# TARGET_bfin is not set
+# TARGET_c6x is not set
+# TARGET_cris is not set
+# TARGET_csky is not set
+# TARGET_frv is not set
+# TARGET_h8300 is not set
+# TARGET_hppa is not set
+# TARGET_i386 is not set
+# TARGET_ia64 is not set
+# TARGET_kvx is not set
+TARGET_lm32=y
+# TARGET_m68k is not set
+# TARGET_metag is not set
+# TARGET_microblaze is not set
+# TARGET_mips is not set
+# TARGET_nds32 is not set
+# TARGET_nios2 is not set
+# TARGET_or1k is not set
+# TARGET_powerpc is not set
+# TARGET_riscv64 is not set
+# TARGET_riscv32 is not set
+# TARGET_sh is not set
+# TARGET_sparc is not set
+# TARGET_sparc64 is not set
+# TARGET_tile is not set
+# TARGET_x86_64 is not set
+# TARGET_xtensa is not set
+TARGET_LDSO_NAME="ld-uClibc"
+TARGET_ARCH_BITS=32
+
+#
+# Target Architecture Features and Options
+#
+TARGET_ARCH="lm32"
+FORCE_OPTIONS_FOR_ARCH=y
+TARGET_SUBARCH=""
+UCLIBC_FORMAT_FLAT=y
+# UCLIBC_FORMAT_FLAT_SEP_DATA is not set
+# UCLIBC_FORMAT_SHARED_FLAT is not set
+ARCH_HAS_DEPRECATED_SYSCALLS=y
+ARCH_BIG_ENDIAN=y
+
+#
+# Using Big Endian
+#
+ARCH_HAS_NO_MMU=y
+
+#
+# Target CPU lacks a memory management unit (MMU)
+#
+UCLIBC_HAS_FLOATS=y
+# UCLIBC_HAS_FPU is not set
+UCLIBC_HAS_SOFT_FLOAT=y
+DO_C99_MATH=y
+DO_XSI_MATH=y
+# UCLIBC_HAS_LONG_DOUBLE_MATH is not set
+KERNEL_HEADERS=""
+UCLIBC_UCLINUX_BROKEN_MUNMAP=y
+HAVE_DOT_CONFIG=y
+
+#
+# General Library Settings
+#
+HAVE_NO_PIC=y
+ARCH_HAS_NO_SHARED=y
+ARCH_HAS_NO_LDSO=y
+HAS_NO_THREADS=y
+# UCLIBC_HAS_LINUXTHREADS is not set
+UCLIBC_HAS_LFS=y
+# MALLOC is not set
+MALLOC_SIMPLE=y
+UCLIBC_DYNAMIC_ATEXIT=y
+UCLIBC_HAS_UTMPX=y
+UCLIBC_HAS_UTMP=y
+UCLIBC_SUSV2_LEGACY=y
+UCLIBC_SUSV3_LEGACY=y
+# UCLIBC_SUSV3_LEGACY_MACROS is not set
+UCLIBC_SUSV4_LEGACY=y
+# UCLIBC_STRICT_HEADERS is not set
+# UCLIBC_HAS_STUBS is not set
+UCLIBC_HAS_SHADOW=y
+UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y
+UCLIBC_HAS___PROGNAME=y
+UCLIBC_HAS_PTY=y
+ASSUME_DEVPTS=y
+UNIX98PTY_ONLY=y
+UCLIBC_HAS_GETPT=y
+UCLIBC_HAS_LIBUTIL=y
+UCLIBC_HAS_TM_EXTENSIONS=y
+UCLIBC_HAS_TZ_CACHING=y
+UCLIBC_HAS_TZ_FILE=y
+UCLIBC_HAS_TZ_FILE_READ_MANY=y
+UCLIBC_TZ_FILE_PATH="/etc/TZ"
+UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
+
+#
+# Advanced Library Settings
+#
+UCLIBC_PWD_BUFFER_SIZE=256
+UCLIBC_GRP_BUFFER_SIZE=256
+
+#
+# Support various families of functions
+#
+UCLIBC_LINUX_SPECIFIC=y
+UCLIBC_HAS_GNU_ERROR=y
+UCLIBC_BSD_SPECIFIC=y
+UCLIBC_HAS_BSD_ERR=y
+UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
+# UCLIBC_HAS_BSD_B64_NTOP_B64_PTON is not set
+# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
+# UCLIBC_NTP_LEGACY is not set
+UCLIBC_SV4_DEPRECATED=y
+UCLIBC_HAS_REALTIME=y
+UCLIBC_HAS_ADVANCED_REALTIME=y
+UCLIBC_HAS_EPOLL=y
+UCLIBC_HAS_XATTR=y
+# UCLIBC_HAS_PROFILING is not set
+UCLIBC_HAS_CRYPT_IMPL=y
+UCLIBC_HAS_SHA256_CRYPT_IMPL=y
+UCLIBC_HAS_SHA512_CRYPT_IMPL=y
+UCLIBC_HAS_CRYPT=y
+# UCLIBC_HAS_NETWORK_SUPPORT is not set
+
+#
+# String and Stdio Support
+#
+UCLIBC_HAS_STRING_GENERIC_OPT=y
+UCLIBC_HAS_STRING_ARCH_OPT=y
+UCLIBC_HAS_CTYPE_TABLES=y
+UCLIBC_HAS_CTYPE_SIGNED=y
+# UCLIBC_HAS_CTYPE_UNSAFE is not set
+UCLIBC_HAS_CTYPE_CHECKED=y
+# UCLIBC_HAS_CTYPE_ENFORCED is not set
+# UCLIBC_HAS_WCHAR is not set
+# UCLIBC_HAS_LIBICONV is not set
+# UCLIBC_HAS_LIBINTL is not set
+# UCLIBC_HAS_LOCALE is not set
+# UCLIBC_HAS_HEXADECIMAL_FLOATS is not set
+# UCLIBC_HAS_GLIBC_CUSTOM_PRINTF is not set
+# USE_OLD_VFPRINTF is not set
+UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
+# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
+UCLIBC_HAS_STDIO_BUFSIZ_4096=y
+# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
+UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
+# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
+UCLIBC_HAS_STDIO_GETC_MACRO=y
+UCLIBC_HAS_STDIO_PUTC_MACRO=y
+UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
+# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
+UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
+UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE=y
+UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
+UCLIBC_HAS_PRINTF_M_SPEC=y
+UCLIBC_HAS_ERRNO_MESSAGES=y
+# UCLIBC_HAS_SYS_ERRLIST is not set
+UCLIBC_HAS_SIGNUM_MESSAGES=y
+# UCLIBC_HAS_SYS_SIGLIST is not set
+UCLIBC_HAS_GNU_GETOPT=y
+UCLIBC_HAS_GETOPT_LONG=y
+UCLIBC_HAS_GNU_GETSUBOPT=y
+# UCLIBC_HAS_ARGP is not set
+
+#
+# Big and Tall
+#
+# UCLIBC_HAS_REGEX is not set
+# UCLIBC_HAS_FNMATCH is not set
+# UCLIBC_HAS_NFTW is not set
+# UCLIBC_HAS_FTW is not set
+# UCLIBC_HAS_FTS is not set
+
+#
+# Library Installation Options
+#
+RUNTIME_PREFIX="/"
+DEVEL_PREFIX="/usr/"
+MULTILIB_DIR="lib"
+HARDWIRED_ABSPATH=y
+
+#
+# Security options
+#
+# UCLIBC_HAS_SSP is not set
+# UCLIBC_BUILD_NOEXECSTACK is not set
+
+#
+# Development/debugging options
+#
+CROSS_COMPILER_PREFIX=""
+UCLIBC_EXTRA_CFLAGS=""
+# DODEBUG is not set
+# DOSTRIP is not set
+# DOASSERTS is not set
+WARNINGS="-Wall"
+# EXTRA_WARNINGS is not set
diff --git a/target/lm32/uclibc-ng.config b/target/lm32/uclibc-ng.config
deleted file mode 100644
index 04fafd377..000000000
--- a/target/lm32/uclibc-ng.config
+++ /dev/null
@@ -1,221 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# uClibc-ng 1.0.25 C Library Configuration
-#
-# TARGET_aarch64 is not set
-# TARGET_alpha is not set
-# TARGET_arc is not set
-# TARGET_arm is not set
-# TARGET_avr32 is not set
-# TARGET_bfin is not set
-# TARGET_c6x is not set
-# TARGET_cris is not set
-# TARGET_frv is not set
-# TARGET_h8300 is not set
-# TARGET_hppa is not set
-# TARGET_i386 is not set
-# TARGET_ia64 is not set
-TARGET_lm32=y
-# TARGET_m68k is not set
-# TARGET_metag is not set
-# TARGET_microblaze is not set
-# TARGET_mips is not set
-# TARGET_nds32 is not set
-# TARGET_nios2 is not set
-# TARGET_or1k is not set
-# TARGET_powerpc is not set
-# TARGET_sh is not set
-# TARGET_sparc is not set
-# TARGET_sparc64 is not set
-# TARGET_x86_64 is not set
-# TARGET_xtensa is not set
-
-#
-# Target Architecture Features and Options
-#
-TARGET_ARCH="lm32"
-FORCE_OPTIONS_FOR_ARCH=y
-TARGET_SUBARCH=""
-UCLIBC_FORMAT_FLAT=y
-# UCLIBC_FORMAT_FLAT_SEP_DATA is not set
-# UCLIBC_FORMAT_SHARED_FLAT is not set
-ARCH_HAS_DEPRECATED_SYSCALLS=y
-ARCH_BIG_ENDIAN=y
-
-#
-# Using Big Endian
-#
-ARCH_HAS_NO_MMU=y
-
-#
-# Target CPU lacks a memory management unit (MMU)
-#
-UCLIBC_HAS_FLOATS=y
-UCLIBC_HAS_FPU=y
-DO_C99_MATH=y
-DO_XSI_MATH=y
-# UCLIBC_HAS_FENV is not set
-UCLIBC_HAS_LONG_DOUBLE_MATH=y
-KERNEL_HEADERS=""
-UCLIBC_UCLINUX_BROKEN_MUNMAP=y
-HAVE_DOT_CONFIG=y
-
-#
-# General Library Settings
-#
-HAVE_NO_PIC=y
-ARCH_HAS_NO_SHARED=y
-ARCH_HAS_NO_LDSO=y
-UCLIBC_CTOR_DTOR=y
-# HAS_NO_THREADS is not set
-UCLIBC_HAS_LINUXTHREADS=y
-UCLIBC_HAS_THREADS=y
-PTHREADS_DEBUG_SUPPORT=y
-UCLIBC_HAS_SYSLOG=y
-UCLIBC_HAS_LFS=y
-MALLOC=y
-# MALLOC_SIMPLE is not set
-UCLIBC_DYNAMIC_ATEXIT=y
-UCLIBC_HAS_UTMPX=y
-UCLIBC_HAS_UTMP=y
-UCLIBC_SUSV2_LEGACY=y
-UCLIBC_SUSV3_LEGACY=y
-# UCLIBC_SUSV3_LEGACY_MACROS is not set
-UCLIBC_SUSV4_LEGACY=y
-# UCLIBC_STRICT_HEADERS is not set
-# UCLIBC_HAS_STUBS is not set
-UCLIBC_HAS_SHADOW=y
-UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y
-UCLIBC_HAS___PROGNAME=y
-UCLIBC_HAS_PTY=y
-ASSUME_DEVPTS=y
-UNIX98PTY_ONLY=y
-UCLIBC_HAS_GETPT=y
-UCLIBC_HAS_LIBUTIL=y
-UCLIBC_HAS_TM_EXTENSIONS=y
-UCLIBC_HAS_TZ_CACHING=y
-UCLIBC_HAS_TZ_FILE=y
-UCLIBC_HAS_TZ_FILE_READ_MANY=y
-UCLIBC_TZ_FILE_PATH="/etc/TZ"
-UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
-
-#
-# Advanced Library Settings
-#
-UCLIBC_PWD_BUFFER_SIZE=256
-UCLIBC_GRP_BUFFER_SIZE=256
-
-#
-# Support various families of functions
-#
-UCLIBC_LINUX_SPECIFIC=y
-UCLIBC_HAS_GNU_ERROR=y
-UCLIBC_BSD_SPECIFIC=y
-UCLIBC_HAS_BSD_ERR=y
-UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
-# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
-# UCLIBC_NTP_LEGACY is not set
-UCLIBC_SV4_DEPRECATED=y
-UCLIBC_HAS_REALTIME=y
-UCLIBC_HAS_ADVANCED_REALTIME=y
-UCLIBC_HAS_EPOLL=y
-UCLIBC_HAS_XATTR=y
-# UCLIBC_HAS_PROFILING is not set
-UCLIBC_HAS_CRYPT_IMPL=y
-UCLIBC_HAS_SHA256_CRYPT_IMPL=y
-UCLIBC_HAS_SHA512_CRYPT_IMPL=y
-UCLIBC_HAS_CRYPT=y
-UCLIBC_HAS_NETWORK_SUPPORT=y
-UCLIBC_HAS_SOCKET=y
-UCLIBC_HAS_IPV4=y
-UCLIBC_HAS_IPV6=y
-UCLIBC_USE_NETLINK=y
-UCLIBC_SUPPORT_AI_ADDRCONFIG=y
-UCLIBC_HAS_BSD_RES_CLOSE=y
-UCLIBC_HAS_COMPAT_RES_STATE=y
-# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
-UCLIBC_HAS_RESOLVER_SUPPORT=y
-
-#
-# String and Stdio Support
-#
-UCLIBC_HAS_STRING_GENERIC_OPT=y
-UCLIBC_HAS_STRING_ARCH_OPT=y
-UCLIBC_HAS_CTYPE_TABLES=y
-UCLIBC_HAS_CTYPE_SIGNED=y
-# UCLIBC_HAS_CTYPE_UNSAFE is not set
-UCLIBC_HAS_CTYPE_CHECKED=y
-# UCLIBC_HAS_CTYPE_ENFORCED is not set
-UCLIBC_HAS_WCHAR=y
-# UCLIBC_HAS_LIBICONV is not set
-# UCLIBC_HAS_LIBINTL is not set
-# UCLIBC_HAS_LOCALE is not set
-UCLIBC_HAS_HEXADECIMAL_FLOATS=y
-UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
-UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
-# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
-UCLIBC_HAS_STDIO_BUFSIZ_4096=y
-# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
-UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
-# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
-UCLIBC_HAS_STDIO_GETC_MACRO=y
-UCLIBC_HAS_STDIO_PUTC_MACRO=y
-UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
-# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
-UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
-UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE=y
-UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
-UCLIBC_HAS_PRINTF_M_SPEC=y
-UCLIBC_HAS_ERRNO_MESSAGES=y
-# UCLIBC_HAS_SYS_ERRLIST is not set
-UCLIBC_HAS_SIGNUM_MESSAGES=y
-# UCLIBC_HAS_SYS_SIGLIST is not set
-UCLIBC_HAS_GNU_GETOPT=y
-UCLIBC_HAS_GETOPT_LONG=y
-UCLIBC_HAS_GNU_GETSUBOPT=y
-UCLIBC_HAS_ARGP=y
-
-#
-# Big and Tall
-#
-UCLIBC_HAS_REGEX=y
-UCLIBC_HAS_FNMATCH=y
-UCLIBC_HAS_WORDEXP=y
-UCLIBC_HAS_NFTW=y
-UCLIBC_HAS_FTW=y
-UCLIBC_HAS_FTS=y
-UCLIBC_HAS_GLOB=y
-UCLIBC_HAS_GNU_GLOB=y
-
-#
-# Library Installation Options
-#
-RUNTIME_PREFIX="/"
-DEVEL_PREFIX="/usr/"
-MULTILIB_DIR="lib"
-HARDWIRED_ABSPATH=y
-
-#
-# Security options
-#
-# UCLIBC_HAS_ARC4RANDOM is not set
-# UCLIBC_HAS_SSP is not set
-UCLIBC_BUILD_NOEXECSTACK=y
-
-#
-# Development/debugging options
-#
-CROSS_COMPILER_PREFIX=""
-UCLIBC_EXTRA_CFLAGS=""
-# DODEBUG is not set
-# DODEBUG_PT is not set
-# DOSTRIP is not set
-# DOASSERTS is not set
-# UCLIBC_MALLOC_DEBUGGING is not set
-WARNINGS="-Wall"
-# EXTRA_WARNINGS is not set
diff --git a/target/loongarch/Makefile b/target/loongarch/Makefile
new file mode 100644
index 000000000..c238b5e62
--- /dev/null
+++ b/target/loongarch/Makefile
@@ -0,0 +1,62 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+include $(ADK_TOPDIR)/mk/kernel-build.mk
+include $(ADK_TOPDIR)/mk/image.mk
+
+KERNEL:=$(LINUX_DIR)/arch/loongarch/boot/vmlinux.efi
+
+QEMU_ARGS:=-M virt -bios target/loongarch/QEMU_EFI.fd -append "console=ttyS0,115200"
+QEMU_ARGS+=-nographic
+#
+# target helper text
+ifeq ($(ADK_TARGET_FS),archive)
+targethelp:
+ @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSTARBALL)"
+ifeq ($(ADK_TARGET_QEMU),y)
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+ @echo "Use following command to create a QEMU Image:"
+ @echo "./scripts/create.sh qemu-${ADK_TARGET_CPU_ARCH}.img $(FW_DIR)/$(ROOTFSUSERTARBALL)"
+ @echo "Start qemu with following options:"
+ @echo 'qemu-system-${ADK_TARGET_CPU_ARCH} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${ADK_TARGET_CPU_ARCH}.img'
+endif
+endif
+ifeq ($(ADK_TARGET_FS),initramfs)
+targethelp:
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+ @echo 'The initramfs image is: ${FW_DIR}/${INITRAMFS}'
+ifeq ($(ADK_TARGET_QEMU),y)
+ @echo "Start qemu with following command line:"
+ @echo 'qemu-system-${ADK_TARGET_CPU_ARCH} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL) -initrd ${FW_DIR}/${INITRAMFS}'
+endif
+endif
+ifeq ($(ADK_TARGET_FS),initramfsarchive)
+targethelp:
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+ @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
+endif
+ifeq ($(ADK_TARGET_FS),initramfspiggyback)
+targethelp:
+ @echo 'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}'
+ifeq ($(ADK_TARGET_QEMU),y)
+ @echo "Start qemu with following command line:"
+ @echo 'qemu-system-${ADK_TARGET_CPU_ARCH} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL)'
+endif
+endif
+
+kernel-strip:
+
+kernel-install: kernel-strip
+ @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
+
+# filesystem specific targets
+ifeq ($(ADK_TARGET_FS),initramfs)
+imageinstall: kernel-install $(FW_DIR)/$(INITRAMFS) targethelp
+endif
+ifeq ($(ADK_TARGET_FS),initramfsarchive)
+imageinstall: kernel-install $(FW_DIR)/$(ROOTFSUSERTARBALL) targethelp
+endif
+ifeq ($(ADK_TARGET_FS),initramfspiggyback)
+imageinstall: createinitramfs targethelp
+endif
diff --git a/target/loongarch/QEMU_EFI.fd b/target/loongarch/QEMU_EFI.fd
new file mode 100644
index 000000000..f1fc9dc4c
--- /dev/null
+++ b/target/loongarch/QEMU_EFI.fd
Binary files differ
diff --git a/target/loongarch/kernel/qemu-loongarch b/target/loongarch/kernel/qemu-loongarch
new file mode 100644
index 000000000..579c3f26e
--- /dev/null
+++ b/target/loongarch/kernel/qemu-loongarch
@@ -0,0 +1,10 @@
+CONFIG_LOONGARCH=y
+CONFIG_64BIT=y
+CONFIG_MACH_LOONGSON64=y
+CONFIG_ACPI=y
+CONFIG_IRQ_DOMAIN=y
+CONFIG_EFI=y
+CONFIG_EFI_STUB=y
+CONFIG_SMP=y
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
diff --git a/target/loongarch/systems/qemu-loongarch b/target/loongarch/systems/qemu-loongarch
new file mode 100644
index 000000000..3b5d940de
--- /dev/null
+++ b/target/loongarch/systems/qemu-loongarch
@@ -0,0 +1,8 @@
+config ADK_TARGET_SYSTEM_QEMU_LOONGARCH
+ bool "Qemu Emulator"
+ select ADK_TARGET_QEMU
+ select ADK_TARGET_CPU_LOONGARCH
+ select ADK_TARGET_KERNEL_VMLINUX_EFI
+ help
+ Support for Qemu Emulator Loongarch architecture.
+
diff --git a/target/m68k/Makefile b/target/m68k/Makefile
index 0ffd9b8a2..0b742ed19 100644
--- a/target/m68k/Makefile
+++ b/target/m68k/Makefile
@@ -8,6 +8,12 @@ include $(ADK_TOPDIR)/mk/image.mk
KERNEL:=$(LINUX_DIR)/vmlinux
QEMU_ARGS:=${ADK_QEMU_ARGS}
+ifeq ($(ADK_TARGET_SYSTEM_QEMU_M68K_VIRT),y)
+QEMU_ARGS+=-M virt -m 512M -netdev user,id=eth0 -device virtio-net-device,netdev=eth0
+ifeq ($(ADK_TARGET_FS),archive)
+QEMU_ARGS+=-append "rootwait root=/dev/vda1 ro" -drive file=qemu-m68k.img,format=raw,id=hd0 -device virtio-blk-device,drive=hd0
+endif
+endif
ifeq ($(ADK_TARGET_SYSTEM_QEMU_M68K_Q800),y)
QEMU_ARGS+=-M q800
endif
@@ -24,9 +30,13 @@ ifeq ($(ADK_TARGET_QEMU),y)
@echo "Use following command to create a QEMU Image:"
@echo "./scripts/create.sh qemu-${ADK_TARGET_CPU_ARCH}.img $(FW_DIR)/$(ROOTFSUSERTARBALL)"
@echo "Start qemu with following options:"
+ifeq ($(ADK_TARGET_SYSTEM_QEMU_M68K_VIRT),y)
+ @echo 'qemu-system-${ADK_TARGET_CPU_ARCH} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL)'
+else
@echo 'qemu-system-${ADK_TARGET_CPU_ARCH} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${ADK_TARGET_CPU_ARCH}.img'
endif
endif
+endif
ifeq ($(ADK_TARGET_FS),initramfs)
targethelp:
@echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
diff --git a/target/m68k/kernel/aranym-m68k b/target/m68k/kernel/aranym-m68k
index fb084e4b9..9a4db207a 100644
--- a/target/m68k/kernel/aranym-m68k
+++ b/target/m68k/kernel/aranym-m68k
@@ -6,3 +6,4 @@ CONFIG_FPU=y
CONFIG_ATARI=y
CONFIG_NATFEAT=y
CONFIG_NFETH=y
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/m68k/kernel/qemu-m68k-mcf5208 b/target/m68k/kernel/qemu-m68k-mcf5208
index 42497f9fa..9cfa4b601 100644
--- a/target/m68k/kernel/qemu-m68k-mcf5208
+++ b/target/m68k/kernel/qemu-m68k-mcf5208
@@ -16,3 +16,4 @@ CONFIG_RAMKERNEL=y
CONFIG_BOOTPARAM=y
CONFIG_BOOTPARAM_STRING="console=ttyS0,115200"
CONFIG_CRC32=y
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/m68k/kernel/qemu-m68k-q800 b/target/m68k/kernel/qemu-m68k-q800
index 05324c42b..69cac7e51 100644
--- a/target/m68k/kernel/qemu-m68k-q800
+++ b/target/m68k/kernel/qemu-m68k-q800
@@ -7,3 +7,4 @@ CONFIG_ADB=y
CONFIG_ADB_MACII=y
CONFIG_BOOTPARAM=y
CONFIG_BOOTPARAM_STRING=""
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/m68k/kernel/qemu-m68k-virt b/target/m68k/kernel/qemu-m68k-virt
new file mode 100644
index 000000000..47e9200d4
--- /dev/null
+++ b/target/m68k/kernel/qemu-m68k-virt
@@ -0,0 +1,3 @@
+CONFIG_M68K=y
+CONFIG_VIRT=y
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/m68k/systems/qemu-m68k-mcf5208 b/target/m68k/systems/qemu-m68k-mcf5208
index 921300bbc..8adcbc3a7 100644
--- a/target/m68k/systems/qemu-m68k-mcf5208
+++ b/target/m68k/systems/qemu-m68k-mcf5208
@@ -2,8 +2,7 @@ config ADK_TARGET_SYSTEM_QEMU_M68K_MCF5208
bool "Qemu M68K (Coldfire MCF5208)"
select ADK_TARGET_QEMU
select ADK_TARGET_CPU_CF_5208
- select ADK_TARGET_BINFMT_FLAT
- select ADK_TARGET_UCLINUX
+ select ADK_TARGET_UCLINUX if ADK_TARGET_BINFMT_FLAT
select ADK_TARGET_KERNEL_ZIMAGE
select ADK_TARGET_KERNEL_WITH_COMPRESSION
help
diff --git a/target/m68k/systems/qemu-m68k-virt b/target/m68k/systems/qemu-m68k-virt
new file mode 100644
index 000000000..55493b9f1
--- /dev/null
+++ b/target/m68k/systems/qemu-m68k-virt
@@ -0,0 +1,10 @@
+config ADK_TARGET_SYSTEM_QEMU_M68K_VIRT
+ bool "Qemu M68K (virt)"
+ select ADK_TARGET_QEMU
+ select ADK_TARGET_WITH_MMU
+ select ADK_TARGET_CPU_M68K_68040
+ select ADK_TARGET_KERNEL_ZIMAGE
+ select ADK_TARGET_KERNEL_WITH_COMPRESSION
+ help
+ Support for Qemu Emulator with M68K architecture (virt).
+
diff --git a/target/m68k/uclibc-ng-nommu.config b/target/m68k/uclibc-ng-nommu.config
new file mode 100644
index 000000000..ce2bcc269
--- /dev/null
+++ b/target/m68k/uclibc-ng-nommu.config
@@ -0,0 +1,229 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# uClibc-ng 1.0.45 C Library Configuration
+#
+# TARGET_aarch64 is not set
+# TARGET_alpha is not set
+# TARGET_arc is not set
+# TARGET_arm is not set
+# TARGET_avr32 is not set
+# TARGET_bfin is not set
+# TARGET_c6x is not set
+# TARGET_cris is not set
+# TARGET_csky is not set
+# TARGET_frv is not set
+# TARGET_h8300 is not set
+# TARGET_hppa is not set
+# TARGET_i386 is not set
+# TARGET_ia64 is not set
+# TARGET_kvx is not set
+# TARGET_lm32 is not set
+TARGET_m68k=y
+# TARGET_metag is not set
+# TARGET_microblaze is not set
+# TARGET_mips is not set
+# TARGET_nds32 is not set
+# TARGET_nios2 is not set
+# TARGET_or1k is not set
+# TARGET_powerpc is not set
+# TARGET_riscv64 is not set
+# TARGET_riscv32 is not set
+# TARGET_sh is not set
+# TARGET_sparc is not set
+# TARGET_sparc64 is not set
+# TARGET_tile is not set
+# TARGET_x86_64 is not set
+# TARGET_xtensa is not set
+TARGET_LDSO_NAME="ld-uClibc"
+TARGET_ARCH_BITS=32
+
+#
+# Target Architecture Features and Options
+#
+TARGET_ARCH="m68k"
+FORCE_OPTIONS_FOR_ARCH=y
+TARGET_SUBARCH=""
+UCLIBC_FORMAT_ELF=y
+# UCLIBC_FORMAT_FLAT is not set
+# UCLIBC_FORMAT_FLAT_SEP_DATA is not set
+# UCLIBC_FORMAT_SHARED_FLAT is not set
+ARCH_HAS_DEPRECATED_SYSCALLS=y
+ARCH_BIG_ENDIAN=y
+
+#
+# Using Big Endian
+#
+ARCH_HAS_MMU=y
+# ARCH_USE_MMU is not set
+UCLIBC_HAS_FLOATS=y
+UCLIBC_HAS_FPU=y
+DO_C99_MATH=y
+DO_XSI_MATH=y
+UCLIBC_HAS_LONG_DOUBLE_MATH=y
+KERNEL_HEADERS=""
+UCLIBC_UCLINUX_BROKEN_MUNMAP=y
+HAVE_DOT_CONFIG=y
+
+#
+# General Library Settings
+#
+DOPIC=y
+STATIC_PIE=y
+ARCH_HAS_NO_SHARED=y
+HAVE_LDSO=y
+UCLIBC_CTOR_DTOR=y
+HAS_NO_THREADS=y
+# UCLIBC_HAS_LINUXTHREADS is not set
+PTHREADS_STACK_DEFAULT_SIZE=2097152
+UCLIBC_HAS_SYSLOG=y
+UCLIBC_HAS_LFS=y
+MALLOC=y
+# MALLOC_SIMPLE is not set
+UCLIBC_DYNAMIC_ATEXIT=y
+UCLIBC_HAS_UTMPX=y
+UCLIBC_HAS_UTMP=y
+UCLIBC_SUSV2_LEGACY=y
+UCLIBC_SUSV3_LEGACY=y
+# UCLIBC_SUSV3_LEGACY_MACROS is not set
+UCLIBC_SUSV4_LEGACY=y
+# UCLIBC_STRICT_HEADERS is not set
+# UCLIBC_HAS_STUBS is not set
+UCLIBC_HAS_SHADOW=y
+UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y
+UCLIBC_HAS___PROGNAME=y
+UCLIBC_HAS_PTY=y
+ASSUME_DEVPTS=y
+UNIX98PTY_ONLY=y
+UCLIBC_HAS_GETPT=y
+UCLIBC_HAS_LIBUTIL=y
+UCLIBC_HAS_TM_EXTENSIONS=y
+UCLIBC_HAS_TZ_CACHING=y
+UCLIBC_HAS_TZ_FILE=y
+UCLIBC_HAS_TZ_FILE_READ_MANY=y
+UCLIBC_TZ_FILE_PATH="/etc/TZ"
+UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
+UCLIBC_USE_TIME64=y
+
+#
+# Advanced Library Settings
+#
+UCLIBC_PWD_BUFFER_SIZE=256
+UCLIBC_GRP_BUFFER_SIZE=256
+
+#
+# Support various families of functions
+#
+UCLIBC_LINUX_SPECIFIC=y
+UCLIBC_HAS_GNU_ERROR=y
+UCLIBC_BSD_SPECIFIC=y
+UCLIBC_HAS_BSD_ERR=y
+UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
+# UCLIBC_HAS_BSD_B64_NTOP_B64_PTON is not set
+# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
+# UCLIBC_NTP_LEGACY is not set
+UCLIBC_SV4_DEPRECATED=y
+UCLIBC_HAS_REALTIME=y
+UCLIBC_HAS_ADVANCED_REALTIME=y
+UCLIBC_HAS_EPOLL=y
+UCLIBC_HAS_XATTR=y
+# UCLIBC_HAS_PROFILING is not set
+UCLIBC_HAS_CRYPT_IMPL=y
+UCLIBC_HAS_SHA256_CRYPT_IMPL=y
+UCLIBC_HAS_SHA512_CRYPT_IMPL=y
+UCLIBC_HAS_CRYPT=y
+UCLIBC_HAS_NETWORK_SUPPORT=y
+UCLIBC_HAS_SOCKET=y
+UCLIBC_HAS_IPV4=y
+UCLIBC_HAS_IPV6=y
+UCLIBC_USE_NETLINK=y
+UCLIBC_SUPPORT_AI_ADDRCONFIG=y
+UCLIBC_HAS_BSD_RES_CLOSE=y
+UCLIBC_HAS_COMPAT_RES_STATE=y
+# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
+UCLIBC_HAS_RESOLVER_SUPPORT=y
+# UCLIBC_DNSRAND_MODE_URANDOM is not set
+# UCLIBC_DNSRAND_MODE_CLOCK is not set
+UCLIBC_DNSRAND_MODE_PRNGPLUS=y
+# UCLIBC_DNSRAND_MODE_SIMPLECOUNTER is not set
+
+#
+# String and Stdio Support
+#
+UCLIBC_HAS_STRING_GENERIC_OPT=y
+UCLIBC_HAS_STRING_ARCH_OPT=y
+UCLIBC_HAS_CTYPE_TABLES=y
+UCLIBC_HAS_CTYPE_SIGNED=y
+# UCLIBC_HAS_CTYPE_UNSAFE is not set
+UCLIBC_HAS_CTYPE_CHECKED=y
+# UCLIBC_HAS_CTYPE_ENFORCED is not set
+UCLIBC_HAS_WCHAR=y
+# UCLIBC_HAS_LIBICONV is not set
+# UCLIBC_HAS_LIBINTL is not set
+# UCLIBC_HAS_LOCALE is not set
+UCLIBC_HAS_HEXADECIMAL_FLOATS=y
+UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
+UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
+# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
+UCLIBC_HAS_STDIO_BUFSIZ_4096=y
+# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
+UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
+# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
+UCLIBC_HAS_STDIO_GETC_MACRO=y
+UCLIBC_HAS_STDIO_PUTC_MACRO=y
+UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
+# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
+UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
+UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE=y
+UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
+UCLIBC_HAS_PRINTF_M_SPEC=y
+UCLIBC_HAS_ERRNO_MESSAGES=y
+# UCLIBC_HAS_SYS_ERRLIST is not set
+UCLIBC_HAS_SIGNUM_MESSAGES=y
+# UCLIBC_HAS_SYS_SIGLIST is not set
+UCLIBC_HAS_GNU_GETOPT=y
+UCLIBC_HAS_GETOPT_LONG=y
+UCLIBC_HAS_GNU_GETSUBOPT=y
+UCLIBC_HAS_ARGP=y
+
+#
+# Big and Tall
+#
+UCLIBC_HAS_REGEX=y
+UCLIBC_HAS_FNMATCH=y
+UCLIBC_HAS_WORDEXP=y
+UCLIBC_HAS_NFTW=y
+UCLIBC_HAS_FTW=y
+UCLIBC_HAS_FTS=y
+UCLIBC_HAS_GLOB=y
+UCLIBC_HAS_GNU_GLOB=y
+
+#
+# Library Installation Options
+#
+RUNTIME_PREFIX="/"
+DEVEL_PREFIX="/usr/"
+MULTILIB_DIR="lib"
+HARDWIRED_ABSPATH=y
+
+#
+# Security options
+#
+# UCLIBC_HAS_SSP is not set
+UCLIBC_BUILD_NOEXECSTACK=y
+
+#
+# Development/debugging options
+#
+CROSS_COMPILER_PREFIX=""
+UCLIBC_EXTRA_CFLAGS=""
+# DODEBUG is not set
+# DOSTRIP is not set
+# DOASSERTS is not set
+# UCLIBC_MALLOC_DEBUGGING is not set
+WARNINGS="-Wall"
+# EXTRA_WARNINGS is not set
diff --git a/target/m68k/uclibc-ng.config b/target/m68k/uclibc-ng.config
index 15e820611..7c8422128 100644
--- a/target/m68k/uclibc-ng.config
+++ b/target/m68k/uclibc-ng.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# uClibc-ng 1.0.27 C Library Configuration
+# uClibc-ng 1.0.45 C Library Configuration
#
# TARGET_aarch64 is not set
# TARGET_alpha is not set
@@ -16,6 +16,7 @@
# TARGET_hppa is not set
# TARGET_i386 is not set
# TARGET_ia64 is not set
+# TARGET_kvx is not set
# TARGET_lm32 is not set
TARGET_m68k=y
# TARGET_metag is not set
@@ -25,11 +26,16 @@ TARGET_m68k=y
# TARGET_nios2 is not set
# TARGET_or1k is not set
# TARGET_powerpc is not set
+# TARGET_riscv64 is not set
+# TARGET_riscv32 is not set
# TARGET_sh is not set
# TARGET_sparc is not set
# TARGET_sparc64 is not set
+# TARGET_tile is not set
# TARGET_x86_64 is not set
# TARGET_xtensa is not set
+TARGET_LDSO_NAME="ld-uClibc"
+TARGET_ARCH_BITS=32
#
# Target Architecture Features and Options
@@ -61,22 +67,23 @@ HAVE_DOT_CONFIG=y
# General Library Settings
#
DOPIC=y
+# STATIC_PIE is not set
+HAVE_LDSO=y
HAVE_SHARED=y
# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
LDSO_LDD_SUPPORT=y
LDSO_CACHE_SUPPORT=y
-# LDSO_PRELOAD_ENV_SUPPORT is not set
+LDSO_PRELOAD_ENV_SUPPORT=y
# LDSO_PRELOAD_FILE_SUPPORT is not set
LDSO_BASE_FILENAME="ld.so"
# LDSO_STANDALONE_SUPPORT is not set
# LDSO_PRELINK_SUPPORT is not set
-# UCLIBC_STATIC_LDCONFIG is not set
+UCLIBC_STATIC_LDCONFIG=y
LDSO_RUNPATH=y
-LDSO_RUNPATH_OF_EXECUTABLE=y
+# LDSO_RUNPATH_OF_EXECUTABLE is not set
LDSO_SAFE_RUNPATH=y
LDSO_SEARCH_INTERP_PATH=y
LDSO_LD_LIBRARY_PATH=y
-LDSO_NO_CLEANUP=y
UCLIBC_CTOR_DTOR=y
# LDSO_GNU_HASH_SUPPORT is not set
# HAS_NO_THREADS is not set
@@ -85,11 +92,12 @@ UCLIBC_HAS_THREADS_NATIVE=y
UCLIBC_HAS_THREADS=y
UCLIBC_HAS_TLS=y
PTHREADS_DEBUG_SUPPORT=y
+PTHREADS_STACK_DEFAULT_SIZE=2097152
UCLIBC_HAS_SYSLOG=y
UCLIBC_HAS_LFS=y
-# MALLOC is not set
+MALLOC=y
# MALLOC_SIMPLE is not set
-MALLOC_STANDARD=y
+# MALLOC_STANDARD is not set
UCLIBC_DYNAMIC_ATEXIT=y
UCLIBC_HAS_UTMPX=y
UCLIBC_HAS_UTMP=y
@@ -113,6 +121,7 @@ UCLIBC_HAS_TZ_FILE=y
UCLIBC_HAS_TZ_FILE_READ_MANY=y
UCLIBC_TZ_FILE_PATH="/etc/TZ"
UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
+UCLIBC_USE_TIME64=y
#
# Advanced Library Settings
@@ -128,6 +137,7 @@ UCLIBC_HAS_GNU_ERROR=y
UCLIBC_BSD_SPECIFIC=y
UCLIBC_HAS_BSD_ERR=y
UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
+# UCLIBC_HAS_BSD_B64_NTOP_B64_PTON is not set
# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
# UCLIBC_NTP_LEGACY is not set
UCLIBC_SV4_DEPRECATED=y
@@ -150,6 +160,10 @@ UCLIBC_HAS_BSD_RES_CLOSE=y
UCLIBC_HAS_COMPAT_RES_STATE=y
# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
UCLIBC_HAS_RESOLVER_SUPPORT=y
+# UCLIBC_DNSRAND_MODE_URANDOM is not set
+# UCLIBC_DNSRAND_MODE_CLOCK is not set
+UCLIBC_DNSRAND_MODE_PRNGPLUS=y
+# UCLIBC_DNSRAND_MODE_SIMPLECOUNTER is not set
#
# String and Stdio Support
@@ -219,9 +233,8 @@ HARDWIRED_ABSPATH=y
#
# Security options
#
-# UCLIBC_HAS_ARC4RANDOM is not set
# UCLIBC_HAS_SSP is not set
-# UCLIBC_BUILD_RELRO is not set
+UCLIBC_BUILD_RELRO=y
# UCLIBC_BUILD_NOW is not set
UCLIBC_BUILD_NOEXECSTACK=y
diff --git a/target/microblaze/kernel/qemu-microblaze-ml605 b/target/microblaze/kernel/qemu-microblaze-ml605
index 932843c13..9749c22fa 100644
--- a/target/microblaze/kernel/qemu-microblaze-ml605
+++ b/target/microblaze/kernel/qemu-microblaze-ml605
@@ -13,3 +13,4 @@ CONFIG_XILINX_MICROBLAZE0_HW_VER="8.10.a"
CONFIG_PCI_XILINX=y
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE_FORCE=y
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/microblaze/kernel/qemu-microblaze-s3adsp1800 b/target/microblaze/kernel/qemu-microblaze-s3adsp1800
index cf8c3a91c..91a7dc577 100644
--- a/target/microblaze/kernel/qemu-microblaze-s3adsp1800
+++ b/target/microblaze/kernel/qemu-microblaze-s3adsp1800
@@ -13,3 +13,4 @@ CONFIG_XILINX_MICROBLAZE0_HW_VER="7.10.d"
CONFIG_PCI_XILINX=y
CONFIG_CMDLINE_FORCE=y
CONFIG_CMDLINE_BOOL=y
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/microblaze/uclibc-ng.config b/target/microblaze/uclibc-ng.config
index 30a782ca3..77848e598 100644
--- a/target/microblaze/uclibc-ng.config
+++ b/target/microblaze/uclibc-ng.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# uClibc-ng 1.0.25 C Library Configuration
+# uClibc-ng 1.0.45 C Library Configuration
#
# TARGET_aarch64 is not set
# TARGET_alpha is not set
@@ -10,11 +10,13 @@
# TARGET_bfin is not set
# TARGET_c6x is not set
# TARGET_cris is not set
+# TARGET_csky is not set
# TARGET_frv is not set
# TARGET_h8300 is not set
# TARGET_hppa is not set
# TARGET_i386 is not set
# TARGET_ia64 is not set
+# TARGET_kvx is not set
# TARGET_lm32 is not set
# TARGET_m68k is not set
# TARGET_metag is not set
@@ -24,11 +26,16 @@ TARGET_microblaze=y
# TARGET_nios2 is not set
# TARGET_or1k is not set
# TARGET_powerpc is not set
+# TARGET_riscv64 is not set
+# TARGET_riscv32 is not set
# TARGET_sh is not set
# TARGET_sparc is not set
# TARGET_sparc64 is not set
+# TARGET_tile is not set
# TARGET_x86_64 is not set
# TARGET_xtensa is not set
+TARGET_LDSO_NAME="ld-uClibc"
+TARGET_ARCH_BITS=32
#
# Target Architecture Features and Options
@@ -51,7 +58,6 @@ UCLIBC_HAS_FLOATS=y
UCLIBC_HAS_FPU=y
DO_C99_MATH=y
DO_XSI_MATH=y
-# UCLIBC_HAS_FENV is not set
UCLIBC_HAS_LONG_DOUBLE_MATH=y
KERNEL_HEADERS=""
HAVE_DOT_CONFIG=y
@@ -60,6 +66,7 @@ HAVE_DOT_CONFIG=y
# General Library Settings
#
DOPIC=y
+HAVE_LDSO=y
HAVE_SHARED=y
# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
LDSO_LDD_SUPPORT=y
@@ -75,7 +82,6 @@ LDSO_RUNPATH_OF_EXECUTABLE=y
LDSO_SAFE_RUNPATH=y
LDSO_SEARCH_INTERP_PATH=y
LDSO_LD_LIBRARY_PATH=y
-LDSO_NO_CLEANUP=y
UCLIBC_CTOR_DTOR=y
# LDSO_GNU_HASH_SUPPORT is not set
# HAS_NO_THREADS is not set
@@ -84,6 +90,7 @@ UCLIBC_HAS_THREADS_NATIVE=y
UCLIBC_HAS_THREADS=y
UCLIBC_HAS_TLS=y
PTHREADS_DEBUG_SUPPORT=y
+PTHREADS_STACK_DEFAULT_SIZE=2097152
UCLIBC_HAS_SYSLOG=y
UCLIBC_HAS_LFS=y
# MALLOC is not set
@@ -112,6 +119,7 @@ UCLIBC_HAS_TZ_FILE=y
UCLIBC_HAS_TZ_FILE_READ_MANY=y
UCLIBC_TZ_FILE_PATH="/etc/TZ"
UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
+UCLIBC_USE_TIME64=y
#
# Advanced Library Settings
@@ -127,6 +135,7 @@ UCLIBC_HAS_GNU_ERROR=y
UCLIBC_BSD_SPECIFIC=y
UCLIBC_HAS_BSD_ERR=y
UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
+# UCLIBC_HAS_BSD_B64_NTOP_B64_PTON is not set
# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
# UCLIBC_NTP_LEGACY is not set
UCLIBC_SV4_DEPRECATED=y
@@ -149,6 +158,10 @@ UCLIBC_HAS_BSD_RES_CLOSE=y
UCLIBC_HAS_COMPAT_RES_STATE=y
# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
UCLIBC_HAS_RESOLVER_SUPPORT=y
+# UCLIBC_DNSRAND_MODE_URANDOM is not set
+# UCLIBC_DNSRAND_MODE_CLOCK is not set
+UCLIBC_DNSRAND_MODE_PRNGPLUS=y
+# UCLIBC_DNSRAND_MODE_SIMPLECOUNTER is not set
#
# String and Stdio Support
@@ -218,7 +231,6 @@ HARDWIRED_ABSPATH=y
#
# Security options
#
-# UCLIBC_HAS_ARC4RANDOM is not set
# UCLIBC_HAS_SSP is not set
# UCLIBC_BUILD_RELRO is not set
# UCLIBC_BUILD_NOW is not set
diff --git a/target/mips/Makefile b/target/mips/Makefile
index 1c35e0b24..db66205bd 100644
--- a/target/mips/Makefile
+++ b/target/mips/Makefile
@@ -38,6 +38,10 @@ ifeq ($(ADK_TARGET_SYSTEM_MIKROTIK_RB532),y)
@echo 'then install kernel and filesystem via:'
@echo 'adkinstall -c -a ${ROOTFSTARBALL}'
endif
+ifeq ($(ADK_TARGET_SYSTEM_IMGTEC_CI20),y)
+ @echo "Use following command to install it on SD card:"
+ @echo "sudo ./scripts/install.sh $(ADK_TARGET_SYSTEM) /dev/sdX $(FW_DIR)/$(ROOTFSTARBALL)"
+endif
endif
ifeq ($(ADK_TARGET_FS),initramfs)
targethelp:
diff --git a/target/mips/kernel/qemu-mips b/target/mips/kernel/qemu-mips
index 94a0a0175..85ad371b6 100644
--- a/target/mips/kernel/qemu-mips
+++ b/target/mips/kernel/qemu-mips
@@ -3,3 +3,4 @@ CONFIG_MIPS_MALTA=y
CONFIG_MIPS_BONITO64=y
CONFIG_MIPS_MSC=y
CONFIG_CMDLINE_BOOL=y
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/mips/systems/imgtec-ci20 b/target/mips/systems/imgtec-ci20
index 3a91f03f6..82ea79683 100644
--- a/target/mips/systems/imgtec-ci20
+++ b/target/mips/systems/imgtec-ci20
@@ -11,6 +11,7 @@ config ADK_TARGET_SYSTEM_IMGTEC_CI20
select ADK_TARGET_WITH_BLOCK
select ADK_TARGET_KERNEL_WITH_COMPRESSION
select ADK_TARGET_KERNEL_UIMAGE
+ select ADK_PACKAGE_U_BOOT
select ADK_HOST_BUILD_U_BOOT
help
Support for Imagination Creator CI20.
diff --git a/target/mips/uclibc-ng.config b/target/mips/uclibc-ng.config
index 605390055..f40befb9f 100644
--- a/target/mips/uclibc-ng.config
+++ b/target/mips/uclibc-ng.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# uClibc-ng 1.0.25 C Library Configuration
+# uClibc-ng 1.0.45 C Library Configuration
#
# TARGET_aarch64 is not set
# TARGET_alpha is not set
@@ -10,11 +10,13 @@
# TARGET_bfin is not set
# TARGET_c6x is not set
# TARGET_cris is not set
+# TARGET_csky is not set
# TARGET_frv is not set
# TARGET_h8300 is not set
# TARGET_hppa is not set
# TARGET_i386 is not set
# TARGET_ia64 is not set
+# TARGET_kvx is not set
# TARGET_lm32 is not set
# TARGET_m68k is not set
# TARGET_metag is not set
@@ -24,11 +26,16 @@ TARGET_mips=y
# TARGET_nios2 is not set
# TARGET_or1k is not set
# TARGET_powerpc is not set
+# TARGET_riscv64 is not set
+# TARGET_riscv32 is not set
# TARGET_sh is not set
# TARGET_sparc is not set
# TARGET_sparc64 is not set
+# TARGET_tile is not set
# TARGET_x86_64 is not set
# TARGET_xtensa is not set
+TARGET_LDSO_NAME="ld-uClibc"
+TARGET_ARCH_BITS=32
#
# Target Architecture Features and Options
@@ -57,7 +64,6 @@ UCLIBC_HAS_FLOATS=y
UCLIBC_HAS_FPU=y
DO_C99_MATH=y
DO_XSI_MATH=y
-# UCLIBC_HAS_FENV is not set
UCLIBC_HAS_LONG_DOUBLE_MATH=y
KERNEL_HEADERS=""
HAVE_DOT_CONFIG=y
@@ -66,7 +72,9 @@ HAVE_DOT_CONFIG=y
# General Library Settings
#
DOPIC=y
+# STATIC_PIE is not set
ARCH_HAS_UCONTEXT=y
+HAVE_LDSO=y
HAVE_SHARED=y
# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
LDSO_LDD_SUPPORT=y
@@ -76,21 +84,22 @@ LDSO_CACHE_SUPPORT=y
LDSO_BASE_FILENAME="ld.so"
# LDSO_STANDALONE_SUPPORT is not set
# LDSO_PRELINK_SUPPORT is not set
+ARCH_VDSO_SUPPORT=y
+# VDSO_SUPPORT is not set
# UCLIBC_STATIC_LDCONFIG is not set
LDSO_RUNPATH=y
LDSO_RUNPATH_OF_EXECUTABLE=y
LDSO_SAFE_RUNPATH=y
LDSO_SEARCH_INTERP_PATH=y
LDSO_LD_LIBRARY_PATH=y
-LDSO_NO_CLEANUP=y
UCLIBC_CTOR_DTOR=y
-# LDSO_GNU_HASH_SUPPORT is not set
# HAS_NO_THREADS is not set
# UCLIBC_HAS_LINUXTHREADS is not set
UCLIBC_HAS_THREADS_NATIVE=y
UCLIBC_HAS_THREADS=y
UCLIBC_HAS_TLS=y
PTHREADS_DEBUG_SUPPORT=y
+PTHREADS_STACK_DEFAULT_SIZE=2097152
UCLIBC_HAS_SYSLOG=y
UCLIBC_HAS_LFS=y
# MALLOC is not set
@@ -120,6 +129,7 @@ UCLIBC_HAS_TZ_FILE=y
UCLIBC_HAS_TZ_FILE_READ_MANY=y
UCLIBC_TZ_FILE_PATH="/etc/TZ"
UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
+UCLIBC_USE_TIME64=y
#
# Advanced Library Settings
@@ -135,6 +145,7 @@ UCLIBC_HAS_GNU_ERROR=y
UCLIBC_BSD_SPECIFIC=y
UCLIBC_HAS_BSD_ERR=y
UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
+# UCLIBC_HAS_BSD_B64_NTOP_B64_PTON is not set
# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
# UCLIBC_NTP_LEGACY is not set
UCLIBC_SV4_DEPRECATED=y
@@ -157,6 +168,10 @@ UCLIBC_HAS_BSD_RES_CLOSE=y
UCLIBC_HAS_COMPAT_RES_STATE=y
# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
UCLIBC_HAS_RESOLVER_SUPPORT=y
+# UCLIBC_DNSRAND_MODE_URANDOM is not set
+# UCLIBC_DNSRAND_MODE_CLOCK is not set
+UCLIBC_DNSRAND_MODE_PRNGPLUS=y
+# UCLIBC_DNSRAND_MODE_SIMPLECOUNTER is not set
#
# String and Stdio Support
@@ -227,7 +242,6 @@ HARDWIRED_ABSPATH=y
# Security options
#
# UCLIBC_BUILD_PIE is not set
-# UCLIBC_HAS_ARC4RANDOM is not set
# UCLIBC_HAS_SSP is not set
# UCLIBC_BUILD_RELRO is not set
# UCLIBC_BUILD_NOW is not set
diff --git a/target/mips64/kernel/qemu-mips64 b/target/mips64/kernel/qemu-mips64
index 1c0076b03..4d0fef235 100644
--- a/target/mips64/kernel/qemu-mips64
+++ b/target/mips64/kernel/qemu-mips64
@@ -4,3 +4,4 @@ CONFIG_MIPS32_COMPAT=y
CONFIG_MIPS32_O32=y
CONFIG_MIPS32_N32=y
CONFIG_BINFMT_ELF32=y
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/nios2/Makefile b/target/nios2/Makefile
index ca418392d..8f08701df 100644
--- a/target/nios2/Makefile
+++ b/target/nios2/Makefile
@@ -59,8 +59,7 @@ kernel-install: kernel-strip
@cp $(BUILD_DIR)/$(TARGET_KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
dtb-install:
- env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \
- 10m50_devboard.dtb $(MAKE_TRACE)
+ ${KERNEL_MAKE} 10m50_devboard.dtb $(MAKE_TRACE)
for x in $(LINUX_DIR)/arch/nios2/boot/*.dtb; do \
[[ -e "$$x" ]] && cp $(LINUX_DIR)/arch/nios2/boot/*.dtb $(FW_DIR); \
break; \
diff --git a/target/nios2/kernel/qemu-nios2 b/target/nios2/kernel/qemu-nios2
index 8de73edf3..19e0ac753 100644
--- a/target/nios2/kernel/qemu-nios2
+++ b/target/nios2/kernel/qemu-nios2
@@ -4,8 +4,11 @@ CONFIG_NIOS2_HW_MUL_SUPPORT=y
CONFIG_NIOS2_HW_DIV_SUPPORT=y
CONFIG_CUSTOM_CACHE_SETTINGS=y
CONFIG_NIOS2_DCACHE_SIZE=0x8000
+CONFIG_NIOS2_DCACHE_LINE_SIZE=0x20
CONFIG_NIOS2_ICACHE_SIZE=0x8000
CONFIG_NIOS2_DTB_SOURCE_BOOL=y
-CONFIG_NIOS2_DTB_SOURCE="arch/nios2/boot/dts/10m50_devboard.dts"
+CONFIG_NIOS2_DTB_SOURCE="10m50_devboard.dts"
CONFIG_CMDLINE_BOOL=y
CONFIG_NIOS2_PASS_CMDLINE=y
+CONFIG_COMPAT_32BIT_TIME=y
+CONFIG_NIOS2_ALIGNMENT_TRAP=y
diff --git a/target/or1k/kernel/qemu-or1k b/target/or1k/kernel/qemu-or1k
index ee4d9d55c..e96067748 100644
--- a/target/or1k/kernel/qemu-or1k
+++ b/target/or1k/kernel/qemu-or1k
@@ -6,3 +6,4 @@ CONFIG_OPENRISC_HAVE_INST_FL1=y
CONFIG_OPENRISC_HAVE_INST_MUL=y
CONFIG_OPENRISC_HAVE_INST_DIV=y
CONFIG_OPENRISC_NO_SPR_SR_DSX=y
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/or1k/uclibc-ng.config b/target/or1k/uclibc-ng.config
index d4d0cf062..881c73107 100644
--- a/target/or1k/uclibc-ng.config
+++ b/target/or1k/uclibc-ng.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# uClibc-ng 1.0.25 C Library Configuration
+# uClibc-ng 1.0.45 C Library Configuration
#
# TARGET_aarch64 is not set
# TARGET_alpha is not set
@@ -10,11 +10,13 @@
# TARGET_bfin is not set
# TARGET_c6x is not set
# TARGET_cris is not set
+# TARGET_csky is not set
# TARGET_frv is not set
# TARGET_h8300 is not set
# TARGET_hppa is not set
# TARGET_i386 is not set
# TARGET_ia64 is not set
+# TARGET_kvx is not set
# TARGET_lm32 is not set
# TARGET_m68k is not set
# TARGET_metag is not set
@@ -24,11 +26,16 @@
# TARGET_nios2 is not set
TARGET_or1k=y
# TARGET_powerpc is not set
+# TARGET_riscv64 is not set
+# TARGET_riscv32 is not set
# TARGET_sh is not set
# TARGET_sparc is not set
# TARGET_sparc64 is not set
+# TARGET_tile is not set
# TARGET_x86_64 is not set
# TARGET_xtensa is not set
+TARGET_LDSO_NAME="ld-uClibc"
+TARGET_ARCH_BITS=32
#
# Target Architecture Features and Options
@@ -51,7 +58,6 @@ UCLIBC_HAS_FLOATS=y
UCLIBC_HAS_FPU=y
DO_C99_MATH=y
DO_XSI_MATH=y
-# UCLIBC_HAS_FENV is not set
UCLIBC_HAS_LONG_DOUBLE_MATH=y
KERNEL_HEADERS=""
HAVE_DOT_CONFIG=y
@@ -60,6 +66,7 @@ HAVE_DOT_CONFIG=y
# General Library Settings
#
DOPIC=y
+HAVE_LDSO=y
HAVE_SHARED=y
# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
LDSO_LDD_SUPPORT=y
@@ -75,7 +82,6 @@ LDSO_RUNPATH_OF_EXECUTABLE=y
LDSO_SAFE_RUNPATH=y
LDSO_SEARCH_INTERP_PATH=y
LDSO_LD_LIBRARY_PATH=y
-LDSO_NO_CLEANUP=y
UCLIBC_CTOR_DTOR=y
# LDSO_GNU_HASH_SUPPORT is not set
# HAS_NO_THREADS is not set
@@ -84,6 +90,7 @@ UCLIBC_HAS_THREADS_NATIVE=y
UCLIBC_HAS_THREADS=y
UCLIBC_HAS_TLS=y
PTHREADS_DEBUG_SUPPORT=y
+PTHREADS_STACK_DEFAULT_SIZE=2097152
UCLIBC_HAS_SYSLOG=y
UCLIBC_HAS_LFS=y
# MALLOC is not set
@@ -112,6 +119,7 @@ UCLIBC_HAS_TZ_FILE=y
UCLIBC_HAS_TZ_FILE_READ_MANY=y
UCLIBC_TZ_FILE_PATH="/etc/TZ"
UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
+UCLIBC_USE_TIME64=y
#
# Advanced Library Settings
@@ -127,6 +135,7 @@ UCLIBC_HAS_GNU_ERROR=y
UCLIBC_BSD_SPECIFIC=y
UCLIBC_HAS_BSD_ERR=y
UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
+# UCLIBC_HAS_BSD_B64_NTOP_B64_PTON is not set
# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
# UCLIBC_NTP_LEGACY is not set
UCLIBC_SV4_DEPRECATED=y
@@ -149,6 +158,10 @@ UCLIBC_HAS_BSD_RES_CLOSE=y
UCLIBC_HAS_COMPAT_RES_STATE=y
# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
UCLIBC_HAS_RESOLVER_SUPPORT=y
+# UCLIBC_DNSRAND_MODE_URANDOM is not set
+# UCLIBC_DNSRAND_MODE_CLOCK is not set
+UCLIBC_DNSRAND_MODE_PRNGPLUS=y
+# UCLIBC_DNSRAND_MODE_SIMPLECOUNTER is not set
#
# String and Stdio Support
@@ -218,7 +231,6 @@ HARDWIRED_ABSPATH=y
#
# Security options
#
-# UCLIBC_HAS_ARC4RANDOM is not set
# UCLIBC_HAS_SSP is not set
# UCLIBC_BUILD_RELRO is not set
# UCLIBC_BUILD_NOW is not set
diff --git a/target/ppc/Makefile b/target/ppc/Makefile
index 2eec72d23..2b143943f 100644
--- a/target/ppc/Makefile
+++ b/target/ppc/Makefile
@@ -74,8 +74,7 @@ kernel-install: kernel-strip
dtb-install:
ifeq ($(ADK_TARGET_SYSTEM_QEMU_PPC_VIRTEX_ML507),y)
- env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \
- -j${ADK_MAKE_JOBS} virtex440-ml507.dtb $(MAKE_TRACE)
+ ${KERNEL_MAKE} virtex440-ml507.dtb $(MAKE_TRACE)
$(CP) $(LINUX_DIR)/arch/powerpc/boot/virtex440-ml507.dtb \
$(FW_DIR)/ppc.dtb
endif
diff --git a/target/ppc/kernel/qemu-ppc-bamboo b/target/ppc/kernel/qemu-ppc-bamboo
index b12292b7b..424addb14 100644
--- a/target/ppc/kernel/qemu-ppc-bamboo
+++ b/target/ppc/kernel/qemu-ppc-bamboo
@@ -3,3 +3,4 @@ CONFIG_PPC32=y
CONFIG_44x=y
CONFIG_BAMBOO=y
CONFIG_PRINTK=y
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/ppc/kernel/qemu-ppc-macppc b/target/ppc/kernel/qemu-ppc-macppc
index b68a484c0..b873a3096 100644
--- a/target/ppc/kernel/qemu-ppc-macppc
+++ b/target/ppc/kernel/qemu-ppc-macppc
@@ -23,3 +23,4 @@ CONFIG_ADB_CUDA=y
CONFIG_INPUT_ADBHID=y
CONFIG_CMDLINE_BOOL=y
CONFIG_PRINTK=y
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/ppc/kernel/qemu-ppc-mpc8544ds b/target/ppc/kernel/qemu-ppc-mpc8544ds
index 1e51d4b07..515cf400c 100644
--- a/target/ppc/kernel/qemu-ppc-mpc8544ds
+++ b/target/ppc/kernel/qemu-ppc-mpc8544ds
@@ -9,3 +9,4 @@ CONFIG_PHYS_64BIT=y
CONFIG_SPE=y
CONFIG_PPC_UDBG_16550=y
CONFIG_DEFAULT_UIMAGE=y
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/ppc/uclibc-ng.config b/target/ppc/uclibc-ng.config
index 112a4c0c2..d566d7318 100644
--- a/target/ppc/uclibc-ng.config
+++ b/target/ppc/uclibc-ng.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# uClibc-ng 1.0.25 C Library Configuration
+# uClibc-ng 1.0.45 C Library Configuration
#
# TARGET_aarch64 is not set
# TARGET_alpha is not set
@@ -10,11 +10,13 @@
# TARGET_bfin is not set
# TARGET_c6x is not set
# TARGET_cris is not set
+# TARGET_csky is not set
# TARGET_frv is not set
# TARGET_h8300 is not set
# TARGET_hppa is not set
# TARGET_i386 is not set
# TARGET_ia64 is not set
+# TARGET_kvx is not set
# TARGET_lm32 is not set
# TARGET_m68k is not set
# TARGET_metag is not set
@@ -24,11 +26,16 @@
# TARGET_nios2 is not set
# TARGET_or1k is not set
TARGET_powerpc=y
+# TARGET_riscv64 is not set
+# TARGET_riscv32 is not set
# TARGET_sh is not set
# TARGET_sparc is not set
# TARGET_sparc64 is not set
+# TARGET_tile is not set
# TARGET_x86_64 is not set
# TARGET_xtensa is not set
+TARGET_LDSO_NAME="ld-uClibc"
+TARGET_ARCH_BITS=32
#
# Target Architecture Features and Options
@@ -54,7 +61,6 @@ UCLIBC_HAS_FLOATS=y
UCLIBC_HAS_FPU=y
DO_C99_MATH=y
DO_XSI_MATH=y
-# UCLIBC_HAS_FENV is not set
UCLIBC_HAS_LONG_DOUBLE_MATH=y
KERNEL_HEADERS=""
HAVE_DOT_CONFIG=y
@@ -63,6 +69,8 @@ HAVE_DOT_CONFIG=y
# General Library Settings
#
DOPIC=y
+# STATIC_PIE is not set
+HAVE_LDSO=y
HAVE_SHARED=y
# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
LDSO_LDD_SUPPORT=y
@@ -78,7 +86,6 @@ LDSO_RUNPATH_OF_EXECUTABLE=y
LDSO_SAFE_RUNPATH=y
LDSO_SEARCH_INTERP_PATH=y
LDSO_LD_LIBRARY_PATH=y
-LDSO_NO_CLEANUP=y
UCLIBC_CTOR_DTOR=y
# LDSO_GNU_HASH_SUPPORT is not set
# HAS_NO_THREADS is not set
@@ -87,6 +94,7 @@ UCLIBC_HAS_THREADS_NATIVE=y
UCLIBC_HAS_THREADS=y
UCLIBC_HAS_TLS=y
PTHREADS_DEBUG_SUPPORT=y
+PTHREADS_STACK_DEFAULT_SIZE=4194304
UCLIBC_HAS_SYSLOG=y
UCLIBC_HAS_LFS=y
# MALLOC is not set
@@ -115,6 +123,7 @@ UCLIBC_HAS_TZ_FILE=y
UCLIBC_HAS_TZ_FILE_READ_MANY=y
UCLIBC_TZ_FILE_PATH="/etc/TZ"
UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
+UCLIBC_USE_TIME64=y
#
# Advanced Library Settings
@@ -130,6 +139,7 @@ UCLIBC_HAS_GNU_ERROR=y
UCLIBC_BSD_SPECIFIC=y
UCLIBC_HAS_BSD_ERR=y
UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
+# UCLIBC_HAS_BSD_B64_NTOP_B64_PTON is not set
# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
# UCLIBC_NTP_LEGACY is not set
UCLIBC_SV4_DEPRECATED=y
@@ -152,6 +162,10 @@ UCLIBC_HAS_BSD_RES_CLOSE=y
UCLIBC_HAS_COMPAT_RES_STATE=y
# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
UCLIBC_HAS_RESOLVER_SUPPORT=y
+# UCLIBC_DNSRAND_MODE_URANDOM is not set
+# UCLIBC_DNSRAND_MODE_CLOCK is not set
+UCLIBC_DNSRAND_MODE_PRNGPLUS=y
+# UCLIBC_DNSRAND_MODE_SIMPLECOUNTER is not set
#
# String and Stdio Support
@@ -222,7 +236,6 @@ HARDWIRED_ABSPATH=y
# Security options
#
# UCLIBC_BUILD_PIE is not set
-# UCLIBC_HAS_ARC4RANDOM is not set
# UCLIBC_HAS_SSP is not set
# UCLIBC_BUILD_RELRO is not set
# UCLIBC_BUILD_NOW is not set
diff --git a/target/riscv32/Makefile b/target/riscv32/Makefile
index 37750d763..3d34f7f09 100644
--- a/target/riscv32/Makefile
+++ b/target/riscv32/Makefile
@@ -6,7 +6,10 @@ include $(ADK_TOPDIR)/mk/kernel-build.mk
include $(ADK_TOPDIR)/mk/image.mk
KERNEL:=$(LINUX_DIR)/arch/riscv/boot/Image
-QEMU_ARGS:=-M virt -m 256 -nographic -device loader,file=$(FW_DIR)/$(TARGET_KERNEL),addr=0x80200000
+QEMU_ARGS:=-M virt -m 512 -nographic
+ifeq ($(ADK_TARGET_WITH_MMU),)
+QEMU_ARGS+=-bios none
+endif
ifeq ($(ADK_TARGET_QEMU_WITH_VIRTIO),y)
QEMU_ARGS+=-netdev user,id=eth0 -device virtio-net-device,netdev=eth0
endif
@@ -45,7 +48,7 @@ targethelp:
@echo 'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}'
ifeq ($(ADK_TARGET_QEMU),y)
@echo "Start qemu with following command line:"
- @echo 'qemu-system-riscv32 ${QEMU_ARGS} -kernel $(FW_DIR)/fw_jump.elf'
+ @echo 'qemu-system-riscv32 ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL)'
endif
endif
@@ -54,21 +57,13 @@ kernel-strip:
kernel-install: kernel-strip
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
-bbl:
- @rm -rf $(BUILD_DIR)/opensbi
- (cd $(BUILD_DIR)/ && git clone https://github.com/riscv/opensbi.git)
- (cd $(BUILD_DIR)/opensbi && PATH='$(HOST_PATH)' \
- CROSS_COMPILE=$(GNU_TARGET_NAME)- \
- PLATFORM=qemu/virt make)
- cp $(BUILD_DIR)/opensbi/build/platform/qemu/virt/firmware/fw_jump.elf $(FW_DIR)
-
# filesystem specific targets
ifeq ($(ADK_TARGET_FS),initramfs)
-imageinstall: kernel-install bbl $(FW_DIR)/$(INITRAMFS) targethelp
+imageinstall: kernel-install $(FW_DIR)/$(INITRAMFS) targethelp
endif
ifeq ($(ADK_TARGET_FS),initramfsarchive)
-imageinstall: kernel-install bbl $(FW_DIR)/$(ROOTFSUSERTARBALL) targethelp
+imageinstall: kernel-install $(FW_DIR)/$(ROOTFSUSERTARBALL) targethelp
endif
ifeq ($(ADK_TARGET_FS),initramfspiggyback)
-imageinstall: createinitramfs bbl targethelp
+imageinstall: createinitramfs targethelp
endif
diff --git a/target/riscv32/kernel/qemu-riscv32 b/target/riscv32/kernel/qemu-riscv32
index ab8ffb263..18c6f367d 100644
--- a/target/riscv32/kernel/qemu-riscv32
+++ b/target/riscv32/kernel/qemu-riscv32
@@ -1,7 +1,6 @@
CONFIG_RISCV=y
-CONFIG_ARCH_RV32I=y
-CONFIG_CMODEL_MEDANY=y
-CONFIG_CPU_RV_GENERIC=y
-CONFIG_RV_SYSRISCV_ATOMIC=y
-CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
CONFIG_32BIT=y
+CONFIG_COMPAT_32BIT_TIME=y
+CONFIG_ARCH_RV32I=y
+CONFIG_SOC_VIRT=y
+CONFIG_NONPORTABLE=y
diff --git a/target/riscv32/uclibc-ng-nommu.config b/target/riscv32/uclibc-ng-nommu.config
new file mode 100644
index 000000000..b5e038314
--- /dev/null
+++ b/target/riscv32/uclibc-ng-nommu.config
@@ -0,0 +1,226 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# uClibc-ng 1.0.45 C Library Configuration
+#
+# TARGET_aarch64 is not set
+# TARGET_alpha is not set
+# TARGET_arc is not set
+# TARGET_arm is not set
+# TARGET_avr32 is not set
+# TARGET_bfin is not set
+# TARGET_c6x is not set
+# TARGET_cris is not set
+# TARGET_csky is not set
+# TARGET_frv is not set
+# TARGET_h8300 is not set
+# TARGET_hppa is not set
+# TARGET_i386 is not set
+# TARGET_ia64 is not set
+# TARGET_kvx is not set
+# TARGET_lm32 is not set
+# TARGET_m68k is not set
+# TARGET_metag is not set
+# TARGET_microblaze is not set
+# TARGET_mips is not set
+# TARGET_nds32 is not set
+# TARGET_nios2 is not set
+# TARGET_or1k is not set
+# TARGET_powerpc is not set
+# TARGET_riscv64 is not set
+TARGET_riscv32=y
+# TARGET_sh is not set
+# TARGET_sparc is not set
+# TARGET_sparc64 is not set
+# TARGET_tile is not set
+# TARGET_x86_64 is not set
+# TARGET_xtensa is not set
+TARGET_LDSO_NAME="ld-uClibc"
+TARGET_ARCH_BITS=32
+
+#
+# Target Architecture Features and Options
+#
+TARGET_ARCH="riscv32"
+FORCE_OPTIONS_FOR_ARCH=y
+TARGET_SUBARCH=""
+UCLIBC_FORMAT_FLAT=y
+# UCLIBC_FORMAT_FLAT_SEP_DATA is not set
+# UCLIBC_FORMAT_SHARED_FLAT is not set
+ARCH_LITTLE_ENDIAN=y
+
+#
+# Using Little Endian
+#
+ARCH_HAS_MMU=y
+# ARCH_USE_MMU is not set
+UCLIBC_HAS_FLOATS=y
+UCLIBC_HAS_FPU=y
+DO_C99_MATH=y
+DO_XSI_MATH=y
+UCLIBC_HAS_LONG_DOUBLE_MATH=y
+KERNEL_HEADERS=""
+UCLIBC_UCLINUX_BROKEN_MUNMAP=y
+HAVE_DOT_CONFIG=y
+
+#
+# General Library Settings
+#
+DOPIC=y
+ARCH_HAS_NO_SHARED=y
+ARCH_HAS_NO_LDSO=y
+UCLIBC_CTOR_DTOR=y
+HAS_NO_THREADS=y
+# UCLIBC_HAS_THREADS_NATIVE is not set
+PTHREADS_STACK_DEFAULT_SIZE=2097152
+UCLIBC_HAS_SYSLOG=y
+UCLIBC_HAS_LFS=y
+MALLOC=y
+# MALLOC_SIMPLE is not set
+# MALLOC_STANDARD is not set
+UCLIBC_DYNAMIC_ATEXIT=y
+UCLIBC_HAS_UTMPX=y
+UCLIBC_HAS_UTMP=y
+UCLIBC_SUSV2_LEGACY=y
+UCLIBC_SUSV3_LEGACY=y
+# UCLIBC_SUSV3_LEGACY_MACROS is not set
+UCLIBC_SUSV4_LEGACY=y
+# UCLIBC_STRICT_HEADERS is not set
+# UCLIBC_HAS_STUBS is not set
+UCLIBC_HAS_SHADOW=y
+UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y
+UCLIBC_HAS___PROGNAME=y
+UCLIBC_HAS_PTY=y
+ASSUME_DEVPTS=y
+UNIX98PTY_ONLY=y
+UCLIBC_HAS_GETPT=y
+UCLIBC_HAS_LIBUTIL=y
+UCLIBC_HAS_TM_EXTENSIONS=y
+UCLIBC_HAS_TZ_CACHING=y
+UCLIBC_HAS_TZ_FILE=y
+UCLIBC_HAS_TZ_FILE_READ_MANY=y
+UCLIBC_TZ_FILE_PATH="/etc/TZ"
+UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
+
+#
+# Advanced Library Settings
+#
+UCLIBC_PWD_BUFFER_SIZE=256
+UCLIBC_GRP_BUFFER_SIZE=256
+
+#
+# Support various families of functions
+#
+UCLIBC_LINUX_SPECIFIC=y
+UCLIBC_HAS_GNU_ERROR=y
+UCLIBC_BSD_SPECIFIC=y
+UCLIBC_HAS_BSD_ERR=y
+UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
+# UCLIBC_HAS_BSD_B64_NTOP_B64_PTON is not set
+# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
+# UCLIBC_NTP_LEGACY is not set
+UCLIBC_SV4_DEPRECATED=y
+UCLIBC_HAS_REALTIME=y
+UCLIBC_HAS_ADVANCED_REALTIME=y
+UCLIBC_HAS_EPOLL=y
+UCLIBC_HAS_XATTR=y
+# UCLIBC_HAS_PROFILING is not set
+UCLIBC_HAS_CRYPT_IMPL=y
+UCLIBC_HAS_SHA256_CRYPT_IMPL=y
+UCLIBC_HAS_SHA512_CRYPT_IMPL=y
+UCLIBC_HAS_CRYPT=y
+UCLIBC_HAS_NETWORK_SUPPORT=y
+UCLIBC_HAS_SOCKET=y
+UCLIBC_HAS_IPV4=y
+UCLIBC_HAS_IPV6=y
+UCLIBC_USE_NETLINK=y
+UCLIBC_SUPPORT_AI_ADDRCONFIG=y
+UCLIBC_HAS_BSD_RES_CLOSE=y
+UCLIBC_HAS_COMPAT_RES_STATE=y
+# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
+UCLIBC_HAS_RESOLVER_SUPPORT=y
+# UCLIBC_DNSRAND_MODE_URANDOM is not set
+# UCLIBC_DNSRAND_MODE_CLOCK is not set
+UCLIBC_DNSRAND_MODE_PRNGPLUS=y
+# UCLIBC_DNSRAND_MODE_SIMPLECOUNTER is not set
+
+#
+# String and Stdio Support
+#
+UCLIBC_HAS_STRING_GENERIC_OPT=y
+UCLIBC_HAS_STRING_ARCH_OPT=y
+UCLIBC_HAS_CTYPE_TABLES=y
+UCLIBC_HAS_CTYPE_SIGNED=y
+# UCLIBC_HAS_CTYPE_UNSAFE is not set
+UCLIBC_HAS_CTYPE_CHECKED=y
+# UCLIBC_HAS_CTYPE_ENFORCED is not set
+UCLIBC_HAS_WCHAR=y
+# UCLIBC_HAS_LIBICONV is not set
+# UCLIBC_HAS_LIBINTL is not set
+# UCLIBC_HAS_LOCALE is not set
+# UCLIBC_HAS_HEXADECIMAL_FLOATS is not set
+UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
+UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
+# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
+UCLIBC_HAS_STDIO_BUFSIZ_4096=y
+# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
+UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
+# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
+UCLIBC_HAS_STDIO_GETC_MACRO=y
+UCLIBC_HAS_STDIO_PUTC_MACRO=y
+UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
+# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
+UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
+UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE=y
+UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
+UCLIBC_HAS_PRINTF_M_SPEC=y
+UCLIBC_HAS_ERRNO_MESSAGES=y
+# UCLIBC_HAS_SYS_ERRLIST is not set
+UCLIBC_HAS_SIGNUM_MESSAGES=y
+# UCLIBC_HAS_SYS_SIGLIST is not set
+UCLIBC_HAS_GNU_GETOPT=y
+UCLIBC_HAS_GETOPT_LONG=y
+UCLIBC_HAS_GNU_GETSUBOPT=y
+UCLIBC_HAS_ARGP=y
+
+#
+# Big and Tall
+#
+UCLIBC_HAS_REGEX=y
+UCLIBC_HAS_FNMATCH=y
+UCLIBC_HAS_WORDEXP=y
+UCLIBC_HAS_NFTW=y
+UCLIBC_HAS_FTW=y
+UCLIBC_HAS_FTS=y
+UCLIBC_HAS_GLOB=y
+UCLIBC_HAS_GNU_GLOB=y
+
+#
+# Library Installation Options
+#
+RUNTIME_PREFIX="/"
+DEVEL_PREFIX="/usr/"
+MULTILIB_DIR="lib"
+HARDWIRED_ABSPATH=y
+
+#
+# Security options
+#
+# UCLIBC_HAS_SSP is not set
+UCLIBC_BUILD_NOEXECSTACK=y
+
+#
+# Development/debugging options
+#
+CROSS_COMPILER_PREFIX=""
+UCLIBC_EXTRA_CFLAGS=""
+# DODEBUG is not set
+# DOSTRIP is not set
+# DOASSERTS is not set
+# UCLIBC_MALLOC_DEBUGGING is not set
+WARNINGS="-Wall"
+# EXTRA_WARNINGS is not set
diff --git a/target/riscv32/uclibc-ng.config b/target/riscv32/uclibc-ng.config
index 520ff6f8e..63047370c 100644
--- a/target/riscv32/uclibc-ng.config
+++ b/target/riscv32/uclibc-ng.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# uClibc-ng 1.0.32 C Library Configuration
+# uClibc-ng 1.0.45 C Library Configuration
#
# TARGET_aarch64 is not set
# TARGET_alpha is not set
@@ -16,6 +16,7 @@
# TARGET_hppa is not set
# TARGET_i386 is not set
# TARGET_ia64 is not set
+# TARGET_kvx is not set
# TARGET_lm32 is not set
# TARGET_m68k is not set
# TARGET_metag is not set
@@ -25,14 +26,16 @@
# TARGET_nios2 is not set
# TARGET_or1k is not set
# TARGET_powerpc is not set
-TARGET_riscv32=y
# TARGET_riscv64 is not set
+TARGET_riscv32=y
# TARGET_sh is not set
# TARGET_sparc is not set
# TARGET_sparc64 is not set
# TARGET_tile is not set
# TARGET_x86_64 is not set
# TARGET_xtensa is not set
+TARGET_LDSO_NAME="ld-uClibc"
+TARGET_ARCH_BITS=32
#
# Target Architecture Features and Options
@@ -63,11 +66,12 @@ HAVE_DOT_CONFIG=y
# General Library Settings
#
DOPIC=y
+HAVE_LDSO=y
HAVE_SHARED=y
# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
LDSO_LDD_SUPPORT=y
LDSO_CACHE_SUPPORT=y
-LDSO_PRELOAD_ENV_SUPPORT=y
+# LDSO_PRELOAD_ENV_SUPPORT is not set
# LDSO_PRELOAD_FILE_SUPPORT is not set
LDSO_BASE_FILENAME="ld.so"
# LDSO_STANDALONE_SUPPORT is not set
@@ -81,11 +85,11 @@ LDSO_LD_LIBRARY_PATH=y
UCLIBC_CTOR_DTOR=y
# LDSO_GNU_HASH_SUPPORT is not set
# HAS_NO_THREADS is not set
-# UCLIBC_HAS_LINUXTHREADS is not set
UCLIBC_HAS_THREADS_NATIVE=y
UCLIBC_HAS_THREADS=y
UCLIBC_HAS_TLS=y
-# PTHREADS_DEBUG_SUPPORT is not set
+PTHREADS_DEBUG_SUPPORT=y
+PTHREADS_STACK_DEFAULT_SIZE=2097152
UCLIBC_HAS_SYSLOG=y
UCLIBC_HAS_LFS=y
# MALLOC is not set
@@ -114,6 +118,7 @@ UCLIBC_HAS_TZ_FILE=y
UCLIBC_HAS_TZ_FILE_READ_MANY=y
UCLIBC_TZ_FILE_PATH="/etc/TZ"
UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
+UCLIBC_USE_TIME64=y
#
# Advanced Library Settings
@@ -129,6 +134,7 @@ UCLIBC_HAS_GNU_ERROR=y
UCLIBC_BSD_SPECIFIC=y
UCLIBC_HAS_BSD_ERR=y
UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
+# UCLIBC_HAS_BSD_B64_NTOP_B64_PTON is not set
# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
# UCLIBC_NTP_LEGACY is not set
UCLIBC_SV4_DEPRECATED=y
@@ -151,6 +157,10 @@ UCLIBC_HAS_BSD_RES_CLOSE=y
UCLIBC_HAS_COMPAT_RES_STATE=y
# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
UCLIBC_HAS_RESOLVER_SUPPORT=y
+# UCLIBC_DNSRAND_MODE_URANDOM is not set
+# UCLIBC_DNSRAND_MODE_CLOCK is not set
+UCLIBC_DNSRAND_MODE_PRNGPLUS=y
+# UCLIBC_DNSRAND_MODE_SIMPLECOUNTER is not set
#
# String and Stdio Support
@@ -238,4 +248,4 @@ UCLIBC_EXTRA_CFLAGS=""
# UCLIBC_MALLOC_DEBUGGING is not set
# UCLIBC_HAS_BACKTRACE is not set
WARNINGS="-Wall"
-# EXTRA_WARNINGS is not set
+EXTRA_WARNINGS=y
diff --git a/target/riscv64/Makefile b/target/riscv64/Makefile
index 20aba000d..b46a7c6e6 100644
--- a/target/riscv64/Makefile
+++ b/target/riscv64/Makefile
@@ -6,7 +6,11 @@ include $(ADK_TOPDIR)/mk/kernel-build.mk
include $(ADK_TOPDIR)/mk/image.mk
KERNEL:=$(LINUX_DIR)/arch/riscv/boot/Image
-QEMU_ARGS:=-M virt -m 256 -nographic
+QEMU_ARGS:=-M virt -m 512 -nographic
+ifeq ($(ADK_TARGET_WITH_MMU),)
+QEMU_ARGS+=-bios none -cpu rv64,mmu=off
+endif
+
ifeq ($(ADK_TARGET_QEMU_WITH_VIRTIO),y)
QEMU_ARGS+=-netdev user,id=eth0 -device virtio-net-device,netdev=eth0
endif
@@ -47,32 +51,35 @@ ifeq ($(ADK_TARGET_QEMU),y)
@echo "Start qemu with following command line:"
@echo 'qemu-system-riscv64 ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL)'
endif
+ifeq ($(ADK_TARGET_SYSTEM_SIPEED_MAIX_BIT),y)
+ @echo 'sudo python3 scripts/kflash.py -p /dev/ttyUSB0 -b 1500000 -t $(FW_DIR)/$(TARGET_KERNEL)'
+endif
+endif
+ifeq ($(ADK_TARGET_FS),nfsroot)
+targethelp:
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+ @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
endif
kernel-strip:
+ @cp $(KERNEL) $(BUILD_DIR)/$(TARGET_KERNEL)
kernel-install: kernel-strip
-
-boot:
- @rm -rf $(BUILD_DIR)/opensbi
- (cd $(BUILD_DIR)/ && git clone https://github.com/riscv/opensbi.git)
- (cd $(BUILD_DIR)/opensbi && PATH='$(HOST_PATH)' \
- CROSS_COMPILE=$(GNU_TARGET_NAME)- \
- FW_PAYLOAD_PATH=$(KERNEL) \
- PLATFORM=generic make)
- cp $(BUILD_DIR)/opensbi/build/platform/generic/firmware/fw_payload.elf \
- $(FW_DIR)/$(TARGET_KERNEL)
+ @cp $(BUILD_DIR)/$(TARGET_KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
# filesystem specific targets
ifeq ($(ADK_TARGET_FS),archive)
-imageinstall: kernel-install boot $(FW_DIR)/$(ROOTFSTARBALL) targethelp
+imageinstall: kernel-install $(FW_DIR)/$(ROOTFSTARBALL) targethelp
endif
ifeq ($(ADK_TARGET_FS),initramfs)
-imageinstall: kernel-install boot $(FW_DIR)/$(INITRAMFS) targethelp
+imageinstall: kernel-install $(FW_DIR)/$(INITRAMFS) targethelp
endif
ifeq ($(ADK_TARGET_FS),initramfsarchive)
-imageinstall: kernel-install boot $(FW_DIR)/$(ROOTFSUSERTARBALL) targethelp
+imageinstall: kernel-install $(FW_DIR)/$(ROOTFSUSERTARBALL) targethelp
endif
ifeq ($(ADK_TARGET_FS),initramfspiggyback)
-imageinstall: createinitramfs boot targethelp
+imageinstall: createinitramfs targethelp
+endif
+ifeq ($(ADK_TARGET_FS),nfsroot)
+imageinstall: kernel-install $(FW_DIR)/$(ROOTFSUSERTARBALL) targethelp
endif
diff --git a/target/riscv64/kernel/qemu-riscv64 b/target/riscv64/kernel/qemu-riscv64
index 019e13c19..ea30532ad 100644
--- a/target/riscv64/kernel/qemu-riscv64
+++ b/target/riscv64/kernel/qemu-riscv64
@@ -1,7 +1,6 @@
CONFIG_RISCV=y
-CONFIG_SIFIVE_PLIC=y
-CONFIG_HVC_DRIVER=y
-CONFIG_HVC_RISCV_SBI=y
-CONFIG_SERIAL_EARLYCON_RISCV_SBI=y
+CONFIG_FPU=y
+CONFIG_SOC_VIRT=y
+CONFIG_NONPORTABLE=y
CONFIG_CMDLINE_BOOL=y
-CONFIG_SECTION_MISMATCH_WARN_ONLY=y
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/riscv64/kernel/sipeed-maix-bit b/target/riscv64/kernel/sipeed-maix-bit
new file mode 100644
index 000000000..4ed48df2f
--- /dev/null
+++ b/target/riscv64/kernel/sipeed-maix-bit
@@ -0,0 +1,9 @@
+CONFIG_RISCV=y
+CONFIG_SOC_CANAAN=y
+CONFIG_SOC_CANAAN_K210_DTB_BUILTIN=y
+CONFIG_SOC_CANAAN_K210_DTB_SOURCE="sipeed_maix_bit"
+CONFIG_SMP=y
+CONFIG_NR_CPUS=2
+CONFIG_CMDLINE="earlycon console=ttySIF0"
+CONFIG_CMDLINE_FORCE=y
+CONFIG_SECTION_MISMATCH_WARN_ONLY=y
diff --git a/target/riscv64/systems/sipeed-maix-bit b/target/riscv64/systems/sipeed-maix-bit
new file mode 100644
index 000000000..3199d4a33
--- /dev/null
+++ b/target/riscv64/systems/sipeed-maix-bit
@@ -0,0 +1,7 @@
+config ADK_TARGET_SYSTEM_SIPEED_MAIX_BIT
+ bool "Sipeed MAiX Bit"
+ select ADK_TARGET_CPU_RISCV64
+ select ADK_TARGET_WITH_SERIAL
+ select ADK_TARGET_KERNEL_IMAGE
+ help
+ Sipeed MAiX Bit support.
diff --git a/target/riscv64/uclibc-ng-nommu.config b/target/riscv64/uclibc-ng-nommu.config
new file mode 100644
index 000000000..1ca015b2c
--- /dev/null
+++ b/target/riscv64/uclibc-ng-nommu.config
@@ -0,0 +1,226 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# uClibc-ng 1.0.46 C Library Configuration
+#
+# TARGET_aarch64 is not set
+# TARGET_alpha is not set
+# TARGET_arc is not set
+# TARGET_arm is not set
+# TARGET_avr32 is not set
+# TARGET_bfin is not set
+# TARGET_c6x is not set
+# TARGET_cris is not set
+# TARGET_csky is not set
+# TARGET_frv is not set
+# TARGET_h8300 is not set
+# TARGET_hppa is not set
+# TARGET_i386 is not set
+# TARGET_ia64 is not set
+# TARGET_kvx is not set
+# TARGET_lm32 is not set
+# TARGET_m68k is not set
+# TARGET_metag is not set
+# TARGET_microblaze is not set
+# TARGET_mips is not set
+# TARGET_nds32 is not set
+# TARGET_nios2 is not set
+# TARGET_or1k is not set
+# TARGET_powerpc is not set
+TARGET_riscv64=y
+# TARGET_riscv32 is not set
+# TARGET_sh is not set
+# TARGET_sparc is not set
+# TARGET_sparc64 is not set
+# TARGET_tile is not set
+# TARGET_x86_64 is not set
+# TARGET_xtensa is not set
+TARGET_LDSO_NAME="ld-uClibc"
+TARGET_ARCH_BITS=32
+
+#
+# Target Architecture Features and Options
+#
+TARGET_ARCH="riscv64"
+FORCE_OPTIONS_FOR_ARCH=y
+TARGET_SUBARCH=""
+# UCLIBC_FORMAT_ELF is not set
+UCLIBC_FORMAT_FLAT=y
+# UCLIBC_FORMAT_FLAT_SEP_DATA is not set
+# UCLIBC_FORMAT_SHARED_FLAT is not set
+ARCH_LITTLE_ENDIAN=y
+
+#
+# Using Little Endian
+#
+ARCH_HAS_MMU=y
+# ARCH_USE_MMU is not set
+UCLIBC_HAS_FLOATS=y
+UCLIBC_HAS_FPU=y
+DO_C99_MATH=y
+DO_XSI_MATH=y
+UCLIBC_HAS_LONG_DOUBLE_MATH=y
+KERNEL_HEADERS=""
+UCLIBC_UCLINUX_BROKEN_MUNMAP=y
+HAVE_DOT_CONFIG=y
+
+#
+# General Library Settings
+#
+DOPIC=y
+# STATIC_PIE is not set
+ARCH_HAS_NO_SHARED=y
+ARCH_HAS_NO_LDSO=y
+UCLIBC_CTOR_DTOR=y
+HAS_NO_THREADS=y
+PTHREADS_STACK_DEFAULT_SIZE=2097152
+UCLIBC_HAS_SYSLOG=y
+UCLIBC_HAS_LFS=y
+MALLOC=y
+# MALLOC_SIMPLE is not set
+UCLIBC_DYNAMIC_ATEXIT=y
+UCLIBC_HAS_UTMPX=y
+UCLIBC_HAS_UTMP=y
+UCLIBC_SUSV2_LEGACY=y
+UCLIBC_SUSV3_LEGACY=y
+# UCLIBC_SUSV3_LEGACY_MACROS is not set
+UCLIBC_SUSV4_LEGACY=y
+# UCLIBC_STRICT_HEADERS is not set
+# UCLIBC_HAS_STUBS is not set
+UCLIBC_HAS_SHADOW=y
+UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y
+UCLIBC_HAS___PROGNAME=y
+UCLIBC_HAS_PTY=y
+ASSUME_DEVPTS=y
+UNIX98PTY_ONLY=y
+UCLIBC_HAS_GETPT=y
+UCLIBC_HAS_LIBUTIL=y
+UCLIBC_HAS_TM_EXTENSIONS=y
+UCLIBC_HAS_TZ_CACHING=y
+UCLIBC_HAS_TZ_FILE=y
+UCLIBC_HAS_TZ_FILE_READ_MANY=y
+UCLIBC_TZ_FILE_PATH="/etc/TZ"
+UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
+
+#
+# Advanced Library Settings
+#
+UCLIBC_PWD_BUFFER_SIZE=256
+UCLIBC_GRP_BUFFER_SIZE=256
+
+#
+# Support various families of functions
+#
+UCLIBC_LINUX_SPECIFIC=y
+UCLIBC_HAS_GNU_ERROR=y
+UCLIBC_BSD_SPECIFIC=y
+UCLIBC_HAS_BSD_ERR=y
+UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
+# UCLIBC_HAS_BSD_B64_NTOP_B64_PTON is not set
+# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
+# UCLIBC_NTP_LEGACY is not set
+UCLIBC_SV4_DEPRECATED=y
+UCLIBC_HAS_REALTIME=y
+UCLIBC_HAS_ADVANCED_REALTIME=y
+UCLIBC_HAS_EPOLL=y
+UCLIBC_HAS_XATTR=y
+# UCLIBC_HAS_PROFILING is not set
+UCLIBC_HAS_CRYPT_IMPL=y
+UCLIBC_HAS_SHA256_CRYPT_IMPL=y
+UCLIBC_HAS_SHA512_CRYPT_IMPL=y
+UCLIBC_HAS_CRYPT=y
+UCLIBC_HAS_NETWORK_SUPPORT=y
+UCLIBC_HAS_SOCKET=y
+UCLIBC_HAS_IPV4=y
+UCLIBC_HAS_IPV6=y
+UCLIBC_USE_NETLINK=y
+UCLIBC_SUPPORT_AI_ADDRCONFIG=y
+UCLIBC_HAS_BSD_RES_CLOSE=y
+UCLIBC_HAS_COMPAT_RES_STATE=y
+# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
+UCLIBC_HAS_RESOLVER_SUPPORT=y
+# UCLIBC_DNSRAND_MODE_URANDOM is not set
+# UCLIBC_DNSRAND_MODE_CLOCK is not set
+UCLIBC_DNSRAND_MODE_PRNGPLUS=y
+# UCLIBC_DNSRAND_MODE_SIMPLECOUNTER is not set
+
+#
+# String and Stdio Support
+#
+UCLIBC_HAS_STRING_GENERIC_OPT=y
+UCLIBC_HAS_STRING_ARCH_OPT=y
+UCLIBC_HAS_CTYPE_TABLES=y
+UCLIBC_HAS_CTYPE_SIGNED=y
+# UCLIBC_HAS_CTYPE_UNSAFE is not set
+UCLIBC_HAS_CTYPE_CHECKED=y
+# UCLIBC_HAS_CTYPE_ENFORCED is not set
+UCLIBC_HAS_WCHAR=y
+# UCLIBC_HAS_LIBICONV is not set
+# UCLIBC_HAS_LIBINTL is not set
+# UCLIBC_HAS_LOCALE is not set
+# UCLIBC_HAS_HEXADECIMAL_FLOATS is not set
+UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
+UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
+# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
+UCLIBC_HAS_STDIO_BUFSIZ_4096=y
+# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
+UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
+# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
+UCLIBC_HAS_STDIO_GETC_MACRO=y
+UCLIBC_HAS_STDIO_PUTC_MACRO=y
+UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
+# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
+UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
+UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE=y
+UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
+UCLIBC_HAS_PRINTF_M_SPEC=y
+UCLIBC_HAS_ERRNO_MESSAGES=y
+# UCLIBC_HAS_SYS_ERRLIST is not set
+UCLIBC_HAS_SIGNUM_MESSAGES=y
+# UCLIBC_HAS_SYS_SIGLIST is not set
+UCLIBC_HAS_GNU_GETOPT=y
+UCLIBC_HAS_GETOPT_LONG=y
+UCLIBC_HAS_GNU_GETSUBOPT=y
+UCLIBC_HAS_ARGP=y
+
+#
+# Big and Tall
+#
+UCLIBC_HAS_REGEX=y
+UCLIBC_HAS_FNMATCH=y
+UCLIBC_HAS_WORDEXP=y
+UCLIBC_HAS_NFTW=y
+UCLIBC_HAS_FTW=y
+UCLIBC_HAS_FTS=y
+UCLIBC_HAS_GLOB=y
+UCLIBC_HAS_GNU_GLOB=y
+
+#
+# Library Installation Options
+#
+RUNTIME_PREFIX="/"
+DEVEL_PREFIX="/usr/"
+MULTILIB_DIR="lib"
+HARDWIRED_ABSPATH=y
+
+#
+# Security options
+#
+# UCLIBC_HAS_SSP is not set
+UCLIBC_BUILD_NOEXECSTACK=y
+
+#
+# Development/debugging options
+#
+CROSS_COMPILER_PREFIX=""
+UCLIBC_EXTRA_CFLAGS=""
+# DODEBUG is not set
+# DOSTRIP is not set
+# DOASSERTS is not set
+# UCLIBC_MALLOC_DEBUGGING is not set
+WARNINGS="-Wall"
+# EXTRA_WARNINGS is not set
diff --git a/target/riscv64/uclibc-ng.config b/target/riscv64/uclibc-ng.config
index 5158f4850..a0f4ee9fc 100644
--- a/target/riscv64/uclibc-ng.config
+++ b/target/riscv64/uclibc-ng.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# uClibc-ng 1.0.32 C Library Configuration
+# uClibc-ng 1.0.46 C Library Configuration
#
# TARGET_aarch64 is not set
# TARGET_alpha is not set
@@ -16,6 +16,7 @@
# TARGET_hppa is not set
# TARGET_i386 is not set
# TARGET_ia64 is not set
+# TARGET_kvx is not set
# TARGET_lm32 is not set
# TARGET_m68k is not set
# TARGET_metag is not set
@@ -26,12 +27,15 @@
# TARGET_or1k is not set
# TARGET_powerpc is not set
TARGET_riscv64=y
+# TARGET_riscv32 is not set
# TARGET_sh is not set
# TARGET_sparc is not set
# TARGET_sparc64 is not set
# TARGET_tile is not set
# TARGET_x86_64 is not set
# TARGET_xtensa is not set
+TARGET_LDSO_NAME="ld-uClibc"
+TARGET_ARCH_BITS=32
#
# Target Architecture Features and Options
@@ -62,6 +66,8 @@ HAVE_DOT_CONFIG=y
# General Library Settings
#
DOPIC=y
+# STATIC_PIE is not set
+HAVE_LDSO=y
HAVE_SHARED=y
# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
LDSO_LDD_SUPPORT=y
@@ -77,12 +83,14 @@ LDSO_RUNPATH=y
LDSO_SAFE_RUNPATH=y
LDSO_SEARCH_INTERP_PATH=y
LDSO_LD_LIBRARY_PATH=y
+UCLIBC_CTOR_DTOR=y
# LDSO_GNU_HASH_SUPPORT is not set
# HAS_NO_THREADS is not set
UCLIBC_HAS_THREADS_NATIVE=y
UCLIBC_HAS_THREADS=y
UCLIBC_HAS_TLS=y
-# PTHREADS_DEBUG_SUPPORT is not set
+PTHREADS_DEBUG_SUPPORT=y
+PTHREADS_STACK_DEFAULT_SIZE=2097152
UCLIBC_HAS_SYSLOG=y
UCLIBC_HAS_LFS=y
# MALLOC is not set
@@ -126,6 +134,7 @@ UCLIBC_HAS_GNU_ERROR=y
UCLIBC_BSD_SPECIFIC=y
UCLIBC_HAS_BSD_ERR=y
UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
+# UCLIBC_HAS_BSD_B64_NTOP_B64_PTON is not set
# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
# UCLIBC_NTP_LEGACY is not set
UCLIBC_SV4_DEPRECATED=y
@@ -148,6 +157,10 @@ UCLIBC_HAS_BSD_RES_CLOSE=y
UCLIBC_HAS_COMPAT_RES_STATE=y
# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
UCLIBC_HAS_RESOLVER_SUPPORT=y
+# UCLIBC_DNSRAND_MODE_URANDOM is not set
+# UCLIBC_DNSRAND_MODE_CLOCK is not set
+UCLIBC_DNSRAND_MODE_PRNGPLUS=y
+# UCLIBC_DNSRAND_MODE_SIMPLECOUNTER is not set
#
# String and Stdio Support
@@ -235,4 +248,4 @@ UCLIBC_EXTRA_CFLAGS=""
# UCLIBC_MALLOC_DEBUGGING is not set
# UCLIBC_HAS_BACKTRACE is not set
WARNINGS="-Wall"
-# EXTRA_WARNINGS is not set
+EXTRA_WARNINGS=y
diff --git a/target/s390/Makefile b/target/s390/Makefile
index 93373aaa8..fd7142e45 100644
--- a/target/s390/Makefile
+++ b/target/s390/Makefile
@@ -5,11 +5,11 @@ include $(ADK_TOPDIR)/rules.mk
include $(ADK_TOPDIR)/mk/kernel-build.mk
include $(ADK_TOPDIR)/mk/image.mk
-KERNEL:=$(LINUX_DIR)/vmlinux
+KERNEL:=$(LINUX_DIR)/arch/s390/boot/bzImage
-QEMU_ARGS:=-monitor null -M s390-ccw-virtio-2.4
+QEMU_ARGS:=-monitor null -M s390-ccw-virtio
QEMU_ARGS+=${ADK_QEMU_ARGS}
-QEMU_ARGS+=-netdev user,id=eth0 -device virtio-net-ccw,netdev=eth0
+QEMU_ARGS+=-net nic,model=virtio -net user -serial mon:stdio
# target helper text
ifeq ($(ADK_TARGET_FS),archive)
@@ -47,11 +47,8 @@ endif
endif
# image creation and kernel install
-kernel-strip:
- $(TARGET_CROSS)objcopy $(OSTRIP) -S $(KERNEL) $(BUILD_DIR)/$(TARGET_KERNEL)
-
-kernel-install: kernel-strip
- @cp $(BUILD_DIR)/$(TARGET_KERNEL) $(FW_DIR)/${TARGET_KERNEL}
+kernel-install:
+ @cp $(KERNEL) $(FW_DIR)/${TARGET_KERNEL}
# filesystem specific targets
ifeq ($(ADK_TARGET_FS),archive)
diff --git a/target/s390/systems/qemu-s390 b/target/s390/systems/qemu-s390
index 692f4a53c..dbb0a4c23 100644
--- a/target/s390/systems/qemu-s390
+++ b/target/s390/systems/qemu-s390
@@ -2,6 +2,7 @@ config ADK_TARGET_SYSTEM_QEMU_S390
bool "Qemu Emulator"
select ADK_TARGET_CPU_S390_Z900
select ADK_TARGET_QEMU
+ select ADK_TARGET_KERNEL_BZIMAGE
select ADK_TARGET_KERNEL_WITH_COMPRESSION
help
Support for Qemu Emulator S/390 architecture.
diff --git a/target/sh/kernel/numato-mimasv2 b/target/sh/kernel/numato-mimasv2
index ca290f15d..faa0ff558 100644
--- a/target/sh/kernel/numato-mimasv2
+++ b/target/sh/kernel/numato-mimasv2
@@ -15,3 +15,4 @@ CONFIG_MMC_SPI=y
CONFIG_CLKSRC_JCORE_PIT=y
CONFIG_JCORE_AIC=y
CONFIG_SERIAL_EARLYCON=y
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/sh/kernel/qemu-sh b/target/sh/kernel/qemu-sh
index dbe8f023c..7a2e8f458 100644
--- a/target/sh/kernel/qemu-sh
+++ b/target/sh/kernel/qemu-sh
@@ -15,3 +15,4 @@ CONFIG_CMDLINE_EXTEND=y
CONFIG_SERIAL_SH_SCI=y
CONFIG_SERIAL_SH_SCI_NR_UARTS=2
CONFIG_SERIAL_SH_SCI_CONSOLE=y
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/sh/uclibc-ng-nommu.config b/target/sh/uclibc-ng-nommu.config
new file mode 100644
index 000000000..193587ccb
--- /dev/null
+++ b/target/sh/uclibc-ng-nommu.config
@@ -0,0 +1,235 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# uClibc-ng 1.0.45 C Library Configuration
+#
+# TARGET_aarch64 is not set
+# TARGET_alpha is not set
+# TARGET_arc is not set
+# TARGET_arm is not set
+# TARGET_avr32 is not set
+# TARGET_bfin is not set
+# TARGET_c6x is not set
+# TARGET_cris is not set
+# TARGET_csky is not set
+# TARGET_frv is not set
+# TARGET_h8300 is not set
+# TARGET_hppa is not set
+# TARGET_i386 is not set
+# TARGET_ia64 is not set
+# TARGET_kvx is not set
+# TARGET_lm32 is not set
+# TARGET_m68k is not set
+# TARGET_metag is not set
+# TARGET_microblaze is not set
+# TARGET_mips is not set
+# TARGET_nds32 is not set
+# TARGET_nios2 is not set
+# TARGET_or1k is not set
+# TARGET_powerpc is not set
+# TARGET_riscv64 is not set
+# TARGET_riscv32 is not set
+TARGET_sh=y
+# TARGET_sparc is not set
+# TARGET_sparc64 is not set
+# TARGET_tile is not set
+# TARGET_x86_64 is not set
+# TARGET_xtensa is not set
+TARGET_LDSO_NAME="ld-uClibc"
+TARGET_ARCH_BITS=32
+
+#
+# Target Architecture Features and Options
+#
+TARGET_ARCH="sh"
+FORCE_OPTIONS_FOR_ARCH=y
+# CONFIG_SH2A is not set
+CONFIG_SH2=y
+# CONFIG_SH3 is not set
+# CONFIG_SH4 is not set
+# CONFIG_SH4A is not set
+TARGET_SUBARCH=""
+UCLIBC_FORMAT_FLAT=y
+# UCLIBC_FORMAT_FLAT_SEP_DATA is not set
+# UCLIBC_FORMAT_SHARED_FLAT is not set
+ARCH_HAS_DEPRECATED_SYSCALLS=y
+ARCH_ANY_ENDIAN=y
+ARCH_LITTLE_ENDIAN=y
+# ARCH_WANTS_BIG_ENDIAN is not set
+ARCH_WANTS_LITTLE_ENDIAN=y
+ARCH_HAS_NO_MMU=y
+
+#
+# Target CPU lacks a memory management unit (MMU)
+#
+UCLIBC_HAS_FLOATS=y
+UCLIBC_HAS_FPU=y
+DO_C99_MATH=y
+DO_XSI_MATH=y
+UCLIBC_HAS_LONG_DOUBLE_MATH=y
+KERNEL_HEADERS=""
+UCLIBC_UCLINUX_BROKEN_MUNMAP=y
+HAVE_DOT_CONFIG=y
+
+#
+# General Library Settings
+#
+DOPIC=y
+ARCH_HAS_NO_SHARED=y
+ARCH_HAS_NO_LDSO=y
+UCLIBC_CTOR_DTOR=y
+HAS_NO_THREADS=y
+# UCLIBC_HAS_LINUXTHREADS is not set
+# UCLIBC_HAS_THREADS_NATIVE is not set
+PTHREADS_STACK_DEFAULT_SIZE=2097152
+UCLIBC_HAS_SYSLOG=y
+UCLIBC_HAS_LFS=y
+MALLOC=y
+# MALLOC_SIMPLE is not set
+# MALLOC_STANDARD is not set
+UCLIBC_DYNAMIC_ATEXIT=y
+UCLIBC_HAS_UTMPX=y
+UCLIBC_HAS_UTMP=y
+UCLIBC_SUSV2_LEGACY=y
+UCLIBC_SUSV3_LEGACY=y
+# UCLIBC_SUSV3_LEGACY_MACROS is not set
+UCLIBC_SUSV4_LEGACY=y
+# UCLIBC_STRICT_HEADERS is not set
+# UCLIBC_HAS_STUBS is not set
+UCLIBC_HAS_SHADOW=y
+UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y
+UCLIBC_HAS___PROGNAME=y
+UCLIBC_HAS_PTY=y
+ASSUME_DEVPTS=y
+UNIX98PTY_ONLY=y
+UCLIBC_HAS_GETPT=y
+UCLIBC_HAS_LIBUTIL=y
+UCLIBC_HAS_TM_EXTENSIONS=y
+UCLIBC_HAS_TZ_CACHING=y
+UCLIBC_HAS_TZ_FILE=y
+UCLIBC_HAS_TZ_FILE_READ_MANY=y
+UCLIBC_TZ_FILE_PATH="/etc/TZ"
+UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
+
+#
+# Advanced Library Settings
+#
+UCLIBC_PWD_BUFFER_SIZE=256
+UCLIBC_GRP_BUFFER_SIZE=256
+
+#
+# Support various families of functions
+#
+UCLIBC_LINUX_SPECIFIC=y
+UCLIBC_HAS_GNU_ERROR=y
+UCLIBC_BSD_SPECIFIC=y
+UCLIBC_HAS_BSD_ERR=y
+UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
+# UCLIBC_HAS_BSD_B64_NTOP_B64_PTON is not set
+# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
+# UCLIBC_NTP_LEGACY is not set
+UCLIBC_SV4_DEPRECATED=y
+UCLIBC_HAS_REALTIME=y
+UCLIBC_HAS_ADVANCED_REALTIME=y
+UCLIBC_HAS_EPOLL=y
+UCLIBC_HAS_XATTR=y
+# UCLIBC_HAS_PROFILING is not set
+UCLIBC_HAS_CRYPT_IMPL=y
+UCLIBC_HAS_SHA256_CRYPT_IMPL=y
+UCLIBC_HAS_SHA512_CRYPT_IMPL=y
+UCLIBC_HAS_CRYPT=y
+UCLIBC_HAS_NETWORK_SUPPORT=y
+UCLIBC_HAS_SOCKET=y
+UCLIBC_HAS_IPV4=y
+UCLIBC_HAS_IPV6=y
+UCLIBC_USE_NETLINK=y
+UCLIBC_SUPPORT_AI_ADDRCONFIG=y
+UCLIBC_HAS_BSD_RES_CLOSE=y
+UCLIBC_HAS_COMPAT_RES_STATE=y
+# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
+UCLIBC_HAS_RESOLVER_SUPPORT=y
+# UCLIBC_DNSRAND_MODE_URANDOM is not set
+# UCLIBC_DNSRAND_MODE_CLOCK is not set
+UCLIBC_DNSRAND_MODE_PRNGPLUS=y
+# UCLIBC_DNSRAND_MODE_SIMPLECOUNTER is not set
+
+#
+# String and Stdio Support
+#
+UCLIBC_HAS_STRING_GENERIC_OPT=y
+UCLIBC_HAS_STRING_ARCH_OPT=y
+UCLIBC_HAS_CTYPE_TABLES=y
+UCLIBC_HAS_CTYPE_SIGNED=y
+# UCLIBC_HAS_CTYPE_UNSAFE is not set
+UCLIBC_HAS_CTYPE_CHECKED=y
+# UCLIBC_HAS_CTYPE_ENFORCED is not set
+UCLIBC_HAS_WCHAR=y
+# UCLIBC_HAS_LIBICONV is not set
+# UCLIBC_HAS_LIBINTL is not set
+# UCLIBC_HAS_LOCALE is not set
+UCLIBC_HAS_HEXADECIMAL_FLOATS=y
+UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
+UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
+# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
+UCLIBC_HAS_STDIO_BUFSIZ_4096=y
+# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
+UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
+# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
+UCLIBC_HAS_STDIO_GETC_MACRO=y
+UCLIBC_HAS_STDIO_PUTC_MACRO=y
+UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
+# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
+UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
+UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE=y
+UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
+UCLIBC_HAS_PRINTF_M_SPEC=y
+UCLIBC_HAS_ERRNO_MESSAGES=y
+# UCLIBC_HAS_SYS_ERRLIST is not set
+UCLIBC_HAS_SIGNUM_MESSAGES=y
+# UCLIBC_HAS_SYS_SIGLIST is not set
+UCLIBC_HAS_GNU_GETOPT=y
+UCLIBC_HAS_GETOPT_LONG=y
+UCLIBC_HAS_GNU_GETSUBOPT=y
+UCLIBC_HAS_ARGP=y
+
+#
+# Big and Tall
+#
+UCLIBC_HAS_REGEX=y
+UCLIBC_HAS_FNMATCH=y
+UCLIBC_HAS_WORDEXP=y
+UCLIBC_HAS_NFTW=y
+UCLIBC_HAS_FTW=y
+UCLIBC_HAS_FTS=y
+UCLIBC_HAS_GLOB=y
+UCLIBC_HAS_GNU_GLOB=y
+
+#
+# Library Installation Options
+#
+RUNTIME_PREFIX="/"
+DEVEL_PREFIX="/usr/"
+MULTILIB_DIR="lib"
+HARDWIRED_ABSPATH=y
+
+#
+# Security options
+#
+# UCLIBC_HAS_SSP is not set
+UCLIBC_BUILD_NOEXECSTACK=y
+
+#
+# Development/debugging options
+#
+CROSS_COMPILER_PREFIX=""
+UCLIBC_EXTRA_CFLAGS=""
+# DODEBUG is not set
+# DOSTRIP is not set
+# DOASSERTS is not set
+# UCLIBC_MALLOC_DEBUGGING is not set
+WARNINGS="-Wall"
+# EXTRA_WARNINGS is not set
diff --git a/target/sh/uclibc-ng.config b/target/sh/uclibc-ng.config
index ee04f1e24..d8dea4776 100644
--- a/target/sh/uclibc-ng.config
+++ b/target/sh/uclibc-ng.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# uClibc-ng 1.0.25 C Library Configuration
+# uClibc-ng 1.0.45 C Library Configuration
#
# TARGET_aarch64 is not set
# TARGET_alpha is not set
@@ -10,11 +10,13 @@
# TARGET_bfin is not set
# TARGET_c6x is not set
# TARGET_cris is not set
+# TARGET_csky is not set
# TARGET_frv is not set
# TARGET_h8300 is not set
# TARGET_hppa is not set
# TARGET_i386 is not set
# TARGET_ia64 is not set
+# TARGET_kvx is not set
# TARGET_lm32 is not set
# TARGET_m68k is not set
# TARGET_metag is not set
@@ -24,11 +26,16 @@
# TARGET_nios2 is not set
# TARGET_or1k is not set
# TARGET_powerpc is not set
+# TARGET_riscv64 is not set
+# TARGET_riscv32 is not set
TARGET_sh=y
# TARGET_sparc is not set
# TARGET_sparc64 is not set
+# TARGET_tile is not set
# TARGET_x86_64 is not set
# TARGET_xtensa is not set
+TARGET_LDSO_NAME="ld-uClibc"
+TARGET_ARCH_BITS=32
#
# Target Architecture Features and Options
@@ -57,7 +64,6 @@ UCLIBC_HAS_FLOATS=y
UCLIBC_HAS_FPU=y
DO_C99_MATH=y
DO_XSI_MATH=y
-# UCLIBC_HAS_FENV is not set
UCLIBC_HAS_LONG_DOUBLE_MATH=y
KERNEL_HEADERS=""
HAVE_DOT_CONFIG=y
@@ -66,6 +72,7 @@ HAVE_DOT_CONFIG=y
# General Library Settings
#
DOPIC=y
+HAVE_LDSO=y
HAVE_SHARED=y
# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
LDSO_LDD_SUPPORT=y
@@ -81,7 +88,6 @@ LDSO_RUNPATH_OF_EXECUTABLE=y
LDSO_SAFE_RUNPATH=y
LDSO_SEARCH_INTERP_PATH=y
LDSO_LD_LIBRARY_PATH=y
-LDSO_NO_CLEANUP=y
UCLIBC_CTOR_DTOR=y
# LDSO_GNU_HASH_SUPPORT is not set
# HAS_NO_THREADS is not set
@@ -90,6 +96,7 @@ UCLIBC_HAS_THREADS_NATIVE=y
UCLIBC_HAS_THREADS=y
UCLIBC_HAS_TLS=y
PTHREADS_DEBUG_SUPPORT=y
+PTHREADS_STACK_DEFAULT_SIZE=2097152
UCLIBC_HAS_SYSLOG=y
UCLIBC_HAS_LFS=y
# MALLOC is not set
@@ -118,6 +125,7 @@ UCLIBC_HAS_TZ_FILE=y
UCLIBC_HAS_TZ_FILE_READ_MANY=y
UCLIBC_TZ_FILE_PATH="/etc/TZ"
UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
+UCLIBC_USE_TIME64=y
#
# Advanced Library Settings
@@ -133,6 +141,7 @@ UCLIBC_HAS_GNU_ERROR=y
UCLIBC_BSD_SPECIFIC=y
UCLIBC_HAS_BSD_ERR=y
UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
+# UCLIBC_HAS_BSD_B64_NTOP_B64_PTON is not set
# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
# UCLIBC_NTP_LEGACY is not set
UCLIBC_SV4_DEPRECATED=y
@@ -155,6 +164,10 @@ UCLIBC_HAS_BSD_RES_CLOSE=y
UCLIBC_HAS_COMPAT_RES_STATE=y
# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
UCLIBC_HAS_RESOLVER_SUPPORT=y
+# UCLIBC_DNSRAND_MODE_URANDOM is not set
+# UCLIBC_DNSRAND_MODE_CLOCK is not set
+UCLIBC_DNSRAND_MODE_PRNGPLUS=y
+# UCLIBC_DNSRAND_MODE_SIMPLECOUNTER is not set
#
# String and Stdio Support
@@ -224,7 +237,6 @@ HARDWIRED_ABSPATH=y
#
# Security options
#
-# UCLIBC_HAS_ARC4RANDOM is not set
# UCLIBC_HAS_SSP is not set
# UCLIBC_BUILD_RELRO is not set
# UCLIBC_BUILD_NOW is not set
diff --git a/target/sparc/kernel/qemu-sparc b/target/sparc/kernel/qemu-sparc
index ffa9bb9f8..1ee79ef31 100644
--- a/target/sparc/kernel/qemu-sparc
+++ b/target/sparc/kernel/qemu-sparc
@@ -7,3 +7,4 @@ CONFIG_SERIAL_CONSOLE=y
CONFIG_SERIAL_SUNCORE=y
CONFIG_SERIAL_SUNZILOG=y
CONFIG_SERIAL_SUNZILOG_CONSOLE=y
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/sparc/uclibc-ng.config b/target/sparc/uclibc-ng.config
index e98658573..c3ff0877b 100644
--- a/target/sparc/uclibc-ng.config
+++ b/target/sparc/uclibc-ng.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# uClibc-ng 1.0.25 C Library Configuration
+# uClibc-ng 1.0.45 C Library Configuration
#
# TARGET_aarch64 is not set
# TARGET_alpha is not set
@@ -10,11 +10,13 @@
# TARGET_bfin is not set
# TARGET_c6x is not set
# TARGET_cris is not set
+# TARGET_csky is not set
# TARGET_frv is not set
# TARGET_h8300 is not set
# TARGET_hppa is not set
# TARGET_i386 is not set
# TARGET_ia64 is not set
+# TARGET_kvx is not set
# TARGET_lm32 is not set
# TARGET_m68k is not set
# TARGET_metag is not set
@@ -24,11 +26,16 @@
# TARGET_nios2 is not set
# TARGET_or1k is not set
# TARGET_powerpc is not set
+# TARGET_riscv64 is not set
+# TARGET_riscv32 is not set
# TARGET_sh is not set
TARGET_sparc=y
# TARGET_sparc64 is not set
+# TARGET_tile is not set
# TARGET_x86_64 is not set
# TARGET_xtensa is not set
+TARGET_LDSO_NAME="ld-uClibc"
+TARGET_ARCH_BITS=32
#
# Target Architecture Features and Options
@@ -54,7 +61,6 @@ UCLIBC_HAS_FLOATS=y
UCLIBC_HAS_FPU=y
DO_C99_MATH=y
DO_XSI_MATH=y
-# UCLIBC_HAS_FENV is not set
UCLIBC_HAS_LONG_DOUBLE_MATH=y
KERNEL_HEADERS=""
HAVE_DOT_CONFIG=y
@@ -64,6 +70,7 @@ HAVE_DOT_CONFIG=y
#
DOPIC=y
ARCH_HAS_UCONTEXT=y
+HAVE_LDSO=y
HAVE_SHARED=y
# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
LDSO_LDD_SUPPORT=y
@@ -79,7 +86,6 @@ LDSO_RUNPATH_OF_EXECUTABLE=y
LDSO_SAFE_RUNPATH=y
LDSO_SEARCH_INTERP_PATH=y
LDSO_LD_LIBRARY_PATH=y
-LDSO_NO_CLEANUP=y
UCLIBC_CTOR_DTOR=y
# LDSO_GNU_HASH_SUPPORT is not set
# HAS_NO_THREADS is not set
@@ -88,6 +94,7 @@ UCLIBC_HAS_THREADS_NATIVE=y
UCLIBC_HAS_THREADS=y
UCLIBC_HAS_TLS=y
PTHREADS_DEBUG_SUPPORT=y
+PTHREADS_STACK_DEFAULT_SIZE=2097152
UCLIBC_HAS_SYSLOG=y
UCLIBC_HAS_LFS=y
# MALLOC is not set
@@ -117,6 +124,7 @@ UCLIBC_HAS_TZ_FILE=y
UCLIBC_HAS_TZ_FILE_READ_MANY=y
UCLIBC_TZ_FILE_PATH="/etc/TZ"
UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
+UCLIBC_USE_TIME64=y
#
# Advanced Library Settings
@@ -132,6 +140,7 @@ UCLIBC_HAS_GNU_ERROR=y
UCLIBC_BSD_SPECIFIC=y
UCLIBC_HAS_BSD_ERR=y
UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
+# UCLIBC_HAS_BSD_B64_NTOP_B64_PTON is not set
# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
# UCLIBC_NTP_LEGACY is not set
UCLIBC_SV4_DEPRECATED=y
@@ -154,6 +163,10 @@ UCLIBC_HAS_BSD_RES_CLOSE=y
UCLIBC_HAS_COMPAT_RES_STATE=y
# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
UCLIBC_HAS_RESOLVER_SUPPORT=y
+# UCLIBC_DNSRAND_MODE_URANDOM is not set
+# UCLIBC_DNSRAND_MODE_CLOCK is not set
+UCLIBC_DNSRAND_MODE_PRNGPLUS=y
+# UCLIBC_DNSRAND_MODE_SIMPLECOUNTER is not set
#
# String and Stdio Support
@@ -223,7 +236,6 @@ HARDWIRED_ABSPATH=y
#
# Security options
#
-# UCLIBC_HAS_ARC4RANDOM is not set
# UCLIBC_HAS_SSP is not set
# UCLIBC_BUILD_RELRO is not set
# UCLIBC_BUILD_NOW is not set
diff --git a/target/x86/Makefile b/target/x86/Makefile
index b47da2b42..b9bbc72a3 100644
--- a/target/x86/Makefile
+++ b/target/x86/Makefile
@@ -45,11 +45,6 @@ else
@echo 'qemu-system-${QEMU_ARCH} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${ADK_TARGET_CPU_ARCH}.img'
endif
endif
-ifeq ($(ADK_TARGET_VBOX),y)
- @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
- @echo "Use following command to create a VirtualBox Image:"
- @echo "./scripts/create.sh -g -T vdi vbox-${ADK_TARGET_CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
-endif
endif
ifeq ($(ADK_TARGET_FS),initramfs)
targethelp:
diff --git a/target/x86/kernel/qemu-x86 b/target/x86/kernel/qemu-x86
index 1049b23d8..41a00164c 100644
--- a/target/x86/kernel/qemu-x86
+++ b/target/x86/kernel/qemu-x86
@@ -1,3 +1,4 @@
CONFIG_X86=y
CONFIG_X86_32=y
CONFIG_CMDLINE_BOOL=y
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/x86/kernel/vbox-x86 b/target/x86/kernel/vbox-x86
deleted file mode 100644
index 849852a65..000000000
--- a/target/x86/kernel/vbox-x86
+++ /dev/null
@@ -1,4 +0,0 @@
-CONFIG_X86=y
-CONFIG_X86_32=y
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
diff --git a/target/x86/systems/vbox-x86 b/target/x86/systems/vbox-x86
deleted file mode 100644
index 7577554bf..000000000
--- a/target/x86/systems/vbox-x86
+++ /dev/null
@@ -1,9 +0,0 @@
-config ADK_TARGET_SYSTEM_VBOX_X86
- bool "VirtualBox Emulator"
- select ADK_TARGET_VBOX
- select ADK_TARGET_KERNEL_BZIMAGE
- select ADK_TARGET_KERNEL_WITH_COMPRESSION
- select ADK_PACKAGE_GRUB
- help
- Support for VirtualBox Emulator.
-
diff --git a/target/x86/uclibc-ng.config b/target/x86/uclibc-ng.config
index 08f9432b1..7ecceb731 100644
--- a/target/x86/uclibc-ng.config
+++ b/target/x86/uclibc-ng.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# uClibc-ng 1.0.25 C Library Configuration
+# uClibc-ng 1.0.45 C Library Configuration
#
# TARGET_aarch64 is not set
# TARGET_alpha is not set
@@ -10,11 +10,13 @@
# TARGET_bfin is not set
# TARGET_c6x is not set
# TARGET_cris is not set
+# TARGET_csky is not set
# TARGET_frv is not set
# TARGET_h8300 is not set
# TARGET_hppa is not set
TARGET_i386=y
# TARGET_ia64 is not set
+# TARGET_kvx is not set
# TARGET_lm32 is not set
# TARGET_m68k is not set
# TARGET_metag is not set
@@ -24,11 +26,16 @@ TARGET_i386=y
# TARGET_nios2 is not set
# TARGET_or1k is not set
# TARGET_powerpc is not set
+# TARGET_riscv64 is not set
+# TARGET_riscv32 is not set
# TARGET_sh is not set
# TARGET_sparc is not set
# TARGET_sparc64 is not set
+# TARGET_tile is not set
# TARGET_x86_64 is not set
# TARGET_xtensa is not set
+TARGET_LDSO_NAME="ld-uClibc"
+TARGET_ARCH_BITS=32
#
# Target Architecture Features and Options
@@ -65,7 +72,9 @@ HAVE_DOT_CONFIG=y
# General Library Settings
#
DOPIC=y
+# STATIC_PIE is not set
ARCH_HAS_UCONTEXT=y
+HAVE_LDSO=y
HAVE_SHARED=y
# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
LDSO_LDD_SUPPORT=y
@@ -81,7 +90,6 @@ LDSO_RUNPATH_OF_EXECUTABLE=y
LDSO_SAFE_RUNPATH=y
LDSO_SEARCH_INTERP_PATH=y
LDSO_LD_LIBRARY_PATH=y
-LDSO_NO_CLEANUP=y
UCLIBC_CTOR_DTOR=y
# LDSO_GNU_HASH_SUPPORT is not set
# HAS_NO_THREADS is not set
@@ -90,6 +98,7 @@ UCLIBC_HAS_THREADS_NATIVE=y
UCLIBC_HAS_THREADS=y
UCLIBC_HAS_TLS=y
PTHREADS_DEBUG_SUPPORT=y
+PTHREADS_STACK_DEFAULT_SIZE=2097152
UCLIBC_HAS_SYSLOG=y
UCLIBC_HAS_LFS=y
# MALLOC is not set
@@ -119,6 +128,7 @@ UCLIBC_HAS_TZ_FILE=y
UCLIBC_HAS_TZ_FILE_READ_MANY=y
UCLIBC_TZ_FILE_PATH="/etc/TZ"
UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
+UCLIBC_USE_TIME64=y
#
# Advanced Library Settings
@@ -134,6 +144,7 @@ UCLIBC_HAS_GNU_ERROR=y
UCLIBC_BSD_SPECIFIC=y
UCLIBC_HAS_BSD_ERR=y
UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
+# UCLIBC_HAS_BSD_B64_NTOP_B64_PTON is not set
# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
# UCLIBC_NTP_LEGACY is not set
UCLIBC_SV4_DEPRECATED=y
@@ -156,6 +167,10 @@ UCLIBC_HAS_BSD_RES_CLOSE=y
UCLIBC_HAS_COMPAT_RES_STATE=y
# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
UCLIBC_HAS_RESOLVER_SUPPORT=y
+# UCLIBC_DNSRAND_MODE_URANDOM is not set
+# UCLIBC_DNSRAND_MODE_CLOCK is not set
+UCLIBC_DNSRAND_MODE_PRNGPLUS=y
+# UCLIBC_DNSRAND_MODE_SIMPLECOUNTER is not set
#
# String and Stdio Support
@@ -226,7 +241,6 @@ HARDWIRED_ABSPATH=y
# Security options
#
# UCLIBC_BUILD_PIE is not set
-# UCLIBC_HAS_ARC4RANDOM is not set
# UCLIBC_HAS_SSP is not set
# UCLIBC_BUILD_RELRO is not set
# UCLIBC_BUILD_NOW is not set
diff --git a/target/x86_64/Makefile b/target/x86_64/Makefile
index 654ab0247..2c5bcd253 100644
--- a/target/x86_64/Makefile
+++ b/target/x86_64/Makefile
@@ -9,14 +9,14 @@ KERNEL:=$(LINUX_DIR)/arch/x86/boot/bzImage
QEMU_ARCH:=x86_64
-QEMU_ARGS:=-M pc
+QEMU_ARGS:=-M pc -m 256
ifeq ($(ADK_PACKAGE_GRUB_EFI_X86_64),y)
QEMU_ARGS+=-L . -bios bios-x86_64.bin
endif
QEMU_ARGS+=${ADK_QEMU_ARGS}
QEMU_ARGS+=-net user -net nic,model=e1000
ifeq ($(ADK_TARGET_QEMU_WITH_AUDIO),y)
-QEMU_ARGS+=-soundhw ac97
+QEMU_ARGS+=-device AC97
endif
ifeq ($(ADK_TARGET_QEMU_WITH_BOOTLOADER),y)
@@ -44,11 +44,6 @@ else
@echo 'qemu-system-${QEMU_ARCH} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${ADK_TARGET_CPU_ARCH}.img'
endif
endif
-ifeq ($(ADK_HARDWARE_VBOX),y)
- @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
- @echo "Use following command to create a VirtualBox Image:"
- @echo "./scripts/create.sh -T vdi vbox-${ADK_TARGET_CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
-endif
endif
ifeq ($(ADK_TARGET_FS),initramfs)
targethelp:
diff --git a/target/x86_64/generic-x86_64/genimage-dual.cfg b/target/x86_64/generic-x86_64/genimage-dual.cfg
new file mode 100644
index 000000000..647a2bcb5
--- /dev/null
+++ b/target/x86_64/generic-x86_64/genimage-dual.cfg
@@ -0,0 +1,36 @@
+image disk.img {
+
+ hdimage {
+ }
+
+ partition boot {
+ in-partition-table = "no"
+ image = "boot.img"
+ offset = 0
+ size = 512
+ }
+
+ partition grub {
+ in-partition-table = "no"
+ image = "grub.img"
+ offset = 512
+ }
+
+ partition root1 {
+ partition-type = 0x83
+ image = "rootfs.ext"
+ size = 64M
+ }
+
+ partition root2 {
+ partition-type = 0x83
+ image = "rootfs.ext"
+ size = 64M
+ }
+
+ partition cfgfs {
+ partition-type = 0x88
+ image = "cfgfs.img"
+ }
+
+}
diff --git a/target/x86_64/generic-x86_64/genimage-efi-dual.cfg b/target/x86_64/generic-x86_64/genimage-efi-dual.cfg
new file mode 100644
index 000000000..7c82a0bcb
--- /dev/null
+++ b/target/x86_64/generic-x86_64/genimage-efi-dual.cfg
@@ -0,0 +1,37 @@
+image efi-part.vfat {
+ vfat {
+ file EFI {
+ image = "efi-part/EFI"
+ }
+ }
+ size = 32M
+}
+
+image disk.img {
+
+ hdimage {
+ }
+
+ partition boot {
+ partition-type = 0xEF
+ image = "efi-part.vfat"
+ }
+
+ partition root1 {
+ partition-type = 0x83
+ image = "rootfs.ext"
+ size = 128M
+ }
+
+ partition root2 {
+ partition-type = 0x83
+ image = "rootfs.ext"
+ size = 128M
+ }
+
+ partition cfgfs {
+ partition-type = 0x88
+ image = "cfgfs.img"
+ }
+
+}
diff --git a/target/x86_64/generic-x86_64/genimage-efi.cfg b/target/x86_64/generic-x86_64/genimage-efi.cfg
new file mode 100644
index 000000000..a59d75e47
--- /dev/null
+++ b/target/x86_64/generic-x86_64/genimage-efi.cfg
@@ -0,0 +1,30 @@
+image efi-part.vfat {
+ vfat {
+ file EFI {
+ image = "efi-part/EFI"
+ }
+ }
+ size = 32M
+}
+
+image disk.img {
+
+ hdimage {
+ }
+
+ partition boot {
+ partition-type = 0xEF
+ image = "efi-part.vfat"
+ }
+
+ partition root {
+ partition-type = 0x83
+ image = "rootfs.ext"
+ }
+
+ partition cfgfs {
+ partition-type = 0x88
+ image = "cfgfs.img"
+ }
+
+}
diff --git a/target/x86_64/generic-x86_64/genimage.cfg b/target/x86_64/generic-x86_64/genimage.cfg
new file mode 100644
index 000000000..d86f7ffd7
--- /dev/null
+++ b/target/x86_64/generic-x86_64/genimage.cfg
@@ -0,0 +1,30 @@
+image disk.img {
+
+ hdimage {
+ }
+
+ partition boot {
+ in-partition-table = "no"
+ image = "boot.img"
+ offset = 0
+ size = 512
+ }
+
+ partition grub {
+ in-partition-table = "no"
+ image = "grub.img"
+ offset = 512
+ }
+
+ partition root {
+ partition-type = 0x83
+ image = "rootfs.ext"
+ size = 64M
+ }
+
+ partition cfgfs {
+ partition-type = 0x88
+ image = "cfgfs.img"
+ }
+
+}
diff --git a/target/x86_64/kernel/asus-p5bvm b/target/x86_64/kernel/asus-p5bvm
deleted file mode 100644
index b17b6e256..000000000
--- a/target/x86_64/kernel/asus-p5bvm
+++ /dev/null
@@ -1,7 +0,0 @@
-CONFIG_X86=y
-CONFIG_X86_64=y
-CONFIG_X86_X32=y
-CONFIG_GENERIC_CPU=y
-CONFIG_PROCESSOR_SELECT=y
-CONFIG_CPU_SUP_INTEL=y
-CONFIG_CPU_SUP_AMD=y
diff --git a/target/x86_64/kernel/lenovo-x200 b/target/x86_64/kernel/lenovo-x200
deleted file mode 100644
index ad080ab40..000000000
--- a/target/x86_64/kernel/lenovo-x200
+++ /dev/null
@@ -1,6 +0,0 @@
-CONFIG_X86=y
-CONFIG_X86_64=y
-CONFIG_GENERIC_CPU=y
-CONFIG_PROCESSOR_SELECT=y
-CONFIG_CPU_SUP_INTEL=y
-CONFIG_CMDLINE_BOOL=y
diff --git a/target/x86_64/qemu-x86_64/genimage-efi-dual.cfg b/target/x86_64/qemu-x86_64/genimage-efi-dual.cfg
index 7c82a0bcb..ff3cb08d2 100644
--- a/target/x86_64/qemu-x86_64/genimage-efi-dual.cfg
+++ b/target/x86_64/qemu-x86_64/genimage-efi-dual.cfg
@@ -10,27 +10,30 @@ image efi-part.vfat {
image disk.img {
hdimage {
+ partition-table-type = "gpt"
}
partition boot {
- partition-type = 0xEF
image = "efi-part.vfat"
+ partition-type-uuid = U
+ offset = 32K
+ bootable = true
}
partition root1 {
- partition-type = 0x83
+ partition-type-uuid = 44479540-f297-41b2-9af7-d131d5f0458a
image = "rootfs.ext"
size = 128M
}
partition root2 {
- partition-type = 0x83
+ partition-type-uuid = 44479540-f297-41b2-9af7-d131d5f0458a
image = "rootfs.ext"
size = 128M
}
partition cfgfs {
- partition-type = 0x88
+ partition-type-uuid = 44479540-f297-41b2-9af7-d131d5f0458a
image = "cfgfs.img"
}
diff --git a/target/x86_64/qemu-x86_64/genimage-efi.cfg b/target/x86_64/qemu-x86_64/genimage-efi.cfg
index a59d75e47..c7fa9a2c3 100644
--- a/target/x86_64/qemu-x86_64/genimage-efi.cfg
+++ b/target/x86_64/qemu-x86_64/genimage-efi.cfg
@@ -10,20 +10,23 @@ image efi-part.vfat {
image disk.img {
hdimage {
+ partition-table-type = "gpt"
}
partition boot {
- partition-type = 0xEF
image = "efi-part.vfat"
+ partition-type-uuid = U
+ offset = 32K
+ bootable = true
}
partition root {
- partition-type = 0x83
+ partition-type-uuid = 44479540-f297-41b2-9af7-d131d5f0458a
image = "rootfs.ext"
}
partition cfgfs {
- partition-type = 0x88
+ partition-type-uuid = 44479540-f297-41b2-9af7-d131d5f0458a
image = "cfgfs.img"
}
diff --git a/target/xtensa/kernel/qemu-xtensa b/target/xtensa/kernel/qemu-xtensa
index d04e49c50..f56550baa 100644
--- a/target/xtensa/kernel/qemu-xtensa
+++ b/target/xtensa/kernel/qemu-xtensa
@@ -1,4 +1,5 @@
CONFIG_XTENSA=y
CONFIG_XTENSA_PLATFORM_XTFPGA=y
CONFIG_CMDLINE_BOOL=y
-CONFIG_CMDLINE="console=ttyS0,38400 memmap=0x04000000@0"
+CONFIG_CMDLINE="console=ttyS0,38400 memmap=128M@0"
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/xtensa/uclibc-ng-nommu.config b/target/xtensa/uclibc-ng-nommu.config
new file mode 100644
index 000000000..e9f9a7546
--- /dev/null
+++ b/target/xtensa/uclibc-ng-nommu.config
@@ -0,0 +1,229 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# uClibc-ng 1.0.45 C Library Configuration
+#
+# TARGET_aarch64 is not set
+# TARGET_alpha is not set
+# TARGET_arc is not set
+# TARGET_arm is not set
+# TARGET_avr32 is not set
+# TARGET_bfin is not set
+# TARGET_c6x is not set
+# TARGET_cris is not set
+# TARGET_csky is not set
+# TARGET_frv is not set
+# TARGET_h8300 is not set
+# TARGET_hppa is not set
+# TARGET_i386 is not set
+# TARGET_ia64 is not set
+# TARGET_kvx is not set
+# TARGET_lm32 is not set
+# TARGET_m68k is not set
+# TARGET_metag is not set
+# TARGET_microblaze is not set
+# TARGET_mips is not set
+# TARGET_nds32 is not set
+# TARGET_nios2 is not set
+# TARGET_or1k is not set
+# TARGET_powerpc is not set
+# TARGET_riscv64 is not set
+# TARGET_riscv32 is not set
+# TARGET_sh is not set
+# TARGET_sparc is not set
+# TARGET_sparc64 is not set
+# TARGET_tile is not set
+# TARGET_x86_64 is not set
+TARGET_xtensa=y
+TARGET_LDSO_NAME="ld-uClibc"
+TARGET_ARCH_BITS=32
+
+#
+# Target Architecture Features and Options
+#
+TARGET_ARCH="xtensa"
+FORCE_OPTIONS_FOR_ARCH=y
+TARGET_SUBARCH=""
+UCLIBC_FORMAT_FLAT=y
+# UCLIBC_FORMAT_FLAT_SEP_DATA is not set
+# UCLIBC_FORMAT_SHARED_FLAT is not set
+ARCH_HAS_DEPRECATED_SYSCALLS=y
+ARCH_ANY_ENDIAN=y
+ARCH_LITTLE_ENDIAN=y
+# ARCH_WANTS_BIG_ENDIAN is not set
+ARCH_WANTS_LITTLE_ENDIAN=y
+ARCH_HAS_MMU=y
+# ARCH_USE_MMU is not set
+UCLIBC_HAS_FLOATS=y
+UCLIBC_HAS_FPU=y
+DO_C99_MATH=y
+DO_XSI_MATH=y
+UCLIBC_HAS_LONG_DOUBLE_MATH=y
+KERNEL_HEADERS=""
+UCLIBC_UCLINUX_BROKEN_MUNMAP=y
+HAVE_DOT_CONFIG=y
+
+#
+# General Library Settings
+#
+DOPIC=y
+# STATIC_PIE is not set
+ARCH_HAS_NO_SHARED=y
+ARCH_HAS_NO_LDSO=y
+ARCH_HAS_UCONTEXT=y
+UCLIBC_CTOR_DTOR=y
+HAS_NO_THREADS=y
+# UCLIBC_HAS_LINUXTHREADS is not set
+PTHREADS_STACK_DEFAULT_SIZE=2097152
+UCLIBC_HAS_SYSLOG=y
+UCLIBC_HAS_LFS=y
+MALLOC=y
+# MALLOC_SIMPLE is not set
+UCLIBC_DYNAMIC_ATEXIT=y
+UCLIBC_HAS_UTMPX=y
+UCLIBC_HAS_UTMP=y
+UCLIBC_SUSV2_LEGACY=y
+UCLIBC_SUSV3_LEGACY=y
+# UCLIBC_HAS_CONTEXT_FUNCS is not set
+# UCLIBC_SUSV3_LEGACY_MACROS is not set
+UCLIBC_SUSV4_LEGACY=y
+# UCLIBC_STRICT_HEADERS is not set
+# UCLIBC_HAS_STUBS is not set
+UCLIBC_HAS_SHADOW=y
+UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y
+UCLIBC_HAS___PROGNAME=y
+UCLIBC_HAS_PTY=y
+ASSUME_DEVPTS=y
+UNIX98PTY_ONLY=y
+UCLIBC_HAS_GETPT=y
+UCLIBC_HAS_LIBUTIL=y
+UCLIBC_HAS_TM_EXTENSIONS=y
+UCLIBC_HAS_TZ_CACHING=y
+UCLIBC_HAS_TZ_FILE=y
+UCLIBC_HAS_TZ_FILE_READ_MANY=y
+UCLIBC_TZ_FILE_PATH="/etc/TZ"
+UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
+UCLIBC_USE_TIME64=y
+
+#
+# Advanced Library Settings
+#
+UCLIBC_PWD_BUFFER_SIZE=256
+UCLIBC_GRP_BUFFER_SIZE=256
+
+#
+# Support various families of functions
+#
+UCLIBC_LINUX_SPECIFIC=y
+UCLIBC_HAS_GNU_ERROR=y
+UCLIBC_BSD_SPECIFIC=y
+UCLIBC_HAS_BSD_ERR=y
+UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
+# UCLIBC_HAS_BSD_B64_NTOP_B64_PTON is not set
+# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
+# UCLIBC_NTP_LEGACY is not set
+UCLIBC_SV4_DEPRECATED=y
+UCLIBC_HAS_REALTIME=y
+UCLIBC_HAS_ADVANCED_REALTIME=y
+UCLIBC_HAS_EPOLL=y
+UCLIBC_HAS_XATTR=y
+# UCLIBC_HAS_PROFILING is not set
+UCLIBC_HAS_CRYPT_IMPL=y
+UCLIBC_HAS_SHA256_CRYPT_IMPL=y
+UCLIBC_HAS_SHA512_CRYPT_IMPL=y
+UCLIBC_HAS_CRYPT=y
+UCLIBC_HAS_NETWORK_SUPPORT=y
+UCLIBC_HAS_SOCKET=y
+UCLIBC_HAS_IPV4=y
+UCLIBC_HAS_IPV6=y
+UCLIBC_USE_NETLINK=y
+UCLIBC_SUPPORT_AI_ADDRCONFIG=y
+UCLIBC_HAS_BSD_RES_CLOSE=y
+UCLIBC_HAS_COMPAT_RES_STATE=y
+# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
+UCLIBC_HAS_RESOLVER_SUPPORT=y
+# UCLIBC_DNSRAND_MODE_URANDOM is not set
+# UCLIBC_DNSRAND_MODE_CLOCK is not set
+UCLIBC_DNSRAND_MODE_PRNGPLUS=y
+# UCLIBC_DNSRAND_MODE_SIMPLECOUNTER is not set
+
+#
+# String and Stdio Support
+#
+UCLIBC_HAS_STRING_GENERIC_OPT=y
+UCLIBC_HAS_STRING_ARCH_OPT=y
+UCLIBC_HAS_CTYPE_TABLES=y
+UCLIBC_HAS_CTYPE_SIGNED=y
+# UCLIBC_HAS_CTYPE_UNSAFE is not set
+UCLIBC_HAS_CTYPE_CHECKED=y
+# UCLIBC_HAS_CTYPE_ENFORCED is not set
+UCLIBC_HAS_WCHAR=y
+# UCLIBC_HAS_LIBICONV is not set
+# UCLIBC_HAS_LIBINTL is not set
+# UCLIBC_HAS_LOCALE is not set
+UCLIBC_HAS_HEXADECIMAL_FLOATS=y
+UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
+UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
+# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
+UCLIBC_HAS_STDIO_BUFSIZ_4096=y
+# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
+UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
+# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
+UCLIBC_HAS_STDIO_GETC_MACRO=y
+UCLIBC_HAS_STDIO_PUTC_MACRO=y
+UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
+# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
+UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
+UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE=y
+UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
+UCLIBC_HAS_PRINTF_M_SPEC=y
+UCLIBC_HAS_ERRNO_MESSAGES=y
+# UCLIBC_HAS_SYS_ERRLIST is not set
+UCLIBC_HAS_SIGNUM_MESSAGES=y
+# UCLIBC_HAS_SYS_SIGLIST is not set
+UCLIBC_HAS_GNU_GETOPT=y
+UCLIBC_HAS_GETOPT_LONG=y
+UCLIBC_HAS_GNU_GETSUBOPT=y
+UCLIBC_HAS_ARGP=y
+
+#
+# Big and Tall
+#
+UCLIBC_HAS_REGEX=y
+UCLIBC_HAS_FNMATCH=y
+UCLIBC_HAS_WORDEXP=y
+UCLIBC_HAS_NFTW=y
+UCLIBC_HAS_FTW=y
+UCLIBC_HAS_FTS=y
+UCLIBC_HAS_GLOB=y
+UCLIBC_HAS_GNU_GLOB=y
+
+#
+# Library Installation Options
+#
+RUNTIME_PREFIX="/"
+DEVEL_PREFIX="/usr/"
+MULTILIB_DIR="lib"
+HARDWIRED_ABSPATH=y
+
+#
+# Security options
+#
+# UCLIBC_HAS_SSP is not set
+UCLIBC_BUILD_NOEXECSTACK=y
+
+#
+# Development/debugging options
+#
+CROSS_COMPILER_PREFIX=""
+UCLIBC_EXTRA_CFLAGS=""
+# DODEBUG is not set
+# DOSTRIP is not set
+# DOASSERTS is not set
+# UCLIBC_MALLOC_DEBUGGING is not set
+WARNINGS="-Wall"
+# EXTRA_WARNINGS is not set
diff --git a/target/xtensa/uclibc-ng.config b/target/xtensa/uclibc-ng.config
index 97060c15f..ace9d1197 100644
--- a/target/xtensa/uclibc-ng.config
+++ b/target/xtensa/uclibc-ng.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# uClibc-ng 1.0.25 C Library Configuration
+# uClibc-ng 1.0.45 C Library Configuration
#
# TARGET_aarch64 is not set
# TARGET_alpha is not set
@@ -10,11 +10,13 @@
# TARGET_bfin is not set
# TARGET_c6x is not set
# TARGET_cris is not set
+# TARGET_csky is not set
# TARGET_frv is not set
# TARGET_h8300 is not set
# TARGET_hppa is not set
# TARGET_i386 is not set
# TARGET_ia64 is not set
+# TARGET_kvx is not set
# TARGET_lm32 is not set
# TARGET_m68k is not set
# TARGET_metag is not set
@@ -24,11 +26,16 @@
# TARGET_nios2 is not set
# TARGET_or1k is not set
# TARGET_powerpc is not set
+# TARGET_riscv64 is not set
+# TARGET_riscv32 is not set
# TARGET_sh is not set
# TARGET_sparc is not set
# TARGET_sparc64 is not set
+# TARGET_tile is not set
# TARGET_x86_64 is not set
TARGET_xtensa=y
+TARGET_LDSO_NAME="ld-uClibc"
+TARGET_ARCH_BITS=32
#
# Target Architecture Features and Options
@@ -51,7 +58,6 @@ UCLIBC_HAS_FLOATS=y
UCLIBC_HAS_FPU=y
DO_C99_MATH=y
DO_XSI_MATH=y
-# UCLIBC_HAS_FENV is not set
UCLIBC_HAS_LONG_DOUBLE_MATH=y
KERNEL_HEADERS=""
HAVE_DOT_CONFIG=y
@@ -60,6 +66,9 @@ HAVE_DOT_CONFIG=y
# General Library Settings
#
DOPIC=y
+# STATIC_PIE is not set
+ARCH_HAS_UCONTEXT=y
+HAVE_LDSO=y
HAVE_SHARED=y
# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
LDSO_LDD_SUPPORT=y
@@ -75,7 +84,6 @@ LDSO_RUNPATH_OF_EXECUTABLE=y
LDSO_SAFE_RUNPATH=y
LDSO_SEARCH_INTERP_PATH=y
LDSO_LD_LIBRARY_PATH=y
-LDSO_NO_CLEANUP=y
UCLIBC_CTOR_DTOR=y
# LDSO_GNU_HASH_SUPPORT is not set
# HAS_NO_THREADS is not set
@@ -84,6 +92,7 @@ UCLIBC_HAS_THREADS_NATIVE=y
UCLIBC_HAS_THREADS=y
UCLIBC_HAS_TLS=y
PTHREADS_DEBUG_SUPPORT=y
+PTHREADS_STACK_DEFAULT_SIZE=2097152
UCLIBC_HAS_SYSLOG=y
UCLIBC_HAS_LFS=y
# MALLOC is not set
@@ -94,6 +103,7 @@ UCLIBC_HAS_UTMPX=y
UCLIBC_HAS_UTMP=y
UCLIBC_SUSV2_LEGACY=y
UCLIBC_SUSV3_LEGACY=y
+# UCLIBC_HAS_CONTEXT_FUNCS is not set
# UCLIBC_SUSV3_LEGACY_MACROS is not set
UCLIBC_SUSV4_LEGACY=y
# UCLIBC_STRICT_HEADERS is not set
@@ -112,6 +122,7 @@ UCLIBC_HAS_TZ_FILE=y
UCLIBC_HAS_TZ_FILE_READ_MANY=y
UCLIBC_TZ_FILE_PATH="/etc/TZ"
UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
+UCLIBC_USE_TIME64=y
#
# Advanced Library Settings
@@ -127,6 +138,7 @@ UCLIBC_HAS_GNU_ERROR=y
UCLIBC_BSD_SPECIFIC=y
UCLIBC_HAS_BSD_ERR=y
UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
+# UCLIBC_HAS_BSD_B64_NTOP_B64_PTON is not set
# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
# UCLIBC_NTP_LEGACY is not set
UCLIBC_SV4_DEPRECATED=y
@@ -149,6 +161,10 @@ UCLIBC_HAS_BSD_RES_CLOSE=y
UCLIBC_HAS_COMPAT_RES_STATE=y
# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
UCLIBC_HAS_RESOLVER_SUPPORT=y
+# UCLIBC_DNSRAND_MODE_URANDOM is not set
+# UCLIBC_DNSRAND_MODE_CLOCK is not set
+UCLIBC_DNSRAND_MODE_PRNGPLUS=y
+# UCLIBC_DNSRAND_MODE_SIMPLECOUNTER is not set
#
# String and Stdio Support
@@ -218,7 +234,6 @@ HARDWIRED_ABSPATH=y
#
# Security options
#
-# UCLIBC_HAS_ARC4RANDOM is not set
# UCLIBC_HAS_SSP is not set
# UCLIBC_BUILD_RELRO is not set
# UCLIBC_BUILD_NOW is not set
diff --git a/tasks/002-mpd b/tasks/002-mpd
index 694918fa4..cc3a5dcb2 100644
--- a/tasks/002-mpd
+++ b/tasks/002-mpd
@@ -2,7 +2,7 @@ config ADK_APPLIANCE_MPD
bool "music player daemon appliance"
depends on ADK_TARGET_OS_LINUX
select ADK_PACKAGE_MPD
- select ADK_PACKAGE_YMPD
+ select ADK_PACKAGE_MYMPD
select ADK_PACKAGE_MPD_WITH_ALSA
select ADK_PACKAGE_MPD_WITH_MP3
select ADK_PACKAGE_MPD_WITH_MP4
@@ -19,6 +19,8 @@ config ADK_APPLIANCE_MPD
select ADK_PACKAGE_MPD_WITH_HTTPD
select ADK_PACKAGE_CIFS_UTILS
select ADK_PACKAGE_LIBMPDCLIENT
+ select ADK_PACKAGE_LIBCURL
+ select ADK_PACKAGE_LIBCURL_WITH_OPENSSL
select ADK_PACKAGE_MPC
select ADK_PACKAGE_DROPBEAR
select ADK_PACKAGE_DROPBEAR_WITH_UTMP
@@ -36,7 +38,7 @@ config ADK_APPLIANCE_MPD
select ADK_RUNTIME_START_BUSYBOX_NTPD
select ADK_RUNTIME_START_BUSYBOX_SYSLOGD
select ADK_RUNTIME_START_MPD
- select ADK_RUNTIME_START_YMPD
+ select ADK_RUNTIME_START_MYMPD m
select ADK_TARGET_USB_KEYBOARD
select ADK_TARGET_USB_MOUSE
select ADK_LINUX_KERNEL_USB_HID m
diff --git a/tasks/003-kodi b/tasks/003-kodi
index d1169f3cd..c004c8028 100644
--- a/tasks/003-kodi
+++ b/tasks/003-kodi
@@ -4,8 +4,10 @@ config ADK_APPLIANCE_KODI
ADK_TARGET_SYSTEM_RASPBERRY_PI || \
ADK_TARGET_SYSTEM_RASPBERRY_PI2 || \
ADK_TARGET_SYSTEM_RASPBERRY_PI3 || \
- ADK_TARGET_SYSTEM_RASPBERRY_PI3P )
- select ADK_TARGET_ARCH_ARM_WITH_NEON
+ ADK_TARGET_SYSTEM_RASPBERRY_PI3P || \
+ ADK_TARGET_SYSTEM_RASPBERRY_PI4 || \
+ ADK_TARGET_SYSTEM_RASPBERRY_PI5 || \
+ ADK_TARGET_SYSTEM_RASPBERRY_PI4_64 )
select ADK_PACKAGE_KODI
select ADK_PACKAGE_KODI_WITH_SSH
select ADK_PACKAGE_KODI_WITH_MICROHTTPD
@@ -13,14 +15,14 @@ config ADK_APPLIANCE_KODI
select ADK_PACKAGE_ALSA_UTILS
select ADK_PACKAGE_STRACE
select ADK_PACKAGE_HTOP
- select ADK_PACKAGE_PYTHON2
- select ADK_PACKAGE_PYTHON2_MOD_ZLIB # required for YouTube Addon
- select ADK_PACKAGE_PYTHON2_MOD_SSL # required for YouTube Addon
- select ADK_PACKAGE_PYTHON2_MOD_EXPAT # required for Mediathek Addon
- select ADK_PACKAGE_CURL
- select ADK_PACKAGE_CURL_WITH_LIBRESSL
- select ADK_PACKAGE_DROPBEAR
- select ADK_PACKAGE_DROPBEAR_WITH_UTMP
+ select ADK_PACKAGE_PYTHON3
+ select ADK_PACKAGE_PYTHON3_MOD_ZLIB # required for YouTube Addon
+ select ADK_PACKAGE_PYTHON3_MOD_SSL # required for YouTube Addon
+ select ADK_PACKAGE_LIBCURL
+ select ADK_PACKAGE_LIBCURL_WITH_LIBRESSL
+ select ADK_PACKAGE_DROPBEAR if ADK_TARGET_LIB_UCLIBC_NG
+ select ADK_PACKAGE_OPENSSH if ADK_TARGET_LIB_GLIBC
+ select ADK_PACKAGE_OPENSSH_SERVER if ADK_TARGET_LIB_GLIBC
select ADK_PACKAGE_E2FSCK
select ADK_PACKAGE_FFMPEG
select ADK_PACKAGE_LIBFFMPEG
@@ -36,10 +38,12 @@ config ADK_APPLIANCE_KODI
select BUSYBOX_NTPD
select BUSYBOX_WATCHDOG
select ADK_RUNTIME_START_SERVICES
- select ADK_RUNTIME_START_DROPBEAR
+ select ADK_RUNTIME_START_DROPBEAR if ADK_TARGET_LIB_UCLIBC_NG
+ select ADK_RUNTIME_START_OPENSSH_SERVER if ADK_TARGET_LIB_GLIBC
select ADK_RUNTIME_START_BUSYBOX_NTPD
select ADK_RUNTIME_START_BUSYBOX_SYSLOGD
select ADK_RUNTIME_START_BUSYBOX_WATCHDOG
+ select ADK_RUNTIME_DEV_UDEV
select ADK_RUNTIME_START_KODI m
select ADK_LINUX_KERNEL_INPUT_EVDEV m
select ADK_LINUX_KERNEL_USB_HID m
@@ -48,9 +52,6 @@ config ADK_APPLIANCE_KODI
select ADK_TARGET_USB_MOUSE
select ADK_LINUX_KERNEL_NTFS_FS
select ADK_RUNTIME_HOSTNAME kodibox
- select ADK_PACKAGE_BCM28XX_BOOTLOADER_EXTRA if ADK_TARGET_BOARD_BCM28XX
- select ADK_PACKAGE_BCM28XX_VC_LIBS if ADK_TARGET_BOARD_BCM28XX
- select ADK_PACKAGE_BCM28XX_VC_GL_LIBS if ADK_TARGET_BOARD_BCM28XX
select ADK_LINUX_KERNEL_PREEMPT__LL if !ADK_APPLIANCE_CONVOLUTION # for better performance and no sound problems
help
Create a small kodi multimedia appliance. Please enable additional features
diff --git a/tasks/004-development b/tasks/004-development
index d486a97e8..229dbc5a8 100644
--- a/tasks/004-development
+++ b/tasks/004-development
@@ -4,10 +4,13 @@ config ADK_APPLIANCE_DEVELOPMENT
select ADK_PACKAGE_GCC
select ADK_PACKAGE_GXX
select ADK_PACKAGE_BINUTILS
+ select ADK_PACKAGE_BASH
select ADK_PACKAGE_MAKE
select ADK_PACKAGE_BISON
select ADK_PACKAGE_FLEX
select ADK_PACKAGE_PKGCONF
+ select ADK_PACKAGE_PATCH
+ select ADK_PACKAGE_PERL
select ADK_PACKAGE_AUTOCONF
select ADK_PACKAGE_AUTOMAKE
select ADK_PACKAGE_LIBTOOL
@@ -15,9 +18,16 @@ config ADK_APPLIANCE_DEVELOPMENT
select ADK_PACKAGE_MUSL_DEV if ADK_TARGET_LIB_MUSL
select ADK_PACKAGE_UCLIBC_NG_DEV if ADK_TARGET_LIB_UCLIBC_NG
select ADK_PACKAGE_GIT
+ select ADK_PACKAGE_GIT_WITH_OPENSSL
+ select ADK_PACKAGE_M4
select ADK_PACKAGE_OPENSSH
+ select ADK_PACKAGE_OPENSSH_WITH_OPENSSL
select ADK_PACKAGE_OPENSSH_CLIENT
- select ADK_PACKAGE_WGET
+ select ADK_PACKAGE_OPENSSH_SERVER
+ select ADK_PACKAGE_CURL
+ select ADK_PACKAGE_LIBCURL_WITH_OPENSSL
+ select ADK_PACKAGE_ZLIB_DEV
+ select ADK_PACKAGE_LIBNCURSES_DEV
help
If you want to develop software on your target, choose this
appliance, so gcc, binutils and co will be selected.
diff --git a/tasks/008-nas b/tasks/008-nas
new file mode 100644
index 000000000..25ad28615
--- /dev/null
+++ b/tasks/008-nas
@@ -0,0 +1,29 @@
+config ADK_APPLIANCE_NAS
+ bool "network attached storage appliance"
+ select ADK_RUNTIME_HOSTNAME adknas
+ select ADK_PACKAGE_GPTFDISK
+ select ADK_PACKAGE_CRYPTSETUP
+ select ADK_PACKAGE_LVM
+ select ADK_PACKAGE_MDADM
+ select ADK_PACKAGE_NTFS_3G
+ select ADK_PACKAGE_MKE2FS
+ select ADK_PACKAGE_RESIZE2FS
+ select ADK_PACKAGE_TUNE2FS
+ select ADK_PACKAGE_E2FSCK
+ select ADK_PACKAGE_NFS_UTILS
+ select ADK_PACKAGE_SAMBA
+ select ADK_PACKAGE_VSFTPD
+ select ADK_PACKAGE_DROPBEAR
+ select ADK_PACKAGE_SMARTMONTOOLS
+ select BUSYBOX_NTPD
+ select BUSYBOX_WATCHDOG
+ select ADK_RUNTIME_START_SERVICES
+ select ADK_RUNTIME_START_DROPBEAR
+ select ADK_RUNTIME_START_BUSYBOX_NTPD
+ select ADK_RUNTIME_START_BUSYBOX_SYSLOGD
+ select ADK_LINUX_KERNEL_DM_RAID m
+ select ADK_LINUX_KERNEL_BLK_DEV_LOOP m
+ help
+ Create a NAS appliance, the typical file server at home providing
+ content to workstations and media servers and backup space.
+
diff --git a/toolchain/Makefile b/toolchain/Makefile
index a7302bdb2..55e3ccce5 100644
--- a/toolchain/Makefile
+++ b/toolchain/Makefile
@@ -41,7 +41,7 @@ endif
ifeq ($(ADK_TOOLCHAIN_WITH_GDB),y)
# disable gdb for some architectures
-ifeq ($(ADK_TARGET_ARCH_ARC)$(ADK_TARGET_ARCH_CR16)$(ADK_TARGET_ARCH_EPIPHANY)$(ADK_TARGET_ARCH_METAG)$(ADK_TARGET_ARCH_NDS32)$(ADK_TARGET_ARCH_OR1K),)
+ifeq ($(ADK_TARGET_ARCH_CR16)$(ADK_TARGET_ARCH_EPIPHANY)$(ADK_TARGET_ARCH_METAG)$(ADK_TARGET_ARCH_NDS32),)
TARGETS+=gdb
GDB:=gdb-install
endif
diff --git a/toolchain/binutils/Makefile b/toolchain/binutils/Makefile
index 64c75e4b5..63b1080fb 100644
--- a/toolchain/binutils/Makefile
+++ b/toolchain/binutils/Makefile
@@ -28,6 +28,10 @@ else
CONFOPTS+= --disable-gold
endif
+ifeq ($(ADK_TARGET_ARCH_ARC),y)
+CONFOPTS+= --enable-lto --enable-plugins
+endif
+
ifeq ($(ADK_TARGET_ARCH_X86_64)$(ADK_TARGET_CPU_CF),)
CONFOPTS+= --disable-multilib
else
@@ -44,7 +48,6 @@ ifeq ($(ADK_TARGET_ARCH_XTENSA),y)
--strip-components=1 -C $(WRKSRC) binutils
endif
(cd $(WRKBUILD); PATH='$(HOST_PATH)' \
- LDFLAGS=-ldl \
MAKEINFO=true \
M4='${STAGING_HOST_DIR}/usr/bin/m4' \
$(WRKBUILD)/configure \
@@ -56,7 +59,9 @@ endif
--disable-nls \
--disable-sim \
--disable-gdb \
+ --enable-obsolete \
--disable-werror \
+ --disable-gprof \
--disable-install-libiberty \
${CONFOPTS} \
);
@@ -69,7 +74,7 @@ $(WRKBUILD)/.compiled: $(WRKBUILD)/.configured
$(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
PATH='$(HOST_PATH)' $(MAKE) MAKEINFO=true -C $(WRKBUILD) install
-ifeq ($(ADK_TARGET_ARCH_H8300)$(ADK_TARGET_ARCH_NDS32)$(ADK_TARGET_ARCH_SH),y)
+ifeq ($(ADK_TARGET_ARCH_KVX)$(ADK_TARGET_ARCH_H8300)$(ADK_TARGET_ARCH_NDS32)$(ADK_TARGET_ARCH_SH),y)
$(INSTALL_DIR) $(STAGING_TARGET_DIR)/usr/lib/ldscripts
$(CP) $(WRKBUILD)/ld/ldscripts/* $(STAGING_TARGET_DIR)/usr/lib/ldscripts/
endif
diff --git a/toolchain/binutils/Makefile.inc b/toolchain/binutils/Makefile.inc
index c47ad3ef8..bcce2e350 100644
--- a/toolchain/binutils/Makefile.inc
+++ b/toolchain/binutils/Makefile.inc
@@ -2,32 +2,60 @@
# material, please see the LICENCE file in the top-level directory.
PKG_NAME:= binutils
-ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_35),y)
-PKG_VERSION:= 2.35
+ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_42),y)
+PKG_VERSION:= 2.42
PKG_RELEASE:= 1
-PKG_HASH:= 1b11659fb49e20e18db460d44485f09442c8c56d5df165de9461eb09c8302f85
+PKG_HASH:= f6e4d41fd5fc778b06b7891457b3620da5ecea1006c6a4a41ae998109f85a800
PKG_SITES:= ${MASTER_SITE_GNU:=binutils/}
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
endif
-ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_29),y)
-PKG_VERSION:= 2.29.1
+ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_41),y)
+PKG_VERSION:= 2.41
PKG_RELEASE:= 1
-PKG_HASH:= e7010a46969f9d3e53b650a518663f98a5dde3c3ae21b7d71e5e6803bc36b577
+PKG_HASH:= ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
PKG_SITES:= ${MASTER_SITE_GNU:=binutils/}
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
endif
-ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_28),y)
-PKG_VERSION:= 2.28
+ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_40),y)
+PKG_VERSION:= 2.40
PKG_RELEASE:= 1
-PKG_HASH:= cd717966fc761d840d451dbd58d44e1e5b92949d2073d75b73fccb476d772fcf
+PKG_HASH:= 0f8a4c272d7f17f369ded10a4aca28b8e304828e95526da482b0ccc4dfc9d8e1
PKG_SITES:= ${MASTER_SITE_GNU:=binutils/}
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
+endif
+ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_39),y)
+PKG_VERSION:= 2.39
+PKG_RELEASE:= 1
+PKG_HASH:= 645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+PKG_SITES:= ${MASTER_SITE_GNU:=binutils/}
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
+endif
+ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_38),y)
+PKG_VERSION:= 2.38
+PKG_RELEASE:= 1
+PKG_HASH:= e316477a914f567eccc34d5d29785b8b0f5a10208d36bbacedcc39048ecfe024
+PKG_SITES:= ${MASTER_SITE_GNU:=binutils/}
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
+endif
+ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_37),y)
+PKG_VERSION:= 2.37
+PKG_RELEASE:= 1
+PKG_HASH:= 820d9724f020a3e69cb337893a0b63c2db161dadcb0e06fc11dc29eb1e84a32c
+PKG_SITES:= ${MASTER_SITE_GNU:=binutils/}
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
+endif
+ifeq ($(ADK_TOOLCHAIN_BINUTILS_KVX),y)
+PKG_VERSION:= 782547a4e2bdf1308728032853678ca69bb154ea
+PKG_GIT:= hash
+PKG_RELEASE:= 1
+PKG_SITES:= https://github.com/kalray/gdb-binutils.git
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
endif
-ifeq ($(ADK_TOOLCHAIN_BINUTILS_NDS32),y)
-PKG_VERSION:= nds32-binutils-2.30-branch-open
-PKG_GIT:= branch
+ifeq ($(ADK_TOOLCHAIN_BINUTILS_ARC),y)
+PKG_VERSION:= arc-2023.09
+PKG_GIT:= tag
PKG_RELEASE:= 1
-PKG_SITES:= https://github.com/andestech/binutils.git
+PKG_SITES:= https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb.git
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
endif
ifeq ($(ADK_TOOLCHAIN_BINUTILS_AVR32),y)
diff --git a/toolchain/binutils/patches/2.20.1/newer-gcc.patch b/toolchain/binutils/patches/2.20.1/newer-gcc.patch
new file mode 100644
index 000000000..b7f42e447
--- /dev/null
+++ b/toolchain/binutils/patches/2.20.1/newer-gcc.patch
@@ -0,0 +1,24 @@
+diff -Nur binutils-2.20.1.orig/binutils/readelf.c binutils-2.20.1/binutils/readelf.c
+--- binutils-2.20.1.orig/binutils/readelf.c 2023-02-03 11:04:53.722082738 +0100
++++ binutils-2.20.1/binutils/readelf.c 2023-02-03 11:05:27.049296372 +0100
+@@ -150,7 +150,7 @@
+ #include "filenames.h"
+
+ char * program_name = "readelf";
+-int do_wide;
++extern int do_wide;
+ static long archive_file_offset;
+ static unsigned long archive_file_size;
+ static unsigned long dynamic_addr;
+diff -Nur binutils-2.20.1.orig/gas/config/tc-avr32.c binutils-2.20.1/gas/config/tc-avr32.c
+--- binutils-2.20.1.orig/gas/config/tc-avr32.c 2023-02-03 11:04:53.726082644 +0100
++++ binutils-2.20.1/gas/config/tc-avr32.c 2023-02-03 11:06:12.164234434 +0100
+@@ -47,7 +47,7 @@
+
+ /* Flags given on the command line */
+ static int avr32_pic = FALSE;
+-int linkrelax = FALSE;
++//extern int linkrelax = FALSE;
+ int avr32_iarcompat = FALSE;
+
+ /* This array holds the chars that always start a comment. */
diff --git a/toolchain/binutils/patches/2.28/lm32.patch b/toolchain/binutils/patches/2.28/lm32.patch
new file mode 100644
index 000000000..962281625
--- /dev/null
+++ b/toolchain/binutils/patches/2.28/lm32.patch
@@ -0,0 +1,24 @@
+diff -Nur binutils-2.28.orig/bfd/config.bfd binutils-2.28/bfd/config.bfd
+--- binutils-2.28.orig/bfd/config.bfd 2017-03-02 09:23:53.000000000 +0100
++++ binutils-2.28/bfd/config.bfd 2023-08-27 11:54:08.526040118 +0200
+@@ -924,7 +924,7 @@
+ ;;
+
+ lm32-*-*linux*)
+- targ_defvec=lm32_elf32_fdpic_vec
++ targ_defvec=lm32_elf32_vec
+ targ_selvecs=lm32_elf32_vec
+ ;;
+
+diff -Nur binutils-2.28.orig/ld/configure.tgt binutils-2.28/ld/configure.tgt
+--- binutils-2.28.orig/ld/configure.tgt 2017-03-02 09:23:54.000000000 +0100
++++ binutils-2.28/ld/configure.tgt 2023-08-27 11:54:43.882874903 +0200
+@@ -416,7 +416,7 @@
+ ;;
+ iq2000-*-elf) targ_emul=elf32iq2000 ; targ_extra_emuls="elf32iq10"
+ ;;
+-lm32-*-*linux*) targ_emul=elf32lm32fd ;;
++lm32-*-*linux*) targ_emul=elf32lm32 ;;
+ lm32-*-*) targ_emul=elf32lm32 ; targ_extra_emuls="elf32lm32fd"
+ ;;
+ m32c-*-elf | m32c-*-rtems*)
diff --git a/toolchain/binutils/patches/2.35/crisv32.patch b/toolchain/binutils/patches/2.35/crisv32.patch
new file mode 100644
index 000000000..17f155a4b
--- /dev/null
+++ b/toolchain/binutils/patches/2.35/crisv32.patch
@@ -0,0 +1,12 @@
+diff -Nur binutils-2.35.orig/bfd/elf32-cris.c binutils-2.35/bfd/elf32-cris.c
+--- binutils-2.35.orig/bfd/elf32-cris.c 2020-07-24 11:12:19.000000000 +0200
++++ binutils-2.35/bfd/elf32-cris.c 2020-09-16 10:45:43.610956675 +0200
+@@ -3358,7 +3358,7 @@
+
+ /* No need to do anything if we're not creating a shared object. */
+ if (! bfd_link_pic (info)
+- || UNDEFWEAK_NO_DYNAMIC_RELOC (info, h))
++ || (h != NULL && UNDEFWEAK_NO_DYNAMIC_RELOC (info, h)))
+ break;
+
+ /* We may need to create a reloc section in the dynobj and made room
diff --git a/toolchain/binutils/patches/2.37/0001-i386-Allow-GOT32-relocations-against-ABS-symbols.patch b/toolchain/binutils/patches/2.37/0001-i386-Allow-GOT32-relocations-against-ABS-symbols.patch
new file mode 100644
index 000000000..3e2928226
--- /dev/null
+++ b/toolchain/binutils/patches/2.37/0001-i386-Allow-GOT32-relocations-against-ABS-symbols.patch
@@ -0,0 +1,47 @@
+From 30a954525f4e53a9cd50a1a8a6f201c7cf6595c7 Mon Sep 17 00:00:00 2001
+From: "H.J. Lu" <hjl.tools@gmail.com>
+Date: Mon, 7 Feb 2022 15:22:19 -0800
+Subject: [PATCH] i386: Allow GOT32 relocations against ABS symbols
+
+GOT32 relocations are allowed since absolute value + addend is stored in
+the GOT slot.
+
+Tested on glibc 2.35 build with GCC 11.2 and -Os.
+
+bfd/
+
+ PR ld/28870
+ * elfxx-x86.c (_bfd_elf_x86_valid_reloc_p): Also allow GOT32
+ relocations.
+
+
+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
+
+diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c
+index 7ac2411fc80..d00dc45677b 100644
+--- a/bfd/elfxx-x86.c
++++ b/bfd/elfxx-x86.c
+@@ -1942,9 +1942,9 @@ _bfd_elf_x86_valid_reloc_p (asection *input_section,
+ irel = *rel;
+
+ /* Only allow relocations against absolute symbol, which can be
+- resolved as absolute value + addend. GOTPCREL relocations
+- are allowed since absolute value + addend is stored in the
+- GOT slot. */
++ resolved as absolute value + addend. GOTPCREL and GOT32
++ relocations are allowed since absolute value + addend is
++ stored in the GOT slot. */
+ if (bed->target_id == X86_64_ELF_DATA)
+ {
+ r_type &= ~R_X86_64_converted_reloc_bit;
+@@ -1965,7 +1965,9 @@ _bfd_elf_x86_valid_reloc_p (asection *input_section,
+ else
+ valid_p = (r_type == R_386_32
+ || r_type == R_386_16
+- || r_type == R_386_8);
++ || r_type == R_386_8
++ || r_type == R_386_GOT32
++ || r_type == R_386_GOT32X);
+
+ if (valid_p)
+ *no_dynreloc_p = true;
diff --git a/toolchain/binutils/patches/2.37/nds32-uclibc.patch b/toolchain/binutils/patches/2.37/nds32-uclibc.patch
new file mode 100644
index 000000000..b14e98511
--- /dev/null
+++ b/toolchain/binutils/patches/2.37/nds32-uclibc.patch
@@ -0,0 +1,15 @@
+diff -Nur binutils-2.37.orig/ld/configure.tgt binutils-2.37/ld/configure.tgt
+--- binutils-2.37.orig/ld/configure.tgt 2021-07-08 13:37:20.000000000 +0200
++++ binutils-2.37/ld/configure.tgt 2022-01-21 03:23:49.296011413 +0100
+@@ -594,9 +594,9 @@
+ nds32*be-*-elf*) targ_emul=nds32belf
+ targ_extra_emuls="nds32elf nds32elf16m nds32belf16m"
+ ;;
+-nds32*le-*-linux-gnu*) targ_emul=nds32elf_linux
++nds32*le-*-linux-*) targ_emul=nds32elf_linux
+ ;;
+-nds32*be-*-linux-gnu*) targ_emul=nds32belf_linux
++nds32*be-*-linux-*) targ_emul=nds32belf_linux
+ ;;
+ nios2*-*-linux*) targ_emul=nios2linux
+ ;;
diff --git a/toolchain/binutils/patches/2.38/0001-binutils-2.38-vs.-ppc32-linux-kernel.patch b/toolchain/binutils/patches/2.38/0001-binutils-2.38-vs.-ppc32-linux-kernel.patch
new file mode 100644
index 000000000..c62652c95
--- /dev/null
+++ b/toolchain/binutils/patches/2.38/0001-binutils-2.38-vs.-ppc32-linux-kernel.patch
@@ -0,0 +1,55 @@
+From ed9b2e40ebffec835d63473367da8dd8f80d7d5b Mon Sep 17 00:00:00 2001
+From: Alan Modra <amodra@gmail.com>
+Date: Mon, 21 Feb 2022 10:58:57 +1030
+Subject: [PATCH] binutils 2.38 vs. ppc32 linux kernel
+
+Commit b25f942e18d6 made .machine more strict. Weaken it again.
+
+ * config/tc-ppc.c (ppc_machine): Treat an early .machine specially,
+ keeping sticky options to work around gcc bugs.
+
+(cherry picked from commit cebc89b9328eab994f6b0314c263f94e7949a553)
+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
+---
+ gas/config/tc-ppc.c | 25 ++++++++++++++++++++++++-
+ 1 file changed, 24 insertions(+), 1 deletion(-)
+
+diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
+index 054f9c72161..89bc7d3f9b9 100644
+--- a/gas/config/tc-ppc.c
++++ b/gas/config/tc-ppc.c
+@@ -5965,7 +5965,30 @@ ppc_machine (int ignore ATTRIBUTE_UNUSED)
+ options do not count as a new machine, instead they add
+ to currently selected opcodes. */
+ ppc_cpu_t machine_sticky = 0;
+- new_cpu = ppc_parse_cpu (ppc_cpu, &machine_sticky, cpu_string);
++ /* Unfortunately, some versions of gcc emit a .machine
++ directive very near the start of the compiler's assembly
++ output file. This is bad because it overrides user -Wa
++ cpu selection. Worse, there are versions of gcc that
++ emit the *wrong* cpu, not even respecting the -mcpu given
++ to gcc. See gcc pr101393. And to compound the problem,
++ as of 20220222 gcc doesn't pass the correct cpu option to
++ gas on the command line. See gcc pr59828. Hack around
++ this by keeping sticky options for an early .machine. */
++ asection *sec;
++ for (sec = stdoutput->sections; sec != NULL; sec = sec->next)
++ {
++ segment_info_type *info = seg_info (sec);
++ /* Are the frags for this section perturbed from their
++ initial state? Even .align will count here. */
++ if (info != NULL
++ && (info->frchainP->frch_root != info->frchainP->frch_last
++ || info->frchainP->frch_root->fr_type != rs_fill
++ || info->frchainP->frch_root->fr_fix != 0))
++ break;
++ }
++ new_cpu = ppc_parse_cpu (ppc_cpu,
++ sec == NULL ? &sticky : &machine_sticky,
++ cpu_string);
+ if (new_cpu != 0)
+ ppc_cpu = new_cpu;
+ else
+--
+2.30.2
+
diff --git a/toolchain/binutils/patches/2.38/nds32-uclibc.patch b/toolchain/binutils/patches/2.38/nds32-uclibc.patch
new file mode 100644
index 000000000..b14e98511
--- /dev/null
+++ b/toolchain/binutils/patches/2.38/nds32-uclibc.patch
@@ -0,0 +1,15 @@
+diff -Nur binutils-2.37.orig/ld/configure.tgt binutils-2.37/ld/configure.tgt
+--- binutils-2.37.orig/ld/configure.tgt 2021-07-08 13:37:20.000000000 +0200
++++ binutils-2.37/ld/configure.tgt 2022-01-21 03:23:49.296011413 +0100
+@@ -594,9 +594,9 @@
+ nds32*be-*-elf*) targ_emul=nds32belf
+ targ_extra_emuls="nds32elf nds32elf16m nds32belf16m"
+ ;;
+-nds32*le-*-linux-gnu*) targ_emul=nds32elf_linux
++nds32*le-*-linux-*) targ_emul=nds32elf_linux
+ ;;
+-nds32*be-*-linux-gnu*) targ_emul=nds32belf_linux
++nds32*be-*-linux-*) targ_emul=nds32belf_linux
+ ;;
+ nios2*-*-linux*) targ_emul=nios2linux
+ ;;
diff --git a/toolchain/binutils/patches/2.41/lm32.patch b/toolchain/binutils/patches/2.41/lm32.patch
new file mode 100644
index 000000000..dcbb0d541
--- /dev/null
+++ b/toolchain/binutils/patches/2.41/lm32.patch
@@ -0,0 +1,24 @@
+diff -Nur binutils-2.41.orig/bfd/config.bfd binutils-2.41/bfd/config.bfd
+--- binutils-2.41.orig/bfd/config.bfd 2023-07-03 01:00:00.000000000 +0200
++++ binutils-2.41/bfd/config.bfd 2023-09-07 17:03:12.853045008 +0200
+@@ -803,7 +803,7 @@
+ ;;
+
+ lm32-*-*linux*)
+- targ_defvec=lm32_elf32_fdpic_vec
++ targ_defvec=lm32_elf32_vec
+ targ_selvecs=lm32_elf32_vec
+ ;;
+
+diff -Nur binutils-2.41.orig/ld/configure.tgt binutils-2.41/ld/configure.tgt
+--- binutils-2.41.orig/ld/configure.tgt 2023-07-03 01:00:00.000000000 +0200
++++ binutils-2.41/ld/configure.tgt 2023-09-07 17:03:44.364298973 +0200
+@@ -468,7 +468,7 @@
+ targ_extra_emuls="elf32iq10"
+ targ_extra_ofiles=ldelfgen.o
+ ;;
+-lm32-*-*linux*) targ_emul=elf32lm32fd
++lm32-*-*linux*) targ_emul=elf32lm32
+ ;;
+ lm32-*-*) targ_emul=elf32lm32
+ targ_extra_emuls="elf32lm32fd"
diff --git a/toolchain/binutils/patches/2.42/j2.patch b/toolchain/binutils/patches/2.42/j2.patch
new file mode 100644
index 000000000..42c7274aa
--- /dev/null
+++ b/toolchain/binutils/patches/2.42/j2.patch
@@ -0,0 +1,584 @@
+diff -Nur binutils-2.42.orig/bfd/archures.c binutils-2.42/bfd/archures.c
+--- binutils-2.42.orig/bfd/archures.c 2024-01-29 01:00:00.000000000 +0100
++++ binutils-2.42/bfd/archures.c 2024-02-22 16:50:03.657904349 +0100
+@@ -284,10 +284,12 @@
+ .#define bfd_mach_sh_dsp 0x2d
+ .#define bfd_mach_sh2a 0x2a
+ .#define bfd_mach_sh2a_nofpu 0x2b
++.#define bfd_mach_shj2 0x2c
+ .#define bfd_mach_sh2a_nofpu_or_sh4_nommu_nofpu 0x2a1
+ .#define bfd_mach_sh2a_nofpu_or_sh3_nommu 0x2a2
+ .#define bfd_mach_sh2a_or_sh4 0x2a3
+ .#define bfd_mach_sh2a_or_sh3e 0x2a4
++.#define bfd_mach_sh2a_nofpu_or_sh3_nommu_or_shj2_nofpu 0x2a5
+ .#define bfd_mach_sh2e 0x2e
+ .#define bfd_mach_sh3 0x30
+ .#define bfd_mach_sh3_nommu 0x31
+diff -Nur binutils-2.42.orig/bfd/bfd-in2.h binutils-2.42/bfd/bfd-in2.h
+--- binutils-2.42.orig/bfd/bfd-in2.h 2024-01-29 01:00:00.000000000 +0100
++++ binutils-2.42/bfd/bfd-in2.h 2024-02-22 16:50:03.661904381 +0100
+@@ -1540,10 +1540,12 @@
+ #define bfd_mach_sh_dsp 0x2d
+ #define bfd_mach_sh2a 0x2a
+ #define bfd_mach_sh2a_nofpu 0x2b
++#define bfd_mach_shj2 0x2c
+ #define bfd_mach_sh2a_nofpu_or_sh4_nommu_nofpu 0x2a1
+ #define bfd_mach_sh2a_nofpu_or_sh3_nommu 0x2a2
+ #define bfd_mach_sh2a_or_sh4 0x2a3
+ #define bfd_mach_sh2a_or_sh3e 0x2a4
++#define bfd_mach_sh2a_nofpu_or_sh3_nommu_or_shj2_nofpu 0x2a5
+ #define bfd_mach_sh2e 0x2e
+ #define bfd_mach_sh3 0x30
+ #define bfd_mach_sh3_nommu 0x31
+diff -Nur binutils-2.42.orig/bfd/cpu-sh.c binutils-2.42/bfd/cpu-sh.c
+--- binutils-2.42.orig/bfd/cpu-sh.c 2024-01-29 01:00:00.000000000 +0100
++++ binutils-2.42/bfd/cpu-sh.c 2024-02-22 16:50:03.661904381 +0100
+@@ -63,7 +63,9 @@
+ N (bfd_mach_sh2a_nofpu_or_sh4_nommu_nofpu, "sh2a-nofpu-or-sh4-nommu-nofpu", false, arch_info_struct + 16),
+ N (bfd_mach_sh2a_nofpu_or_sh3_nommu, "sh2a-nofpu-or-sh3-nommu", false, arch_info_struct + 17),
+ N (bfd_mach_sh2a_or_sh4, "sh2a-or-sh4", false, arch_info_struct + 18),
+- N (bfd_mach_sh2a_or_sh3e, "sh2a-or-sh3e", false, NULL)
++ N (bfd_mach_sh2a_or_sh3e, "sh2a-or-sh3e", false, arch_info_struct + 19),
++ N (bfd_mach_shj2, "j2", false, arch_info_struct + 20),
++ N (bfd_mach_sh2a_nofpu_or_sh3_nommu_or_shj2_nofpu, "sh2a-nofpu-or-sh3-nommu-or-j2-nofpu", false, NULL)
+ };
+
+ const bfd_arch_info_type bfd_sh_arch =
+@@ -99,6 +101,8 @@
+ { bfd_mach_sh4_nofpu, arch_sh4_nofpu, arch_sh4_nofpu_up },
+ { bfd_mach_sh4_nommu_nofpu, arch_sh4_nommu_nofpu, arch_sh4_nommu_nofpu_up },
+ { bfd_mach_sh4a_nofpu, arch_sh4a_nofpu, arch_sh4a_nofpu_up },
++ { bfd_mach_shj2, arch_shj2, arch_shj2_up },
++ { bfd_mach_sh2a_nofpu_or_sh3_nommu_or_shj2_nofpu, arch_sh2a_nofpu_or_sh3_nommu_or_shj2_nofpu, arch_sh2a_nofpu_or_sh3_nommu_or_shj2_nofpu_up },
+ { 0, 0, 0 } /* Terminator. */
+ };
+
+diff -Nur binutils-2.42.orig/binutils/readelf.c binutils-2.42/binutils/readelf.c
+--- binutils-2.42.orig/binutils/readelf.c 2024-01-29 01:00:00.000000000 +0100
++++ binutils-2.42/binutils/readelf.c 2024-02-22 16:53:19.799614987 +0100
+@@ -4326,6 +4326,12 @@
+ case EF_SH2A_SH3E:
+ out = stpcpy (out, ", sh2a-or-sh3e");
+ break;
++ case EF_SHJ2:
++ out = stpcpy (out, ", j2");
++ break;
++ case EF_SH2A_SH3_SHJ2:
++ out = stpcpy (out, ", sh2a-nofpu-or-sh3-nommu-or-shj2 -nofpu");
++ break;
+ default:
+ out = stpcpy (out, _(", unknown ISA"));
+ break;
+diff -Nur binutils-2.42.orig/gas/config/tc-sh.c binutils-2.42/gas/config/tc-sh.c
+--- binutils-2.42.orig/gas/config/tc-sh.c 2024-01-29 01:00:00.000000000 +0100
++++ binutils-2.42/gas/config/tc-sh.c 2024-02-22 16:50:03.685904574 +0100
+@@ -1251,6 +1251,8 @@
+ if (*ptr == ',')
+ ptr++;
+ get_operand (&ptr, operand + 2);
++ if (strcmp (info->name,"cas") == 0)
++ operand[2].type = A_IND_0;
+ }
+ }
+ }
+@@ -1775,7 +1777,10 @@
+ goto fail;
+ reg_m = 4;
+ break;
+-
++ case A_IND_0:
++ if (user->reg != 0)
++ goto fail;
++ break;
+ default:
+ printf (_("unhandled %d\n"), arg);
+ goto fail;
+diff -Nur binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh2a-nofpu-or-sh3-nommu.s binutils-2.42/gas/testsuite/gas/sh/arch/sh2a-nofpu-or-sh3-nommu.s
+--- binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh2a-nofpu-or-sh3-nommu.s 2024-01-29 01:00:00.000000000 +0100
++++ binutils-2.42/gas/testsuite/gas/sh/arch/sh2a-nofpu-or-sh3-nommu.s 2024-02-22 16:50:03.685904574 +0100
+@@ -12,8 +12,6 @@
+ sh2a_nofpu_or_sh3_nommu:
+ ! Instructions introduced into sh2a-nofpu-or-sh3-nommu
+ pref @r4 ;!/* 0000nnnn10000011 pref @<REG_N> */{"pref",{A_IND_N},{HEX_0,REG_N,HEX_8,HEX_3}, arch_sh2a_nofpu_or_sh3_nommu_up}
+- shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_up}
+- shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_up}
+
+ ! Instructions inherited from ancestors: sh sh2
+ add #4,r4 ;!/* 0111nnnni8*1.... add #<imm>,<REG_N> */{"add",{A_IMM,A_REG_N},{HEX_7,REG_N,IMM0_8}, arch_sh_up}
+diff -Nur binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh2a-nofpu-or-sh4-nommu-nofpu.s binutils-2.42/gas/testsuite/gas/sh/arch/sh2a-nofpu-or-sh4-nommu-nofpu.s
+--- binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh2a-nofpu-or-sh4-nommu-nofpu.s 2024-01-29 01:00:00.000000000 +0100
++++ binutils-2.42/gas/testsuite/gas/sh/arch/sh2a-nofpu-or-sh4-nommu-nofpu.s 2024-02-22 16:50:03.685904574 +0100
+@@ -12,7 +12,7 @@
+ sh2a_nofpu_or_sh4_nommu_nofpu:
+ ! Instructions introduced into sh2a-nofpu-or-sh4-nommu-nofpu
+
+-! Instructions inherited from ancestors: sh sh2 sh2a-nofpu-or-sh3-nommu
++! Instructions inherited from ancestors: sh sh2 sh2a-nofpu-or-sh3-nommu sh2a-nofpu-or-sh3-nommu-or-sh2j-nofpu
+ add #4,r4 ;!/* 0111nnnni8*1.... add #<imm>,<REG_N> */{"add",{A_IMM,A_REG_N},{HEX_7,REG_N,IMM0_8}, arch_sh_up}
+ add r5,r4 ;!/* 0011nnnnmmmm1100 add <REG_M>,<REG_N> */{"add",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_C}, arch_sh_up}
+ addc r5,r4 ;!/* 0011nnnnmmmm1110 addc <REG_M>,<REG_N>*/{"addc",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_E}, arch_sh_up}
+@@ -119,8 +119,8 @@
+ rte ;!/* 0000000000101011 rte */{"rte",{0},{HEX_0,HEX_0,HEX_2,HEX_B}, arch_sh_up}
+ rts ;!/* 0000000000001011 rts */{"rts",{0},{HEX_0,HEX_0,HEX_0,HEX_B}, arch_sh_up}
+ sett ;!/* 0000000000011000 sett */{"sett",{0},{HEX_0,HEX_0,HEX_1,HEX_8}, arch_sh_up}
+- shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_up}
+- shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_up}
++ shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
++ shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
+ shal r4 ;!/* 0100nnnn00100000 shal <REG_N> */{"shal",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_0}, arch_sh_up}
+ shar r4 ;!/* 0100nnnn00100001 shar <REG_N> */{"shar",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_1}, arch_sh_up}
+ shll r4 ;!/* 0100nnnn00000000 shll <REG_N> */{"shll",{A_REG_N},{HEX_4,REG_N,HEX_0,HEX_0}, arch_sh_up}
+diff -Nur binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh2a-nofpu.s binutils-2.42/gas/testsuite/gas/sh/arch/sh2a-nofpu.s
+--- binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh2a-nofpu.s 2024-01-29 01:00:00.000000000 +0100
++++ binutils-2.42/gas/testsuite/gas/sh/arch/sh2a-nofpu.s 2024-02-22 16:50:03.685904574 +0100
+@@ -64,7 +64,7 @@
+ movu.b @(2048,r5),r4 ;!/* 0011nnnnmmmm0001 1000dddddddddddd movu.b @(<DISP12>,<REG_M>),<REG_N> */ {"movu.b",{A_DISP_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_1,HEX_8,DISP0_12}, arch_sh2a_nofpu_up | arch_op32}
+ movu.w @(2048,r5),r4 ;!/* 0011nnnnmmmm0001 1001dddddddddddd movu.w @(<DISP12>,<REG_M>),<REG_N> */ {"movu.w",{A_DISP_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_1,HEX_9,DISP0_12BY2}, arch_sh2a_nofpu_up | arch_op32}
+
+-! Instructions inherited from ancestors: sh sh2 sh2a-nofpu-or-sh3-nommu sh2a-nofpu-or-sh4-nommu-nofpu
++! Instructions inherited from ancestors: sh sh2 sh2a-nofpu-or-sh3-nommu sh2a-nofpu-or-sh3-nommu-or-sh2j-nofpu sh2a-nofpu-or-sh4-nommu-nofpu
+ add #4,r4 ;!/* 0111nnnni8*1.... add #<imm>,<REG_N> */{"add",{A_IMM,A_REG_N},{HEX_7,REG_N,IMM0_8}, arch_sh_up}
+ add r5,r4 ;!/* 0011nnnnmmmm1100 add <REG_M>,<REG_N> */{"add",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_C}, arch_sh_up}
+ addc r5,r4 ;!/* 0011nnnnmmmm1110 addc <REG_M>,<REG_N>*/{"addc",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_E}, arch_sh_up}
+@@ -171,8 +171,8 @@
+ rte ;!/* 0000000000101011 rte */{"rte",{0},{HEX_0,HEX_0,HEX_2,HEX_B}, arch_sh_up}
+ rts ;!/* 0000000000001011 rts */{"rts",{0},{HEX_0,HEX_0,HEX_0,HEX_B}, arch_sh_up}
+ sett ;!/* 0000000000011000 sett */{"sett",{0},{HEX_0,HEX_0,HEX_1,HEX_8}, arch_sh_up}
+- shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_up}
+- shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_up}
++ shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
++ shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
+ shal r4 ;!/* 0100nnnn00100000 shal <REG_N> */{"shal",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_0}, arch_sh_up}
+ shar r4 ;!/* 0100nnnn00100001 shar <REG_N> */{"shar",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_1}, arch_sh_up}
+ shll r4 ;!/* 0100nnnn00000000 shll <REG_N> */{"shll",{A_REG_N},{HEX_4,REG_N,HEX_0,HEX_0}, arch_sh_up}
+diff -Nur binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh2a-or-sh3e.s binutils-2.42/gas/testsuite/gas/sh/arch/sh2a-or-sh3e.s
+--- binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh2a-or-sh3e.s 2024-01-29 01:00:00.000000000 +0100
++++ binutils-2.42/gas/testsuite/gas/sh/arch/sh2a-or-sh3e.s 2024-02-22 16:50:03.689904606 +0100
+@@ -13,7 +13,7 @@
+ ! Instructions introduced into sh2a-or-sh3e
+ fsqrt fr1 ;!/* 1111nnnn01101101 fsqrt <F_REG_N> */{"fsqrt",{F_REG_N},{HEX_F,REG_N,HEX_6,HEX_D}, arch_sh2a_or_sh3e_up}
+
+-! Instructions inherited from ancestors: sh sh2 sh2a-nofpu-or-sh3-nommu sh2e
++! Instructions inherited from ancestors: sh sh2 sh2a-nofpu-or-sh3-nommu sh2a-nofpu-or-sh3-nommu-or-sh2j-nofpu sh2e
+ add #4,r4 ;!/* 0111nnnni8*1.... add #<imm>,<REG_N> */{"add",{A_IMM,A_REG_N},{HEX_7,REG_N,IMM0_8}, arch_sh_up}
+ add r5,r4 ;!/* 0011nnnnmmmm1100 add <REG_M>,<REG_N> */{"add",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_C}, arch_sh_up}
+ addc r5,r4 ;!/* 0011nnnnmmmm1110 addc <REG_M>,<REG_N>*/{"addc",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_E}, arch_sh_up}
+@@ -124,8 +124,8 @@
+ rte ;!/* 0000000000101011 rte */{"rte",{0},{HEX_0,HEX_0,HEX_2,HEX_B}, arch_sh_up}
+ rts ;!/* 0000000000001011 rts */{"rts",{0},{HEX_0,HEX_0,HEX_0,HEX_B}, arch_sh_up}
+ sett ;!/* 0000000000011000 sett */{"sett",{0},{HEX_0,HEX_0,HEX_1,HEX_8}, arch_sh_up}
+- shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_up}
+- shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_up}
++ shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
++ shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
+ shal r4 ;!/* 0100nnnn00100000 shal <REG_N> */{"shal",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_0}, arch_sh_up}
+ shar r4 ;!/* 0100nnnn00100001 shar <REG_N> */{"shar",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_1}, arch_sh_up}
+ shll r4 ;!/* 0100nnnn00000000 shll <REG_N> */{"shll",{A_REG_N},{HEX_4,REG_N,HEX_0,HEX_0}, arch_sh_up}
+diff -Nur binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh2a-or-sh4.s binutils-2.42/gas/testsuite/gas/sh/arch/sh2a-or-sh4.s
+--- binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh2a-or-sh4.s 2024-01-29 01:00:00.000000000 +0100
++++ binutils-2.42/gas/testsuite/gas/sh/arch/sh2a-or-sh4.s 2024-02-22 16:50:03.689904606 +0100
+@@ -39,7 +39,7 @@
+ fsub dr4,dr2 ;!/* 1111nnn0mmm00001 fsub <D_REG_M>,<D_REG_N>*/{"fsub",{D_REG_M,D_REG_N},{HEX_F,REG_N,REG_M,HEX_1}, arch_sh2a_or_sh4_up}
+ ftrc dr2,FPUL ;!/* 1111nnnn00111101 ftrc <D_REG_N>,FPUL*/{"ftrc",{D_REG_N,FPUL_M},{HEX_F,REG_N,HEX_3,HEX_D}, arch_sh2a_or_sh4_up}
+
+-! Instructions inherited from ancestors: sh sh2 sh2a-nofpu-or-sh3-nommu sh2a-nofpu-or-sh4-nommu-nofpu sh2a-or-sh3e sh2e
++! Instructions inherited from ancestors: sh sh2 sh2a-nofpu-or-sh3-nommu sh2a-nofpu-or-sh3-nommu-or-sh2j-nofpu sh2a-nofpu-or-sh4-nommu-nofpu sh2a-or-sh3e sh2e
+ add #4,r4 ;!/* 0111nnnni8*1.... add #<imm>,<REG_N> */{"add",{A_IMM,A_REG_N},{HEX_7,REG_N,IMM0_8}, arch_sh_up}
+ add r5,r4 ;!/* 0011nnnnmmmm1100 add <REG_M>,<REG_N> */{"add",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_C}, arch_sh_up}
+ addc r5,r4 ;!/* 0011nnnnmmmm1110 addc <REG_M>,<REG_N>*/{"addc",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_E}, arch_sh_up}
+@@ -150,8 +150,8 @@
+ rte ;!/* 0000000000101011 rte */{"rte",{0},{HEX_0,HEX_0,HEX_2,HEX_B}, arch_sh_up}
+ rts ;!/* 0000000000001011 rts */{"rts",{0},{HEX_0,HEX_0,HEX_0,HEX_B}, arch_sh_up}
+ sett ;!/* 0000000000011000 sett */{"sett",{0},{HEX_0,HEX_0,HEX_1,HEX_8}, arch_sh_up}
+- shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_up}
+- shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_up}
++ shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
++ shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
+ shal r4 ;!/* 0100nnnn00100000 shal <REG_N> */{"shal",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_0}, arch_sh_up}
+ shar r4 ;!/* 0100nnnn00100001 shar <REG_N> */{"shar",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_1}, arch_sh_up}
+ shll r4 ;!/* 0100nnnn00000000 shll <REG_N> */{"shll",{A_REG_N},{HEX_4,REG_N,HEX_0,HEX_0}, arch_sh_up}
+diff -Nur binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh2a.s binutils-2.42/gas/testsuite/gas/sh/arch/sh2a.s
+--- binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh2a.s 2024-01-29 01:00:00.000000000 +0100
++++ binutils-2.42/gas/testsuite/gas/sh/arch/sh2a.s 2024-02-22 16:50:03.689904606 +0100
+@@ -16,7 +16,7 @@
+ fmov.s fr2,@(2048,r4) ;!/* 0011nnnnmmmm0001 0011dddddddddddd fmov.s <F_REG_M>,@(<DISP12>,<REG_N>) */ {"fmov.s",{F_REG_M,A_DISP_REG_N},{HEX_3,REG_N,REG_M,HEX_1,HEX_3,DISP1_12BY4}, arch_sh2a_up | arch_op32}
+ fmov.s @(2048,r5),fr1 ;!/* 0011nnnnmmmm0001 0111dddddddddddd fmov.s @(<DISP12>,<REG_M>),<F_REG_N> */ {"fmov.s",{A_DISP_REG_M,F_REG_N},{HEX_3,REG_N,REG_M,HEX_1,HEX_7,DISP0_12BY4}, arch_sh2a_up | arch_op32}
+
+-! Instructions inherited from ancestors: sh sh2 sh2a-nofpu sh2a-nofpu-or-sh3-nommu sh2a-nofpu-or-sh4-nommu-nofpu sh2a-or-sh3e sh2a-or-sh4 sh2e
++! Instructions inherited from ancestors: sh sh2 sh2a-nofpu sh2a-nofpu-or-sh3-nommu sh2a-nofpu-or-sh3-nommu-or-sh2j-nofpu sh2a-nofpu-or-sh4-nommu-nofpu sh2a-or-sh3e sh2a-or-sh4 sh2e
+ add #4,r4 ;!/* 0111nnnni8*1.... add #<imm>,<REG_N> */{"add",{A_IMM,A_REG_N},{HEX_7,REG_N,IMM0_8}, arch_sh_up}
+ add r5,r4 ;!/* 0011nnnnmmmm1100 add <REG_M>,<REG_N> */{"add",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_C}, arch_sh_up}
+ addc r5,r4 ;!/* 0011nnnnmmmm1110 addc <REG_M>,<REG_N>*/{"addc",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_E}, arch_sh_up}
+@@ -140,8 +140,8 @@
+ rte ;!/* 0000000000101011 rte */{"rte",{0},{HEX_0,HEX_0,HEX_2,HEX_B}, arch_sh_up}
+ rts ;!/* 0000000000001011 rts */{"rts",{0},{HEX_0,HEX_0,HEX_0,HEX_B}, arch_sh_up}
+ sett ;!/* 0000000000011000 sett */{"sett",{0},{HEX_0,HEX_0,HEX_1,HEX_8}, arch_sh_up}
+- shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_up}
+- shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_up}
++ shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
++ shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
+ shal r4 ;!/* 0100nnnn00100000 shal <REG_N> */{"shal",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_0}, arch_sh_up}
+ shar r4 ;!/* 0100nnnn00100001 shar <REG_N> */{"shar",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_1}, arch_sh_up}
+ shll r4 ;!/* 0100nnnn00000000 shll <REG_N> */{"shll",{A_REG_N},{HEX_4,REG_N,HEX_0,HEX_0}, arch_sh_up}
+diff -Nur binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh3-dsp.s binutils-2.42/gas/testsuite/gas/sh/arch/sh3-dsp.s
+--- binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh3-dsp.s 2024-01-29 01:00:00.000000000 +0100
++++ binutils-2.42/gas/testsuite/gas/sh/arch/sh3-dsp.s 2024-02-22 16:50:03.689904606 +0100
+@@ -12,7 +12,7 @@
+ sh3_dsp:
+ ! Instructions introduced into sh3-dsp
+
+-! Instructions inherited from ancestors: sh sh-dsp sh2 sh2a-nofpu-or-sh3-nommu sh3 sh3-nommu
++! Instructions inherited from ancestors: sh sh-dsp sh2 sh2a-nofpu-or-sh3-nommu sh2a-nofpu-or-sh3-nommu-or-sh2j-nofpu sh3 sh3-nommu
+ add #4,r4 ;!/* 0111nnnni8*1.... add #<imm>,<REG_N> */{"add",{A_IMM,A_REG_N},{HEX_7,REG_N,IMM0_8}, arch_sh_up}
+ add r5,r4 ;!/* 0011nnnnmmmm1100 add <REG_M>,<REG_N> */{"add",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_C}, arch_sh_up}
+ addc r5,r4 ;!/* 0011nnnnmmmm1110 addc <REG_M>,<REG_N>*/{"addc",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_E}, arch_sh_up}
+@@ -152,8 +152,8 @@
+ setrc #4 ;!/* 10000010i8*1.... setrc #<imm> */{"setrc",{A_IMM},{HEX_8,HEX_2,IMM0_8}, arch_sh_dsp_up}
+ repeat 10 20 r4 ;!/* repeat start end <REG_N> */{"repeat",{A_DISP_PC,A_DISP_PC,A_REG_N},{REPEAT,REG_N,HEX_1,HEX_4}, arch_sh_dsp_up}
+ repeat 10 20 #4 ;!/* repeat start end #<imm> */{"repeat",{A_DISP_PC,A_DISP_PC,A_IMM},{REPEAT,HEX_2,IMM0_8,HEX_8}, arch_sh_dsp_up}
+- shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_up}
+- shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_up}
++ shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
++ shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
+ shal r4 ;!/* 0100nnnn00100000 shal <REG_N> */{"shal",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_0}, arch_sh_up}
+ shar r4 ;!/* 0100nnnn00100001 shar <REG_N> */{"shar",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_1}, arch_sh_up}
+ shll r4 ;!/* 0100nnnn00000000 shll <REG_N> */{"shll",{A_REG_N},{HEX_4,REG_N,HEX_0,HEX_0}, arch_sh_up}
+diff -Nur binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh3e.s binutils-2.42/gas/testsuite/gas/sh/arch/sh3e.s
+--- binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh3e.s 2024-01-29 01:00:00.000000000 +0100
++++ binutils-2.42/gas/testsuite/gas/sh/arch/sh3e.s 2024-02-22 16:50:03.689904606 +0100
+@@ -12,7 +12,7 @@
+ sh3e:
+ ! Instructions introduced into sh3e
+
+-! Instructions inherited from ancestors: sh sh2 sh2a-nofpu-or-sh3-nommu sh2a-or-sh3e sh2e sh3 sh3-nommu
++! Instructions inherited from ancestors: sh sh2 sh2a-nofpu-or-sh3-nommu sh2a-nofpu-or-sh3-nommu-or-sh2j-nofpu sh2a-or-sh3e sh2e sh3 sh3-nommu
+ add #4,r4 ;!/* 0111nnnni8*1.... add #<imm>,<REG_N> */{"add",{A_IMM,A_REG_N},{HEX_7,REG_N,IMM0_8}, arch_sh_up}
+ add r5,r4 ;!/* 0011nnnnmmmm1100 add <REG_M>,<REG_N> */{"add",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_C}, arch_sh_up}
+ addc r5,r4 ;!/* 0011nnnnmmmm1110 addc <REG_M>,<REG_N>*/{"addc",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_E}, arch_sh_up}
+@@ -132,8 +132,8 @@
+ rts ;!/* 0000000000001011 rts */{"rts",{0},{HEX_0,HEX_0,HEX_0,HEX_B}, arch_sh_up}
+ sets ;!/* 0000000001011000 sets */{"sets",{0},{HEX_0,HEX_0,HEX_5,HEX_8}, arch_sh3_nommu_up}
+ sett ;!/* 0000000000011000 sett */{"sett",{0},{HEX_0,HEX_0,HEX_1,HEX_8}, arch_sh_up}
+- shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_up}
+- shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_up}
++ shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
++ shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
+ shal r4 ;!/* 0100nnnn00100000 shal <REG_N> */{"shal",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_0}, arch_sh_up}
+ shar r4 ;!/* 0100nnnn00100001 shar <REG_N> */{"shar",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_1}, arch_sh_up}
+ shll r4 ;!/* 0100nnnn00000000 shll <REG_N> */{"shll",{A_REG_N},{HEX_4,REG_N,HEX_0,HEX_0}, arch_sh_up}
+diff -Nur binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh3-nommu.s binutils-2.42/gas/testsuite/gas/sh/arch/sh3-nommu.s
+--- binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh3-nommu.s 2024-01-29 01:00:00.000000000 +0100
++++ binutils-2.42/gas/testsuite/gas/sh/arch/sh3-nommu.s 2024-02-22 16:50:03.689904606 +0100
+@@ -26,7 +26,7 @@
+ stc.l SPC,@-r4 ;!/* 0100nnnn01000011 stc.l SPC,@-<REG_N> */{"stc.l",{A_SPC,A_DEC_N},{HEX_4,REG_N,HEX_4,HEX_3}, arch_sh3_nommu_up}
+ stc.l r1_bank,@-r4 ;!/* 0100nnnn1xxx0011 stc.l Rn_BANK,@-<REG_N> */{"stc.l",{A_REG_B,A_DEC_N},{HEX_4,REG_N,REG_B,HEX_3}, arch_sh3_nommu_up}
+
+-! Instructions inherited from ancestors: sh sh2 sh2a-nofpu-or-sh3-nommu
++! Instructions inherited from ancestors: sh sh2 sh2a-nofpu-or-sh3-nommu sh2a-nofpu-or-sh3-nommu-or-sh2j-nofpu
+ add #4,r4 ;!/* 0111nnnni8*1.... add #<imm>,<REG_N> */{"add",{A_IMM,A_REG_N},{HEX_7,REG_N,IMM0_8}, arch_sh_up}
+ add r5,r4 ;!/* 0011nnnnmmmm1100 add <REG_M>,<REG_N> */{"add",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_C}, arch_sh_up}
+ addc r5,r4 ;!/* 0011nnnnmmmm1110 addc <REG_M>,<REG_N>*/{"addc",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_E}, arch_sh_up}
+@@ -133,8 +133,8 @@
+ rte ;!/* 0000000000101011 rte */{"rte",{0},{HEX_0,HEX_0,HEX_2,HEX_B}, arch_sh_up}
+ rts ;!/* 0000000000001011 rts */{"rts",{0},{HEX_0,HEX_0,HEX_0,HEX_B}, arch_sh_up}
+ sett ;!/* 0000000000011000 sett */{"sett",{0},{HEX_0,HEX_0,HEX_1,HEX_8}, arch_sh_up}
+- shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_up}
+- shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_up}
++ shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
++ shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
+ shal r4 ;!/* 0100nnnn00100000 shal <REG_N> */{"shal",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_0}, arch_sh_up}
+ shar r4 ;!/* 0100nnnn00100001 shar <REG_N> */{"shar",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_1}, arch_sh_up}
+ shll r4 ;!/* 0100nnnn00000000 shll <REG_N> */{"shll",{A_REG_N},{HEX_4,REG_N,HEX_0,HEX_0}, arch_sh_up}
+diff -Nur binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh3.s binutils-2.42/gas/testsuite/gas/sh/arch/sh3.s
+--- binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh3.s 2024-01-29 01:00:00.000000000 +0100
++++ binutils-2.42/gas/testsuite/gas/sh/arch/sh3.s 2024-02-22 16:50:03.689904606 +0100
+@@ -13,7 +13,7 @@
+ ! Instructions introduced into sh3
+ ldtlb ;!/* 0000000000111000 ldtlb */{"ldtlb",{0},{HEX_0,HEX_0,HEX_3,HEX_8}, arch_sh3_up}
+
+-! Instructions inherited from ancestors: sh sh2 sh2a-nofpu-or-sh3-nommu sh3-nommu
++! Instructions inherited from ancestors: sh sh2 sh2a-nofpu-or-sh3-nommu sh2a-nofpu-or-sh3-nommu-or-sh2j-nofpu sh3-nommu
+ add #4,r4 ;!/* 0111nnnni8*1.... add #<imm>,<REG_N> */{"add",{A_IMM,A_REG_N},{HEX_7,REG_N,IMM0_8}, arch_sh_up}
+ add r5,r4 ;!/* 0011nnnnmmmm1100 add <REG_M>,<REG_N> */{"add",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_C}, arch_sh_up}
+ addc r5,r4 ;!/* 0011nnnnmmmm1110 addc <REG_M>,<REG_N>*/{"addc",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_E}, arch_sh_up}
+@@ -128,8 +128,8 @@
+ rts ;!/* 0000000000001011 rts */{"rts",{0},{HEX_0,HEX_0,HEX_0,HEX_B}, arch_sh_up}
+ sets ;!/* 0000000001011000 sets */{"sets",{0},{HEX_0,HEX_0,HEX_5,HEX_8}, arch_sh3_nommu_up}
+ sett ;!/* 0000000000011000 sett */{"sett",{0},{HEX_0,HEX_0,HEX_1,HEX_8}, arch_sh_up}
+- shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_up}
+- shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_up}
++ shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
++ shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
+ shal r4 ;!/* 0100nnnn00100000 shal <REG_N> */{"shal",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_0}, arch_sh_up}
+ shar r4 ;!/* 0100nnnn00100001 shar <REG_N> */{"shar",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_1}, arch_sh_up}
+ shll r4 ;!/* 0100nnnn00000000 shll <REG_N> */{"shll",{A_REG_N},{HEX_4,REG_N,HEX_0,HEX_0}, arch_sh_up}
+diff -Nur binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh4al-dsp.s binutils-2.42/gas/testsuite/gas/sh/arch/sh4al-dsp.s
+--- binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh4al-dsp.s 2024-01-29 01:00:00.000000000 +0100
++++ binutils-2.42/gas/testsuite/gas/sh/arch/sh4al-dsp.s 2024-02-22 16:50:03.689904606 +0100
+@@ -48,7 +48,7 @@
+ dct pswap x1,m0 ;!/* 10011101xx01zzzz pswap <DSP_REG_X>,<DSP_REG_N> */ {"pswap", {DSP_REG_X,DSP_REG_N},{PPI,PPIC,HEX_9,HEX_D,HEX_1}, arch_sh4al_dsp_up}
+ dct pswap y0,m0 ;!/* 1011110101yyzzzz pswap <DSP_REG_Y>,<DSP_REG_N> */ {"pswap", {DSP_REG_Y,DSP_REG_N},{PPI,PPIC,HEX_B,HEX_D,HEX_4}, arch_sh4al_dsp_up}
+
+-! Instructions inherited from ancestors: sh sh-dsp sh2 sh2a-nofpu-or-sh3-nommu sh2a-nofpu-or-sh4-nommu-nofpu sh3 sh3-dsp sh3-nommu sh4-nofpu sh4-nommu-nofpu sh4a-nofpu
++! Instructions inherited from ancestors: sh sh-dsp sh2 sh2a-nofpu-or-sh3-nommu sh2a-nofpu-or-sh3-nommu-or-sh2j-nofpu sh2a-nofpu-or-sh4-nommu-nofpu sh3 sh3-dsp sh3-nommu sh4-nofpu sh4-nommu-nofpu sh4a-nofpu
+ add #4,r4 ;!/* 0111nnnni8*1.... add #<imm>,<REG_N> */{"add",{A_IMM,A_REG_N},{HEX_7,REG_N,IMM0_8}, arch_sh_up}
+ add r5,r4 ;!/* 0011nnnnmmmm1100 add <REG_M>,<REG_N> */{"add",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_C}, arch_sh_up}
+ addc r5,r4 ;!/* 0011nnnnmmmm1110 addc <REG_M>,<REG_N>*/{"addc",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_E}, arch_sh_up}
+@@ -202,8 +202,8 @@
+ setrc #4 ;!/* 10000010i8*1.... setrc #<imm> */{"setrc",{A_IMM},{HEX_8,HEX_2,IMM0_8}, arch_sh_dsp_up}
+ repeat 10 20 r4 ;!/* repeat start end <REG_N> */{"repeat",{A_DISP_PC,A_DISP_PC,A_REG_N},{REPEAT,REG_N,HEX_1,HEX_4}, arch_sh_dsp_up}
+ repeat 10 20 #4 ;!/* repeat start end #<imm> */{"repeat",{A_DISP_PC,A_DISP_PC,A_IMM},{REPEAT,HEX_2,IMM0_8,HEX_8}, arch_sh_dsp_up}
+- shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_up}
+- shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_up}
++ shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
++ shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
+ shal r4 ;!/* 0100nnnn00100000 shal <REG_N> */{"shal",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_0}, arch_sh_up}
+ shar r4 ;!/* 0100nnnn00100001 shar <REG_N> */{"shar",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_1}, arch_sh_up}
+ shll r4 ;!/* 0100nnnn00000000 shll <REG_N> */{"shll",{A_REG_N},{HEX_4,REG_N,HEX_0,HEX_0}, arch_sh_up}
+diff -Nur binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh4a-nofpu.s binutils-2.42/gas/testsuite/gas/sh/arch/sh4a-nofpu.s
+--- binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh4a-nofpu.s 2024-01-29 01:00:00.000000000 +0100
++++ binutils-2.42/gas/testsuite/gas/sh/arch/sh4a-nofpu.s 2024-02-22 16:50:03.693904638 +0100
+@@ -19,7 +19,7 @@
+ prefi @r4 ;!/* 0000nnnn11010011 prefi @<REG_N> */{"prefi",{A_IND_N},{HEX_0,REG_N,HEX_D,HEX_3}, arch_sh4a_nofpu_up}
+ synco ;!/* 0000000010101011 synco */{"synco",{0},{HEX_0,HEX_0,HEX_A,HEX_B}, arch_sh4a_nofpu_up}
+
+-! Instructions inherited from ancestors: sh sh2 sh2a-nofpu-or-sh3-nommu sh2a-nofpu-or-sh4-nommu-nofpu sh3 sh3-nommu sh4-nofpu sh4-nommu-nofpu
++! Instructions inherited from ancestors: sh sh2 sh2a-nofpu-or-sh3-nommu sh2a-nofpu-or-sh3-nommu-or-sh2j-nofpu sh2a-nofpu-or-sh4-nommu-nofpu sh3 sh3-nommu sh4-nofpu sh4-nommu-nofpu
+ add #4,r4 ;!/* 0111nnnni8*1.... add #<imm>,<REG_N> */{"add",{A_IMM,A_REG_N},{HEX_7,REG_N,IMM0_8}, arch_sh_up}
+ add r5,r4 ;!/* 0011nnnnmmmm1100 add <REG_M>,<REG_N> */{"add",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_C}, arch_sh_up}
+ addc r5,r4 ;!/* 0011nnnnmmmm1110 addc <REG_M>,<REG_N>*/{"addc",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_E}, arch_sh_up}
+@@ -143,8 +143,8 @@
+ rts ;!/* 0000000000001011 rts */{"rts",{0},{HEX_0,HEX_0,HEX_0,HEX_B}, arch_sh_up}
+ sets ;!/* 0000000001011000 sets */{"sets",{0},{HEX_0,HEX_0,HEX_5,HEX_8}, arch_sh3_nommu_up}
+ sett ;!/* 0000000000011000 sett */{"sett",{0},{HEX_0,HEX_0,HEX_1,HEX_8}, arch_sh_up}
+- shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_up}
+- shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_up}
++ shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
++ shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
+ shal r4 ;!/* 0100nnnn00100000 shal <REG_N> */{"shal",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_0}, arch_sh_up}
+ shar r4 ;!/* 0100nnnn00100001 shar <REG_N> */{"shar",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_1}, arch_sh_up}
+ shll r4 ;!/* 0100nnnn00000000 shll <REG_N> */{"shll",{A_REG_N},{HEX_4,REG_N,HEX_0,HEX_0}, arch_sh_up}
+diff -Nur binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh4a.s binutils-2.42/gas/testsuite/gas/sh/arch/sh4a.s
+--- binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh4a.s 2024-01-29 01:00:00.000000000 +0100
++++ binutils-2.42/gas/testsuite/gas/sh/arch/sh4a.s 2024-02-22 16:50:03.693904638 +0100
+@@ -13,7 +13,7 @@
+ ! Instructions introduced into sh4a
+ fpchg ;!/* 1111011111111101 fpchg */{"fpchg",{0},{HEX_F,HEX_7,HEX_F,HEX_D}, arch_sh4a_up}
+
+-! Instructions inherited from ancestors: sh sh2 sh2a-nofpu-or-sh3-nommu sh2a-nofpu-or-sh4-nommu-nofpu sh2a-or-sh3e sh2a-or-sh4 sh2e sh3 sh3-nommu sh3e sh4 sh4-nofpu sh4-nommu-nofpu sh4a-nofpu
++! Instructions inherited from ancestors: sh sh2 sh2a-nofpu-or-sh3-nommu sh2a-nofpu-or-sh3-nommu-or-sh2j-nofpu sh2a-nofpu-or-sh4-nommu-nofpu sh2a-or-sh3e sh2a-or-sh4 sh2e sh3 sh3-nommu sh3e sh4 sh4-nofpu sh4-nommu-nofpu sh4a-nofpu
+ add #4,r4 ;!/* 0111nnnni8*1.... add #<imm>,<REG_N> */{"add",{A_IMM,A_REG_N},{HEX_7,REG_N,IMM0_8}, arch_sh_up}
+ add r5,r4 ;!/* 0011nnnnmmmm1100 add <REG_M>,<REG_N> */{"add",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_C}, arch_sh_up}
+ addc r5,r4 ;!/* 0011nnnnmmmm1110 addc <REG_M>,<REG_N>*/{"addc",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_E}, arch_sh_up}
+@@ -147,8 +147,8 @@
+ rts ;!/* 0000000000001011 rts */{"rts",{0},{HEX_0,HEX_0,HEX_0,HEX_B}, arch_sh_up}
+ sets ;!/* 0000000001011000 sets */{"sets",{0},{HEX_0,HEX_0,HEX_5,HEX_8}, arch_sh3_nommu_up}
+ sett ;!/* 0000000000011000 sett */{"sett",{0},{HEX_0,HEX_0,HEX_1,HEX_8}, arch_sh_up}
+- shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_up}
+- shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_up}
++ shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
++ shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
+ shal r4 ;!/* 0100nnnn00100000 shal <REG_N> */{"shal",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_0}, arch_sh_up}
+ shar r4 ;!/* 0100nnnn00100001 shar <REG_N> */{"shar",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_1}, arch_sh_up}
+ shll r4 ;!/* 0100nnnn00000000 shll <REG_N> */{"shll",{A_REG_N},{HEX_4,REG_N,HEX_0,HEX_0}, arch_sh_up}
+diff -Nur binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh4-nofpu.s binutils-2.42/gas/testsuite/gas/sh/arch/sh4-nofpu.s
+--- binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh4-nofpu.s 2024-01-29 01:00:00.000000000 +0100
++++ binutils-2.42/gas/testsuite/gas/sh/arch/sh4-nofpu.s 2024-02-22 16:50:03.693904638 +0100
+@@ -12,7 +12,7 @@
+ sh4_nofpu:
+ ! Instructions introduced into sh4-nofpu
+
+-! Instructions inherited from ancestors: sh sh2 sh2a-nofpu-or-sh3-nommu sh2a-nofpu-or-sh4-nommu-nofpu sh3 sh3-nommu sh4-nommu-nofpu
++! Instructions inherited from ancestors: sh sh2 sh2a-nofpu-or-sh3-nommu sh2a-nofpu-or-sh3-nommu-or-sh2j-nofpu sh2a-nofpu-or-sh4-nommu-nofpu sh3 sh3-nommu sh4-nommu-nofpu
+ add #4,r4 ;!/* 0111nnnni8*1.... add #<imm>,<REG_N> */{"add",{A_IMM,A_REG_N},{HEX_7,REG_N,IMM0_8}, arch_sh_up}
+ add r5,r4 ;!/* 0011nnnnmmmm1100 add <REG_M>,<REG_N> */{"add",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_C}, arch_sh_up}
+ addc r5,r4 ;!/* 0011nnnnmmmm1110 addc <REG_M>,<REG_N>*/{"addc",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_E}, arch_sh_up}
+@@ -136,8 +136,8 @@
+ rts ;!/* 0000000000001011 rts */{"rts",{0},{HEX_0,HEX_0,HEX_0,HEX_B}, arch_sh_up}
+ sets ;!/* 0000000001011000 sets */{"sets",{0},{HEX_0,HEX_0,HEX_5,HEX_8}, arch_sh3_nommu_up}
+ sett ;!/* 0000000000011000 sett */{"sett",{0},{HEX_0,HEX_0,HEX_1,HEX_8}, arch_sh_up}
+- shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_up}
+- shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_up}
++ shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
++ shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
+ shal r4 ;!/* 0100nnnn00100000 shal <REG_N> */{"shal",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_0}, arch_sh_up}
+ shar r4 ;!/* 0100nnnn00100001 shar <REG_N> */{"shar",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_1}, arch_sh_up}
+ shll r4 ;!/* 0100nnnn00000000 shll <REG_N> */{"shll",{A_REG_N},{HEX_4,REG_N,HEX_0,HEX_0}, arch_sh_up}
+diff -Nur binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh4-nommu-nofpu.s binutils-2.42/gas/testsuite/gas/sh/arch/sh4-nommu-nofpu.s
+--- binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh4-nommu-nofpu.s 2024-01-29 01:00:00.000000000 +0100
++++ binutils-2.42/gas/testsuite/gas/sh/arch/sh4-nommu-nofpu.s 2024-02-22 16:50:03.693904638 +0100
+@@ -24,7 +24,7 @@
+ stc.l SGR,@-r4 ;!/* 0100nnnn00110010 stc.l SGR,@-<REG_N> */{"stc.l",{A_SGR,A_DEC_N},{HEX_4,REG_N,HEX_3,HEX_2}, arch_sh4_nommu_nofpu_up}
+ stc.l DBR,@-r4 ;!/* 0100nnnn11110010 stc.l DBR,@-<REG_N> */{"stc.l",{A_DBR,A_DEC_N},{HEX_4,REG_N,HEX_F,HEX_2}, arch_sh4_nommu_nofpu_up}
+
+-! Instructions inherited from ancestors: sh sh2 sh2a-nofpu-or-sh3-nommu sh2a-nofpu-or-sh4-nommu-nofpu sh3-nommu
++! Instructions inherited from ancestors: sh sh2 sh2a-nofpu-or-sh3-nommu sh2a-nofpu-or-sh3-nommu-or-sh2j-nofpu sh2a-nofpu-or-sh4-nommu-nofpu sh3-nommu
+ add #4,r4 ;!/* 0111nnnni8*1.... add #<imm>,<REG_N> */{"add",{A_IMM,A_REG_N},{HEX_7,REG_N,IMM0_8}, arch_sh_up}
+ add r5,r4 ;!/* 0011nnnnmmmm1100 add <REG_M>,<REG_N> */{"add",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_C}, arch_sh_up}
+ addc r5,r4 ;!/* 0011nnnnmmmm1110 addc <REG_M>,<REG_N>*/{"addc",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_E}, arch_sh_up}
+@@ -139,8 +139,8 @@
+ rts ;!/* 0000000000001011 rts */{"rts",{0},{HEX_0,HEX_0,HEX_0,HEX_B}, arch_sh_up}
+ sets ;!/* 0000000001011000 sets */{"sets",{0},{HEX_0,HEX_0,HEX_5,HEX_8}, arch_sh3_nommu_up}
+ sett ;!/* 0000000000011000 sett */{"sett",{0},{HEX_0,HEX_0,HEX_1,HEX_8}, arch_sh_up}
+- shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_up}
+- shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_up}
++ shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
++ shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
+ shal r4 ;!/* 0100nnnn00100000 shal <REG_N> */{"shal",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_0}, arch_sh_up}
+ shar r4 ;!/* 0100nnnn00100001 shar <REG_N> */{"shar",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_1}, arch_sh_up}
+ shll r4 ;!/* 0100nnnn00000000 shll <REG_N> */{"shll",{A_REG_N},{HEX_4,REG_N,HEX_0,HEX_0}, arch_sh_up}
+diff -Nur binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh4.s binutils-2.42/gas/testsuite/gas/sh/arch/sh4.s
+--- binutils-2.42.orig/gas/testsuite/gas/sh/arch/sh4.s 2024-01-29 01:00:00.000000000 +0100
++++ binutils-2.42/gas/testsuite/gas/sh/arch/sh4.s 2024-02-22 16:50:03.693904638 +0100
+@@ -17,7 +17,7 @@
+ fsrra fr1 ;!/* 1111nnnn01111101 fsrra <F_REG_N> */{"fsrra",{F_REG_N},{HEX_F,REG_N,HEX_7,HEX_D}, arch_sh4_up}
+ ftrv xmtrx,fv0 ;!/* 1111nn0111111101 ftrv XMTRX_M4,<V_REG_n>*/{"ftrv",{XMTRX_M4,V_REG_N},{HEX_F,REG_N_B01,HEX_F,HEX_D}, arch_sh4_up}
+
+-! Instructions inherited from ancestors: sh sh2 sh2a-nofpu-or-sh3-nommu sh2a-nofpu-or-sh4-nommu-nofpu sh2a-or-sh3e sh2a-or-sh4 sh2e sh3 sh3-nommu sh3e sh4-nofpu sh4-nommu-nofpu
++! Instructions inherited from ancestors: sh sh2 sh2a-nofpu-or-sh3-nommu sh2a-nofpu-or-sh3-nommu-or-sh2j-nofpu sh2a-nofpu-or-sh4-nommu-nofpu sh2a-or-sh3e sh2a-or-sh4 sh2e sh3 sh3-nommu sh3e sh4-nofpu sh4-nommu-nofpu
+ add #4,r4 ;!/* 0111nnnni8*1.... add #<imm>,<REG_N> */{"add",{A_IMM,A_REG_N},{HEX_7,REG_N,IMM0_8}, arch_sh_up}
+ add r5,r4 ;!/* 0011nnnnmmmm1100 add <REG_M>,<REG_N> */{"add",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_C}, arch_sh_up}
+ addc r5,r4 ;!/* 0011nnnnmmmm1110 addc <REG_M>,<REG_N>*/{"addc",{ A_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_E}, arch_sh_up}
+@@ -145,8 +145,8 @@
+ rts ;!/* 0000000000001011 rts */{"rts",{0},{HEX_0,HEX_0,HEX_0,HEX_B}, arch_sh_up}
+ sets ;!/* 0000000001011000 sets */{"sets",{0},{HEX_0,HEX_0,HEX_5,HEX_8}, arch_sh3_nommu_up}
+ sett ;!/* 0000000000011000 sett */{"sett",{0},{HEX_0,HEX_0,HEX_1,HEX_8}, arch_sh_up}
+- shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_up}
+- shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_up}
++ shad r5,r4 ;!/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
++ shld r5,r4 ;!/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_or_sh2j_nofpu_up}
+ shal r4 ;!/* 0100nnnn00100000 shal <REG_N> */{"shal",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_0}, arch_sh_up}
+ shar r4 ;!/* 0100nnnn00100001 shar <REG_N> */{"shar",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_1}, arch_sh_up}
+ shll r4 ;!/* 0100nnnn00000000 shll <REG_N> */{"shll",{A_REG_N},{HEX_4,REG_N,HEX_0,HEX_0}, arch_sh_up}
+diff -Nur binutils-2.42.orig/include/elf/sh.h binutils-2.42/include/elf/sh.h
+--- binutils-2.42.orig/include/elf/sh.h 2024-01-29 01:00:00.000000000 +0100
++++ binutils-2.42/include/elf/sh.h 2024-02-22 16:50:03.693904638 +0100
+@@ -39,6 +39,7 @@
+ #define EF_SH2E 11
+ #define EF_SH4A 12
+ #define EF_SH2A 13
++#define EF_SHJ2 14
+
+ #define EF_SH4_NOFPU 16
+ #define EF_SH4A_NOFPU 17
+@@ -50,6 +51,7 @@
+ #define EF_SH2A_SH3_NOFPU 22
+ #define EF_SH2A_SH4 23
+ #define EF_SH2A_SH3E 24
++#define EF_SH2A_SH3_SHJ2 25
+
+ /* This one can only mix in objects from other EF_SH5 objects. */
+ #define EF_SH5 10
+@@ -72,7 +74,8 @@
+ /* EF_SH2E */ bfd_mach_sh2e , \
+ /* EF_SH4A */ bfd_mach_sh4a , \
+ /* EF_SH2A */ bfd_mach_sh2a , \
+-/* 14, 15 */ 0, 0, \
++/* EF_SHJ2 */ bfd_mach_shj2 , \
++/* 15 */ 0, \
+ /* EF_SH4_NOFPU */ bfd_mach_sh4_nofpu , \
+ /* EF_SH4A_NOFPU */ bfd_mach_sh4a_nofpu , \
+ /* EF_SH4_NOMMU_NOFPU */ bfd_mach_sh4_nommu_nofpu, \
+@@ -81,7 +84,8 @@
+ /* EF_SH2A_SH4_NOFPU */ bfd_mach_sh2a_nofpu_or_sh4_nommu_nofpu, \
+ /* EF_SH2A_SH3_NOFPU */ bfd_mach_sh2a_nofpu_or_sh3_nommu, \
+ /* EF_SH2A_SH4 */ bfd_mach_sh2a_or_sh4 , \
+-/* EF_SH2A_SH3E */ bfd_mach_sh2a_or_sh3e
++/* EF_SH2A_SH3E */ bfd_mach_sh2a_or_sh3e, \
++/* EF_SH2A_SH3_SHJ2_NOFPU */ bfd_mach_sh2a_nofpu_or_sh3_nommu_or_shj2_nofpu
+
+ /* Convert arch_sh* into EF_SH*. */
+ int sh_find_elf_flags (unsigned int arch_set);
+diff -Nur binutils-2.42.orig/opcodes/sh-dis.c binutils-2.42/opcodes/sh-dis.c
+--- binutils-2.42.orig/opcodes/sh-dis.c 2024-01-29 01:00:00.000000000 +0100
++++ binutils-2.42/opcodes/sh-dis.c 2024-02-22 16:50:03.693904638 +0100
+@@ -866,6 +866,9 @@
+ case XMTRX_M4:
+ fprintf_fn (stream, "xmtrx");
+ break;
++ case A_IND_0:
++ fprintf_fn (stream, "@r0");
++ break;
+ default:
+ abort ();
+ }
+diff -Nur binutils-2.42.orig/opcodes/sh-opc.h binutils-2.42/opcodes/sh-opc.h
+--- binutils-2.42.orig/opcodes/sh-opc.h 2024-01-29 01:00:00.000000000 +0100
++++ binutils-2.42/opcodes/sh-opc.h 2024-02-22 16:50:03.697904670 +0100
+@@ -192,7 +192,8 @@
+ FPUL_N,
+ FPUL_M,
+ FPSCR_N,
+- FPSCR_M
++ FPSCR_M,
++ A_IND_0
+ }
+ sh_arg_type;
+
+@@ -216,9 +217,11 @@
+ #define arch_sh4_base (1 << 5)
+ #define arch_sh4a_base (1 << 6)
+ #define arch_sh2a_base (1 << 7)
+-#define arch_sh_base_mask MASK (0, 7)
++#define arch_shj2_base (1 << 8)
++#define arch_sh2a_sh3_shj2_base (1 << 9)
++#define arch_sh_base_mask MASK (0, 9)
+
+-/* Bits 8 ... 24 are currently free. */
++/* Bits 10 ... 24 are currently free. */
+
+ /* This is an annotation on instruction types, but we
+ abuse the arch field in instructions to denote it. */
+@@ -256,6 +259,8 @@
+ #define arch_sh2a_nofpu_or_sh3_nommu (arch_sh2a_sh3_base|arch_sh_no_mmu |arch_sh_no_co)
+ #define arch_sh2a_or_sh3e (arch_sh2a_sh4_base|arch_sh_no_mmu |arch_sh_sp_fpu)
+ #define arch_sh2a_or_sh4 (arch_sh2a_sh4_base|arch_sh_no_mmu |arch_sh_dp_fpu)
++#define arch_shj2 (arch_shj2_base |arch_sh_no_mmu |arch_sh_no_co)
++#define arch_sh2a_nofpu_or_sh3_nommu_or_shj2_nofpu (arch_sh2a_sh3_shj2_base|arch_sh_no_mmu |arch_sh_no_co)
+
+ #define SH_MERGE_ARCH_SET(SET1, SET2) ((SET1) & (SET2))
+ #define SH_VALID_BASE_ARCH_SET(SET) (((SET) & arch_sh_base_mask) != 0)
+@@ -320,7 +325,8 @@
+ #define arch_sh2_up (arch_sh2 \
+ | arch_sh2e_up \
+ | arch_sh2a_nofpu_or_sh3_nommu_up \
+- | arch_sh_dsp_up)
++ | arch_sh_dsp_up \
++ | arch_shj2_up)
+ #define arch_sh2a_nofpu_or_sh3_nommu_up (arch_sh2a_nofpu_or_sh3_nommu \
+ | arch_sh2a_nofpu_or_sh4_nommu_nofpu_up \
+ | arch_sh2a_or_sh3e_up \
+@@ -346,6 +352,12 @@
+ #define arch_sh4a_nofpu_up (arch_sh4a_nofpu \
+ | arch_sh4a_up \
+ | arch_sh4al_dsp_up)
++#define arch_shj2_up ( arch_shj2)
++#define arch_sh2a_nofpu_or_sh3_nommu_or_shj2_nofpu_up (arch_sh2a_nofpu_or_sh3_nommu \
++ | arch_sh2a_nofpu_or_sh4_nommu_nofpu_up \
++ | arch_sh2a_or_sh3e_up \
++ | arch_sh3_nommu_up \
++ | arch_shj2_up)
+
+ /* Right branches. */
+ #define arch_sh2e_up (arch_sh2e \
+@@ -714,9 +726,9 @@
+
+ /* repeat start end #<imm> */{"repeat",{A_DISP_PC,A_DISP_PC,A_IMM},{REPEAT,HEX_2,IMM0_8S,HEX_8}, arch_sh_dsp_up},
+
+-/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_up},
++/* 0100nnnnmmmm1100 shad <REG_M>,<REG_N>*/{"shad",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_C}, arch_sh2a_nofpu_or_sh3_nommu_or_shj2_nofpu_up},
+
+-/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_up},
++/* 0100nnnnmmmm1101 shld <REG_M>,<REG_N>*/{"shld",{ A_REG_M,A_REG_N},{HEX_4,REG_N,REG_M,HEX_D}, arch_sh2a_nofpu_or_sh3_nommu_or_shj2_nofpu_up},
+
+ /* 0100nnnn00100000 shal <REG_N> */{"shal",{A_REG_N},{HEX_4,REG_N,HEX_2,HEX_0}, arch_sh_up},
+
+@@ -1194,7 +1206,7 @@
+ {"movu.b",{A_DISP_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_1,HEX_8,DISP0_12}, arch_sh2a_nofpu_up | arch_op32},
+ /* 0011nnnnmmmm0001 1001dddddddddddd movu.w @(<DISP12>,<REG_M>),<REG_N> */
+ {"movu.w",{A_DISP_REG_M,A_REG_N},{HEX_3,REG_N,REG_M,HEX_1,HEX_9,DISP0_12BY2}, arch_sh2a_nofpu_up | arch_op32},
+-
++ /* 0010nnnnmmmm0011 cas.l Rm,Rn,@R0 */ {"cas.l", { A_REG_M,A_REG_N,A_IND_0},{HEX_2,REG_N,REG_M,HEX_3}, arch_shj2_up},
+ { 0, {0}, {0}, 0 }
+ };
+
diff --git a/toolchain/binutils/patches/2.42/kvx.patch b/toolchain/binutils/patches/2.42/kvx.patch
new file mode 100644
index 000000000..c3690ca8e
--- /dev/null
+++ b/toolchain/binutils/patches/2.42/kvx.patch
@@ -0,0 +1,29 @@
+From 234938d8b7df2f069c6cbbaff47eb2ba338ec532 Mon Sep 17 00:00:00 2001
+From: Paul Iannetta <piannetta@kalrayinc.com>
+Date: Mon, 4 Sep 2023 15:31:53 +0200
+Subject: [PATCH] kvx: gas: fix the detection of negative powers of 2
+
+gas/ChangeLog:
+
+2023-09-04 Paul Iannetta <piannetta@kalrayinc.com>
+
+ * config/kvx-parse.c (get_token_class): Use the signed value.
+
+---
+ gas/config/kvx-parse.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gas/config/kvx-parse.c b/gas/config/kvx-parse.c
+index bb51c861625..0bd6b75ef30 100644
+--- a/gas/config/kvx-parse.c
++++ b/gas/config/kvx-parse.c
+@@ -525,7 +525,7 @@ get_token_class (struct token_s *token, struct token_classes *classes, int insn_
+ : strtoull (tok + (tok[0] == '-') + (tok[0] == '+'), NULL, 0));
+ int64_t val = uval;
+ int64_t pval = val < 0 ? -uval : uval;
+- int neg_power2_p = val < 0 && !(uval & (uval - 1));
++ int neg_power2_p = val < 0 && !(pval & (pval - 1));
+ unsigned len = pval ? 8 * sizeof (pval) - __builtin_clzll (pval) : 0;
+ while (class[cur].class_id != -1
+ && ((unsigned) (class[cur].sz < 0
+
diff --git a/toolchain/elf2flt/Makefile b/toolchain/elf2flt/Makefile
index e1fa25b29..8e5fec5a4 100644
--- a/toolchain/elf2flt/Makefile
+++ b/toolchain/elf2flt/Makefile
@@ -8,26 +8,38 @@ include $(ADK_TOPDIR)/mk/buildhlp.mk
ifeq ($(ADK_TOOLCHAIN_BINUTILS_GIT),y)
BINUTILS_VERSION:= git
+BFDLIB:= .libs/libbfd.a
endif
-ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_35),y)
-BINUTILS_VERSION:= 2.35
+ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_42),y)
+BINUTILS_VERSION:= 2.42
+BFDLIB:= .libs/libbfd.a
endif
-ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_29),y)
-BINUTILS_VERSION:= 2.29.1
+ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_41),y)
+BINUTILS_VERSION:= 2.41
+BFDLIB:= .libs/libbfd.a
+endif
+ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_40),y)
+BINUTILS_VERSION:= 2.40
+BFDLIB:= libbfd.a
+endif
+ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_39),y)
+BINUTILS_VERSION:= 2.39
+BFDLIB:= libbfd.a
endif
ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_28),y)
BINUTILS_VERSION:= 2.28
+BFDLIB:= libbfd.a
endif
$(WRKBUILD)/.configured:
- (cd $(WRKBUILD); autoreconf -vif;)
+ (cd $(WRKBUILD); PATH='${HOST_PATH}' autoreconf -vif;)
(cd $(WRKBUILD); \
CPPFLAGS="-idirafter $(ADK_TOPDIR)/adk/include" \
./configure --prefix=$(STAGING_HOST_DIR)/usr \
--target=$(GNU_TARGET_NAME) \
--with-bfd-include-dir=$(TOOLCHAIN_BUILD_DIR)/w-binutils-$(BINUTILS_VERSION)-1/binutils-$(BINUTILS_VERSION)/bfd \
--with-binutils-include-dir=$(TOOLCHAIN_BUILD_DIR)/w-binutils-$(BINUTILS_VERSION)-1/binutils-$(BINUTILS_VERSION)/include \
- --with-libbfd=$(TOOLCHAIN_BUILD_DIR)/w-binutils-$(BINUTILS_VERSION)-1/binutils-$(BINUTILS_VERSION)/bfd/libbfd.a \
+ --with-libbfd=$(TOOLCHAIN_BUILD_DIR)/w-binutils-$(BINUTILS_VERSION)-1/binutils-$(BINUTILS_VERSION)/bfd/$(BFDLIB) \
--with-libiberty=$(TOOLCHAIN_BUILD_DIR)/w-binutils-$(BINUTILS_VERSION)-1/binutils-$(BINUTILS_VERSION)/libiberty/libiberty.a )
touch $@
diff --git a/toolchain/elf2flt/Makefile.inc b/toolchain/elf2flt/Makefile.inc
index 15434aeee..a5eed1570 100644
--- a/toolchain/elf2flt/Makefile.inc
+++ b/toolchain/elf2flt/Makefile.inc
@@ -2,7 +2,15 @@
# material, please see the LICENCE file in the top-level directory.
PKG_NAME:= elf2flt
+ifeq ($(ADK_TOOLCHAIN_ELF2FLT_2024_02),y)
+PKG_VERSION:= v2024.02
+PKG_GIT:= tag
+PKG_RELEASE:= 1
+PKG_SITES:= https://github.com/uclinux-dev/elf2flt.git
+endif
+ifeq ($(ADK_TOOLCHAIN_ELF2FLT_OLD),y)
PKG_VERSION:= 453398f917d167f8c308c8f997270c48ae8f8b12
PKG_GIT:= hash
PKG_RELEASE:= 1
PKG_SITES:= https://github.com/uclinux-dev/elf2flt.git
+endif
diff --git a/toolchain/elf2flt/patches/26dfb54a59c8c0106418a0c46ccb4288d9e066fd/0001-riscv32.patch b/toolchain/elf2flt/patches/26dfb54a59c8c0106418a0c46ccb4288d9e066fd/0001-riscv32.patch
new file mode 100644
index 000000000..a99de4f9f
--- /dev/null
+++ b/toolchain/elf2flt/patches/26dfb54a59c8c0106418a0c46ccb4288d9e066fd/0001-riscv32.patch
@@ -0,0 +1,42 @@
+diff -Nur elf2flt-v2023.04.orig/elf2flt.c elf2flt-v2023.04/elf2flt.c
+--- elf2flt-v2023.04.orig/elf2flt.c 2023-09-04 11:29:05.952417209 +0200
++++ elf2flt-v2023.04/elf2flt.c 2023-09-04 11:30:05.371065966 +0200
+@@ -81,7 +81,7 @@
+ #include <elf/v850.h>
+ #elif defined(TARGET_xtensa)
+ #include <elf/xtensa.h>
+-#elif defined(TARGET_riscv64)
++#elif defined(TARGET_riscv64) || defined(TARGET_riscv32)
+ #include <elf/riscv.h>
+ #endif
+
+@@ -127,6 +127,8 @@
+ #define ARCH "xtensa"
+ #elif defined(TARGET_riscv64)
+ #define ARCH "riscv64"
++#elif defined(TARGET_riscv32)
++#define ARCH "riscv32"
+ #else
+ #error "Don't know how to support your CPU architecture??"
+ #endif
+@@ -822,7 +824,7 @@
+ goto good_32bit_resolved_reloc_update_text;
+ default:
+ goto bad_resolved_reloc;
+-#elif defined(TARGET_riscv64)
++#elif defined(TARGET_riscv64) || defined(TARGET_riscv32)
+ case R_RISCV_NONE:
+ case R_RISCV_32_PCREL:
+ case R_RISCV_ADD8:
+diff -Nur elf2flt-v2023.04.orig/ld-elf2flt.c elf2flt-v2023.04/ld-elf2flt.c
+--- elf2flt-v2023.04.orig/ld-elf2flt.c 2023-09-04 11:28:59.072573514 +0200
++++ elf2flt-v2023.04/ld-elf2flt.c 2023-09-04 11:29:32.507813592 +0200
+@@ -327,7 +327,7 @@
+ /* riscv adds a global pointer symbol to the linker file with the
+ "RISCV_GP:" prefix. Remove the prefix for riscv64 architecture and
+ the entire line for other architectures. */
+- if (streq(TARGET_CPU, "riscv64"))
++ if (streq(TARGET_CPU, "riscv64") || streq(TARGET_CPU, "riscv32"))
+ append_sed(&sed, "^RISCV_GP:", "");
+ else
+ append_sed(&sed, "^RISCV_GP:", NULL);
diff --git a/toolchain/elf2flt/patches/26dfb54a59c8c0106418a0c46ccb4288d9e066fd/0002-lm32.patch b/toolchain/elf2flt/patches/26dfb54a59c8c0106418a0c46ccb4288d9e066fd/0002-lm32.patch
new file mode 100644
index 000000000..b24b214c7
--- /dev/null
+++ b/toolchain/elf2flt/patches/26dfb54a59c8c0106418a0c46ccb4288d9e066fd/0002-lm32.patch
@@ -0,0 +1,167 @@
+diff -Nur elf2flt.orig/elf2flt.c elf2flt/elf2flt.c
+--- elf2flt.orig/elf2flt.c 2023-09-07 15:59:10.019349031 +0200
++++ elf2flt/elf2flt.c 2023-09-07 16:40:06.281961316 +0200
+@@ -62,6 +62,8 @@
+ #include <elf/bfin.h>
+ #elif defined(TARGET_h8300)
+ #include <elf/h8.h>
++#elif defined(TARGET_lm32)
++#include <elf/lm32.h>
+ #elif defined(TARGET_m68k)
+ #include <elf/m68k.h>
+ #elif defined(TARGET_microblaze)
+@@ -123,6 +125,11 @@
+ #define ARCH "nios"
+ #elif defined(TARGET_nios2)
+ #define ARCH "nios2"
++#elif defined(TARGET_lm32)
++#define ARCH "lm32"
++#define FLAT_LM32_RELOC_TYPE_32_BIT 0
++#define FLAT_LM32_RELOC_TYPE_HI16_BIT 1
++#define FLAT_LM32_RELOC_TYPE_LO16_BIT 2
+ #elif defined(TARGET_xtensa)
+ #define ARCH "xtensa"
+ #elif defined(TARGET_riscv64)
+@@ -373,7 +380,7 @@
+ int bad_relocs = 0;
+ asymbol **symb;
+ long nsymb;
+-#ifdef TARGET_bfin
++#if defined (TARGET_bfin) || defined (TARGET_lm32)
+ unsigned long persistent_data = 0;
+ #endif
+
+@@ -690,6 +697,36 @@
+ break;
+ default:
+ goto bad_resolved_reloc;
++#elif defined(TARGET_lm32)
++ case R_LM32_HI16:
++ case R_LM32_LO16:
++ if (q->howto->type == R_LM32_HI16) {
++ pflags = FLAT_LM32_RELOC_TYPE_HI16_BIT << 29;
++ } else {
++ pflags = FLAT_LM32_RELOC_TYPE_LO16_BIT << 29;
++ }
++
++ relocation_needed = 1;
++
++ /* remember the upper 16 bits */
++ if ((0xffff0000 & sym_addr) != persistent_data) {
++ flat_relocs = (uint32_t *)
++ (realloc (flat_relocs, (flat_reloc_count + 1) * sizeof (uint32_t)));
++ if (verbose)
++ printf ("New persistent data for %08lx\n", sym_addr);
++ persistent_data = 0xffff0000 & sym_addr;
++ flat_relocs[flat_reloc_count++] = (sym_addr >> 16) | (3 << 29);
++ }
++ break;
++ case R_LM32_32:
++ pflags = FLAT_LM32_RELOC_TYPE_32_BIT << 29;
++ relocation_needed = 1;
++ break;
++ case R_LM32_CALL:
++ relocation_needed = 0;
++ break;
++ default:
++ goto bad_resolved_reloc;
+ #elif defined(TARGET_m68k)
+ case R_68K_32:
+ goto good_32bit_resolved_reloc;
+@@ -1478,6 +1515,63 @@
+ #undef _30BITS_RELOC
+ #undef _28BITS_RELOC
+ #endif
++#ifdef TARGET_lm32
++ case R_LM32_32:
++ {
++ pflags = FLAT_LM32_RELOC_TYPE_32_BIT << 29;
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
++ sym_addr += sym_vma + q->addend;
++ relocation_needed = 1;
++ break;
++ }
++ case R_LM32_CALL:
++ {
++ sym_vma = 0;
++ sym_addr += sym_vma + q->addend;
++ sym_addr -= q->address;
++ sym_addr = (int32_t)sym_addr >> q->howto->rightshift;
++
++ if ((int32_t)sym_addr < -0x8000000 || (int32_t)sym_addr > 0x7ffffff) {
++ printf("ERROR: Relocation overflow for R_LM32_CALL relocation against %s\n", sym_name);
++ bad_relocs++;
++ continue;
++ }
++
++ r_mem[0] |= (sym_addr >> 24) & 0x03;
++ r_mem[1] = (sym_addr >> 16) & 0xff;
++ r_mem[2] = (sym_addr >> 8) & 0xff;
++ r_mem[3] = sym_addr & 0xff;
++ break;
++ }
++ case R_LM32_HI16:
++ case R_LM32_LO16:
++ {
++ if (q->howto->type == R_LM32_HI16) {
++ pflags = FLAT_LM32_RELOC_TYPE_HI16_BIT << 29;
++ } else {
++ pflags = FLAT_LM32_RELOC_TYPE_LO16_BIT << 29;
++ }
++
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
++ sym_addr += sym_vma + q->addend;
++
++ relocation_needed = 1;
++
++ /* remember the upper 16 bits */
++ if ((0xffff0000 & sym_addr) != persistent_data) {
++ flat_relocs = (uint32_t *)
++ (realloc (flat_relocs, (flat_reloc_count + 1) * sizeof (uint32_t)));
++ if (verbose)
++ printf ("New persistent data for %08lx\n", sym_addr);
++ persistent_data = 0xffff0000 & sym_addr;
++ flat_relocs[flat_reloc_count++] = (sym_addr >> 16) | (3 << 29);
++ }
++
++ r_mem[2] = (sym_addr >> 8) & 0xff;
++ r_mem[3] = sym_addr & 0xff;
++ break;
++ }
++#endif /* TARGET_lm32 */
+ default:
+ /* missing support for other types of relocs */
+ printf("ERROR: bad reloc type (%s)%d\n", q->howto->name, (*p)->howto->type);
+@@ -1616,6 +1710,13 @@
+ break;
+ #endif
+
++#ifdef TARGET_lm32
++ case R_LM32_HI16:
++ case R_LM32_LO16:
++ case R_LM32_CALL:
++ /* entry has already been written */
++ break;
++#endif
+ default:
+ /* The alignment of the build host
+ might be stricter than that of the
+diff -Nur elf2flt.orig/elf2flt.ld.in elf2flt/elf2flt.ld.in
+--- elf2flt.orig/elf2flt.ld.in 2023-09-07 11:32:34.223463015 +0200
++++ elf2flt/elf2flt.ld.in 2023-09-07 16:06:02.781672190 +0200
+@@ -73,6 +73,7 @@
+ W_RODAT: *(.rodata1)
+ W_RODAT: *(.rodata.*)
+ W_RODAT: *(.gnu.linkonce.r*)
++W_RODAT: *(.rofixup)
+
+ /* .ARM.extab name sections containing exception unwinding information */
+ *(.ARM.extab* .gnu.linkonce.armextab.*)
+@@ -111,6 +112,7 @@
+ R_RODAT: *(.rodata1)
+ R_RODAT: *(.rodata.*)
+ R_RODAT: *(.gnu.linkonce.r*)
++R_RODAT: *(.rofixup)
+ *(.data)
+ *(.data1)
+ *(.data.*)
diff --git a/toolchain/elf2flt/patches/26dfb54a59c8c0106418a0c46ccb4288d9e066fd/0003-sh2.patch b/toolchain/elf2flt/patches/26dfb54a59c8c0106418a0c46ccb4288d9e066fd/0003-sh2.patch
new file mode 100644
index 000000000..9587a0315
--- /dev/null
+++ b/toolchain/elf2flt/patches/26dfb54a59c8c0106418a0c46ccb4288d9e066fd/0003-sh2.patch
@@ -0,0 +1,52 @@
+diff -Nur elf2flt-26dfb54a59c8c0106418a0c46ccb4288d9e066fd.orig/elf2flt.c elf2flt-26dfb54a59c8c0106418a0c46ccb4288d9e066fd/elf2flt.c
+--- elf2flt-26dfb54a59c8c0106418a0c46ccb4288d9e066fd.orig/elf2flt.c 2023-09-08 08:49:00.529082893 +0200
++++ elf2flt-26dfb54a59c8c0106418a0c46ccb4288d9e066fd/elf2flt.c 2023-09-08 08:51:08.117679134 +0200
+@@ -75,7 +75,7 @@
+ #define FLAT_NIOS2_R_HIADJ_LO 2
+ #define FLAT_NIOS2_R_CALL26 4
+ #include <elf/nios2.h>
+-#elif defined(TARGET_sh)
++#elif defined(TARGET_sh2eb)
+ #include <elf/sh.h>
+ #elif defined(TARGET_sparc)
+ #include <elf/sparc.h>
+@@ -111,7 +111,7 @@
+ #define ARCH "sparc"
+ #elif defined(TARGET_v850)
+ #define ARCH "v850"
+-#elif defined(TARGET_sh)
++#elif defined(TARGET_sh2eb)
+ #define ARCH "sh"
+ #elif defined(TARGET_h8300)
+ #define ARCH "h8300"
+@@ -795,6 +795,12 @@
+
+ flat_reloc_count++;
+ break;
++#elif defined (TARGET_sh2eb)
++ case R_SH_DIR32:
++ goto good_32bit_resolved_reloc;
++ case R_SH_REL32:
++ relocation_needed = 0;
++ continue;
+ #elif defined (TARGET_h8300)
+ case R_H8_DIR32:
+ case R_H8_DIR32A16:
+@@ -1328,7 +1334,7 @@
+ #endif /* TARGET_sparc */
+
+
+-#ifdef TARGET_sh
++#ifdef TARGET_sh2eb
+ case R_SH_DIR32:
+ relocation_needed = 1;
+ sym_vma = elf2flt_bfd_section_vma(sym_section);
+@@ -1339,7 +1345,7 @@
+ sym_addr += sym_vma + q->addend;
+ sym_addr -= q->address;
+ break;
+-#endif /* TARGET_sh */
++#endif /* TARGET_sh2eb */
+
+ #ifdef TARGET_e1
+ #define htoe1l(x) htonl(x)
diff --git a/toolchain/elf2flt/patches/3051fec89bbd30de6f952dc3100712feff3ca076/0001-.rofixup-fix.patch b/toolchain/elf2flt/patches/3051fec89bbd30de6f952dc3100712feff3ca076/0001-.rofixup-fix.patch
new file mode 100644
index 000000000..79186642e
--- /dev/null
+++ b/toolchain/elf2flt/patches/3051fec89bbd30de6f952dc3100712feff3ca076/0001-.rofixup-fix.patch
@@ -0,0 +1,33 @@
+From 270b461e88b47781b3ef9bba2779074d0eb4996b Mon Sep 17 00:00:00 2001
+From: Waldemar Brodkorb <wbx@openadk.org>
+Date: Fri, 25 Aug 2023 05:04:53 +0200
+Subject: [PATCH] .rofixup fix
+
+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
+---
+ elf2flt.ld.in | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/elf2flt.ld.in b/elf2flt.ld.in
+index c7e01a6..c69531e 100644
+--- a/elf2flt.ld.in
++++ b/elf2flt.ld.in
+@@ -31,6 +31,7 @@ W_RODAT *(.rodata)
+ W_RODAT *(.rodata1)
+ W_RODAT *(.rodata.*)
+ W_RODAT *(.gnu.linkonce.r*)
++W_RODAT *(.rofixup)
+
+ /* This is special code area at the end of the normal
+ text section. It contains a small lookup table at
+@@ -60,6 +61,7 @@ R_RODAT *(.rodata)
+ R_RODAT *(.rodata1)
+ R_RODAT *(.rodata.*)
+ R_RODAT *(.gnu.linkonce.r*)
++R_RODAT *(.rofixup)
+ *(.data)
+ *(.data1)
+ *(.data.*)
+--
+2.30.2
+
diff --git a/toolchain/elf2flt/patches/453398f917d167f8c308c8f997270c48ae8f8b12/0004-elf2flt.c-add-new-relocation-types-for-xtensa.patch b/toolchain/elf2flt/patches/453398f917d167f8c308c8f997270c48ae8f8b12/0004-elf2flt.c-add-new-relocation-types-for-xtensa.patch
new file mode 100644
index 000000000..953bd79cc
--- /dev/null
+++ b/toolchain/elf2flt/patches/453398f917d167f8c308c8f997270c48ae8f8b12/0004-elf2flt.c-add-new-relocation-types-for-xtensa.patch
@@ -0,0 +1,188 @@
+From d7eb73163bcea31168c438fc132a0967ac172e3d Mon Sep 17 00:00:00 2001
+From: Max Filippov <jcmvbkbc@gmail.com>
+Date: Thu, 7 May 2020 21:11:43 -0700
+Subject: [PATCH] elf2flt.c: add new relocation types for xtensa
+
+Xtensa have added new relocation types R_XTENSA_[NP]DIFF{8,16,32} with
+the same properties as the existing types R_XTENSA_DIFF{8,16,32}.
+Add them to the list of ignored relocation types.
+
+This fixes the following error when invoking elf2flt on xtensa binaries
+built with the recent binutils:
+
+ ERROR: reloc type R_XTENSA_PDIFF32 unsupported in this context
+
+Reported-by: Romain Naour <romain.naour@gmail.com>
+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
+Backported from: d7eb73163bcea31168c438fc132a0967ac172e3d
+---
+ Makefile.in | 3 ++-
+ configure | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ configure.ac | 14 ++++++++++++
+ elf2flt.c | 8 +++++++
+ 4 files changed, 88 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 52b3347d7f43..0529c7f0a25a 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -30,7 +30,8 @@ DEFS = @DEFS@ \
+ -DNO_GOT_CHECK=@got_check@ \
+ -DUSE_EMIT_RELOCS=@emit_relocs@ \
+ -DEMIT_CTOR_DTOR=@emit_ctor_dtor@ \
+- -DALWAYS_RELOC_TEXT=@always_reloc_text@
++ -DALWAYS_RELOC_TEXT=@always_reloc_text@ \
++ -DHAVE_BFD_XTENSA_PDIFF_RELOCS=@HAVE_BFD_XTENSA_PDIFF_RELOCS@
+ EXEEXT = @EXEEXT@
+ OBJEXT = @OBJEXT@
+
+diff --git a/configure b/configure
+index bb8e33f9cb28..bca38c34247e 100755
+--- a/configure
++++ b/configure
+@@ -621,6 +621,7 @@ ac_includes_default="\
+
+ ac_subst_vars='LTLIBOBJS
+ LIBOBJS
++HAVE_BFD_XTENSA_PDIFF_RELOCS
+ SYMBOL_PREFIX
+ always_reloc_text
+ emit_ctor_dtor
+@@ -1729,6 +1730,52 @@ fi
+
+ } # ac_fn_c_try_link
+
++# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
++# ---------------------------------------------
++# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
++# accordingly.
++ac_fn_c_check_decl ()
++{
++ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++ as_decl_name=`echo $2|sed 's/ *(.*//'`
++ as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
++$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
++if eval \${$3+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++$4
++int
++main ()
++{
++#ifndef $as_decl_name
++#ifdef __cplusplus
++ (void) $as_decl_use;
++#else
++ (void) $as_decl_name;
++#endif
++#endif
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ eval "$3=yes"
++else
++ eval "$3=no"
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++eval ac_res=\$$3
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
++
++} # ac_fn_c_check_decl
++
+ # ac_fn_c_check_func LINENO FUNC VAR
+ # ----------------------------------
+ # Tests whether FUNC exists, setting the cache variable VAR accordingly
+@@ -4272,6 +4319,22 @@ $as_echo "#define const /**/" >>confdefs.h
+ fi
+
+
++HAVE_BFD_XTENSA_PDIFF_RELOCS=0
++case $target in
++ xtensa*)
++ OLD_CPPFLAGS=$CPPFLAGS
++ CPPFLAGS="-I$bfd_include_dir -I$binutils_include_dir $CPPFLAGS"
++ ac_fn_c_check_decl "$LINENO" "R_XTENSA_PDIFF8" "ac_cv_have_decl_R_XTENSA_PDIFF8" "#include \"bfd.h\"
++ #include \"elf/xtensa.h\"
++"
++if test "x$ac_cv_have_decl_R_XTENSA_PDIFF8" = xyes; then :
++ HAVE_BFD_XTENSA_PDIFF_RELOCS=1
++fi
++
++ CPPFLAGS=$OLD_CPPFLAGS
++ ;;
++esac
++
+ for ac_func in vprintf
+ do :
+ ac_fn_c_check_func "$LINENO" "vprintf" "ac_cv_func_vprintf"
+@@ -4333,6 +4396,7 @@ fi
+
+
+
++
+ ac_config_files="$ac_config_files ld-elf2flt.sh:ld-elf2flt.in Makefile elf2flt.ld"
+
+ cat >confcache <<\_ACEOF
+diff --git a/configure.ac b/configure.ac
+index d6b4119eb18a..19969b1045f6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -202,6 +202,19 @@ AC_CHECK_HEADERS(fcntl.h unistd.h bfd.h)
+ dnl Checks for typedefs, structures, and compiler characteristics.
+ AC_C_CONST
+
++HAVE_BFD_XTENSA_PDIFF_RELOCS=0
++case $target in
++ xtensa*)
++ AS_VAR_COPY([OLD_CPPFLAGS], [CPPFLAGS])
++ AS_VAR_SET([CPPFLAGS], ["-I$bfd_include_dir -I$binutils_include_dir $CPPFLAGS"])
++ AC_CHECK_DECL([R_XTENSA_PDIFF8],
++ [HAVE_BFD_XTENSA_PDIFF_RELOCS=1],,
++ [#include "bfd.h"
++ #include "elf/xtensa.h"])
++ AS_VAR_COPY([CPPFLAGS], [OLD_CPPFLAGS])
++ ;;
++esac
++
+ dnl Checks for library functions.
+ AC_FUNC_VPRINTF
+
+@@ -235,6 +248,7 @@ AC_SUBST(emit_relocs)
+ AC_SUBST(emit_ctor_dtor)
+ AC_SUBST(always_reloc_text)
+ AC_SUBST(SYMBOL_PREFIX)
++AC_SUBST(HAVE_BFD_XTENSA_PDIFF_RELOCS)
+
+ AC_OUTPUT(ld-elf2flt.sh:ld-elf2flt.in Makefile elf2flt.ld)
+
+diff --git a/elf2flt.c b/elf2flt.c
+index b7c4a490df02..961534973f56 100644
+--- a/elf2flt.c
++++ b/elf2flt.c
+@@ -776,6 +776,14 @@ output_relocs (
+ case R_XTENSA_DIFF8:
+ case R_XTENSA_DIFF16:
+ case R_XTENSA_DIFF32:
++#if HAVE_BFD_XTENSA_PDIFF_RELOCS
++ case R_XTENSA_PDIFF8:
++ case R_XTENSA_PDIFF16:
++ case R_XTENSA_PDIFF32:
++ case R_XTENSA_NDIFF8:
++ case R_XTENSA_NDIFF16:
++ case R_XTENSA_NDIFF32:
++#endif
+ case R_XTENSA_32_PCREL:
+ continue;
+ case R_XTENSA_32:
+--
+2.20.1
+
diff --git a/toolchain/elf2flt/patches/453398f917d167f8c308c8f997270c48ae8f8b12/0005-elf2flt-add-riscv-64-bits-support.patch b/toolchain/elf2flt/patches/453398f917d167f8c308c8f997270c48ae8f8b12/0005-elf2flt-add-riscv-64-bits-support.patch
new file mode 100644
index 000000000..4b0075844
--- /dev/null
+++ b/toolchain/elf2flt/patches/453398f917d167f8c308c8f997270c48ae8f8b12/0005-elf2flt-add-riscv-64-bits-support.patch
@@ -0,0 +1,137 @@
+From 1dea576eac4289602adc4a37f48c80330bf82e63 Mon Sep 17 00:00:00 2001
+From: Damien Le Moal <damien.lemoal@wdc.com>
+Date: Wed, 9 Sep 2020 17:31:33 +0900
+Subject: [PATCH] elf2flt: add riscv 64-bits support
+
+Add support for riscv 64bits ISA by defining the relocation types
+R_RISCV_32_PCREL, R_RISCV_ADD32, R_RISCV_SUB32, R_RISCV_32 and
+R_RISCV_64. riscv64 support also needs the __global_pointer$ symbol to
+be defined right after the relocation tables in the data section.
+Furthermore, the .got and .got.plt sections must be reversed. These 2
+requirements are handled with runtime modifications of the default
+linker script using the append_sed() function.
+(1) For the .got.plt and .got sections order swap, append_sed() is used
+to rename "(.got.plt)" to "(.got.tmp)" and to rename "(.got)" to
+"(.got.plt)". A last call finalize the name swap by replacing
+"(.got.tmp)" with "(.got)"
+(2) For the global pointer synbol, a definition line starting with
+"RISCV_GP" is added. The "RISCV_GP" string is removed if the target CPU
+type is riscv64. The definition line is dropped for other CPU types.
+
+With these changes, buildroot/busybox builds and run on NOMMU
+systems with kernel 5.13. Tested on Canaan Kendryte K210 boards.
+
+This patch is based on earlier work by Christoph Hellwig <hch@lst.de>.
+
+Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
+---
+ elf2flt.c | 23 +++++++++++++++++++++++
+ elf2flt.ld.in | 9 +++++----
+ ld-elf2flt.c | 16 ++++++++++++++++
+ 3 files changed, 44 insertions(+), 4 deletions(-)
+
+diff --git a/elf2flt.c b/elf2flt.c
+index f87f1fc..dbce467 100644
+--- a/elf2flt.c
++++ b/elf2flt.c
+@@ -80,6 +80,8 @@ const char *elf2flt_progname;
+ #include <elf/v850.h>
+ #elif defined(TARGET_xtensa)
+ #include <elf/xtensa.h>
++#elif defined(TARGET_riscv64)
++#include <elf/riscv.h>
+ #endif
+
+ #if defined(__MINGW32__)
+@@ -122,6 +124,8 @@ const char *elf2flt_progname;
+ #define ARCH "nios2"
+ #elif defined(TARGET_xtensa)
+ #define ARCH "xtensa"
++#elif defined(TARGET_riscv64)
++#define ARCH "riscv64"
+ #else
+ #error "Don't know how to support your CPU architecture??"
+ #endif
+@@ -797,6 +801,16 @@ output_relocs (
+ goto good_32bit_resolved_reloc;
+ default:
+ goto bad_resolved_reloc;
++#elif defined(TARGET_riscv64)
++ case R_RISCV_32_PCREL:
++ case R_RISCV_ADD32:
++ case R_RISCV_SUB32:
++ continue;
++ case R_RISCV_32:
++ case R_RISCV_64:
++ goto good_32bit_resolved_reloc;
++ default:
++ goto bad_resolved_reloc;
+ #else
+ default:
+ /* The default is to assume that the
+@@ -1806,6 +1820,15 @@ int main(int argc, char *argv[])
+ if (!load_to_ram && !pfile)
+ load_to_ram = 1;
+
++#if defined(TARGET_riscv64)
++ /*
++ * riscv only supports loading text and data contiguously.
++ * So fail if load_to_ram is false.
++ */
++ if (!load_to_ram)
++ fatal("Loading to RAM ('-r' option) is required");
++#endif
++
+ fname = argv[argc-1];
+
+ if (pfile) {
+diff --git a/elf2flt.ld.in b/elf2flt.ld.in
+index ec1fe6f..c0c44b8 100644
+--- a/elf2flt.ld.in
++++ b/elf2flt.ld.in
+@@ -70,10 +70,11 @@ W_RODAT *(.gnu.linkonce.r*)
+ . = ALIGN(0x20) ;
+ LONG(-1)
+ . = ALIGN(0x20) ;
+-R_RODAT *(.rodata)
+-R_RODAT *(.rodata1)
+-R_RODAT *(.rodata.*)
+-R_RODAT *(.gnu.linkonce.r*)
++RISCV_GP: __global_pointer$ = . + 0x800 ;
++R_RODAT *(.rodata)
++R_RODAT *(.rodata1)
++R_RODAT *(.rodata.*)
++R_RODAT *(.gnu.linkonce.r*)
+ *(.data)
+ *(.data1)
+ *(.data.*)
+diff --git a/ld-elf2flt.c b/ld-elf2flt.c
+index e5de506..31b565f 100644
+--- a/ld-elf2flt.c
++++ b/ld-elf2flt.c
+@@ -324,6 +324,22 @@ static int do_final_link(void)
+ append_option(&other_options, concat(got_offset, "=", buf, NULL));
+ }
+
++ if (streq(TARGET_CPU, "riscv64")) {
++ /*
++ * The .got section must come before the .got.plt section
++ * (gcc/ld bug ?).
++ */
++ append_sed(&sed, "(.got.plt)", "(.got.tmp)");
++ append_sed(&sed, "(.got.plt)", "(.got)");
++ append_sed(&sed, "(.got.tmp)", "(.got.plt)");
++
++ /* The global pointer symbol is defined after the GOT. */
++ append_sed(&sed, "^RISCV_GP:", "");
++ } else {
++ /* Get rid of the global pointer definition. */
++ append_sed(&sed, "^RISCV_GP:", NULL);
++ }
++
+ /* Locate the default linker script, if we don't have one provided. */
+ if (!linker_script)
+ linker_script = concat(ldscriptpath, "/elf2flt.ld", NULL);
+--
+2.31.1
+
diff --git a/toolchain/elf2flt/patches/453398f917d167f8c308c8f997270c48ae8f8b12/0008-remove_BFD_VMA_FMT.patch b/toolchain/elf2flt/patches/453398f917d167f8c308c8f997270c48ae8f8b12/0008-remove_BFD_VMA_FMT.patch
new file mode 100644
index 000000000..d20b993da
--- /dev/null
+++ b/toolchain/elf2flt/patches/453398f917d167f8c308c8f997270c48ae8f8b12/0008-remove_BFD_VMA_FMT.patch
@@ -0,0 +1,125 @@
+diff -Nur elf2flt-453398f917d167f8c308c8f997270c48ae8f8b12.orig/elf2flt.c elf2flt-453398f917d167f8c308c8f997270c48ae8f8b12/elf2flt.c
+--- elf2flt-453398f917d167f8c308c8f997270c48ae8f8b12.orig/elf2flt.c 2023-01-30 08:48:56.632981732 +0100
++++ elf2flt-453398f917d167f8c308c8f997270c48ae8f8b12/elf2flt.c 2023-01-30 08:53:34.510426754 +0100
+@@ -222,7 +222,7 @@
+ long i;
+ printf("SYMBOL TABLE:\n");
+ for (i=0; i<number_of_symbols; i++) {
+- printf(" NAME=%s VALUE=0x%"BFD_VMA_FMT"x\n",
++ printf(" NAME=%s VALUE=0x%x\n",
+ symbol_table[i]->name, symbol_table[i]->value);
+ }
+ printf("\n");
+@@ -458,7 +458,7 @@
+ if (r == NULL)
+ continue;
+ if (verbose)
+- printf(" RELOCS: %s [%p]: flags=0x%x vma=0x%"BFD_VMA_FMT"x\n",
++ printf(" RELOCS: %s [%p]: flags=0x%x vma=0x%x\n",
+ r->name, r, r->flags, elf2flt_bfd_section_vma(abs_bfd, r));
+ if ((r->flags & SEC_RELOC) == 0)
+ continue;
+@@ -903,8 +903,8 @@
+ if (verbose)
+ fprintf(stderr,
+ "%s vma=0x%x, "
+- "value=0x%"BFD_VMA_FMT"x, "
+- "address=0x%"BFD_VMA_FMT"x "
++ "value=0x%x, "
++ "address=0x%x "
+ "sym_addr=0x%x rs=0x%x, opcode=0x%x\n",
+ "ABS32",
+ sym_vma, (*(q->sym_ptr_ptr))->value,
+@@ -922,8 +922,8 @@
+ if (verbose)
+ fprintf(stderr,
+ "%s vma=0x%x, "
+- "value=0x%"BFD_VMA_FMT"x, "
+- "address=0x%"BFD_VMA_FMT"x "
++ "value=0x%x, "
++ "address=0x%x "
+ "sym_addr=0x%x rs=0x%x, opcode=0x%x\n",
+ "PLT32",
+ sym_vma, (*(q->sym_ptr_ptr))->value,
+@@ -945,7 +945,7 @@
+ case R_V850_ZDA_16_16_OFFSET:
+ case R_V850_ZDA_16_16_SPLIT_OFFSET:
+ /* Can't support zero-relocations. */
+- printf ("ERROR: %s+0x%"BFD_VMA_FMT"x: zero relocations not supported\n",
++ printf ("ERROR: %s+0x%x: zero relocations not supported\n",
+ sym_name, q->addend);
+ continue;
+ #endif /* TARGET_v850 */
+@@ -1038,15 +1038,15 @@
+ sprintf(&addstr[0], "+0x%ld", sym_addr - (*(q->sym_ptr_ptr))->value -
+ elf2flt_bfd_section_vma(abs_bfd, sym_section));
+ if (verbose)
+- printf(" RELOC[%d]: offset=0x%"BFD_VMA_FMT"x symbol=%s%s "
++ printf(" RELOC[%d]: offset=0x%x symbol=%s%s "
+ "section=%s size=%d "
+- "fixup=0x%x (reloc=0x%"BFD_VMA_FMT"x)\n",
++ "fixup=0x%x (reloc=0x%x)\n",
+ flat_reloc_count,
+ q->address, sym_name, addstr,
+ section_name, sym_reloc_size,
+ sym_addr, section_vma + q->address);
+ if (verbose)
+- printf("reloc[%d] = 0x%"BFD_VMA_FMT"x\n",
++ printf("reloc[%d] = 0x%x\n",
+ flat_reloc_count, section_vma + q->address);
+
+ continue;
+@@ -1163,9 +1163,9 @@
+ temp |= (exist_val & 0x3f);
+ *(unsigned long *)r_mem = htoniosl(temp);
+ if (verbose)
+- printf("omit: offset=0x%"BFD_VMA_FMT"x symbol=%s%s "
++ printf("omit: offset=0x%x symbol=%s%s "
+ "section=%s size=%d "
+- "fixup=0x%x (reloc=0x%"BFD_VMA_FMT"x) GPREL\n",
++ "fixup=0x%x (reloc=0x%x) GPREL\n",
+ q->address, sym_name, addstr,
+ section_name, sym_reloc_size,
+ sym_addr, section_vma + q->address);
+@@ -1183,9 +1183,9 @@
+ exist_val |= ((sym_addr & 0xFFFF) << 6);
+ *(unsigned long *)r_mem = htoniosl(exist_val);
+ if (verbose)
+- printf("omit: offset=0x%"BFD_VMA_FMT"x symbol=%s%s "
++ printf("omit: offset=0x%x symbol=%s%s "
+ "section=%s size=%d "
+- "fixup=0x%x (reloc=0x%"BFD_VMA_FMT"x) PCREL\n",
++ "fixup=0x%x (reloc=0x%x) PCREL\n",
+ q->address, sym_name, addstr,
+ section_name, sym_reloc_size,
+ sym_addr, section_vma + q->address);
+@@ -1200,7 +1200,7 @@
+ && (p[-1]->sym_ptr_ptr == p[0]->sym_ptr_ptr)
+ && (p[-1]->addend == p[0]->addend)) {
+ if (verbose)
+- printf("omit: offset=0x%"BFD_VMA_FMT"x symbol=%s%s "
++ printf("omit: offset=0x%x symbol=%s%s "
+ "section=%s size=%d LO16\n",
+ q->address, sym_name, addstr,
+ section_name, sym_reloc_size);
+@@ -1610,9 +1610,9 @@
+ }
+
+ if (verbose)
+- printf(" RELOC[%d]: offset=0x%"BFD_VMA_FMT"x symbol=%s%s "
++ printf(" RELOC[%d]: offset=0x%x symbol=%s%s "
+ "section=%s size=%d "
+- "fixup=0x%x (reloc=0x%"BFD_VMA_FMT"x)\n",
++ "fixup=0x%x (reloc=0x%x)\n",
+ flat_reloc_count,
+ q->address, sym_name, addstr,
+ section_name, sym_reloc_size,
+@@ -1630,7 +1630,7 @@
+ (section_vma + q->address);
+
+ if (verbose)
+- printf("reloc[%d] = 0x%"BFD_VMA_FMT"x\n",
++ printf("reloc[%d] = 0x%x\n",
+ flat_reloc_count, section_vma + q->address);
+ #else
+ switch ((*p)->howto->type) {
diff --git a/toolchain/elf2flt/patches/v2021.08/0001-elf2flt-handle-binutils-2.34.patch b/toolchain/elf2flt/patches/v2021.08/0001-elf2flt-handle-binutils-2.34.patch
new file mode 100644
index 000000000..4aa473c24
--- /dev/null
+++ b/toolchain/elf2flt/patches/v2021.08/0001-elf2flt-handle-binutils-2.34.patch
@@ -0,0 +1,377 @@
+From d78acba6510527aaa01a41eaf4c931f7a57e5f44 Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@smile.fr>
+Date: Wed, 5 Feb 2020 10:31:32 +0100
+Subject: [PATCH] elf2flt: handle binutils >= 2.34
+
+The latest Binutils release (2.34) is not compatible with elf2flt due
+to a change in bfd_section_* macros [1]. The issue has been reported
+to the Binutils mailing list but Alan Modra recommend to bundle
+libbfd library sources into each projects using it [2]. That's
+because the API is not stable over the time without any backward
+compatibility guaranties.
+
+On the other hand, the elf2flt tools needs to support modified
+version of binutils for specific arch/target [3].
+
+Add two tests in the configure script to detect this API change
+in order to support binutils < 2.34 and binutils >= 2.34.
+
+Upstream status: [4]
+
+[1] https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=fd3619828e94a24a92cddec42cbc0ab33352eeb4
+[2] https://sourceware.org/ml/binutils/2020-02/msg00044.html
+[3] https://github.com/uclinux-dev/elf2flt/issues/14
+[4] https://github.com/uclinux-dev/elf2flt/pull/15
+
+Signed-off-by: Romain Naour <romain.naour@smile.fr>
+---
+ configure.ac | 16 +++++++++++
+ elf2flt.c | 81 +++++++++++++++++++++++++++++-----------------------
+ 2 files changed, 61 insertions(+), 36 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index b7db2cb..fdc0876 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -229,6 +229,22 @@ AC_CHECK_FUNCS([ \
+ strsignal \
+ ])
+
++dnl Various bfd section macros and functions like bfd_section_size() have been
++dnl modified starting with binutils >= 2.34.
++dnl Check if the prototypes take a bfd argument.
++if test "$binutils_build_dir" != "NONE"; then
++ CFLAGS="-I$binutils_include_dir -I$bfd_include_dir $CFLAGS"
++fi
++
++AC_TRY_COMPILE([#include <bfd.h>],
++ [const asection *sec; bfd_section_size(sec);],
++ bfd_section_api_takes_bfd=no,
++ bfd_section_api_takes_bfd=yes)
++if test "$bfd_section_api_takes_bfd" = "yes" ; then
++ AC_DEFINE(HAVE_BFD_SECTION_API_TAKES_BFD, 1,
++ [define to 1 for binutils < 2.34])
++fi
++
+ if test "$GCC" = yes ; then
+ CFLAGS="-Wall $CFLAGS"
+ if test "$werror" = 1 ; then
+diff --git a/elf2flt.c b/elf2flt.c
+index 7ac0617..ea6b5a1 100644
+--- a/elf2flt.c
++++ b/elf2flt.c
+@@ -149,6 +149,17 @@ const char *elf2flt_progname;
+ #define O_BINARY 0
+ #endif
+
++/*
++ * The bfd parameter isn't actually used by any of the bfd_section funcs and
++ * have been removed since binutils 2.34.
++ */
++#ifdef HAVE_BFD_SECTION_API_TAKES_BFD
++#define elf2flt_bfd_section_size(s) bfd_section_size(NULL, s)
++#define elf2flt_bfd_section_vma(s) bfd_section_vma(NULL, s)
++#else
++#define elf2flt_bfd_section_size(s) bfd_section_size(s)
++#define elf2flt_bfd_section_vma(s) bfd_section_vma(s)
++#endif
+
+ /* Extra output when running. */
+ static int verbose = 0;
+@@ -323,10 +334,8 @@ compare_relocs (const void *pa, const void *pb)
+ else if (!rb->sym_ptr_ptr || !*rb->sym_ptr_ptr)
+ return 1;
+
+- a_vma = bfd_section_vma(compare_relocs_bfd,
+- (*(ra->sym_ptr_ptr))->section);
+- b_vma = bfd_section_vma(compare_relocs_bfd,
+- (*(rb->sym_ptr_ptr))->section);
++ a_vma = elf2flt_bfd_section_vma((*(ra->sym_ptr_ptr))->section);
++ b_vma = elf2flt_bfd_section_vma((*(rb->sym_ptr_ptr))->section);
+ va = (*(ra->sym_ptr_ptr))->value + a_vma + ra->addend;
+ vb = (*(rb->sym_ptr_ptr))->value + b_vma + rb->addend;
+ return va - vb;
+@@ -403,7 +412,7 @@ output_relocs (
+ }
+
+ for (a = abs_bfd->sections; (a != (asection *) NULL); a = a->next) {
+- section_vma = bfd_section_vma(abs_bfd, a);
++ section_vma = elf2flt_bfd_section_vma(a);
+
+ if (verbose)
+ printf("SECTION: %s [%p]: flags=0x%x vma=0x%"PRIx32"\n",
+@@ -443,7 +452,7 @@ output_relocs (
+ continue;
+ if (verbose)
+ printf(" RELOCS: %s [%p]: flags=0x%x vma=0x%"BFD_VMA_FMT"x\n",
+- r->name, r, r->flags, bfd_section_vma(abs_bfd, r));
++ r->name, r, r->flags, elf2flt_bfd_section_vma(r));
+ if ((r->flags & SEC_RELOC) == 0)
+ continue;
+ relsize = bfd_get_reloc_upper_bound(rel_bfd, r);
+@@ -695,7 +704,7 @@ output_relocs (
+ case R_BFIN_RIMM16:
+ case R_BFIN_LUIMM16:
+ case R_BFIN_HUIMM16:
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+
+ if (weak_und_symbol(sym_section->name, (*(q->sym_ptr_ptr))))
+@@ -728,7 +737,7 @@ output_relocs (
+ break;
+
+ case R_BFIN_BYTE4_DATA:
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+
+ if (weak_und_symbol (sym_section->name, (*(q->sym_ptr_ptr))))
+@@ -886,7 +895,7 @@ output_relocs (
+ #if defined(TARGET_m68k)
+ case R_68K_32:
+ relocation_needed = 1;
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+ break;
+ case R_68K_PC16:
+@@ -911,7 +920,7 @@ output_relocs (
+ q->address, sym_addr,
+ (*p)->howto->rightshift,
+ *(uint32_t *)r_mem);
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+ break;
+ case R_ARM_GOT32:
+@@ -939,7 +948,7 @@ output_relocs (
+ #ifdef TARGET_v850
+ case R_V850_ABS32:
+ relocation_needed = 1;
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+ break;
+ case R_V850_ZDA_16_16_OFFSET:
+@@ -961,7 +970,7 @@ output_relocs (
+ sym_addr = (*(q->sym_ptr_ptr))->value;
+ q->address -= 1;
+ r_mem -= 1; /* tracks q->address */
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+ sym_addr |= (*(unsigned char *)r_mem<<24);
+ break;
+@@ -974,7 +983,7 @@ output_relocs (
+ /* Absolute symbol done not relocation */
+ relocation_needed = !bfd_is_abs_section(sym_section);
+ sym_addr = (*(q->sym_ptr_ptr))->value;
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+ break;
+ case R_H8_DIR32:
+@@ -987,7 +996,7 @@ output_relocs (
+ }
+ relocation_needed = 1;
+ sym_addr = (*(q->sym_ptr_ptr))->value;
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+ break;
+ case R_H8_PCREL16:
+@@ -1013,7 +1022,7 @@ output_relocs (
+ #ifdef TARGET_microblaze
+ case R_MICROBLAZE_64:
+ /* work out the relocation */
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+ /* Write relocated pointer back */
+ r_mem[2] = (sym_addr >> 24) & 0xff;
+@@ -1027,7 +1036,7 @@ output_relocs (
+ pflags = 0x80000000;
+ break;
+ case R_MICROBLAZE_32:
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+ relocation_needed = 1;
+ break;
+@@ -1059,7 +1068,7 @@ output_relocs (
+ case R_NIOS2_BFD_RELOC_32:
+ relocation_needed = 1;
+ pflags = (FLAT_NIOS2_R_32 << 28);
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+ /* modify target, in target order */
+ *(unsigned long *)r_mem = htoniosl(sym_addr);
+@@ -1069,7 +1078,7 @@ output_relocs (
+ unsigned long exist_val;
+ relocation_needed = 1;
+ pflags = (FLAT_NIOS2_R_CALL26 << 28);
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+
+ /* modify target, in target order */
+@@ -1100,7 +1109,7 @@ output_relocs (
+ ? FLAT_NIOS2_R_HIADJ_LO : FLAT_NIOS2_R_HI_LO;
+ pflags <<= 28;
+
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
+ sym_addr += sym_vma + q->addend;
+
+ /* modify high 16 bits, in target order */
+@@ -1133,7 +1142,7 @@ output_relocs (
+ goto NIOS2_RELOC_ERR;
+ }
+ /* _gp holds a absolute value, otherwise the ld cannot generate correct code */
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ //printf("sym=%x, %d, _gp=%x, %d\n", sym_addr+sym_vma, sym_addr+sym_vma, gp, gp);
+ sym_addr += sym_vma + q->addend;
+ sym_addr -= gp;
+@@ -1214,7 +1223,7 @@ NIOS2_RELOC_ERR:
+ case R_SPARC_32:
+ case R_SPARC_UA32:
+ relocation_needed = 1;
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+ break;
+ case R_SPARC_PC22:
+@@ -1233,7 +1242,7 @@ NIOS2_RELOC_ERR:
+ case R_SPARC_HI22:
+ relocation_needed = 1;
+ pflags = 0x80000000;
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+ sym_addr |= (
+ htonl(*(uint32_t *)r_mem)
+@@ -1243,7 +1252,7 @@ NIOS2_RELOC_ERR:
+ case R_SPARC_LO10:
+ relocation_needed = 1;
+ pflags = 0x40000000;
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+ sym_addr &= 0x000003ff;
+ sym_addr |= (
+@@ -1257,7 +1266,7 @@ NIOS2_RELOC_ERR:
+ #ifdef TARGET_sh
+ case R_SH_DIR32:
+ relocation_needed = 1;
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+ break;
+ case R_SH_REL32:
+@@ -1289,7 +1298,7 @@ NIOS2_RELOC_ERR:
+ case R_E1_CONST31:
+ relocation_needed = 1;
+ DBG_E1("Handling Reloc <CONST31>\n");
+- sec_vma = bfd_section_vma(abs_bfd, sym_section);
++ sec_vma = elf2flt_bfd_section_vma(sym_section);
+ DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x], q->address : [0x%x]\n",
+ sec_vma, sym_addr, q->address);
+ sym_addr = sec_vma + sym_addr;
+@@ -1304,7 +1313,7 @@ NIOS2_RELOC_ERR:
+ relocation_needed = 0;
+ DBG_E1("Handling Reloc <CONST31_PCREL>\n");
+ DBG_E1("DONT RELOCATE AT LOADING\n");
+- sec_vma = bfd_section_vma(abs_bfd, sym_section);
++ sec_vma = elf2flt_bfd_section_vma(sym_section);
+ DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x], q->address : [0x%x]\n",
+ sec_vma, sym_addr, q->address);
+ sym_addr = sec_vma + sym_addr;
+@@ -1331,7 +1340,7 @@ NIOS2_RELOC_ERR:
+ relocation_needed = 0;
+ DBG_E1("Handling Reloc <DIS29W_PCREL>\n");
+ DBG_E1("DONT RELOCATE AT LOADING\n");
+- sec_vma = bfd_section_vma(abs_bfd, sym_section);
++ sec_vma = elf2flt_bfd_section_vma(sym_section);
+ DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x], q->address : [0x%x]\n",
+ sec_vma, sym_addr, q->address);
+ sym_addr = sec_vma + sym_addr;
+@@ -1364,7 +1373,7 @@ NIOS2_RELOC_ERR:
+ DBG_E1("Handling Reloc <DIS29B>\n");
+ DIS29_RELOCATION:
+ relocation_needed = 1;
+- sec_vma = bfd_section_vma(abs_bfd, sym_section);
++ sec_vma = elf2flt_bfd_section_vma(sym_section);
+ DBG_E1("sec_vma : [0x%x], sym_addr : [0x%08x]\n",
+ sec_vma, sym_addr);
+ sym_addr = sec_vma + sym_addr;
+@@ -1381,7 +1390,7 @@ DIS29_RELOCATION:
+ relocation_needed = 0;
+ DBG_E1("Handling Reloc <IMM32_PCREL>\n");
+ DBG_E1("DONT RELOCATE AT LOADING\n");
+- sec_vma = bfd_section_vma(abs_bfd, sym_section);
++ sec_vma = elf2flt_bfd_section_vma(sym_section);
+ DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x]\n",
+ sec_vma, sym_addr);
+ sym_addr = sec_vma + sym_addr;
+@@ -1407,7 +1416,7 @@ DIS29_RELOCATION:
+ case R_E1_IMM32:
+ relocation_needed = 1;
+ DBG_E1("Handling Reloc <IMM32>\n");
+- sec_vma = bfd_section_vma(abs_bfd, sym_section);
++ sec_vma = elf2flt_bfd_section_vma(sym_section);
+ DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x]\n",
+ sec_vma, sym_addr);
+ sym_addr = sec_vma + sym_addr;
+@@ -1423,7 +1432,7 @@ DIS29_RELOCATION:
+ case R_E1_WORD:
+ relocation_needed = 1;
+ DBG_E1("Handling Reloc <WORD>\n");
+- sec_vma = bfd_section_vma(abs_bfd, sym_section);
++ sec_vma = elf2flt_bfd_section_vma(sym_section);
+ DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x]\n",
+ sec_vma, sym_addr);
+ sym_addr = sec_vma + sym_addr;
+@@ -1450,7 +1459,7 @@ DIS29_RELOCATION:
+ }
+
+ sprintf(&addstr[0], "+0x%lx", sym_addr - (*(q->sym_ptr_ptr))->value -
+- bfd_section_vma(abs_bfd, sym_section));
++ elf2flt_bfd_section_vma(sym_section));
+
+
+ /*
+@@ -1890,8 +1899,8 @@ int main(int argc, char *argv[])
+ } else
+ continue;
+
+- sec_size = bfd_section_size(abs_bfd, s);
+- sec_vma = bfd_section_vma(abs_bfd, s);
++ sec_size = elf2flt_bfd_section_size(s);
++ sec_vma = elf2flt_bfd_section_vma(s);
+
+ if (sec_vma < *vma) {
+ if (*len > 0)
+@@ -1920,7 +1929,7 @@ int main(int argc, char *argv[])
+ (SEC_DATA | SEC_READONLY | SEC_RELOC)))
+ if (!bfd_get_section_contents(abs_bfd, s,
+ text + (s->vma - text_vma), 0,
+- bfd_section_size(abs_bfd, s)))
++ elf2flt_bfd_section_size(s)))
+ {
+ fatal("read error section %s", s->name);
+ }
+@@ -1950,7 +1959,7 @@ int main(int argc, char *argv[])
+ (SEC_READONLY | SEC_RELOC)))
+ if (!bfd_get_section_contents(abs_bfd, s,
+ data + (s->vma - data_vma), 0,
+- bfd_section_size(abs_bfd, s)))
++ elf2flt_bfd_section_size(s)))
+ {
+ fatal("read error section %s", s->name);
+ }
+--
+2.35.1
+
diff --git a/toolchain/elf2flt/patches/v2021.08/0002-elf2flt.ld-reinstate-32-byte-alignment-for-.data-sec.patch b/toolchain/elf2flt/patches/v2021.08/0002-elf2flt.ld-reinstate-32-byte-alignment-for-.data-sec.patch
new file mode 100644
index 000000000..4df3ea592
--- /dev/null
+++ b/toolchain/elf2flt/patches/v2021.08/0002-elf2flt.ld-reinstate-32-byte-alignment-for-.data-sec.patch
@@ -0,0 +1,81 @@
+From 85ba5664eb368eb1cbd2c30b7cd574acd75edd4c Mon Sep 17 00:00:00 2001
+From: Niklas Cassel <niklas.cassel@wdc.com>
+Date: Mon, 4 Apr 2022 15:30:24 +0200
+Subject: [PATCH] elf2flt.ld: reinstate 32 byte alignment for .data section
+
+Commit 8a3e74446fe7 ("allow to build arm flat binaries") moved the
+following commands:
+ . = ALIGN(0x20) ;
+ @SYMBOL_PREFIX@_etext = . ;
+from the .text section to the top level in the SECTIONS node.
+
+The .text output section is being directed to a memory region using the
+"> flatmem :text" output section attribute. Commands in the top level in
+the SECTIONS node are not.
+
+This means that the ALIGN() command is no longer being appended to the
+flatmem memory region, it will simply update the Location Counter.
+
+The heuristic for placing an output section is described here:
+https://sourceware.org/binutils/docs-2.38/ld.html#Output-Section-Address
+
+"If an output memory region is set for the section then it is added to this
+region and its address will be the next free address in that region."
+
+Since the .data section is being directed to the same memory region as the
+.text section, this means that the Location Counter is not used when
+assigning an address to the .data output section, it will simply use the
+next free address.
+
+No longer directing these commands to the flatmem memory region means that
+the .data output section is no longer aligned to a 32 byte boundary.
+
+Before commit 8a3e74446fe7 ("allow to build arm flat binaries"):
+$ readelf -S busybox_unstripped.gdb | grep data
+ [ 3] .data PROGBITS 0000000000035ac0 00036ac0
+$ readelf -s busybox_unstripped.gdb | grep _etext
+ 19286: 0000000000035ac0 0 NOTYPE GLOBAL DEFAULT 1 _etext
+
+After commit 8a3e74446fe7 ("allow to build arm flat binaries"):
+$ readelf -S busybox_unstripped.gdb | grep data
+ [ 3] .data PROGBITS 0000000000035ab0 00036ab0
+$ readelf -s busybox_unstripped.gdb | grep _etext
+ 19287: 0000000000035ac0 0 NOTYPE GLOBAL DEFAULT 3 _etext
+
+The .data output section has to be aligned to a 32 byte boundary, see the
+FLAT_DATA_ALIGN 0x20 macro and its usage in fs/binfmt_flat.c:
+https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/fs/binfmt_flat.c?h=v5.17#n59
+
+Readd an explicit ALIGN attribute on the .data section itself, since the
+linker will obey this attribute regardless if being directed to a memory
+region or not. Also remove the ALIGN() command before the .data section,
+since this misleads the reader to think that the Location Counter is used
+when assigning an address to the .data section, when it actually is not.
+
+Fixes: 8a3e74446fe7 ("allow to build arm flat binaries")
+Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
+---
+ elf2flt.ld.in | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/elf2flt.ld.in b/elf2flt.ld.in
+index 0df999d..e5aea14 100644
+--- a/elf2flt.ld.in
++++ b/elf2flt.ld.in
+@@ -94,12 +94,9 @@ W_RODAT: *(.gnu.linkonce.r*)
+ *(.ARM.exidx* .gnu.linkonce.armexidx.*)
+ } > flatmem
+ @SYMBOL_PREFIX@__exidx_end = .;
+-
+- . = ALIGN(0x20) ;
+ @SYMBOL_PREFIX@_etext = . ;
+
+- .data : {
+- . = ALIGN(0x4) ;
++ .data ALIGN(0x20): {
+ @SYMBOL_PREFIX@_sdata = . ;
+ @SYMBOL_PREFIX@__data_start = . ;
+ @SYMBOL_PREFIX@data_start = . ;
+--
+2.35.1
+
diff --git a/toolchain/elf2flt/patches/v2021.08/0003-elf2flt-add-riscv-64-bits-support.patch b/toolchain/elf2flt/patches/v2021.08/0003-elf2flt-add-riscv-64-bits-support.patch
new file mode 100644
index 000000000..15c191c83
--- /dev/null
+++ b/toolchain/elf2flt/patches/v2021.08/0003-elf2flt-add-riscv-64-bits-support.patch
@@ -0,0 +1,103 @@
+From 3f1f323feb5cf25d8c80861991d0360784f4d2e6 Mon Sep 17 00:00:00 2001
+From: Damien Le Moal <damien.lemoal@wdc.com>
+Date: Wed, 9 Sep 2020 17:31:33 +0900
+Subject: [PATCH] elf2flt: add riscv 64-bits support
+
+Add support for riscv 64bits ISA by defining the relocation types
+R_RISCV_32_PCREL, R_RISCV_ADD32, R_RISCV_SUB32, R_RISCV_32 and
+R_RISCV_64. riscv64 support also needs the __global_pointer$ symbol to
+be defined right after the relocation tables in the data section. To
+define this symbol, the "RISCV_GP" line prefix is added. The "RISCV_GP"
+string is removed if the target CPU type is riscv64 and the definition
+line is dropped for other CPU types.
+
+With these changes, buildroot and busybox build and run on riscv NOMMU
+systems with Linux kernel including patch 6045ab5fea4c
+("binfmt_flat: do not stop relocating GOT entries prematurely on riscv")
+fixing the binfmt_flat loader. Tested on QEMU and Canaan Kendryte K210
+boards.
+
+This patch is based on earlier work by Christoph Hellwig <hch@lst.de>.
+
+Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
+---
+ elf2flt.c | 16 ++++++++++++++++
+ elf2flt.ld.in | 1 +
+ ld-elf2flt.c | 8 ++++++++
+ 3 files changed, 25 insertions(+)
+
+diff --git a/elf2flt.c b/elf2flt.c
+index da25e93..a03ea3a 100644
+--- a/elf2flt.c
++++ b/elf2flt.c
+@@ -81,6 +81,8 @@ const char *elf2flt_progname;
+ #include <elf/v850.h>
+ #elif defined(TARGET_xtensa)
+ #include <elf/xtensa.h>
++#elif defined(TARGET_riscv64)
++#include <elf/riscv.h>
+ #endif
+
+ #if defined(__MINGW32__)
+@@ -123,6 +125,8 @@ const char *elf2flt_progname;
+ #define ARCH "nios2"
+ #elif defined(TARGET_xtensa)
+ #define ARCH "xtensa"
++#elif defined(TARGET_riscv64)
++#define ARCH "riscv64"
+ #else
+ #error "Don't know how to support your CPU architecture??"
+ #endif
+@@ -812,6 +816,18 @@ output_relocs (
+ goto good_32bit_resolved_reloc;
+ default:
+ goto bad_resolved_reloc;
++#elif defined(TARGET_riscv64)
++ case R_RISCV_32_PCREL:
++ case R_RISCV_ADD32:
++ case R_RISCV_ADD64:
++ case R_RISCV_SUB32:
++ case R_RISCV_SUB64:
++ continue;
++ case R_RISCV_32:
++ case R_RISCV_64:
++ goto good_32bit_resolved_reloc;
++ default:
++ goto bad_resolved_reloc;
+ #else
+ default:
+ /* The default is to assume that the
+diff --git a/elf2flt.ld.in b/elf2flt.ld.in
+index e5aea14..950849e 100644
+--- a/elf2flt.ld.in
++++ b/elf2flt.ld.in
+@@ -106,6 +106,7 @@ W_RODAT: *(.gnu.linkonce.r*)
+ . = ALIGN(0x20) ;
+ LONG(-1)
+ . = ALIGN(0x20) ;
++RISCV_GP: __global_pointer$ = . + 0x800 ;
+ R_RODAT: *(.rodata)
+ R_RODAT: *(.rodata1)
+ R_RODAT: *(.rodata.*)
+diff --git a/ld-elf2flt.c b/ld-elf2flt.c
+index 7cb02d5..75ee1bb 100644
+--- a/ld-elf2flt.c
++++ b/ld-elf2flt.c
+@@ -324,6 +324,14 @@ static int do_final_link(void)
+ append_option(&other_options, concat(got_offset, "=", buf, NULL));
+ }
+
++ /* riscv adds a global pointer symbol to the linker file with the
++ "RISCV_GP:" prefix. Remove the prefix for riscv64 architecture and
++ the entire line for other architectures. */
++ if (streq(TARGET_CPU, "riscv64"))
++ append_sed(&sed, "^RISCV_GP:", "");
++ else
++ append_sed(&sed, "^RISCV_GP:", NULL);
++
+ /* Locate the default linker script, if we don't have one provided. */
+ if (!linker_script)
+ linker_script = concat(ldscriptpath, "/elf2flt.ld", NULL);
+--
+2.36.1
+
diff --git a/toolchain/elf2flt/patches/v2021.08/0004-elf2flt-create-a-common-helper-function.patch b/toolchain/elf2flt/patches/v2021.08/0004-elf2flt-create-a-common-helper-function.patch
new file mode 100644
index 000000000..6fee99d45
--- /dev/null
+++ b/toolchain/elf2flt/patches/v2021.08/0004-elf2flt-create-a-common-helper-function.patch
@@ -0,0 +1,76 @@
+From 37e1e0ace8ccebf54ec2f5522bfc1f9db86946ad Mon Sep 17 00:00:00 2001
+From: Niklas Cassel <niklas.cassel@wdc.com>
+Date: Tue, 9 Aug 2022 12:13:50 +0200
+Subject: [PATCH] elf2flt: create a common helper function
+
+In order to make the code more maintainable,
+move duplicated code to a common helper function.
+
+No functional change intended.
+
+Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
+---
+ elf2flt.c | 19 +++++++++++--------
+ 1 file changed, 11 insertions(+), 8 deletions(-)
+
+diff --git a/elf2flt.c b/elf2flt.c
+index 669591e..9c32f9a 100644
+--- a/elf2flt.c
++++ b/elf2flt.c
+@@ -337,6 +337,13 @@ compare_relocs (const void *pa, const void *pb)
+ }
+ #endif
+
++static bool
++ro_reloc_data_section_should_be_in_text(asection *s)
++{
++ return (s->flags & (SEC_DATA | SEC_READONLY | SEC_RELOC)) ==
++ (SEC_DATA | SEC_READONLY | SEC_RELOC);
++}
++
+ static uint32_t *
+ output_relocs (
+ bfd *abs_bfd,
+@@ -428,8 +435,7 @@ output_relocs (
+ */
+ if ((!pic_with_got || ALWAYS_RELOC_TEXT) &&
+ ((a->flags & SEC_CODE) ||
+- ((a->flags & (SEC_DATA | SEC_READONLY | SEC_RELOC)) ==
+- (SEC_DATA | SEC_READONLY | SEC_RELOC))))
++ ro_reloc_data_section_should_be_in_text(a)))
+ sectionp = text + (a->vma - text_vma);
+ else if (a->flags & SEC_DATA)
+ sectionp = data + (a->vma - data_vma);
+@@ -1893,8 +1899,7 @@ int main(int argc, char *argv[])
+ bfd_vma sec_vma;
+
+ if ((s->flags & SEC_CODE) ||
+- ((s->flags & (SEC_DATA | SEC_READONLY | SEC_RELOC)) ==
+- (SEC_DATA | SEC_READONLY | SEC_RELOC))) {
++ ro_reloc_data_section_should_be_in_text(s)) {
+ vma = &text_vma;
+ len = &text_len;
+ } else if (s->flags & SEC_DATA) {
+@@ -1932,8 +1937,7 @@ int main(int argc, char *argv[])
+ * data sections.*/
+ for (s = abs_bfd->sections; s != NULL; s = s->next)
+ if ((s->flags & SEC_CODE) ||
+- ((s->flags & (SEC_DATA | SEC_READONLY | SEC_RELOC)) ==
+- (SEC_DATA | SEC_READONLY | SEC_RELOC)))
++ ro_reloc_data_section_should_be_in_text(s))
+ if (!bfd_get_section_contents(abs_bfd, s,
+ text + (s->vma - text_vma), 0,
+ bfd_section_size(abs_bfd, s)))
+@@ -1962,8 +1966,7 @@ int main(int argc, char *argv[])
+ * data sections already included in the text output section.*/
+ for (s = abs_bfd->sections; s != NULL; s = s->next)
+ if ((s->flags & SEC_DATA) &&
+- ((s->flags & (SEC_READONLY | SEC_RELOC)) !=
+- (SEC_READONLY | SEC_RELOC)))
++ !ro_reloc_data_section_should_be_in_text(s))
+ if (!bfd_get_section_contents(abs_bfd, s,
+ data + (s->vma - data_vma), 0,
+ bfd_section_size(abs_bfd, s)))
+--
+2.37.1
+
diff --git a/toolchain/elf2flt/patches/v2021.08/0005-elf2flt-fix-fatal-error-regression-on-m68k-xtensa-ri.patch b/toolchain/elf2flt/patches/v2021.08/0005-elf2flt-fix-fatal-error-regression-on-m68k-xtensa-ri.patch
new file mode 100644
index 000000000..616bbc891
--- /dev/null
+++ b/toolchain/elf2flt/patches/v2021.08/0005-elf2flt-fix-fatal-error-regression-on-m68k-xtensa-ri.patch
@@ -0,0 +1,74 @@
+From a8c9f650b82109abf7aa730f298ea5182ed62613 Mon Sep 17 00:00:00 2001
+From: Niklas Cassel <niklas.cassel@wdc.com>
+Date: Tue, 9 Aug 2022 21:06:05 +0200
+Subject: [PATCH] elf2flt: fix fatal error regression on m68k, xtensa, riscv64
+
+Commit ba379d08bb78 ("elf2flt: fix for segfault on some ARM ELFs")
+changed the condition of which input sections that should be included
+in the .text output section from:
+((a->flags & (SEC_DATA | SEC_READONLY)) == (SEC_DATA | SEC_READONLY))
+to:
+((a->flags & (SEC_DATA | SEC_READONLY | SEC_RELOC)) ==
+(SEC_DATA | SEC_READONLY | SEC_RELOC))
+
+On ARM, the .eh_frame input section does not have the SEC_RELOC flag set,
+so on ARM, this change caused .eh_frame to move from .text to .data.
+
+However, on e.g. m68k, xtensa and riscv64, the .eh_frame input section
+does have the SEC_RELOC flag set, which means that the change in
+commit ba379d08bb78 ("elf2flt: fix for segfault on some ARM ELFs")
+caused .eh_frame to move in an opposite way, i.e. from .data to .text.
+
+This resulted in a fatal error on m68k, xtensa and riscv64:
+ERROR: text=0x3bab8 overlaps data=0x33f60 ?
+
+This is because elf2flt cannot append to .text after .data has been
+appended to.
+
+Note that the binutils maintainer says that the correct thing is
+to put read-only relocation data sections in .text:
+https://sourceware.org/legacy-ml/binutils/2019-10/msg00132.html
+
+So the proper fix is probably to rewrite elf2flt so that it can append
+to .text after .data has been appended to (which will require elf2flt
+to move/relocate everything that has already been appended to .data,
+since the virtual addresses are contiguous).
+
+However, for now, add an exception for input sections which have all
+three flags SEC_DATA, SEC_READONLY, and SEC_RELOC set, and which have a
+name equal to a problematic input section (.eh_frame, .gcc_except_table).
+That way, we get the same behavior as older elf2flt releases for m68k,
+xtensa and riscv64, where we put read-only relocation data in .data,
+which was working perfectly fine.
+
+This exception will not change any behavior on ARM, as the .eh_frame
+input section does not have flag SEC_RELOC set.
+
+Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
+---
+ elf2flt.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/elf2flt.c b/elf2flt.c
+index e0d7891..39d035f 100644
+--- a/elf2flt.c
++++ b/elf2flt.c
+@@ -341,8 +341,13 @@ compare_relocs (const void *pa, const void *pb)
+ static bool
+ ro_reloc_data_section_should_be_in_text(asection *s)
+ {
+- return (s->flags & (SEC_DATA | SEC_READONLY | SEC_RELOC)) ==
+- (SEC_DATA | SEC_READONLY | SEC_RELOC);
++ if ((s->flags & (SEC_DATA | SEC_READONLY | SEC_RELOC)) ==
++ (SEC_DATA | SEC_READONLY | SEC_RELOC)) {
++ if (!strcmp(".eh_frame", s->name) || !strcmp(".gcc_except_table", s->name))
++ return false;
++ return true;
++ }
++ return false;
+ }
+
+ static uint32_t *
+--
+2.39.0
+
diff --git a/toolchain/elf2flt/patches/v2021.08/0006-elf2flt-xtensa-fix-text-relocations.patch b/toolchain/elf2flt/patches/v2021.08/0006-elf2flt-xtensa-fix-text-relocations.patch
new file mode 100644
index 000000000..fc8784a1b
--- /dev/null
+++ b/toolchain/elf2flt/patches/v2021.08/0006-elf2flt-xtensa-fix-text-relocations.patch
@@ -0,0 +1,25 @@
+diff -Nur elf2flt-v2021.08.orig/elf2flt.c elf2flt-v2021.08/elf2flt.c
+--- elf2flt-v2021.08.orig/elf2flt.c 2023-01-09 11:08:28.637676113 +0100
++++ elf2flt-v2021.08/elf2flt.c 2023-01-09 11:09:04.502804007 +0100
+@@ -835,7 +835,20 @@
+ continue;
+ case R_XTENSA_32:
+ case R_XTENSA_PLT:
+- goto good_32bit_resolved_reloc;
++ if (bfd_big_endian (abs_bfd))
++ sym_addr =
++ (r_mem[0] << 24)
++ + (r_mem[1] << 16)
++ + (r_mem[2] << 8)
++ + r_mem[3];
++ else
++ sym_addr =
++ r_mem[0]
++ + (r_mem[1] << 8)
++ + (r_mem[2] << 16)
++ + (r_mem[3] << 24);
++ relocation_needed = 1;
++ break;
+ default:
+ goto bad_resolved_reloc;
+ #elif defined(TARGET_riscv64)
diff --git a/toolchain/elf2flt/patches/v2021.08/0007-riscv32.patch b/toolchain/elf2flt/patches/v2021.08/0007-riscv32.patch
new file mode 100644
index 000000000..b3c4677be
--- /dev/null
+++ b/toolchain/elf2flt/patches/v2021.08/0007-riscv32.patch
@@ -0,0 +1,56 @@
+diff -Nur elf2flt-v2021.08.orig/elf2flt.c elf2flt-v2021.08/elf2flt.c
+--- elf2flt-v2021.08.orig/elf2flt.c 2023-02-26 11:31:48.758810872 +0100
++++ elf2flt-v2021.08/elf2flt.c 2023-02-26 11:32:05.714465277 +0100
+@@ -81,7 +81,7 @@
+ #include <elf/v850.h>
+ #elif defined(TARGET_xtensa)
+ #include <elf/xtensa.h>
+-#elif defined(TARGET_riscv64)
++#elif defined(TARGET_riscv64) || defined(TARGET_riscv32)
+ #include <elf/riscv.h>
+ #endif
+
+@@ -127,6 +127,8 @@
+ #define ARCH "xtensa"
+ #elif defined(TARGET_riscv64)
+ #define ARCH "riscv64"
++#elif defined(TARGET_riscv32)
++#define ARCH "riscv32"
+ #else
+ #error "Don't know how to support your CPU architecture??"
+ #endif
+@@ -849,12 +851,21 @@
+ break;
+ default:
+ goto bad_resolved_reloc;
+-#elif defined(TARGET_riscv64)
++#elif defined(TARGET_riscv64) || defined(TARGET_riscv32)
+ case R_RISCV_32_PCREL:
++ case R_RISCV_ADD8:
++ case R_RISCV_ADD16:
+ case R_RISCV_ADD32:
+ case R_RISCV_ADD64:
++ case R_RISCV_SUB6:
++ case R_RISCV_SUB8:
++ case R_RISCV_SUB16:
+ case R_RISCV_SUB32:
+ case R_RISCV_SUB64:
++ case R_RISCV_SET6:
++ case R_RISCV_SET8:
++ case R_RISCV_SET16:
++ case R_RISCV_SET32:
+ continue;
+ case R_RISCV_32:
+ case R_RISCV_64:
+diff -Nur elf2flt-v2021.08.orig/ld-elf2flt.c elf2flt-v2021.08/ld-elf2flt.c
+--- elf2flt-v2021.08.orig/ld-elf2flt.c 2023-02-26 11:31:21.047376888 +0100
++++ elf2flt-v2021.08/ld-elf2flt.c 2023-02-26 11:32:05.714465277 +0100
+@@ -327,7 +327,7 @@
+ /* riscv adds a global pointer symbol to the linker file with the
+ "RISCV_GP:" prefix. Remove the prefix for riscv64 architecture and
+ the entire line for other architectures. */
+- if (streq(TARGET_CPU, "riscv64"))
++ if (streq(TARGET_CPU, "riscv64") || streq(TARGET_CPU, "riscv32"))
+ append_sed(&sed, "^RISCV_GP:", "");
+ else
+ append_sed(&sed, "^RISCV_GP:", NULL);
diff --git a/toolchain/elf2flt/patches/v2021.08/0008-remove_BFD_VMA_FMT.patch b/toolchain/elf2flt/patches/v2021.08/0008-remove_BFD_VMA_FMT.patch
new file mode 100644
index 000000000..6367f1383
--- /dev/null
+++ b/toolchain/elf2flt/patches/v2021.08/0008-remove_BFD_VMA_FMT.patch
@@ -0,0 +1,97 @@
+diff -Nur elf2flt-v2021.08.orig/elf2flt.c elf2flt-v2021.08/elf2flt.c
+--- elf2flt-v2021.08.orig/elf2flt.c 2023-01-29 16:47:24.791851890 +0100
++++ elf2flt-v2021.08/elf2flt.c 2023-01-29 16:49:46.628476326 +0100
+@@ -222,7 +222,7 @@
+ long i;
+ printf("SYMBOL TABLE:\n");
+ for (i=0; i<number_of_symbols; i++) {
+- printf(" NAME=%s VALUE=0x%"BFD_VMA_FMT"x\n",
++ printf(" NAME=%s VALUE=0x%x\n",
+ symbol_table[i]->name, symbol_table[i]->value);
+ }
+ printf("\n");
+@@ -471,7 +471,7 @@
+ if (r == NULL)
+ continue;
+ if (verbose)
+- printf(" RELOCS: %s [%p]: flags=0x%x vma=0x%"BFD_VMA_FMT"x\n",
++ printf(" RELOCS: %s [%p]: flags=0x%x vma=0x%x\n",
+ r->name, r, r->flags, elf2flt_bfd_section_vma(r));
+ if ((r->flags & SEC_RELOC) == 0)
+ continue;
+@@ -966,8 +966,8 @@
+ if (verbose)
+ fprintf(stderr,
+ "%s vma=0x%x, "
+- "value=0x%"BFD_VMA_FMT"x, "
+- "address=0x%"BFD_VMA_FMT"x "
++ "value=0x%x, "
++ "address=0x%x "
+ "sym_addr=0x%x rs=0x%x, opcode=0x%x\n",
+ "ABS32",
+ sym_vma, (*(q->sym_ptr_ptr))->value,
+@@ -985,8 +985,8 @@
+ if (verbose)
+ fprintf(stderr,
+ "%s vma=0x%x, "
+- "value=0x%"BFD_VMA_FMT"x, "
+- "address=0x%"BFD_VMA_FMT"x "
++ "value=0x%x, "
++ "address=0x%x "
+ "sym_addr=0x%x rs=0x%x, opcode=0x%x\n",
+ "PLT32",
+ sym_vma, (*(q->sym_ptr_ptr))->value,
+@@ -1008,7 +1008,7 @@
+ case R_V850_ZDA_16_16_OFFSET:
+ case R_V850_ZDA_16_16_SPLIT_OFFSET:
+ /* Can't support zero-relocations. */
+- printf ("ERROR: %s+0x%"BFD_VMA_FMT"x: zero relocations not supported\n",
++ printf ("ERROR: %s+0x%x: zero relocations not supported\n",
+ sym_name, q->addend);
+ continue;
+ #endif /* TARGET_v850 */
+@@ -1208,9 +1208,9 @@
+ temp |= (exist_val & 0x3f);
+ *(unsigned long *)r_mem = htoniosl(temp);
+ if (verbose)
+- printf("omit: offset=0x%"BFD_VMA_FMT"x symbol=%s%s "
++ printf("omit: offset=0x%x symbol=%s%s "
+ "section=%s size=%d "
+- "fixup=0x%x (reloc=0x%"BFD_VMA_FMT"x) GPREL\n",
++ "fixup=0x%x (reloc=0x%x) GPREL\n",
+ q->address, sym_name, addstr,
+ section_name, sym_reloc_size,
+ sym_addr, section_vma + q->address);
+@@ -1228,9 +1228,9 @@
+ exist_val |= ((sym_addr & 0xFFFF) << 6);
+ *(unsigned long *)r_mem = htoniosl(exist_val);
+ if (verbose)
+- printf("omit: offset=0x%"BFD_VMA_FMT"x symbol=%s%s "
++ printf("omit: offset=0x%x symbol=%s%s "
+ "section=%s size=%d "
+- "fixup=0x%x (reloc=0x%"BFD_VMA_FMT"x) PCREL\n",
++ "fixup=0x%x (reloc=0x%x) PCREL\n",
+ q->address, sym_name, addstr,
+ section_name, sym_reloc_size,
+ sym_addr, section_vma + q->address);
+@@ -1245,7 +1245,7 @@
+ && (p[-1]->sym_ptr_ptr == p[0]->sym_ptr_ptr)
+ && (p[-1]->addend == p[0]->addend)) {
+ if (verbose)
+- printf("omit: offset=0x%"BFD_VMA_FMT"x symbol=%s%s "
++ printf("omit: offset=0x%x symbol=%s%s "
+ "section=%s size=%d LO16\n",
+ q->address, sym_name, addstr,
+ section_name, sym_reloc_size);
+@@ -1660,9 +1660,9 @@
+ */
+ if (relocation_needed) {
+ if (verbose)
+- printf(" RELOC[%d]: offset=0x%"BFD_VMA_FMT"x symbol=%s%s "
++ printf(" RELOC[%d]: offset=0x%x symbol=%s%s "
+ "section=%s size=%d "
+- "fixup=0x%x (reloc=0x%"BFD_VMA_FMT"x)\n",
++ "fixup=0x%x (reloc=0x%x)\n",
+ flat_reloc_count,
+ q->address, sym_name, addstr,
+ section_name, sym_reloc_size,
diff --git a/toolchain/elf2flt/patches/v2021.08/0009-riscv.patch b/toolchain/elf2flt/patches/v2021.08/0009-riscv.patch
new file mode 100644
index 000000000..c1072cb45
--- /dev/null
+++ b/toolchain/elf2flt/patches/v2021.08/0009-riscv.patch
@@ -0,0 +1,11 @@
+diff -Nur elf2flt-v2021.08.orig/elf2flt.c elf2flt-v2021.08/elf2flt.c
+--- elf2flt-v2021.08.orig/elf2flt.c 2023-02-26 11:32:05.714465277 +0100
++++ elf2flt-v2021.08/elf2flt.c 2023-02-26 15:04:52.726514896 +0100
+@@ -852,6 +852,7 @@
+ default:
+ goto bad_resolved_reloc;
+ #elif defined(TARGET_riscv64) || defined(TARGET_riscv32)
++ case R_RISCV_NONE:
+ case R_RISCV_32_PCREL:
+ case R_RISCV_ADD8:
+ case R_RISCV_ADD16:
diff --git a/toolchain/elf2flt/patches/v2024.02/0001-sh2.patch b/toolchain/elf2flt/patches/v2024.02/0001-sh2.patch
new file mode 100644
index 000000000..b14a78e23
--- /dev/null
+++ b/toolchain/elf2flt/patches/v2024.02/0001-sh2.patch
@@ -0,0 +1,43 @@
+diff -Nur elf2flt-v2023.09.orig/elf2flt.c elf2flt-v2023.09/elf2flt.c
+--- elf2flt-v2023.09.orig/elf2flt.c 2023-12-22 10:44:11.000000000 +0100
++++ elf2flt-v2023.09/elf2flt.c 2023-12-23 02:26:06.323239781 +0100
+@@ -73,7 +73,7 @@
+ #define FLAT_NIOS2_R_HIADJ_LO 2
+ #define FLAT_NIOS2_R_CALL26 4
+ #include <elf/nios2.h>
+-#elif defined(TARGET_sh)
++#elif defined(TARGET_sh2) || defined(TARGET_sh2eb)
+ #include <elf/sh.h>
+ #elif defined(TARGET_sparc)
+ #include <elf/sparc.h>
+@@ -109,8 +109,10 @@
+ #define ARCH "sparc"
+ #elif defined(TARGET_v850)
+ #define ARCH "v850"
+-#elif defined(TARGET_sh)
+-#define ARCH "sh"
++#elif defined(TARGET_sh2)
++#define ARCH "sh2"
++#elif defined(TARGET_sh2eb)
++#define ARCH "sh2"
+ #elif defined(TARGET_h8300)
+ #define ARCH "h8300"
+ #elif defined(TARGET_microblaze)
+@@ -1289,7 +1291,7 @@
+ #endif /* TARGET_sparc */
+
+
+-#ifdef TARGET_sh
++#if defined(TARGET_sh2) || defined(TARGET_sh2eb)
+ case R_SH_DIR32:
+ relocation_needed = 1;
+ sym_vma = elf2flt_bfd_section_vma(sym_section);
+@@ -1300,7 +1302,7 @@
+ sym_addr += sym_vma + q->addend;
+ sym_addr -= q->address;
+ break;
+-#endif /* TARGET_sh */
++#endif /* TARGET_sh2 / TARGET_sh2eb */
+
+ #ifdef TARGET_e1
+ #define htoe1l(x) htonl(x)
diff --git a/toolchain/elf2flt/patches/v2024.02/0002-h8300.patch b/toolchain/elf2flt/patches/v2024.02/0002-h8300.patch
new file mode 100644
index 000000000..2c7b73482
--- /dev/null
+++ b/toolchain/elf2flt/patches/v2024.02/0002-h8300.patch
@@ -0,0 +1,20 @@
+diff -Nur elf2flt-v2023.09.orig/flthdr.c elf2flt-v2023.09/flthdr.c
+--- elf2flt-v2023.09.orig/flthdr.c 2023-12-23 03:20:20.000000000 +0100
++++ elf2flt-v2023.09/flthdr.c 2023-12-23 17:11:22.699413170 +0100
+@@ -164,8 +164,16 @@
+ r = ntohl(relocs[i]);
+ raddr = flat_get_relocate_addr(r);
+ printf(" %u\t0x%08lx (0x%08"PRIx32")\t", i, r, raddr);
++#if defined(TARGET_h8300)
++ raddr &= ~0x00000001;
++#endif
+ fseek_stream(&ifp, sizeof(old_hdr) + raddr, SEEK_SET);
+ fread_stream(&addr, sizeof(addr), 1, &ifp);
++#if defined(TARGET_h8300)
++ addr = ntohl(addr);
++ if (r & 1)
++ addr &= 0x00ffffff;
++#endif
+ printf("%"PRIx32"\n", addr);
+ }
+
diff --git a/toolchain/elf2flt/patches/v2024.02/0003-riscv64-alignment.patch b/toolchain/elf2flt/patches/v2024.02/0003-riscv64-alignment.patch
new file mode 100644
index 000000000..9feef7951
--- /dev/null
+++ b/toolchain/elf2flt/patches/v2024.02/0003-riscv64-alignment.patch
@@ -0,0 +1,12 @@
+diff -Nur elf2flt-v2024.02.orig/elf2flt.ld.in elf2flt-v2024.02/elf2flt.ld.in
+--- elf2flt-v2024.02.orig/elf2flt.ld.in 2024-03-22 04:51:08.000000000 +0100
++++ elf2flt-v2024.02/elf2flt.ld.in 2024-03-22 13:08:31.793773247 +0100
+@@ -139,7 +139,7 @@
+ @SYMBOL_PREFIX@_ssro_size = @SYMBOL_PREFIX@_essro - @SYMBOL_PREFIX@_ssro;
+ PROVIDE(@SYMBOL_PREFIX@_SDA2_BASE_ = @SYMBOL_PREFIX@_ssro + (@SYMBOL_PREFIX@_ssro_size / 2));
+
+- . = ALIGN(4) ;
++ . = ALIGN(8) ;
+ TOR: @SYMBOL_PREFIX@__CTOR_LIST__ = .;
+ TOR: LONG((@SYMBOL_PREFIX@__CTOR_END__ - @SYMBOL_PREFIX@__CTOR_LIST__) / 4 - 2)
+ SINGLE_LINK: /* gcc uses crtbegin.o to find the start of
diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile
index 569f032f7..175af8aae 100644
--- a/toolchain/gcc/Makefile
+++ b/toolchain/gcc/Makefile
@@ -26,6 +26,15 @@ ifeq ($(ADK_TARGET_ARCH_ARM),y)
TARGET_CFLAGS:= $(filter-out -mcpu=cortex-a9,$(TARGET_CFLAGS))
TARGET_CXXFLAGS:= $(filter-out -mcpu=cortex-a9,$(TARGET_CXXFLAGS))
endif
+ifeq ($(ADK_TARGET_ARCH_ARM),y)
+TARGET_CFLAGS:= $(filter-out -mcpu=cortex-a7,$(TARGET_CFLAGS))
+TARGET_CXXFLAGS:= $(filter-out -mcpu=cortex-a7,$(TARGET_CXXFLAGS))
+endif
+
+ifeq ($(ADK_TARGET_ARCH_ARM),y)
+TARGET_CFLAGS:= $(filter-out -mcpu=xscale,$(TARGET_CFLAGS))
+TARGET_CXXFLAGS:= $(filter-out -mcpu=xscale,$(TARGET_CXXFLAGS))
+endif
ifeq ($(ADK_TARGET_USE_STATIC_AND_SHARED_LIBS),y)
TARGET_CFLAGS:= $(filter-out -static,$(TARGET_CFLAGS))
@@ -39,7 +48,7 @@ GCC_CONFOPTS:= --prefix=$(TOOLCHAIN_DIR)/usr \
--target=$(GNU_TARGET_NAME) \
--with-gmp=$(STAGING_HOST_DIR)/usr \
--with-mpfr=$(STAGING_HOST_DIR)/usr \
- --disable-__cxa_atexit \
+ --enable-__cxa_atexit \
--with-system-zlib \
--with-gnu-ld \
--with-gnu-as \
@@ -54,6 +63,7 @@ GCC_CONFOPTS:= --prefix=$(TOOLCHAIN_DIR)/usr \
--disable-libquadmath \
--disable-libquadmath-support \
--disable-decimal-float \
+ --disable-gcov \
--disable-libstdcxx-pch \
--disable-ppl-version-check \
--disable-cloog-version-check \
@@ -61,7 +71,8 @@ GCC_CONFOPTS:= --prefix=$(TOOLCHAIN_DIR)/usr \
--without-cloog \
--without-isl \
--disable-werror \
- --disable-nls
+ --disable-nls \
+ --enable-obsolete
ifeq ($(ADK_TARGET_OS_LINUX),y)
ifeq ($(ADK_TARGET_LIB_UCLIBC_NG),y)
@@ -154,10 +165,6 @@ ifeq ($(ADK_TARGET_ARCH_METAG),y)
GCC_CONFOPTS+= --with-cpu=2.1 --enable-meta-default --disable-symvers
endif
-ifeq ($(ADK_TARGET_CPU_CF),y)
-GCC_CONFOPTS+= --with-arch=cf --disable-multilib
-endif
-
ifeq ($(ADK_TARGET_ARCH_NDS32),y)
GCC_CONFOPTS+= --with-arch=v3
endif
@@ -166,6 +173,16 @@ ifeq ($(ADK_TARGET_ARCH_M68K)$(ADK_TARGET_ARCH_X86_64)$(ADK_TARGET_ARCH_X86),)
GCC_FINAL_CONFOPTS+= --disable-biarch --disable-multilib
endif
+ifeq ($(ADK_TARGET_CPU_CF),y)
+GCC_CONFOPTS+= --with-arch=cf
+GCC_INITIAL_CONFOPTS+= --enable-multilib
+ifeq ($(ADK_TARGET_BINFMT_ELF)$(ADK_TARGET_WITH_MMU),y)
+GCC_FINAL_CONFOPTS+= --disable-multilib --disable-threads --disable-libatomic
+endif
+else
+GCC_INITIAL_CONFOPTS+= --disable-multilib
+endif
+
ifeq ($(ADK_TARGET_ARCH_SH),y)
ifeq ($(ADK_TARGET_LITTLE_ENDIAN),y)
@@ -298,6 +315,12 @@ ifeq ($(ADK_TARGET_CPU_SH_SH4A),y)
(cd ${STAGING_TARGET_DIR}/ && ln -sf . m4a)
endif
endif
+ifeq ($(ADK_TARGET_ARCH_M68K),y)
+ # Need to get gcc to generate _all_ the multilib variants
+ # (so both MMU and non-mmu M68k and ColdFire).
+ $(SED) 's/M68K_MLIB_CPU +=/#M68K_MLIB_CPU +=/' $(WRKBUILD)/gcc/config/m68k/t-m68k
+ $(SED) 's/&& (FLAGS ~ "FL_MMU")//' $(WRKBUILD)/gcc/config/m68k/t-linux
+endif
$(SED) '/k prot/agcc_cv_libc_provides_ssp=yes' $(WRKBUILD)/gcc/configure
cd $(GCC_BUILD_DIR_INITIAL); \
PATH='$(TARGET_PATH)' \
@@ -306,13 +329,13 @@ endif
CFLAGS="-O0 -g0 -fomit-frame-pointer" \
CXXFLAGS="-O0 -g0 -fomit-frame-pointer" \
$(WRKBUILD)/configure \
+ ${GCC_INITIAL_CONFOPTS} \
${GCC_CONFOPTS} \
${GCC_TLS_CONFOPTS} \
--enable-languages=c \
--with-newlib \
--disable-shared \
--disable-threads \
- --disable-multilib \
--without-headers
touch $@
diff --git a/toolchain/gcc/Makefile.inc b/toolchain/gcc/Makefile.inc
index 84bd536fc..9c77fd831 100644
--- a/toolchain/gcc/Makefile.inc
+++ b/toolchain/gcc/Makefile.inc
@@ -2,25 +2,49 @@
# material, please see the LICENCE file in the top-level directory.
PKG_NAME:= gcc
+ifeq ($(ADK_TOOLCHAIN_GCC_13),y)
+PKG_VERSION:= 13.2.0
+PKG_HASH:= e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
+PKG_SITES:= ${MASTER_SITE_GNU:=gcc/gcc-${PKG_VERSION}/}
+PKG_RELEASE:= 1
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
+LIBSTDCXXVER:= 29
+endif
+ifeq ($(ADK_TOOLCHAIN_GCC_12),y)
+PKG_VERSION:= 12.3.0
+PKG_HASH:= 949a5d4f99e786421a93b532b22ffab5578de7321369975b91aec97adfda8c3b
+PKG_SITES:= ${MASTER_SITE_GNU:=gcc/gcc-${PKG_VERSION}/}
+PKG_RELEASE:= 1
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
+LIBSTDCXXVER:= 28
+endif
+ifeq ($(ADK_TOOLCHAIN_GCC_11),y)
+PKG_VERSION:= 11.4.0
+PKG_HASH:= 3f2db222b007e8a4a23cd5ba56726ef08e8b1f1eb2055ee72c1402cea73a8dd9
+PKG_SITES:= ${MASTER_SITE_GNU:=gcc/gcc-${PKG_VERSION}/}
+PKG_RELEASE:= 1
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
+LIBSTDCXXVER:= 27
+endif
ifeq ($(ADK_TOOLCHAIN_GCC_10),y)
-PKG_VERSION:= 10.2.0
-PKG_HASH:= b8dd4368bb9c7f0b98188317ee0254dd8cc99d1e3a18d0ff146c855fe16c1d8c
+PKG_VERSION:= 10.5.0
+PKG_HASH:= 25109543fdf46f397c347b5d8b7a2c7e5694a5a51cce4b9c6e1ea8a71ca307c1
PKG_SITES:= ${MASTER_SITE_GNU:=gcc/gcc-${PKG_VERSION}/}
PKG_RELEASE:= 1
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
LIBSTDCXXVER:= 26
endif
ifeq ($(ADK_TOOLCHAIN_GCC_9),y)
-PKG_VERSION:= 9.3.0
-PKG_HASH:= 71e197867611f6054aa1119b13a0c0abac12834765fe2d81f35ac57f84f742d1
+PKG_VERSION:= 9.5.0
+PKG_HASH:= 27769f64ef1d4cd5e2be8682c0c93f9887983e6cfd1a927ce5a0a2915a95cf8f
PKG_SITES:= ${MASTER_SITE_GNU:=gcc/gcc-${PKG_VERSION}/}
PKG_RELEASE:= 1
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
LIBSTDCXXVER:= 25
endif
ifeq ($(ADK_TOOLCHAIN_GCC_8),y)
-PKG_VERSION:= 8.4.0
-PKG_HASH:= e30a6e52d10e1f27ed55104ad233c30bd1e99cfb5ff98ab022dc941edd1b2dd4
+PKG_VERSION:= 8.5.0
+PKG_HASH:= d308841a511bb830a6100397b0042db24ce11f642dab6ea6ee44842e5325ed50
PKG_SITES:= ${MASTER_SITE_GNU:=gcc/gcc-${PKG_VERSION}/}
PKG_RELEASE:= 1
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
@@ -34,6 +58,14 @@ PKG_RELEASE:= 1
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
LIBSTDCXXVER:= 23
endif
+ifeq ($(ADK_TOOLCHAIN_GCC_ARC),y)
+PKG_VERSION:= arc-2023.09
+PKG_GIT:= tag
+PKG_SITES:= https://github.com/foss-for-synopsys-dwc-arc-processors/gcc.git
+PKG_RELEASE:= 1
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
+LIBSTDCXXVER:= 29
+endif
ifeq ($(ADK_TOOLCHAIN_GCC_AVR32),y)
PKG_VERSION:= 4.4.7
PKG_HASH:= 76ad7c433af1c798a1e116c4dfa8f5f794f0d32bff65f88c54dcd5e5d146fc32
@@ -42,14 +74,6 @@ PKG_RELEASE:= 1
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
LIBSTDCXXVER:= 19
endif
-ifeq ($(ADK_TOOLCHAIN_GCC_METAG),y)
-PKG_VERSION:= 4.2.4
-PKG_HASH:= 7cb75c5183bd18f415860084440377016dc78feeee2852227b831f2e4fcaa5d6
-PKG_SITES:= http://gcc.cybermirror.org/releases/gcc-${PKG_VERSION}/
-PKG_RELEASE:= 1
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
-LIBSTDCXXVER:= 19
-endif
ifeq ($(ADK_TOOLCHAIN_GCC_LM32),y)
PKG_VERSION:= 4.5.4
PKG_HASH:= 33fb968907ef7b6c528f6395ba049eb34c4df859bf5aa6c2bc3856268801e078
@@ -58,10 +82,18 @@ PKG_RELEASE:= 1
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
LIBSTDCXXVER:= 19
endif
-ifeq ($(ADK_TOOLCHAIN_GCC_NDS32),y)
-PKG_VERSION:= nds32-6.3.0-open
-PKG_HASH:= b23ce96df25dfdd5526496a3c2cd7ee1da4ed4094971a2e0c47c73ad7e1ad30a
-PKG_SITES:= https://github.com/andestech/gcc.git
+ifeq ($(ADK_TOOLCHAIN_GCC_METAG),y)
+PKG_VERSION:= 4.2.4
+PKG_HASH:= 7cb75c5183bd18f415860084440377016dc78feeee2852227b831f2e4fcaa5d6
+PKG_SITES:= http://gcc.cybermirror.org/releases/gcc-${PKG_VERSION}/
+PKG_RELEASE:= 1
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
+LIBSTDCXXVER:= 19
+endif
+ifeq ($(ADK_TOOLCHAIN_GCC_KVX),y)
+PKG_VERSION:= f98c17b1e78dd3a3da45c0ac1af7b105edf2bf66
+PKG_GIT:= hash
+PKG_SITES:= https://github.com/kalray/gcc.git
PKG_RELEASE:= 1
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
endif
diff --git a/toolchain/gcc/patches/8.4.0/add-crtreloc.frv b/toolchain/gcc/patches/10.5.0/add-crtreloc.frv
index 30de24cdc..30de24cdc 100644
--- a/toolchain/gcc/patches/8.4.0/add-crtreloc.frv
+++ b/toolchain/gcc/patches/10.5.0/add-crtreloc.frv
diff --git a/toolchain/gcc/patches/8.4.0/c6x-disable-multilib.patch b/toolchain/gcc/patches/10.5.0/c6x-disable-multilib.patch
index cbee6f785..cbee6f785 100644
--- a/toolchain/gcc/patches/8.4.0/c6x-disable-multilib.patch
+++ b/toolchain/gcc/patches/10.5.0/c6x-disable-multilib.patch
diff --git a/toolchain/gcc/patches/7.4.0/ia64-fix-libgcc.patch b/toolchain/gcc/patches/10.5.0/ia64-fix-libgcc.patch
index f1f3c8d2d..f1f3c8d2d 100644
--- a/toolchain/gcc/patches/7.4.0/ia64-fix-libgcc.patch
+++ b/toolchain/gcc/patches/10.5.0/ia64-fix-libgcc.patch
diff --git a/toolchain/gcc/patches/10.5.0/j2.patch b/toolchain/gcc/patches/10.5.0/j2.patch
new file mode 100644
index 000000000..416475546
--- /dev/null
+++ b/toolchain/gcc/patches/10.5.0/j2.patch
@@ -0,0 +1,346 @@
+diff --git a/gcc/config.gcc b/gcc/config.gcc
+index 6fcdd771d4c..839a60d866e 100644
+--- a/gcc/config.gcc
++++ b/gcc/config.gcc
+@@ -547,7 +547,7 @@ s390*-*-*)
+ extra_headers="s390intrin.h htmintrin.h htmxlintrin.h vecintrin.h"
+ ;;
+ # Note the 'l'; we need to be able to match e.g. "shle" or "shl".
+-sh[123456789lbe]*-*-* | sh-*-*)
++sh[123456789lbej]*-*-* | sh-*-*)
+ cpu_type=sh
+ extra_options="${extra_options} fused-madd.opt"
+ extra_objs="${extra_objs} sh_treg_combine.o sh-mem.o sh_optimize_sett_clrt.o"
+@@ -3149,18 +3149,18 @@ s390x-ibm-tpf*)
+ extra_options="${extra_options} s390/tpf.opt"
+ tmake_file="${tmake_file} s390/t-s390"
+ ;;
+-sh-*-elf* | sh[12346l]*-*-elf* | \
+- sh-*-linux* | sh[2346lbe]*-*-linux* | \
++sh-*-elf* | sh[12346lj]*-*-elf* | \
++ sh-*-linux* | sh[2346lbej]*-*-linux* | \
+ sh-*-netbsdelf* | shl*-*-netbsdelf*)
+ tmake_file="${tmake_file} sh/t-sh sh/t-elf"
+ if test x${with_endian} = x; then
+ case ${target} in
+- sh[1234]*be-*-* | sh[1234]*eb-*-*) with_endian=big ;;
++ sh[j1234]*be-*-* | sh[j1234]*eb-*-*) with_endian=big ;;
+ shbe-*-* | sheb-*-*) with_endian=big,little ;;
+ sh[1234]l* | sh[34]*-*-linux*) with_endian=little ;;
+ shl* | sh*-*-linux* | \
+ sh-superh-elf) with_endian=little,big ;;
+- sh[1234]*-*-*) with_endian=big ;;
++ sh[j1234]*-*-*) with_endian=big ;;
+ *) with_endian=big,little ;;
+ esac
+ fi
+@@ -3227,6 +3227,7 @@ sh-*-elf* | sh[12346l]*-*-elf* | \
+ sh2a_nofpu*) sh_cpu_target=sh2a-nofpu ;;
+ sh2a*) sh_cpu_target=sh2a ;;
+ sh2e*) sh_cpu_target=sh2e ;;
++ shj2*) sh_cpu_target=shj2;;
+ sh2*) sh_cpu_target=sh2 ;;
+ *) sh_cpu_target=sh1 ;;
+ esac
+@@ -3248,7 +3249,7 @@ sh-*-elf* | sh[12346l]*-*-elf* | \
+ sh2a-single-only | sh2a-single | sh2a-nofpu | sh2a | \
+ sh4a-single-only | sh4a-single | sh4a-nofpu | sh4a | sh4al | \
+ sh4-single-only | sh4-single | sh4-nofpu | sh4 | sh4-300 | \
+- sh3e | sh3 | sh2e | sh2 | sh1) ;;
++ sh3e | sh3 | sh2e | sh2 | sh1 | shj2) ;;
+ "") sh_cpu_default=${sh_cpu_target} ;;
+ *) echo "with_cpu=$with_cpu not supported"; exit 1 ;;
+ esac
+@@ -3257,9 +3258,9 @@ sh-*-elf* | sh[12346l]*-*-elf* | \
+ case ${target} in
+ sh[1234]*) sh_multilibs=${sh_cpu_target} ;;
+ sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
+- sh*-*-linux*) sh_multilibs=m1,m2,m2a,m3e,m4 ;;
++ sh*-*-linux*) sh_multilibs=m1,m2,m2a,m3e,m4,mj2 ;;
+ sh*-*-netbsd*) sh_multilibs=m3,m3e,m4 ;;
+- *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;;
++ *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single,mj2 ;;
+ esac
+ if test x$with_fp = xno; then
+ sh_multilibs="`echo $sh_multilibs|sed -e s/m4/sh4-nofpu/ -e s/,m4-[^,]*//g -e s/,m[23]e// -e s/m2a,m2a-single/m2a-nofpu/ -e s/m5-..m....,//g`"
+@@ -3274,7 +3275,8 @@ sh-*-elf* | sh[12346l]*-*-elf* | \
+ m1 | m2 | m2e | m3 | m3e | \
+ m4 | m4-single | m4-single-only | m4-nofpu | m4-300 |\
+ m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al | \
+- m2a | m2a-single | m2a-single-only | m2a-nofpu)
++ m2a | m2a-single | m2a-single-only | m2a-nofpu | \
++ mj2)
+ # TM_MULTILIB_CONFIG is used by t-sh for the non-endian multilib definition
+ # It is passed to MULTIILIB_OPTIONS verbatim.
+ TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG}/${sh_multilib}"
+@@ -3291,7 +3293,7 @@ sh-*-elf* | sh[12346l]*-*-elf* | \
+ done
+ TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's:^/::'`
+ if test x${enable_incomplete_targets} = xyes ; then
+- tm_defines="$tm_defines SUPPORT_SH1=1 SUPPORT_SH2E=1 SUPPORT_SH4=1 SUPPORT_SH4_SINGLE=1 SUPPORT_SH2A=1 SUPPORT_SH2A_SINGLE=1"
++ tm_defines="$tm_defines SUPPORT_SH1=1 SUPPORT_SH2E=1 SUPPORT_SH4=1 SUPPORT_SH4_SINGLE=1 SUPPORT_SH2A=1 SUPPORT_SH2A_SINGLE=1 SUPPORT_SHJ2=1"
+ fi
+ tm_file="$tm_file ./sysroot-suffix.h"
+ tmake_file="$tmake_file t-sysroot-suffix"
+@@ -5105,6 +5107,8 @@ case "${target}" in
+ ;;
+ m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al)
+ ;;
++ mj2)
++ ;;
+ *)
+ echo "Unknown CPU used in --with-cpu=$with_cpu, known values:" 1>&2
+ echo "m1 m2 m2e m3 m3e m4 m4-single m4-single-only m4-nofpu" 1>&2
+@@ -5315,7 +5319,7 @@ case ${target} in
+ tmake_file="${cpu_type}/t-${cpu_type} ${tmake_file}"
+ ;;
+
+- sh[123456ble]*-*-* | sh-*-*)
++ sh[123456blej]*-*-* | sh-*-*)
+ c_target_objs="${c_target_objs} sh-c.o"
+ cxx_target_objs="${cxx_target_objs} sh-c.o"
+ ;;
+diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
+index 84c0ea025b4..f15552af011 100644
+--- a/gcc/config/sh/sh.c
++++ b/gcc/config/sh/sh.c
+@@ -686,6 +686,7 @@ parse_validate_atomic_model_option (const char* str)
+ model_names[sh_atomic_model::hard_llcs] = "hard-llcs";
+ model_names[sh_atomic_model::soft_tcb] = "soft-tcb";
+ model_names[sh_atomic_model::soft_imask] = "soft-imask";
++ model_names[sh_atomic_model::hard_cas] = "hard-cas";
+
+ const char* model_cdef_names[sh_atomic_model::num_models];
+ model_cdef_names[sh_atomic_model::none] = "NONE";
+@@ -693,6 +694,7 @@ parse_validate_atomic_model_option (const char* str)
+ model_cdef_names[sh_atomic_model::hard_llcs] = "HARD_LLCS";
+ model_cdef_names[sh_atomic_model::soft_tcb] = "SOFT_TCB";
+ model_cdef_names[sh_atomic_model::soft_imask] = "SOFT_IMASK";
++ model_cdef_names[sh_atomic_model::hard_cas] = "HARD_CAS";
+
+ sh_atomic_model ret;
+ ret.type = sh_atomic_model::none;
+@@ -771,6 +773,9 @@ got_mode_name:;
+ if (ret.type == sh_atomic_model::soft_imask && TARGET_USERMODE)
+ err_ret ("cannot use atomic model %s in user mode", ret.name);
+
++ if (ret.type == sh_atomic_model::hard_cas && !TARGET_SHJ2)
++ err_ret ("atomic model %s is only available J2 targets", ret.name);
++
+ return ret;
+
+ #undef err_ret
+@@ -827,6 +832,8 @@ sh_option_override (void)
+ sh_cpu = PROCESSOR_SH2E;
+ if (TARGET_SH2A)
+ sh_cpu = PROCESSOR_SH2A;
++ if (TARGET_SHJ2)
++ sh_cpu = PROCESSOR_SHJ2;
+ if (TARGET_SH3)
+ sh_cpu = PROCESSOR_SH3;
+ if (TARGET_SH3E)
+diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h
+index 8ab5455505c..6ffed6da403 100644
+--- a/gcc/config/sh/sh.h
++++ b/gcc/config/sh/sh.h
+@@ -85,6 +85,7 @@ extern int code_for_indirect_jump_scratch;
+ #define SUPPORT_SH4_SINGLE 1
+ #define SUPPORT_SH2A 1
+ #define SUPPORT_SH2A_SINGLE 1
++#define SUPPORT_SHJ2 1
+ #endif
+
+ #define TARGET_DIVIDE_CALL_DIV1 (sh_div_strategy == SH_DIV_CALL_DIV1)
+@@ -117,6 +118,7 @@ extern int code_for_indirect_jump_scratch;
+ #define SELECT_SH4A_SINGLE_ONLY (MASK_SH4A | SELECT_SH4_SINGLE_ONLY)
+ #define SELECT_SH4A (MASK_SH4A | SELECT_SH4)
+ #define SELECT_SH4A_SINGLE (MASK_SH4A | SELECT_SH4_SINGLE)
++#define SELECT_SHJ2 (MASK_SHJ2 | SELECT_SH2)
+
+ #if SUPPORT_SH1
+ #define SUPPORT_SH2 1
+@@ -124,6 +126,7 @@ extern int code_for_indirect_jump_scratch;
+ #if SUPPORT_SH2
+ #define SUPPORT_SH3 1
+ #define SUPPORT_SH2A_NOFPU 1
++#define SUPPORT_SHJ2 1
+ #endif
+ #if SUPPORT_SH3
+ #define SUPPORT_SH4_NOFPU 1
+@@ -156,7 +159,7 @@ extern int code_for_indirect_jump_scratch;
+ #define MASK_ARCH (MASK_SH1 | MASK_SH2 | MASK_SH3 | MASK_SH_E | MASK_SH4 \
+ | MASK_HARD_SH2A | MASK_HARD_SH2A_DOUBLE | MASK_SH4A \
+ | MASK_HARD_SH4 | MASK_FPU_SINGLE \
+- | MASK_FPU_SINGLE_ONLY)
++ | MASK_FPU_SINGLE_ONLY | MASK_SHJ2)
+
+ /* This defaults us to big-endian. */
+ #ifndef TARGET_ENDIAN_DEFAULT
+@@ -231,7 +234,8 @@ extern int code_for_indirect_jump_scratch;
+ %{m2a-single:--isa=sh2a} \
+ %{m2a-single-only:--isa=sh2a} \
+ %{m2a-nofpu:--isa=sh2a-nofpu} \
+-%{m4al:-dsp}"
++%{m4al:-dsp} \
++%{mj2:-isa=j2}"
+
+ #define ASM_SPEC SH_ASM_SPEC
+
+@@ -347,6 +351,7 @@ struct sh_atomic_model
+ hard_llcs,
+ soft_tcb,
+ soft_imask,
++ hard_cas,
+
+ num_models
+ };
+@@ -390,6 +395,9 @@ extern const sh_atomic_model& selected_atomic_model (void);
+ #define TARGET_ATOMIC_SOFT_IMASK \
+ (selected_atomic_model ().type == sh_atomic_model::soft_imask)
+
++#define TARGET_ATOMIC_HARD_CAS \
++ (selected_atomic_model ().type == sh_atomic_model::hard_cas)
++
+ #endif // __cplusplus
+
+ #define SUBTARGET_OVERRIDE_OPTIONS (void) 0
+@@ -1484,7 +1492,7 @@ extern bool current_function_interrupt;
+
+ /* Nonzero if the target supports dynamic shift instructions
+ like shad and shld. */
+-#define TARGET_DYNSHIFT (TARGET_SH3 || TARGET_SH2A)
++#define TARGET_DYNSHIFT (TARGET_SH3 || TARGET_SH2A || TARGET_SHJ2)
+
+ /* The cost of using the dynamic shift insns (shad, shld) are the same
+ if they are available. If they are not available a library function will
+@@ -1747,6 +1755,7 @@ enum processor_type {
+ PROCESSOR_SH2,
+ PROCESSOR_SH2E,
+ PROCESSOR_SH2A,
++ PROCESSOR_SHJ2,
+ PROCESSOR_SH3,
+ PROCESSOR_SH3E,
+ PROCESSOR_SH4,
+diff --git a/gcc/config/sh/sh.opt b/gcc/config/sh/sh.opt
+index 908603b92e1..e6108dabbc6 100644
+--- a/gcc/config/sh/sh.opt
++++ b/gcc/config/sh/sh.opt
+@@ -65,6 +65,10 @@ m2e
+ Target RejectNegative Condition(SUPPORT_SH2E)
+ Generate SH2e code.
+
++mj2
++Target RejectNegative Mask(SHJ2) Condition(SUPPORT_SHJ2)
++Generate J2 code.
++
+ m3
+ Target RejectNegative Mask(SH3) Condition(SUPPORT_SH3)
+ Generate SH3 code.
+diff --git a/gcc/config/sh/sync.md b/gcc/config/sh/sync.md
+index 25f3b695d2f..55119386a18 100644
+--- a/gcc/config/sh/sync.md
++++ b/gcc/config/sh/sync.md
+@@ -240,6 +240,9 @@
+ || (TARGET_SH4A && <MODE>mode == SImode && !TARGET_ATOMIC_STRICT))
+ atomic_insn = gen_atomic_compare_and_swap<mode>_hard (old_val, mem,
+ exp_val, new_val);
++ else if (TARGET_ATOMIC_HARD_CAS && <MODE>mode == SImode)
++ atomic_insn = gen_atomic_compare_and_swap<mode>_cas (old_val, mem,
++ exp_val, new_val);
+ else if (TARGET_ATOMIC_SOFT_GUSA)
+ atomic_insn = gen_atomic_compare_and_swap<mode>_soft_gusa (old_val, mem,
+ exp_val, new_val);
+@@ -306,6 +309,57 @@
+ }
+ [(set_attr "length" "14")])
+
++(define_expand "atomic_compare_and_swapsi_cas"
++ [(set (match_operand:SI 0 "register_operand" "=r")
++ (unspec_volatile:SI
++ [(match_operand:SI 1 "atomic_mem_operand_0" "=Sra")
++ (match_operand:SI 2 "register_operand" "r")
++ (match_operand:SI 3 "register_operand" "r")]
++ UNSPECV_CMPXCHG_1))]
++ "TARGET_ATOMIC_HARD_CAS"
++{
++ rtx mem = gen_rtx_REG (SImode, 0);
++ emit_move_insn (mem, force_reg (SImode, XEXP (operands[1], 0)));
++ emit_insn (gen_shj2_cas (operands[0], mem, operands[2], operands[3]));
++ DONE;
++})
++
++(define_insn "shj2_cas"
++ [(set (match_operand:SI 0 "register_operand" "=&r")
++ (unspec_volatile:SI
++ [(match_operand:SI 1 "register_operand" "=r")
++ (match_operand:SI 2 "register_operand" "r")
++ (match_operand:SI 3 "register_operand" "0")]
++ UNSPECV_CMPXCHG_1))
++ (set (reg:SI T_REG)
++ (unspec_volatile:SI [(const_int 0)] UNSPECV_CMPXCHG_3))]
++ "TARGET_ATOMIC_HARD_CAS"
++ "cas.l %2,%0,@%1"
++ [(set_attr "length" "2")]
++)
++
++(define_expand "atomic_compare_and_swapqi_cas"
++ [(set (match_operand:SI 0 "arith_reg_dest" "=&r")
++ (unspec_volatile:SI
++ [(match_operand:SI 1 "atomic_mem_operand_0" "=Sra")
++ (match_operand:SI 2 "arith_operand" "rI08")
++ (match_operand:SI 3 "arith_operand" "rI08")]
++ UNSPECV_CMPXCHG_1))]
++ "TARGET_ATOMIC_HARD_CAS"
++{FAIL;}
++)
++
++(define_expand "atomic_compare_and_swaphi_cas"
++ [(set (match_operand:SI 0 "arith_reg_dest" "=&r")
++ (unspec_volatile:SI
++ [(match_operand:SI 1 "atomic_mem_operand_0" "=Sra")
++ (match_operand:SI 2 "arith_operand" "rI08")
++ (match_operand:SI 3 "arith_operand" "rI08")]
++ UNSPECV_CMPXCHG_1))]
++ "TARGET_ATOMIC_HARD_CAS"
++{FAIL;}
++)
++
+ ;; The QIHImode llcs patterns modify the address register of the memory
+ ;; operand. In order to express that, we have to open code the memory
+ ;; operand. Initially the insn is expanded like every other atomic insn
+diff --git a/gcc/config/sh/t-sh b/gcc/config/sh/t-sh
+index a402359be72..dbd0bf992bf 100644
+--- a/gcc/config/sh/t-sh
++++ b/gcc/config/sh/t-sh
+@@ -50,7 +50,8 @@ MULTILIB_MATCHES = $(shell \
+ m2e,m3e,m4-single-only,m4-100-single-only,m4-200-single-only,m4-300-single-only,m4a-single-only \
+ m2a-single,m2a-single-only \
+ m4-single,m4-100-single,m4-200-single,m4-300-single,m4a-single \
+- m4,m4-100,m4-200,m4-300,m4a; do \
++ m4,m4-100,m4-200,m4-300,m4a \
++ mj2; do \
+ subst= ; \
+ for lib in `echo $$abi|tr , ' '` ; do \
+ if test "`echo $$multilibs|sed s/$$lib//`" != "$$multilibs"; then \
+@@ -63,9 +64,9 @@ MULTILIB_MATCHES = $(shell \
+
+ # SH1 and SH2A support big endian only.
+ ifeq ($(DEFAULT_ENDIAN),ml)
+-MULTILIB_EXCEPTIONS = m1 ml/m1 m2a* ml/m2a* $(TM_MULTILIB_EXCEPTIONS_CONFIG)
++MULTILIB_EXCEPTIONS = m1 ml/m1 m2a* ml/m2a* ml/mj2 $(TM_MULTILIB_EXCEPTIONS_CONFIG)
+ else
+-MULTILIB_EXCEPTIONS = ml/m1 ml/m2a* $(TM_MULTILIB_EXCEPTIONS_CONFIG)
++MULTILIB_EXCEPTIONS = ml/m1 ml/m2a* ml/mj2 $(TM_MULTILIB_EXCEPTIONS_CONFIG)
+ endif
+
+ MULTILIB_OSDIRNAMES = \
+@@ -87,7 +88,8 @@ MULTILIB_OSDIRNAMES = \
+ m4a-single-only=!m4a-single-only $(OTHER_ENDIAN)/m4a-single-only=!$(OTHER_ENDIAN)/m4a-single-only \
+ m4a-single=!m4a-single $(OTHER_ENDIAN)/m4a-single=!$(OTHER_ENDIAN)/m4a-single \
+ m4a=!m4a $(OTHER_ENDIAN)/m4a=!$(OTHER_ENDIAN)/m4a \
+- m4al=!m4al $(OTHER_ENDIAN)/m4al=!$(OTHER_ENDIAN)/m4al
++ m4al=!m4al $(OTHER_ENDIAN)/m4al=!$(OTHER_ENDIAN)/m4al \
++ mj2=!j2
+
+ $(out_object_file): gt-sh.h
+ gt-sh.h : s-gtype ; @true
diff --git a/toolchain/gcc/patches/7.4.0/nios2-softfp.patch b/toolchain/gcc/patches/10.5.0/nios2-softfp.patch
index c677c6c2f..c677c6c2f 100644
--- a/toolchain/gcc/patches/7.4.0/nios2-softfp.patch
+++ b/toolchain/gcc/patches/10.5.0/nios2-softfp.patch
diff --git a/toolchain/gcc/patches/10.5.0/revert-sparc.patch b/toolchain/gcc/patches/10.5.0/revert-sparc.patch
new file mode 100644
index 000000000..2ce948c82
--- /dev/null
+++ b/toolchain/gcc/patches/10.5.0/revert-sparc.patch
@@ -0,0 +1,283 @@
+diff -Nur gcc-10.3.0.orig/gcc/config/sparc/sparc.c gcc-10.3.0/gcc/config/sparc/sparc.c
+--- gcc-10.3.0.orig/gcc/config/sparc/sparc.c 2021-04-08 13:56:28.201742273 +0200
++++ gcc-10.3.0/gcc/config/sparc/sparc.c 2022-01-24 10:19:53.724121161 +0100
+@@ -4157,6 +4157,13 @@
+ static bool
+ sparc_cannot_force_const_mem (machine_mode mode, rtx x)
+ {
++ /* After IRA has run in PIC mode, it is too late to put anything into the
++ constant pool if the PIC register hasn't already been initialized. */
++ if ((lra_in_progress || reload_in_progress)
++ && flag_pic
++ && !crtl->uses_pic_offset_table)
++ return true;
++
+ switch (GET_CODE (x))
+ {
+ case CONST_INT:
+@@ -4192,11 +4199,9 @@
+ }
+
+ /* Global Offset Table support. */
+-static GTY(()) rtx got_symbol_rtx = NULL_RTX;
+-static GTY(()) rtx got_register_rtx = NULL_RTX;
+ static GTY(()) rtx got_helper_rtx = NULL_RTX;
+-
+-static GTY(()) bool got_helper_needed = false;
++static GTY(()) rtx got_register_rtx = NULL_RTX;
++static GTY(()) rtx got_symbol_rtx = NULL_RTX;
+
+ /* Return the SYMBOL_REF for the Global Offset Table. */
+
+@@ -4209,6 +4214,27 @@
+ return got_symbol_rtx;
+ }
+
++#ifdef HAVE_GAS_HIDDEN
++# define USE_HIDDEN_LINKONCE 1
++#else
++# define USE_HIDDEN_LINKONCE 0
++#endif
++
++static void
++get_pc_thunk_name (char name[32], unsigned int regno)
++{
++ const char *reg_name = reg_names[regno];
++
++ /* Skip the leading '%' as that cannot be used in a
++ symbol name. */
++ reg_name += 1;
++
++ if (USE_HIDDEN_LINKONCE)
++ sprintf (name, "__sparc_get_pc_thunk.%s", reg_name);
++ else
++ ASM_GENERATE_INTERNAL_LABEL (name, "LADDPC", regno);
++}
++
+ /* Wrapper around the load_pcrel_sym{si,di} patterns. */
+
+ static rtx
+@@ -4228,78 +4254,30 @@
+ return insn;
+ }
+
+-/* Output the load_pcrel_sym{si,di} patterns. */
+-
+-const char *
+-output_load_pcrel_sym (rtx *operands)
+-{
+- if (flag_delayed_branch)
+- {
+- output_asm_insn ("sethi\t%%hi(%a1-4), %0", operands);
+- output_asm_insn ("call\t%a2", operands);
+- output_asm_insn (" add\t%0, %%lo(%a1+4), %0", operands);
+- }
+- else
+- {
+- output_asm_insn ("sethi\t%%hi(%a1-8), %0", operands);
+- output_asm_insn ("add\t%0, %%lo(%a1-4), %0", operands);
+- output_asm_insn ("call\t%a2", operands);
+- output_asm_insn (" nop", NULL);
+- }
+-
+- if (operands[2] == got_helper_rtx)
+- got_helper_needed = true;
+-
+- return "";
+-}
+-
+-#ifdef HAVE_GAS_HIDDEN
+-# define USE_HIDDEN_LINKONCE 1
+-#else
+-# define USE_HIDDEN_LINKONCE 0
+-#endif
+-
+ /* Emit code to load the GOT register. */
+
+ void
+ load_got_register (void)
+ {
+- rtx insn;
++ if (!got_register_rtx)
++ got_register_rtx = gen_rtx_REG (Pmode, GLOBAL_OFFSET_TABLE_REGNUM);
+
+ if (TARGET_VXWORKS_RTP)
+- {
+- if (!got_register_rtx)
+- got_register_rtx = pic_offset_table_rtx;
+-
+- insn = gen_vxworks_load_got ();
+- }
++ emit_insn (gen_vxworks_load_got ());
+ else
+ {
+- if (!got_register_rtx)
+- got_register_rtx = gen_rtx_REG (Pmode, GLOBAL_OFFSET_TABLE_REGNUM);
+-
+ /* The GOT symbol is subject to a PC-relative relocation so we need a
+ helper function to add the PC value and thus get the final value. */
+ if (!got_helper_rtx)
+ {
+ char name[32];
+-
+- /* Skip the leading '%' as that cannot be used in a symbol name. */
+- if (USE_HIDDEN_LINKONCE)
+- sprintf (name, "__sparc_get_pc_thunk.%s",
+- reg_names[REGNO (got_register_rtx)] + 1);
+- else
+- ASM_GENERATE_INTERNAL_LABEL (name, "LADDPC",
+- REGNO (got_register_rtx));
+-
++ get_pc_thunk_name (name, GLOBAL_OFFSET_TABLE_REGNUM);
+ got_helper_rtx = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (name));
+ }
+
+- insn
+- = gen_load_pcrel_sym (got_register_rtx, sparc_got (), got_helper_rtx);
++ emit_insn (gen_load_pcrel_sym (got_register_rtx, sparc_got (),
++ got_helper_rtx));
+ }
+-
+- emit_insn (insn);
+ }
+
+ /* Ensure that we are not using patterns that are not OK with PIC. */
+@@ -5464,7 +5442,7 @@
+ return true;
+
+ /* GOT register (%l7) if needed. */
+- if (got_register_rtx && regno == REGNO (got_register_rtx))
++ if (regno == GLOBAL_OFFSET_TABLE_REGNUM && got_register_rtx)
+ return true;
+
+ /* If the function accesses prior frames, the frame pointer and the return
+@@ -12507,9 +12485,10 @@
+ sparc_file_end (void)
+ {
+ /* If we need to emit the special GOT helper function, do so now. */
+- if (got_helper_needed)
++ if (got_helper_rtx)
+ {
+ const char *name = XSTR (got_helper_rtx, 0);
++ const char *reg_name = reg_names[GLOBAL_OFFSET_TABLE_REGNUM];
+ #ifdef DWARF2_UNWIND_INFO
+ bool do_cfi;
+ #endif
+@@ -12546,22 +12525,17 @@
+ #ifdef DWARF2_UNWIND_INFO
+ do_cfi = dwarf2out_do_cfi_asm ();
+ if (do_cfi)
+- output_asm_insn (".cfi_startproc", NULL);
++ fprintf (asm_out_file, "\t.cfi_startproc\n");
+ #endif
+ if (flag_delayed_branch)
+- {
+- output_asm_insn ("jmp\t%%o7+8", NULL);
+- output_asm_insn (" add\t%%o7, %0, %0", &got_register_rtx);
+- }
++ fprintf (asm_out_file, "\tjmp\t%%o7+8\n\t add\t%%o7, %s, %s\n",
++ reg_name, reg_name);
+ else
+- {
+- output_asm_insn ("add\t%%o7, %0, %0", &got_register_rtx);
+- output_asm_insn ("jmp\t%%o7+8", NULL);
+- output_asm_insn (" nop", NULL);
+- }
++ fprintf (asm_out_file, "\tadd\t%%o7, %s, %s\n\tjmp\t%%o7+8\n\t nop\n",
++ reg_name, reg_name);
+ #ifdef DWARF2_UNWIND_INFO
+ if (do_cfi)
+- output_asm_insn (".cfi_endproc", NULL);
++ fprintf (asm_out_file, "\t.cfi_endproc\n");
+ #endif
+ }
+
+@@ -13056,10 +13030,7 @@
+ edge entry_edge;
+ rtx_insn *seq;
+
+- /* In PIC mode, we need to always initialize the PIC register if optimization
+- is enabled, because we are called from IRA and LRA may later force things
+- to the constant pool for optimization purposes. */
+- if (!flag_pic || (!crtl->uses_pic_offset_table && !optimize))
++ if (!crtl->uses_pic_offset_table)
+ return;
+
+ start_sequence ();
+diff -Nur gcc-10.3.0.orig/gcc/config/sparc/sparc.md gcc-10.3.0/gcc/config/sparc/sparc.md
+--- gcc-10.3.0.orig/gcc/config/sparc/sparc.md 2021-04-08 13:56:28.205742322 +0200
++++ gcc-10.3.0/gcc/config/sparc/sparc.md 2022-01-24 10:19:54.504102046 +0100
+@@ -1601,7 +1601,10 @@
+ (clobber (reg:P O7_REG))]
+ "REGNO (operands[0]) == INTVAL (operands[3])"
+ {
+- return output_load_pcrel_sym (operands);
++ if (flag_delayed_branch)
++ return "sethi\t%%hi(%a1-4), %0\n\tcall\t%a2\n\t add\t%0, %%lo(%a1+4), %0";
++ else
++ return "sethi\t%%hi(%a1-8), %0\n\tadd\t%0, %%lo(%a1-4), %0\n\tcall\t%a2\n\t nop";
+ }
+ [(set (attr "type") (const_string "multi"))
+ (set (attr "length")
+diff -Nur gcc-10.3.0.orig/gcc/config/sparc/sparc-protos.h gcc-10.3.0/gcc/config/sparc/sparc-protos.h
+--- gcc-10.3.0.orig/gcc/config/sparc/sparc-protos.h 2021-04-08 13:56:28.201742273 +0200
++++ gcc-10.3.0/gcc/config/sparc/sparc-protos.h 2022-01-24 10:19:54.548100968 +0100
+@@ -69,7 +69,6 @@
+ extern void sparc_split_mem_reg (rtx, rtx, machine_mode);
+ extern int sparc_split_reg_reg_legitimate (rtx, rtx);
+ extern void sparc_split_reg_reg (rtx, rtx, machine_mode);
+-extern const char *output_load_pcrel_sym (rtx *);
+ extern const char *output_ubranch (rtx, rtx_insn *);
+ extern const char *output_cbranch (rtx, rtx, int, int, int, rtx_insn *);
+ extern const char *output_return (rtx_insn *);
+diff -Nur gcc-10.3.0.orig/gcc/testsuite/gcc.c-torture/compile/20191108-1.c gcc-10.3.0/gcc/testsuite/gcc.c-torture/compile/20191108-1.c
+--- gcc-10.3.0.orig/gcc/testsuite/gcc.c-torture/compile/20191108-1.c 2021-04-08 13:56:28.929751064 +0200
++++ gcc-10.3.0/gcc/testsuite/gcc.c-torture/compile/20191108-1.c 1970-01-01 01:00:00.000000000 +0100
+@@ -1,14 +0,0 @@
+-/* PR target/92095 */
+-/* Testcase by Sergei Trofimovich <slyfox@inbox.ru> */
+-
+-typedef union {
+- double a;
+- int b[2];
+-} c;
+-
+-double d(int e)
+-{
+- c f;
+- (&f)->b[0] = 15728640;
+- return e ? -(&f)->a : (&f)->a;
+-}
+diff -Nur gcc-10.3.0.orig/gcc/testsuite/gcc.target/sparc/overflow-3.c gcc-10.3.0/gcc/testsuite/gcc.target/sparc/overflow-3.c
+--- gcc-10.3.0.orig/gcc/testsuite/gcc.target/sparc/overflow-3.c 2021-04-08 13:56:29.453757389 +0200
++++ gcc-10.3.0/gcc/testsuite/gcc.target/sparc/overflow-3.c 2022-01-24 10:19:54.688097536 +0100
+@@ -1,6 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-require-effective-target lp64 } */
+-/* { dg-options "-O -fno-pie" } */
++/* { dg-options "-O" } */
+
+ #include <stdbool.h>
+ #include <stdint.h>
+diff -Nur gcc-10.3.0.orig/gcc/testsuite/gcc.target/sparc/overflow-4.c gcc-10.3.0/gcc/testsuite/gcc.target/sparc/overflow-4.c
+--- gcc-10.3.0.orig/gcc/testsuite/gcc.target/sparc/overflow-4.c 2021-04-08 13:56:29.453757389 +0200
++++ gcc-10.3.0/gcc/testsuite/gcc.target/sparc/overflow-4.c 2022-01-24 10:19:55.336081656 +0100
+@@ -1,6 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-require-effective-target lp64 } */
+-/* { dg-options "-O -fno-pie -mno-vis3 -mno-vis4" } */
++/* { dg-options "-O -mno-vis3 -mno-vis4" } */
+
+ #include <stdbool.h>
+ #include <stdint.h>
+diff -Nur gcc-10.3.0.orig/gcc/testsuite/gcc.target/sparc/overflow-5.c gcc-10.3.0/gcc/testsuite/gcc.target/sparc/overflow-5.c
+--- gcc-10.3.0.orig/gcc/testsuite/gcc.target/sparc/overflow-5.c 2021-04-08 13:56:29.453757389 +0200
++++ gcc-10.3.0/gcc/testsuite/gcc.target/sparc/overflow-5.c 2022-01-24 10:19:55.336081656 +0100
+@@ -1,6 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-require-effective-target lp64 } */
+-/* { dg-options "-O -fno-pie -mvis3" } */
++/* { dg-options "-O -mvis3" } */
+
+ #include <stdbool.h>
+ #include <stdint.h>
diff --git a/toolchain/gcc/patches/11.4.0/add-crtreloc.frv b/toolchain/gcc/patches/11.4.0/add-crtreloc.frv
new file mode 100644
index 000000000..30de24cdc
--- /dev/null
+++ b/toolchain/gcc/patches/11.4.0/add-crtreloc.frv
@@ -0,0 +1,12 @@
+diff -Nur gcc-8.3.0.orig/gcc/config/frv/linux.h gcc-8.3.0/gcc/config/frv/linux.h
+--- gcc-8.3.0.orig/gcc/config/frv/linux.h 2018-01-03 11:03:58.000000000 +0100
++++ gcc-8.3.0/gcc/config/frv/linux.h 2019-10-08 10:52:00.176295821 +0200
+@@ -27,7 +27,7 @@
+
+ #undef STARTFILE_SPEC
+ #define STARTFILE_SPEC \
+- "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \
++ "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} crtreloc.o%s \
+ crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
+
+ #undef ENDFILE_SPEC
diff --git a/toolchain/gcc/patches/11.4.0/c6x-disable-multilib.patch b/toolchain/gcc/patches/11.4.0/c6x-disable-multilib.patch
new file mode 100644
index 000000000..cbee6f785
--- /dev/null
+++ b/toolchain/gcc/patches/11.4.0/c6x-disable-multilib.patch
@@ -0,0 +1,10 @@
+diff -Nur gcc-8.3.0.orig/gcc/config/c6x/t-c6x-uclinux gcc-8.3.0/gcc/config/c6x/t-c6x-uclinux
+--- gcc-8.3.0.orig/gcc/config/c6x/t-c6x-uclinux 2011-11-02 16:23:48.000000000 +0100
++++ gcc-8.3.0/gcc/config/c6x/t-c6x-uclinux 2019-10-08 07:49:50.255159650 +0200
+@@ -1,3 +1,3 @@
+-MULTILIB_OSDIRNAMES = march.c674x=!c674x
+-MULTILIB_OSDIRNAMES += mbig-endian=!be
+-MULTILIB_OSDIRNAMES += mbig-endian/march.c674x=!be/c674x
++MULTILIB_OSDIRNAMES =
++#MULTILIB_OSDIRNAMES += mbig-endian=!be
++#MULTILIB_OSDIRNAMES += mbig-endian/march.c674x=!be/c674x
diff --git a/toolchain/gcc/patches/11.4.0/csky.patch b/toolchain/gcc/patches/11.4.0/csky.patch
new file mode 100644
index 000000000..ee352951b
--- /dev/null
+++ b/toolchain/gcc/patches/11.4.0/csky.patch
@@ -0,0 +1,12 @@
+diff -Nur gcc-11.2.0.orig/libgcc/config/csky/linux-atomic.c gcc-11.2.0/libgcc/config/csky/linux-atomic.c
+--- gcc-11.2.0.orig/libgcc/config/csky/linux-atomic.c 2021-07-28 08:55:08.760307899 +0200
++++ gcc-11.2.0/libgcc/config/csky/linux-atomic.c 2021-12-14 14:19:23.685729233 +0100
+@@ -24,7 +24,7 @@
+ <http://www.gnu.org/licenses/>. */
+
+ /* Kernel helper for compare-and-exchange. */
+-inline int
++int
+ __kernel_cmpxchg (int oldval, int newval, volatile int *ptr)
+ {
+ register int _a0 asm ("a0") = oldval;
diff --git a/toolchain/gcc/patches/8.4.0/ia64-fix-libgcc.patch b/toolchain/gcc/patches/11.4.0/ia64-fix-libgcc.patch
index f1f3c8d2d..f1f3c8d2d 100644
--- a/toolchain/gcc/patches/8.4.0/ia64-fix-libgcc.patch
+++ b/toolchain/gcc/patches/11.4.0/ia64-fix-libgcc.patch
diff --git a/toolchain/gcc/patches/8.4.0/nios2-softfp.patch b/toolchain/gcc/patches/11.4.0/nios2-softfp.patch
index c677c6c2f..c677c6c2f 100644
--- a/toolchain/gcc/patches/8.4.0/nios2-softfp.patch
+++ b/toolchain/gcc/patches/11.4.0/nios2-softfp.patch
diff --git a/toolchain/gcc/patches/11.4.0/revert.sparc b/toolchain/gcc/patches/11.4.0/revert.sparc
new file mode 100644
index 000000000..2ce948c82
--- /dev/null
+++ b/toolchain/gcc/patches/11.4.0/revert.sparc
@@ -0,0 +1,283 @@
+diff -Nur gcc-10.3.0.orig/gcc/config/sparc/sparc.c gcc-10.3.0/gcc/config/sparc/sparc.c
+--- gcc-10.3.0.orig/gcc/config/sparc/sparc.c 2021-04-08 13:56:28.201742273 +0200
++++ gcc-10.3.0/gcc/config/sparc/sparc.c 2022-01-24 10:19:53.724121161 +0100
+@@ -4157,6 +4157,13 @@
+ static bool
+ sparc_cannot_force_const_mem (machine_mode mode, rtx x)
+ {
++ /* After IRA has run in PIC mode, it is too late to put anything into the
++ constant pool if the PIC register hasn't already been initialized. */
++ if ((lra_in_progress || reload_in_progress)
++ && flag_pic
++ && !crtl->uses_pic_offset_table)
++ return true;
++
+ switch (GET_CODE (x))
+ {
+ case CONST_INT:
+@@ -4192,11 +4199,9 @@
+ }
+
+ /* Global Offset Table support. */
+-static GTY(()) rtx got_symbol_rtx = NULL_RTX;
+-static GTY(()) rtx got_register_rtx = NULL_RTX;
+ static GTY(()) rtx got_helper_rtx = NULL_RTX;
+-
+-static GTY(()) bool got_helper_needed = false;
++static GTY(()) rtx got_register_rtx = NULL_RTX;
++static GTY(()) rtx got_symbol_rtx = NULL_RTX;
+
+ /* Return the SYMBOL_REF for the Global Offset Table. */
+
+@@ -4209,6 +4214,27 @@
+ return got_symbol_rtx;
+ }
+
++#ifdef HAVE_GAS_HIDDEN
++# define USE_HIDDEN_LINKONCE 1
++#else
++# define USE_HIDDEN_LINKONCE 0
++#endif
++
++static void
++get_pc_thunk_name (char name[32], unsigned int regno)
++{
++ const char *reg_name = reg_names[regno];
++
++ /* Skip the leading '%' as that cannot be used in a
++ symbol name. */
++ reg_name += 1;
++
++ if (USE_HIDDEN_LINKONCE)
++ sprintf (name, "__sparc_get_pc_thunk.%s", reg_name);
++ else
++ ASM_GENERATE_INTERNAL_LABEL (name, "LADDPC", regno);
++}
++
+ /* Wrapper around the load_pcrel_sym{si,di} patterns. */
+
+ static rtx
+@@ -4228,78 +4254,30 @@
+ return insn;
+ }
+
+-/* Output the load_pcrel_sym{si,di} patterns. */
+-
+-const char *
+-output_load_pcrel_sym (rtx *operands)
+-{
+- if (flag_delayed_branch)
+- {
+- output_asm_insn ("sethi\t%%hi(%a1-4), %0", operands);
+- output_asm_insn ("call\t%a2", operands);
+- output_asm_insn (" add\t%0, %%lo(%a1+4), %0", operands);
+- }
+- else
+- {
+- output_asm_insn ("sethi\t%%hi(%a1-8), %0", operands);
+- output_asm_insn ("add\t%0, %%lo(%a1-4), %0", operands);
+- output_asm_insn ("call\t%a2", operands);
+- output_asm_insn (" nop", NULL);
+- }
+-
+- if (operands[2] == got_helper_rtx)
+- got_helper_needed = true;
+-
+- return "";
+-}
+-
+-#ifdef HAVE_GAS_HIDDEN
+-# define USE_HIDDEN_LINKONCE 1
+-#else
+-# define USE_HIDDEN_LINKONCE 0
+-#endif
+-
+ /* Emit code to load the GOT register. */
+
+ void
+ load_got_register (void)
+ {
+- rtx insn;
++ if (!got_register_rtx)
++ got_register_rtx = gen_rtx_REG (Pmode, GLOBAL_OFFSET_TABLE_REGNUM);
+
+ if (TARGET_VXWORKS_RTP)
+- {
+- if (!got_register_rtx)
+- got_register_rtx = pic_offset_table_rtx;
+-
+- insn = gen_vxworks_load_got ();
+- }
++ emit_insn (gen_vxworks_load_got ());
+ else
+ {
+- if (!got_register_rtx)
+- got_register_rtx = gen_rtx_REG (Pmode, GLOBAL_OFFSET_TABLE_REGNUM);
+-
+ /* The GOT symbol is subject to a PC-relative relocation so we need a
+ helper function to add the PC value and thus get the final value. */
+ if (!got_helper_rtx)
+ {
+ char name[32];
+-
+- /* Skip the leading '%' as that cannot be used in a symbol name. */
+- if (USE_HIDDEN_LINKONCE)
+- sprintf (name, "__sparc_get_pc_thunk.%s",
+- reg_names[REGNO (got_register_rtx)] + 1);
+- else
+- ASM_GENERATE_INTERNAL_LABEL (name, "LADDPC",
+- REGNO (got_register_rtx));
+-
++ get_pc_thunk_name (name, GLOBAL_OFFSET_TABLE_REGNUM);
+ got_helper_rtx = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (name));
+ }
+
+- insn
+- = gen_load_pcrel_sym (got_register_rtx, sparc_got (), got_helper_rtx);
++ emit_insn (gen_load_pcrel_sym (got_register_rtx, sparc_got (),
++ got_helper_rtx));
+ }
+-
+- emit_insn (insn);
+ }
+
+ /* Ensure that we are not using patterns that are not OK with PIC. */
+@@ -5464,7 +5442,7 @@
+ return true;
+
+ /* GOT register (%l7) if needed. */
+- if (got_register_rtx && regno == REGNO (got_register_rtx))
++ if (regno == GLOBAL_OFFSET_TABLE_REGNUM && got_register_rtx)
+ return true;
+
+ /* If the function accesses prior frames, the frame pointer and the return
+@@ -12507,9 +12485,10 @@
+ sparc_file_end (void)
+ {
+ /* If we need to emit the special GOT helper function, do so now. */
+- if (got_helper_needed)
++ if (got_helper_rtx)
+ {
+ const char *name = XSTR (got_helper_rtx, 0);
++ const char *reg_name = reg_names[GLOBAL_OFFSET_TABLE_REGNUM];
+ #ifdef DWARF2_UNWIND_INFO
+ bool do_cfi;
+ #endif
+@@ -12546,22 +12525,17 @@
+ #ifdef DWARF2_UNWIND_INFO
+ do_cfi = dwarf2out_do_cfi_asm ();
+ if (do_cfi)
+- output_asm_insn (".cfi_startproc", NULL);
++ fprintf (asm_out_file, "\t.cfi_startproc\n");
+ #endif
+ if (flag_delayed_branch)
+- {
+- output_asm_insn ("jmp\t%%o7+8", NULL);
+- output_asm_insn (" add\t%%o7, %0, %0", &got_register_rtx);
+- }
++ fprintf (asm_out_file, "\tjmp\t%%o7+8\n\t add\t%%o7, %s, %s\n",
++ reg_name, reg_name);
+ else
+- {
+- output_asm_insn ("add\t%%o7, %0, %0", &got_register_rtx);
+- output_asm_insn ("jmp\t%%o7+8", NULL);
+- output_asm_insn (" nop", NULL);
+- }
++ fprintf (asm_out_file, "\tadd\t%%o7, %s, %s\n\tjmp\t%%o7+8\n\t nop\n",
++ reg_name, reg_name);
+ #ifdef DWARF2_UNWIND_INFO
+ if (do_cfi)
+- output_asm_insn (".cfi_endproc", NULL);
++ fprintf (asm_out_file, "\t.cfi_endproc\n");
+ #endif
+ }
+
+@@ -13056,10 +13030,7 @@
+ edge entry_edge;
+ rtx_insn *seq;
+
+- /* In PIC mode, we need to always initialize the PIC register if optimization
+- is enabled, because we are called from IRA and LRA may later force things
+- to the constant pool for optimization purposes. */
+- if (!flag_pic || (!crtl->uses_pic_offset_table && !optimize))
++ if (!crtl->uses_pic_offset_table)
+ return;
+
+ start_sequence ();
+diff -Nur gcc-10.3.0.orig/gcc/config/sparc/sparc.md gcc-10.3.0/gcc/config/sparc/sparc.md
+--- gcc-10.3.0.orig/gcc/config/sparc/sparc.md 2021-04-08 13:56:28.205742322 +0200
++++ gcc-10.3.0/gcc/config/sparc/sparc.md 2022-01-24 10:19:54.504102046 +0100
+@@ -1601,7 +1601,10 @@
+ (clobber (reg:P O7_REG))]
+ "REGNO (operands[0]) == INTVAL (operands[3])"
+ {
+- return output_load_pcrel_sym (operands);
++ if (flag_delayed_branch)
++ return "sethi\t%%hi(%a1-4), %0\n\tcall\t%a2\n\t add\t%0, %%lo(%a1+4), %0";
++ else
++ return "sethi\t%%hi(%a1-8), %0\n\tadd\t%0, %%lo(%a1-4), %0\n\tcall\t%a2\n\t nop";
+ }
+ [(set (attr "type") (const_string "multi"))
+ (set (attr "length")
+diff -Nur gcc-10.3.0.orig/gcc/config/sparc/sparc-protos.h gcc-10.3.0/gcc/config/sparc/sparc-protos.h
+--- gcc-10.3.0.orig/gcc/config/sparc/sparc-protos.h 2021-04-08 13:56:28.201742273 +0200
++++ gcc-10.3.0/gcc/config/sparc/sparc-protos.h 2022-01-24 10:19:54.548100968 +0100
+@@ -69,7 +69,6 @@
+ extern void sparc_split_mem_reg (rtx, rtx, machine_mode);
+ extern int sparc_split_reg_reg_legitimate (rtx, rtx);
+ extern void sparc_split_reg_reg (rtx, rtx, machine_mode);
+-extern const char *output_load_pcrel_sym (rtx *);
+ extern const char *output_ubranch (rtx, rtx_insn *);
+ extern const char *output_cbranch (rtx, rtx, int, int, int, rtx_insn *);
+ extern const char *output_return (rtx_insn *);
+diff -Nur gcc-10.3.0.orig/gcc/testsuite/gcc.c-torture/compile/20191108-1.c gcc-10.3.0/gcc/testsuite/gcc.c-torture/compile/20191108-1.c
+--- gcc-10.3.0.orig/gcc/testsuite/gcc.c-torture/compile/20191108-1.c 2021-04-08 13:56:28.929751064 +0200
++++ gcc-10.3.0/gcc/testsuite/gcc.c-torture/compile/20191108-1.c 1970-01-01 01:00:00.000000000 +0100
+@@ -1,14 +0,0 @@
+-/* PR target/92095 */
+-/* Testcase by Sergei Trofimovich <slyfox@inbox.ru> */
+-
+-typedef union {
+- double a;
+- int b[2];
+-} c;
+-
+-double d(int e)
+-{
+- c f;
+- (&f)->b[0] = 15728640;
+- return e ? -(&f)->a : (&f)->a;
+-}
+diff -Nur gcc-10.3.0.orig/gcc/testsuite/gcc.target/sparc/overflow-3.c gcc-10.3.0/gcc/testsuite/gcc.target/sparc/overflow-3.c
+--- gcc-10.3.0.orig/gcc/testsuite/gcc.target/sparc/overflow-3.c 2021-04-08 13:56:29.453757389 +0200
++++ gcc-10.3.0/gcc/testsuite/gcc.target/sparc/overflow-3.c 2022-01-24 10:19:54.688097536 +0100
+@@ -1,6 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-require-effective-target lp64 } */
+-/* { dg-options "-O -fno-pie" } */
++/* { dg-options "-O" } */
+
+ #include <stdbool.h>
+ #include <stdint.h>
+diff -Nur gcc-10.3.0.orig/gcc/testsuite/gcc.target/sparc/overflow-4.c gcc-10.3.0/gcc/testsuite/gcc.target/sparc/overflow-4.c
+--- gcc-10.3.0.orig/gcc/testsuite/gcc.target/sparc/overflow-4.c 2021-04-08 13:56:29.453757389 +0200
++++ gcc-10.3.0/gcc/testsuite/gcc.target/sparc/overflow-4.c 2022-01-24 10:19:55.336081656 +0100
+@@ -1,6 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-require-effective-target lp64 } */
+-/* { dg-options "-O -fno-pie -mno-vis3 -mno-vis4" } */
++/* { dg-options "-O -mno-vis3 -mno-vis4" } */
+
+ #include <stdbool.h>
+ #include <stdint.h>
+diff -Nur gcc-10.3.0.orig/gcc/testsuite/gcc.target/sparc/overflow-5.c gcc-10.3.0/gcc/testsuite/gcc.target/sparc/overflow-5.c
+--- gcc-10.3.0.orig/gcc/testsuite/gcc.target/sparc/overflow-5.c 2021-04-08 13:56:29.453757389 +0200
++++ gcc-10.3.0/gcc/testsuite/gcc.target/sparc/overflow-5.c 2022-01-24 10:19:55.336081656 +0100
+@@ -1,6 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-require-effective-target lp64 } */
+-/* { dg-options "-O -fno-pie -mvis3" } */
++/* { dg-options "-O -mvis3" } */
+
+ #include <stdbool.h>
+ #include <stdint.h>
diff --git a/toolchain/gcc/patches/12.3.0/csky.patch b/toolchain/gcc/patches/12.3.0/csky.patch
new file mode 100644
index 000000000..ee352951b
--- /dev/null
+++ b/toolchain/gcc/patches/12.3.0/csky.patch
@@ -0,0 +1,12 @@
+diff -Nur gcc-11.2.0.orig/libgcc/config/csky/linux-atomic.c gcc-11.2.0/libgcc/config/csky/linux-atomic.c
+--- gcc-11.2.0.orig/libgcc/config/csky/linux-atomic.c 2021-07-28 08:55:08.760307899 +0200
++++ gcc-11.2.0/libgcc/config/csky/linux-atomic.c 2021-12-14 14:19:23.685729233 +0100
+@@ -24,7 +24,7 @@
+ <http://www.gnu.org/licenses/>. */
+
+ /* Kernel helper for compare-and-exchange. */
+-inline int
++int
+ __kernel_cmpxchg (int oldval, int newval, volatile int *ptr)
+ {
+ register int _a0 asm ("a0") = oldval;
diff --git a/toolchain/gcc/patches/12.3.0/nios2-softfp.patch b/toolchain/gcc/patches/12.3.0/nios2-softfp.patch
new file mode 100644
index 000000000..c677c6c2f
--- /dev/null
+++ b/toolchain/gcc/patches/12.3.0/nios2-softfp.patch
@@ -0,0 +1,14 @@
+diff -Nur gcc-6.2.0.orig/libgcc/config.host gcc-6.2.0/libgcc/config.host
+--- gcc-6.2.0.orig/libgcc/config.host 2016-05-17 08:15:52.000000000 +0200
++++ gcc-6.2.0/libgcc/config.host 2016-10-15 14:42:53.971919904 +0200
+@@ -962,6 +962,10 @@
+ ;;
+ esac
+ ;;
++nios2-*-linux-uclibc*)
++ tmake_file="$tmake_file nios2/t-nios2 nios2/t-linux t-libgcc-pic t-slibgcc-libgcc t-softfp-sfdf t-softfp"
++ md_unwind_header=nios2/linux-unwind.h
++ ;;
+ nios2-*-linux*)
+ tmake_file="$tmake_file nios2/t-nios2 nios2/t-linux t-libgcc-pic t-slibgcc-libgcc"
+ md_unwind_header=nios2/linux-unwind.h
diff --git a/toolchain/gcc/patches/13.2.0/csky.patch b/toolchain/gcc/patches/13.2.0/csky.patch
new file mode 100644
index 000000000..ee352951b
--- /dev/null
+++ b/toolchain/gcc/patches/13.2.0/csky.patch
@@ -0,0 +1,12 @@
+diff -Nur gcc-11.2.0.orig/libgcc/config/csky/linux-atomic.c gcc-11.2.0/libgcc/config/csky/linux-atomic.c
+--- gcc-11.2.0.orig/libgcc/config/csky/linux-atomic.c 2021-07-28 08:55:08.760307899 +0200
++++ gcc-11.2.0/libgcc/config/csky/linux-atomic.c 2021-12-14 14:19:23.685729233 +0100
+@@ -24,7 +24,7 @@
+ <http://www.gnu.org/licenses/>. */
+
+ /* Kernel helper for compare-and-exchange. */
+-inline int
++int
+ __kernel_cmpxchg (int oldval, int newval, volatile int *ptr)
+ {
+ register int _a0 asm ("a0") = oldval;
diff --git a/toolchain/gcc/patches/13.2.0/nios2-softfp.patch b/toolchain/gcc/patches/13.2.0/nios2-softfp.patch
new file mode 100644
index 000000000..c677c6c2f
--- /dev/null
+++ b/toolchain/gcc/patches/13.2.0/nios2-softfp.patch
@@ -0,0 +1,14 @@
+diff -Nur gcc-6.2.0.orig/libgcc/config.host gcc-6.2.0/libgcc/config.host
+--- gcc-6.2.0.orig/libgcc/config.host 2016-05-17 08:15:52.000000000 +0200
++++ gcc-6.2.0/libgcc/config.host 2016-10-15 14:42:53.971919904 +0200
+@@ -962,6 +962,10 @@
+ ;;
+ esac
+ ;;
++nios2-*-linux-uclibc*)
++ tmake_file="$tmake_file nios2/t-nios2 nios2/t-linux t-libgcc-pic t-slibgcc-libgcc t-softfp-sfdf t-softfp"
++ md_unwind_header=nios2/linux-unwind.h
++ ;;
+ nios2-*-linux*)
+ tmake_file="$tmake_file nios2/t-nios2 nios2/t-linux t-libgcc-pic t-slibgcc-libgcc"
+ md_unwind_header=nios2/linux-unwind.h
diff --git a/toolchain/gcc/patches/4.5.4/gcc.lm32 b/toolchain/gcc/patches/4.5.4/gcc.lm32
index f32fb0dbd..df77ddf83 100644
--- a/toolchain/gcc/patches/4.5.4/gcc.lm32
+++ b/toolchain/gcc/patches/4.5.4/gcc.lm32
@@ -114,7 +114,7 @@ diff -Nur gcc-4.5.4.orig/libgcc/config.host gcc-4.5.4/libgcc/config.host
tmake_file="lm32/t-lm32 lm32/t-elf t-softfp"
;;
-lm32-*-uclinux*)
-+lm32-*-linux*)
++lm32-*-*linux*)
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
- tmake_file="lm32/t-lm32 lm32/t-uclinux t-softfp"
+ tmake_file="lm32/t-lm32 t-softfp"
diff --git a/toolchain/gcc/patches/7.4.0/add-crtreloc.frv b/toolchain/gcc/patches/7.5.0/add-crtreloc.frv
index dce4a0ea0..dce4a0ea0 100644
--- a/toolchain/gcc/patches/7.4.0/add-crtreloc.frv
+++ b/toolchain/gcc/patches/7.5.0/add-crtreloc.frv
diff --git a/toolchain/gcc/patches/7.4.0/c6x-disable-multilib.patch b/toolchain/gcc/patches/7.5.0/c6x-disable-multilib.patch
index 8637b2cd2..8637b2cd2 100644
--- a/toolchain/gcc/patches/7.4.0/c6x-disable-multilib.patch
+++ b/toolchain/gcc/patches/7.5.0/c6x-disable-multilib.patch
diff --git a/toolchain/gcc/patches/7.4.0/disable-split-stack-nothread.patch b/toolchain/gcc/patches/7.5.0/disable-split-stack-nothread.patch
index 0038d7573..0038d7573 100644
--- a/toolchain/gcc/patches/7.4.0/disable-split-stack-nothread.patch
+++ b/toolchain/gcc/patches/7.5.0/disable-split-stack-nothread.patch
diff --git a/toolchain/gcc/patches/7.5.0/ia64-fix-libgcc.patch b/toolchain/gcc/patches/7.5.0/ia64-fix-libgcc.patch
new file mode 100644
index 000000000..f1f3c8d2d
--- /dev/null
+++ b/toolchain/gcc/patches/7.5.0/ia64-fix-libgcc.patch
@@ -0,0 +1,17 @@
+diff -Nur gcc-6.3.0.orig/libgcc/config/ia64/fde-glibc.c gcc-6.3.0/libgcc/config/ia64/fde-glibc.c
+--- gcc-6.3.0.orig/libgcc/config/ia64/fde-glibc.c 2016-01-04 15:30:50.000000000 +0100
++++ gcc-6.3.0/libgcc/config/ia64/fde-glibc.c 2017-03-05 13:07:33.316600613 +0100
+@@ -25,6 +25,8 @@
+ /* Locate the FDE entry for a given address, using glibc ld.so routines
+ to avoid register/deregister calls at DSO load/unload. */
+
++#ifndef inhibit_libc
++
+ #ifndef _GNU_SOURCE
+ #define _GNU_SOURCE 1
+ #endif
+@@ -159,3 +161,4 @@
+
+ return data.ret;
+ }
++#endif
diff --git a/toolchain/gcc/patches/7.4.0/j2.patch b/toolchain/gcc/patches/7.5.0/j2.patch
index aafbe0ea9..aafbe0ea9 100644
--- a/toolchain/gcc/patches/7.4.0/j2.patch
+++ b/toolchain/gcc/patches/7.5.0/j2.patch
diff --git a/toolchain/gcc/patches/7.4.0/m68k-coldfire-pr68467.patch b/toolchain/gcc/patches/7.5.0/m68k-coldfire-pr68467.patch
index 45e9eb0ba..45e9eb0ba 100644
--- a/toolchain/gcc/patches/7.4.0/m68k-coldfire-pr68467.patch
+++ b/toolchain/gcc/patches/7.5.0/m68k-coldfire-pr68467.patch
diff --git a/toolchain/gcc/patches/7.4.0/m68k-musl.patch b/toolchain/gcc/patches/7.5.0/m68k-musl.patch
index a7effec4c..a7effec4c 100644
--- a/toolchain/gcc/patches/7.4.0/m68k-musl.patch
+++ b/toolchain/gcc/patches/7.5.0/m68k-musl.patch
diff --git a/toolchain/gcc/patches/7.4.0/microblaze.patch b/toolchain/gcc/patches/7.5.0/microblaze.patch
index eb6c08492..eb6c08492 100644
--- a/toolchain/gcc/patches/7.4.0/microblaze.patch
+++ b/toolchain/gcc/patches/7.5.0/microblaze.patch
diff --git a/toolchain/gcc/patches/7.4.0/musl-s390x.patch b/toolchain/gcc/patches/7.5.0/musl-s390x.patch
index 1163bdbf4..1163bdbf4 100644
--- a/toolchain/gcc/patches/7.4.0/musl-s390x.patch
+++ b/toolchain/gcc/patches/7.5.0/musl-s390x.patch
diff --git a/toolchain/gcc/patches/7.5.0/nios2-softfp.patch b/toolchain/gcc/patches/7.5.0/nios2-softfp.patch
new file mode 100644
index 000000000..c677c6c2f
--- /dev/null
+++ b/toolchain/gcc/patches/7.5.0/nios2-softfp.patch
@@ -0,0 +1,14 @@
+diff -Nur gcc-6.2.0.orig/libgcc/config.host gcc-6.2.0/libgcc/config.host
+--- gcc-6.2.0.orig/libgcc/config.host 2016-05-17 08:15:52.000000000 +0200
++++ gcc-6.2.0/libgcc/config.host 2016-10-15 14:42:53.971919904 +0200
+@@ -962,6 +962,10 @@
+ ;;
+ esac
+ ;;
++nios2-*-linux-uclibc*)
++ tmake_file="$tmake_file nios2/t-nios2 nios2/t-linux t-libgcc-pic t-slibgcc-libgcc t-softfp-sfdf t-softfp"
++ md_unwind_header=nios2/linux-unwind.h
++ ;;
+ nios2-*-linux*)
+ tmake_file="$tmake_file nios2/t-nios2 nios2/t-linux t-libgcc-pic t-slibgcc-libgcc"
+ md_unwind_header=nios2/linux-unwind.h
diff --git a/toolchain/gcc/patches/8.4.0/0002-xtensa-fix-PR-target-91880.patch b/toolchain/gcc/patches/8.4.0/0002-xtensa-fix-PR-target-91880.patch
deleted file mode 100644
index e65352501..000000000
--- a/toolchain/gcc/patches/8.4.0/0002-xtensa-fix-PR-target-91880.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 7c11710230921246156aecc20eb4b6ccaeaaa473 Mon Sep 17 00:00:00 2001
-From: Max Filippov <jcmvbkbc@gmail.com>
-Date: Tue, 24 Sep 2019 04:15:17 -0700
-Subject: [PATCH] xtensa: fix PR target/91880
-
-Xtensa hwloop_optimize segfaults when zero overhead loop is about to be
-inserted as the first instruction of the function.
-Insert zero overhead loop instruction into new basic block before the
-loop when basic block that precedes the loop is empty.
-
-2019-09-26 Max Filippov <jcmvbkbc@gmail.com>
-gcc/
- * config/xtensa/xtensa.c (hwloop_optimize): Insert zero overhead
- loop instruction into new basic block before the loop when basic
- block that precedes the loop is empty.
-
-Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
----
-Backported from: r276166
-
- 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 ee5612441e25..2527468d57db 100644
---- a/gcc/config/xtensa/xtensa.c
-+++ b/gcc/config/xtensa/xtensa.c
-@@ -4232,7 +4232,9 @@ hwloop_optimize (hwloop_info loop)
-
- seq = get_insns ();
-
-- if (!single_succ_p (entry_bb) || vec_safe_length (loop->incoming) > 1)
-+ entry_after = BB_END (entry_bb);
-+ if (!single_succ_p (entry_bb) || vec_safe_length (loop->incoming) > 1
-+ || !entry_after)
- {
- basic_block new_bb;
- edge e;
-@@ -4253,7 +4255,6 @@ hwloop_optimize (hwloop_info loop)
- }
- else
- {
-- entry_after = BB_END (entry_bb);
- while (DEBUG_INSN_P (entry_after)
- || (NOTE_P (entry_after)
- && NOTE_KIND (entry_after) != NOTE_INSN_BASIC_BLOCK))
---
-2.11.0
-
diff --git a/toolchain/gcc/patches/8.5.0/add-crtreloc.frv b/toolchain/gcc/patches/8.5.0/add-crtreloc.frv
new file mode 100644
index 000000000..30de24cdc
--- /dev/null
+++ b/toolchain/gcc/patches/8.5.0/add-crtreloc.frv
@@ -0,0 +1,12 @@
+diff -Nur gcc-8.3.0.orig/gcc/config/frv/linux.h gcc-8.3.0/gcc/config/frv/linux.h
+--- gcc-8.3.0.orig/gcc/config/frv/linux.h 2018-01-03 11:03:58.000000000 +0100
++++ gcc-8.3.0/gcc/config/frv/linux.h 2019-10-08 10:52:00.176295821 +0200
+@@ -27,7 +27,7 @@
+
+ #undef STARTFILE_SPEC
+ #define STARTFILE_SPEC \
+- "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \
++ "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} crtreloc.o%s \
+ crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
+
+ #undef ENDFILE_SPEC
diff --git a/toolchain/gcc/patches/8.5.0/c6x-disable-multilib.patch b/toolchain/gcc/patches/8.5.0/c6x-disable-multilib.patch
new file mode 100644
index 000000000..cbee6f785
--- /dev/null
+++ b/toolchain/gcc/patches/8.5.0/c6x-disable-multilib.patch
@@ -0,0 +1,10 @@
+diff -Nur gcc-8.3.0.orig/gcc/config/c6x/t-c6x-uclinux gcc-8.3.0/gcc/config/c6x/t-c6x-uclinux
+--- gcc-8.3.0.orig/gcc/config/c6x/t-c6x-uclinux 2011-11-02 16:23:48.000000000 +0100
++++ gcc-8.3.0/gcc/config/c6x/t-c6x-uclinux 2019-10-08 07:49:50.255159650 +0200
+@@ -1,3 +1,3 @@
+-MULTILIB_OSDIRNAMES = march.c674x=!c674x
+-MULTILIB_OSDIRNAMES += mbig-endian=!be
+-MULTILIB_OSDIRNAMES += mbig-endian/march.c674x=!be/c674x
++MULTILIB_OSDIRNAMES =
++#MULTILIB_OSDIRNAMES += mbig-endian=!be
++#MULTILIB_OSDIRNAMES += mbig-endian/march.c674x=!be/c674x
diff --git a/toolchain/gcc/patches/8.5.0/ia64-fix-libgcc.patch b/toolchain/gcc/patches/8.5.0/ia64-fix-libgcc.patch
new file mode 100644
index 000000000..f1f3c8d2d
--- /dev/null
+++ b/toolchain/gcc/patches/8.5.0/ia64-fix-libgcc.patch
@@ -0,0 +1,17 @@
+diff -Nur gcc-6.3.0.orig/libgcc/config/ia64/fde-glibc.c gcc-6.3.0/libgcc/config/ia64/fde-glibc.c
+--- gcc-6.3.0.orig/libgcc/config/ia64/fde-glibc.c 2016-01-04 15:30:50.000000000 +0100
++++ gcc-6.3.0/libgcc/config/ia64/fde-glibc.c 2017-03-05 13:07:33.316600613 +0100
+@@ -25,6 +25,8 @@
+ /* Locate the FDE entry for a given address, using glibc ld.so routines
+ to avoid register/deregister calls at DSO load/unload. */
+
++#ifndef inhibit_libc
++
+ #ifndef _GNU_SOURCE
+ #define _GNU_SOURCE 1
+ #endif
+@@ -159,3 +161,4 @@
+
+ return data.ret;
+ }
++#endif
diff --git a/toolchain/gcc/patches/8.4.0/j2.patch b/toolchain/gcc/patches/8.5.0/j2.patch
index aafbe0ea9..aafbe0ea9 100644
--- a/toolchain/gcc/patches/8.4.0/j2.patch
+++ b/toolchain/gcc/patches/8.5.0/j2.patch
diff --git a/toolchain/gcc/patches/8.4.0/m68k-musl.patch b/toolchain/gcc/patches/8.5.0/m68k-musl.patch
index a7effec4c..a7effec4c 100644
--- a/toolchain/gcc/patches/8.4.0/m68k-musl.patch
+++ b/toolchain/gcc/patches/8.5.0/m68k-musl.patch
diff --git a/toolchain/gcc/patches/8.4.0/musl-s390x.patch b/toolchain/gcc/patches/8.5.0/musl-s390x.patch
index 1163bdbf4..1163bdbf4 100644
--- a/toolchain/gcc/patches/8.4.0/musl-s390x.patch
+++ b/toolchain/gcc/patches/8.5.0/musl-s390x.patch
diff --git a/toolchain/gcc/patches/8.5.0/nios2-softfp.patch b/toolchain/gcc/patches/8.5.0/nios2-softfp.patch
new file mode 100644
index 000000000..c677c6c2f
--- /dev/null
+++ b/toolchain/gcc/patches/8.5.0/nios2-softfp.patch
@@ -0,0 +1,14 @@
+diff -Nur gcc-6.2.0.orig/libgcc/config.host gcc-6.2.0/libgcc/config.host
+--- gcc-6.2.0.orig/libgcc/config.host 2016-05-17 08:15:52.000000000 +0200
++++ gcc-6.2.0/libgcc/config.host 2016-10-15 14:42:53.971919904 +0200
+@@ -962,6 +962,10 @@
+ ;;
+ esac
+ ;;
++nios2-*-linux-uclibc*)
++ tmake_file="$tmake_file nios2/t-nios2 nios2/t-linux t-libgcc-pic t-slibgcc-libgcc t-softfp-sfdf t-softfp"
++ md_unwind_header=nios2/linux-unwind.h
++ ;;
+ nios2-*-linux*)
+ tmake_file="$tmake_file nios2/t-nios2 nios2/t-linux t-libgcc-pic t-slibgcc-libgcc"
+ md_unwind_header=nios2/linux-unwind.h
diff --git a/toolchain/gcc/patches/9.3.0/or1k.patch b/toolchain/gcc/patches/9.4.0/or1k.patch
index 8ec5ec956..8ec5ec956 100644
--- a/toolchain/gcc/patches/9.3.0/or1k.patch
+++ b/toolchain/gcc/patches/9.4.0/or1k.patch
diff --git a/toolchain/gdb/Makefile b/toolchain/gdb/Makefile
index f2cd417fe..5f46cb926 100644
--- a/toolchain/gdb/Makefile
+++ b/toolchain/gdb/Makefile
@@ -29,6 +29,7 @@ $(WRKBUILD)/.configured:
--build=$(GNU_HOST_NAME) \
--host=$(GNU_HOST_NAME) \
--target=$(GNU_TARGET_NAME) \
+ --with-libgmp-prefix='${STAGING_HOST_DIR}/usr' \
--disable-dependency-tracking \
--without-uiout \
--enable-gdbmi \
diff --git a/toolchain/gdb/Makefile.inc b/toolchain/gdb/Makefile.inc
index 5e284fca8..b4892c99d 100644
--- a/toolchain/gdb/Makefile.inc
+++ b/toolchain/gdb/Makefile.inc
@@ -2,10 +2,24 @@
# material, please see the LICENCE file in the top-level directory.
PKG_NAME:= gdb
-ifeq ($(ADK_TOOLCHAIN_GDB_9_2),y)
-PKG_VERSION:= 9.2
+ifeq ($(ADK_TOOLCHAIN_GDB_14_2),y)
+PKG_VERSION:= 14.2
PKG_RELEASE:= 1
-PKG_HASH:= 360cd7ae79b776988e89d8f9a01c985d0b1fa21c767a4295e5f88cb49175c555
+PKG_HASH:= 2d4dd8061d8ded12b6c63f55e45344881e8226105f4d2a9b234040efa5ce7772
+PKG_SITES:= ${MASTER_SITE_GNU:=gdb/}
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
+endif
+ifeq ($(ADK_TOOLCHAIN_GDB_13_2),y)
+PKG_VERSION:= 13.2
+PKG_RELEASE:= 1
+PKG_HASH:= fd5bebb7be1833abdb6e023c2f498a354498281df9d05523d8915babeb893f0a
+PKG_SITES:= ${MASTER_SITE_GNU:=gdb/}
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
+endif
+ifeq ($(ADK_TOOLCHAIN_GDB_12_1),y)
+PKG_VERSION:= 12.1
+PKG_RELEASE:= 1
+PKG_HASH:= 0e1793bf8f2b54d53f46dea84ccfd446f48f81b297b28c4f7fc017b818d69fed
PKG_SITES:= ${MASTER_SITE_GNU:=gdb/}
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
endif
diff --git a/toolchain/glibc/Makefile b/toolchain/glibc/Makefile
index 684da9b78..ecd6f8d2b 100644
--- a/toolchain/glibc/Makefile
+++ b/toolchain/glibc/Makefile
@@ -6,12 +6,13 @@ include ../rules.mk
include Makefile.inc
include ${ADK_TOPDIR}/mk/buildhlp.mk
-# glibc does not compile with Os and CPU specific FLAGS for m68k/x86_64
-ifeq ($(ADK_TARGET_ARCH_X86_64)$(ADK_TARGET_ARCH_M68K),y)
+# glibc does not boot with Os and CPU specific FLAGS for nios2
+ifeq ($(ADK_TARGET_ARCH_NIOS2),y)
TARGET_CFLAGS:= -O2
TARGET_CXXFLAGS:= -O2
endif
+# glibc does not compile with NEON suggested CFLAGS/CXXFLAGS
TARGET_CFLAGS:= $(filter-out -ffast-math,$(TARGET_CFLAGS))
TARGET_CXXFLAGS:= $(filter-out -ffast-math,$(TARGET_CXXFLAGS))
@@ -40,6 +41,13 @@ GLIBC_ENV:= PATH='${HOST_PATH}:${TARGET_PATH}' \
libc_cv_gnu99_inline=yes \
libc_cv_initfini_array=yes
+ifeq ($(ADK_TARGET_ARCH_RISCV64),y)
+GLIBC_ENV+= libc_cv_slibdir=/lib libc_cv_rtlddir=/lib
+endif
+ifeq ($(ADK_TARGET_ARCH_RISCV32),y)
+GLIBC_ENV+= libc_cv_slibdir=/lib libc_cv_rtlddir=/lib
+endif
+
GLIBC_MAKEOPTS+= cross-compiling=yes
ifeq (${ADK_MAKE_PARALLEL},y)
GLIBC_MAKEOPTS+= PARALLELMFLAGS="-j$(ADK_MAKE_JOBS)"
diff --git a/toolchain/glibc/Makefile.inc b/toolchain/glibc/Makefile.inc
index 0f0776bef..0cd8f4987 100644
--- a/toolchain/glibc/Makefile.inc
+++ b/toolchain/glibc/Makefile.inc
@@ -3,16 +3,16 @@
PKG_NAME:= glibc
ifeq ($(ADK_LIBC_VERSION),git)
-PKG_VERSION:= 2.31.90
-PKG_GLIBCVER:= 2.31.9000
-PKG_SITES:= git://sourceware.org/git/glibc.git
+PKG_VERSION:= 2.39.90
+PKG_GLIBCVER:= 2.39.9000
+PKG_SITES:= https://sourceware.org/git/glibc.git
PKG_RELEASE:= 1
endif
-ifeq ($(ADK_TARGET_LIB_GLIBC_2_31),y)
-PKG_VERSION:= 2.31
-PKG_GLIBCVER:= 2.31
+ifeq ($(ADK_TARGET_LIB_GLIBC_2_39),y)
+PKG_VERSION:= 2.39
+PKG_GLIBCVER:= 2.39
PKG_RELEASE:= 1
PKG_SITES:= ${MASTER_SITE_GNU:=glibc/}
-PKG_HASH:= 9246fe44f68feeec8c666bb87973d590ce0137cca145df014c72ec95be9ffd17
+PKG_HASH:= f77bd47cf8170c57365ae7bf86696c118adb3b120d3259c64c502d3dc1e2d926
endif
DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.xz
diff --git a/toolchain/glibc/patches/2.26/0001-Do-not-use-__builtin_types_compatible_p-in-C-mode-bu.patch b/toolchain/glibc/patches/2.26/0001-Do-not-use-__builtin_types_compatible_p-in-C-mode-bu.patch
deleted file mode 100644
index 27a785e31..000000000
--- a/toolchain/glibc/patches/2.26/0001-Do-not-use-__builtin_types_compatible_p-in-C-mode-bu.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From f7439f9b1089e17b6721f28e228682831a2f0135 Mon Sep 17 00:00:00 2001
-From: "Gabriel F. T. Gomes" <gftg@linux.vnet.ibm.com>
-Date: Mon, 21 Aug 2017 14:23:27 +0200
-Subject: [PATCH] Do not use __builtin_types_compatible_p in C++ mode (bug
- 21930)
-
-The logic to define isinf for float128 depends on the availability of
-__builtin_types_compatible_p, which is only available in C mode,
-however, the conditionals do not check for C or C++ mode. This lead to
-an error in libstdc++ configure, as reported by bug 21930.
-
-This patch adds a conditional for C mode in the definition of isinf for
-float128. No definition is provided in C++ mode, since libstdc++
-headers undefine isinf.
-
-Tested for powerpc64le (glibc test suite and libstdc++-v3 configure).
-
- [BZ #21930]
- * math/math.h (isinf): Check if in C or C++ mode before using
- __builtin_types_compatible_p, since this is a C mode feature.
-
-(cherry picked from commit 47a67213a9f51c5f8816d240500b10db605d8b77)
-[Romain rebase on glibc 2.26]
-Signed-off-by: Romain Naour <romain.naour@gmail.com>
----
- math/math.h | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/math/math.h b/math/math.h
-index e217080..dea8dbe 100644
---- a/math/math.h
-+++ b/math/math.h
-@@ -442,8 +442,12 @@ enum
-
- /* Return nonzero value if X is positive or negative infinity. */
- # if __HAVE_DISTINCT_FLOAT128 && !__GNUC_PREREQ (7,0) \
-- && !defined __SUPPORT_SNAN__
-- /* __builtin_isinf_sign is broken for float128 only before GCC 7.0. */
-+ && !defined __SUPPORT_SNAN__ && !defined __cplusplus
-+ /* Since __builtin_isinf_sign is broken for float128 before GCC 7.0,
-+ use the helper function, __isinff128, with older compilers. This is
-+ only provided for C mode, because in C++ mode, GCC has no support
-+ for __builtin_types_compatible_p (and when in C++ mode, this macro is
-+ not used anyway, because libstdc++ headers undefine it). */
- # define isinf(x) \
- (__builtin_types_compatible_p (__typeof (x), _Float128) \
- ? __isinff128 (x) : __builtin_isinf_sign (x))
---
-2.9.5
-
diff --git a/toolchain/glibc/patches/2.26/0002-Do-not-use-generic-selection-in-C-mode.patch b/toolchain/glibc/patches/2.26/0002-Do-not-use-generic-selection-in-C-mode.patch
deleted file mode 100644
index 7321eebd6..000000000
--- a/toolchain/glibc/patches/2.26/0002-Do-not-use-generic-selection-in-C-mode.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From bb21afc362a3ecba07ab386a0bc4385e75fbd4b5 Mon Sep 17 00:00:00 2001
-From: "Gabriel F. T. Gomes" <gftg@linux.vnet.ibm.com>
-Date: Mon, 14 Aug 2017 17:51:51 -0300
-Subject: [PATCH] Do not use generic selection in C++ mode
-
-The logic to protect the use of generic selection (_Generic) does not
-check for C or C++ mode, however, generic selection is a C-only
-feature.
-
-Tested for powerpc64le.
-
- * misc/sys/cdefs.h (__HAVE_GENERIC_SELECTION): Define to 0, if
- in C++ mode.
-
-(cherry picked from commit 6913ad65e00bb32417ad39c41d292b976171e27e)
-[Romain rebase on glibc 2.26]
-Signed-off-by: Romain Naour <romain.naour@gmail.com>
----
- misc/sys/cdefs.h | 19 ++++++++++---------
- 1 file changed, 10 insertions(+), 9 deletions(-)
-
-diff --git a/misc/sys/cdefs.h b/misc/sys/cdefs.h
-index 06523bf..0c80821 100644
---- a/misc/sys/cdefs.h
-+++ b/misc/sys/cdefs.h
-@@ -464,17 +464,18 @@
- # define __glibc_macro_warning(msg)
- #endif
-
--/* Support for generic selection (ISO C11) is available in GCC since
-- version 4.9. Previous versions do not provide generic selection,
-- even though they might set __STDC_VERSION__ to 201112L, when in
-- -std=c11 mode. Thus, we must check for !defined __GNUC__ when
-- testing __STDC_VERSION__ for generic selection support.
-+/* Generic selection (ISO C11) is a C-only feature, available in GCC
-+ since version 4.9. Previous versions do not provide generic
-+ selection, even though they might set __STDC_VERSION__ to 201112L,
-+ when in -std=c11 mode. Thus, we must check for !defined __GNUC__
-+ when testing __STDC_VERSION__ for generic selection support.
- On the other hand, Clang also defines __GNUC__, so a clang-specific
- check is required to enable the use of generic selection. */
--#if __GNUC_PREREQ (4, 9) \
-- || __glibc_clang_has_extension (c_generic_selections) \
-- || (!defined __GNUC__ && defined __STDC_VERSION__ \
-- && __STDC_VERSION__ >= 201112L)
-+#if !defined __cplusplus \
-+ && (__GNUC_PREREQ (4, 9) \
-+ || __glibc_clang_has_extension (c_generic_selections) \
-+ || (!defined __GNUC__ && defined __STDC_VERSION__ \
-+ && __STDC_VERSION__ >= 201112L))
- # define __HAVE_GENERIC_SELECTION 1
- #else
- # define __HAVE_GENERIC_SELECTION 0
---
-2.9.5
-
diff --git a/toolchain/glibc/patches/2.26/0003-Provide-a-C-version-of-issignaling-that-does-not-use.patch b/toolchain/glibc/patches/2.26/0003-Provide-a-C-version-of-issignaling-that-does-not-use.patch
deleted file mode 100644
index b9cd3df39..000000000
--- a/toolchain/glibc/patches/2.26/0003-Provide-a-C-version-of-issignaling-that-does-not-use.patch
+++ /dev/null
@@ -1,225 +0,0 @@
-From 9bcf391a21677c6d5fa1c2be71554ec181e24f39 Mon Sep 17 00:00:00 2001
-From: "Gabriel F. T. Gomes" <gftg@linux.vnet.ibm.com>
-Date: Mon, 14 Aug 2017 13:46:15 -0300
-Subject: [PATCH] Provide a C++ version of issignaling that does not use
- __MATH_TG
-
-The macro __MATH_TG contains the logic to select between long double and
-_Float128, when these types are ABI-distinct. This logic relies on
-__builtin_types_compatible_p, which is not available in C++ mode.
-
-On the other hand, C++ function overloading provides the means to
-distinguish between the floating-point types. The overloading
-resolution will match the correct parameter regardless of type
-qualifiers, i.e.: const and volatile.
-
-Tested for powerpc64le, s390x, and x86_64.
-
- * math/math.h [defined __cplusplus] (issignaling): Provide a C++
- definition for issignaling that does not rely on __MATH_TG,
- since __MATH_TG uses __builtin_types_compatible_p, which is only
- available in C mode.
- (CFLAGS-test-math-issignaling.cc): New variable.
- * math/Makefile [CXX] (tests): Add test-math-issignaling.
- * math/test-math-issignaling.cc: New test for C++ implementation
- of type-generic issignaling.
- * sysdeps/powerpc/powerpc64le/Makefile [subdir == math]
- (CXXFLAGS-test-math-issignaling.cc): Add -mfloat128 to the build
- options of test-math-issignaling on powerpc64le.
-
-(cherry picked from commit a16e8bc08edca84d507715c66d6cddbbc7ed3b62)
-[Romain rebase on glibc 2.26]
-Signed-off-by: Romain Naour <romain.naour@gmail.com>
----
- math/Makefile | 3 +-
- math/math.h | 19 +++++-
- math/test-math-issignaling.cc | 113 +++++++++++++++++++++++++++++++++++
- sysdeps/powerpc/powerpc64le/Makefile | 1 +
- 4 files changed, 134 insertions(+), 2 deletions(-)
- create mode 100644 math/test-math-issignaling.cc
-
-diff --git a/math/Makefile b/math/Makefile
-index e09b0c0..0130fcf 100644
---- a/math/Makefile
-+++ b/math/Makefile
-@@ -203,7 +203,7 @@ tests-static = test-fpucw-static test-fpucw-ieee-static \
- test-signgam-ullong-static test-signgam-ullong-init-static
-
- ifneq (,$(CXX))
--tests += test-math-isinff test-math-iszero
-+tests += test-math-isinff test-math-iszero test-math-issignaling
- endif
-
- ifneq (no,$(PERL))
-@@ -350,6 +350,7 @@ CFLAGS-test-signgam-ullong-init-static.c = -std=c99
-
- CFLAGS-test-math-isinff.cc = -std=gnu++11
- CFLAGS-test-math-iszero.cc = -std=gnu++11
-+CFLAGS-test-math-issignaling.cc = -std=gnu++11
-
- CFLAGS-test-iszero-excess-precision.c = -fexcess-precision=standard
- CFLAGS-test-iseqsig-excess-precision.c = -fexcess-precision=standard
-diff --git a/math/math.h b/math/math.h
-index dea8dbe..add86af 100644
---- a/math/math.h
-+++ b/math/math.h
-@@ -474,7 +474,24 @@ enum
- # include <bits/iscanonical.h>
-
- /* Return nonzero value if X is a signaling NaN. */
--# define issignaling(x) __MATH_TG ((x), __issignaling, (x))
-+# ifndef __cplusplus
-+# define issignaling(x) __MATH_TG ((x), __issignaling, (x))
-+# else
-+ /* In C++ mode, __MATH_TG cannot be used, because it relies on
-+ __builtin_types_compatible_p, which is a C-only builtin. On the
-+ other hand, overloading provides the means to distinguish between
-+ the floating-point types. The overloading resolution will match
-+ the correct parameter (regardless of type qualifiers (i.e.: const
-+ and volatile). */
-+extern "C++" {
-+inline int issignaling (float __val) { return __issignalingf (__val); }
-+inline int issignaling (double __val) { return __issignaling (__val); }
-+inline int issignaling (long double __val) { return __issignalingl (__val); }
-+# if __HAVE_DISTINCT_FLOAT128
-+inline int issignaling (_Float128 __val) { return __issignalingf128 (__val); }
-+# endif
-+} /* extern C++ */
-+# endif
-
- /* Return nonzero value if X is subnormal. */
- # define issubnormal(x) (fpclassify (x) == FP_SUBNORMAL)
-diff --git a/math/test-math-issignaling.cc b/math/test-math-issignaling.cc
-new file mode 100644
-index 0000000..22ae9e1
---- /dev/null
-+++ b/math/test-math-issignaling.cc
-@@ -0,0 +1,113 @@
-+/* Test for the C++ implementation of issignaling.
-+ Copyright (C) 2017 Free Software Foundation, Inc.
-+ This file is part of the GNU C Library.
-+
-+ The GNU C Library is free software; you can redistribute it and/or
-+ modify it 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.
-+
-+ The GNU C Library 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
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public
-+ License along with the GNU C Library; if not, see
-+ <http://www.gnu.org/licenses/>. */
-+
-+#define _GNU_SOURCE 1
-+#include <math.h>
-+#include <stdio.h>
-+
-+#include <limits>
-+
-+/* There is no signaling_NaN for _Float128 in std::numeric_limits.
-+ Include ieee754_float128.h and use the bitfields in the union
-+ ieee854_float128.ieee_nan to build a signaling NaN. */
-+#if __HAVE_DISTINCT_FLOAT128
-+# include <ieee754_float128.h>
-+#endif
-+
-+static bool errors;
-+
-+static void
-+check (int actual, int expected, const char *actual_expr, int line)
-+{
-+ if (actual != expected)
-+ {
-+ errors = true;
-+ printf ("%s:%d: error: %s\n", __FILE__, line, actual_expr);
-+ printf ("%s:%d: expected: %d\n", __FILE__, line, expected);
-+ printf ("%s:%d: actual: %d\n", __FILE__, line, actual);
-+ }
-+}
-+
-+#define CHECK(actual, expected) \
-+ check ((actual), (expected), #actual, __LINE__)
-+
-+template <class T>
-+static void
-+check_type ()
-+{
-+ typedef std::numeric_limits<T> limits;
-+ CHECK (issignaling (T{0}), 0);
-+ if (limits::has_infinity)
-+ {
-+ CHECK (issignaling (limits::infinity ()), 0);
-+ CHECK (issignaling (-limits::infinity ()), 0);
-+ }
-+ if (limits::has_quiet_NaN)
-+ CHECK (issignaling (limits::quiet_NaN ()), 0);
-+ if (limits::has_signaling_NaN)
-+ CHECK (issignaling (limits::signaling_NaN ()), 1);
-+}
-+
-+#if __HAVE_DISTINCT_FLOAT128
-+static void
-+check_float128 ()
-+{
-+ ieee854_float128 q;
-+
-+ q.d = 0;
-+ CHECK (issignaling (q.d), 0);
-+
-+ /* Infinity. */
-+ q.ieee.negative = 0;
-+ q.ieee.exponent = 0x7FFF;
-+ q.ieee.mantissa0 = 0x0000;
-+ q.ieee.mantissa1 = 0x00000000;
-+ q.ieee.mantissa2 = 0x00000000;
-+ q.ieee.mantissa3 = 0x00000000;
-+ CHECK (issignaling (q.d), 0);
-+
-+ /* Quiet NaN. */
-+ q.ieee_nan.quiet_nan = 1;
-+ q.ieee_nan.mantissa0 = 0x0000;
-+ CHECK (issignaling (q.d), 0);
-+
-+ /* Still a quiet NaN. */
-+ q.ieee_nan.quiet_nan = 1;
-+ q.ieee_nan.mantissa0 = 0x4000;
-+ CHECK (issignaling (q.d), 0);
-+
-+ /* Signaling NaN. */
-+ q.ieee_nan.quiet_nan = 0;
-+ q.ieee_nan.mantissa0 = 0x4000;
-+ CHECK (issignaling (q.d), 1);
-+}
-+#endif
-+
-+static int
-+do_test (void)
-+{
-+ check_type<float> ();
-+ check_type<double> ();
-+ check_type<long double> ();
-+#if __HAVE_DISTINCT_FLOAT128
-+ check_float128 ();
-+#endif
-+ return errors;
-+}
-+
-+#include <support/test-driver.c>
-diff --git a/sysdeps/powerpc/powerpc64le/Makefile b/sysdeps/powerpc/powerpc64le/Makefile
-index 77617b6..19adbfa 100644
---- a/sysdeps/powerpc/powerpc64le/Makefile
-+++ b/sysdeps/powerpc/powerpc64le/Makefile
-@@ -16,6 +16,7 @@ $(foreach suf,$(all-object-suffixes),%f128_r$(suf)): CFLAGS += -mfloat128
- $(foreach suf,$(all-object-suffixes),$(objpfx)test-float128%$(suf)): CFLAGS += -mfloat128
- $(foreach suf,$(all-object-suffixes),$(objpfx)test-ifloat128%$(suf)): CFLAGS += -mfloat128
- CFLAGS-libm-test-support-float128.c += -mfloat128
-+CFLAGS-test-math-issignaling.cc += -mfloat128
- $(objpfx)test-float128% $(objpfx)test-ifloat128%: \
- gnulib-tests += $(f128-loader-link)
- endif
---
-2.9.5
-
diff --git a/toolchain/glibc/patches/2.26/0004-Fix-the-C-version-of-issignaling-when-__NO_LONG_DOUB.patch b/toolchain/glibc/patches/2.26/0004-Fix-the-C-version-of-issignaling-when-__NO_LONG_DOUB.patch
deleted file mode 100644
index 5e32f754d..000000000
--- a/toolchain/glibc/patches/2.26/0004-Fix-the-C-version-of-issignaling-when-__NO_LONG_DOUB.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 9dbd8386a1b706beb30291a7e76bbfe69c2620cf Mon Sep 17 00:00:00 2001
-From: "Gabriel F. T. Gomes" <gftg@linux.vnet.ibm.com>
-Date: Wed, 23 Aug 2017 10:16:54 -0300
-Subject: [PATCH] Fix the C++ version of issignaling when __NO_LONG_DOUBLE_MATH
- is defined
-
-When __NO_LONG_DOUBLE_MATH is defined, __issignalingl is not available,
-thus issignaling with long double argument should call __issignaling,
-instead.
-
-Tested for powerpc64le.
-
- * math/math.h [defined __cplusplus] (issignaling): In the long
- double case, call __issignalingl only if __NO_LONG_DOUBLE_MATH
- is not defined. Call __issignaling, otherwise.
-
-(cherry picked from commit 3d7b66f66cb223e899a7ebc0f4c20f13e711c9e0)
-[Romain rebase on glibc 2.26]
-Signed-off-by: Romain Naour <romain.naour@gmail.com>
----
- math/math.h | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/math/math.h b/math/math.h
-index add86af..60dfa31 100644
---- a/math/math.h
-+++ b/math/math.h
-@@ -486,7 +486,15 @@ enum
- extern "C++" {
- inline int issignaling (float __val) { return __issignalingf (__val); }
- inline int issignaling (double __val) { return __issignaling (__val); }
--inline int issignaling (long double __val) { return __issignalingl (__val); }
-+inline int
-+issignaling (long double __val)
-+{
-+# ifdef __NO_LONG_DOUBLE_MATH
-+ return __issignaling (__val);
-+# else
-+ return __issignalingl (__val);
-+# endif
-+}
- # if __HAVE_DISTINCT_FLOAT128
- inline int issignaling (_Float128 __val) { return __issignalingf128 (__val); }
- # endif
---
-2.9.5
-
diff --git a/toolchain/glibc/patches/2.26/0005-Provide-a-C-version-of-iszero-that-does-not-use-__MA.patch b/toolchain/glibc/patches/2.26/0005-Provide-a-C-version-of-iszero-that-does-not-use-__MA.patch
deleted file mode 100644
index e12c8438f..000000000
--- a/toolchain/glibc/patches/2.26/0005-Provide-a-C-version-of-iszero-that-does-not-use-__MA.patch
+++ /dev/null
@@ -1,210 +0,0 @@
-From 45970aa26d1af87b016ef95b4b35c566aeb6e841 Mon Sep 17 00:00:00 2001
-From: "Gabriel F. T. Gomes" <gftg@linux.vnet.ibm.com>
-Date: Tue, 22 Aug 2017 16:34:42 -0300
-Subject: [PATCH] Provide a C++ version of iszero that does not use __MATH_TG
- (bug 21930)
-
-When signaling nans are enabled (with -fsignaling-nans), the C++ version
-of iszero uses the fpclassify macro, which is defined with __MATH_TG.
-However, when support for float128 is available, __MATH_TG uses the
-builtin __builtin_types_compatible_p, which is only available in C mode.
-
-This patch refactors the C++ version of iszero so that it uses function
-overloading to select between the floating-point types, instead of
-relying on fpclassify and __MATH_TG.
-
-Tested for powerpc64le, s390x, x86_64, and with build-many-glibcs.py.
-
- [BZ #21930]
- * math/math.h [defined __cplusplus && defined __SUPPORT_SNAN__]
- (iszero): New C++ implementation that does not use
- fpclassify/__MATH_TG/__builtin_types_compatible_p, when
- signaling nans are enabled, since __builtin_types_compatible_p
- is a C-only feature.
- * math/test-math-iszero.cc: When __HAVE_DISTINCT_FLOAT128 is
- defined, include ieee754_float128.h for access to the union and
- member ieee854_float128.ieee.
- [__HAVE_DISTINCT_FLOAT128] (do_test): Call check_float128.
- [__HAVE_DISTINCT_FLOAT128] (check_float128): New function.
- * sysdeps/powerpc/powerpc64le/Makefile [subdir == math]
- (CXXFLAGS-test-math-iszero.cc): Add -mfloat128 to the build
- options of test-math-zero on powerpc64le.
-
-(cherry picked from commit 42496114ec0eb7d6d039d05d4262e109951c600c)
-[Romain rebase on glibc 2.26]
-Signed-off-by: Romain Naour <romain.naour@gmail.com>
----
- math/math.h | 33 +++++++++++++--
- math/test-math-iszero.cc | 79 ++++++++++++++++++++++++++++++++++++
- sysdeps/powerpc/powerpc64le/Makefile | 3 +-
- 3 files changed, 110 insertions(+), 5 deletions(-)
-
-diff --git a/math/math.h b/math/math.h
-index 60dfa31..7c0fc6d 100644
---- a/math/math.h
-+++ b/math/math.h
-@@ -513,15 +513,40 @@ inline int issignaling (_Float128 __val) { return __issignalingf128 (__val); }
- # endif
- # else /* __cplusplus */
- extern "C++" {
-+# ifdef __SUPPORT_SNAN__
-+inline int
-+iszero (float __val)
-+{
-+ return __fpclassifyf (__val) == FP_ZERO;
-+}
-+inline int
-+iszero (double __val)
-+{
-+ return __fpclassify (__val) == FP_ZERO;
-+}
-+inline int
-+iszero (long double __val)
-+{
-+# ifdef __NO_LONG_DOUBLE_MATH
-+ return __fpclassify (__val) == FP_ZERO;
-+# else
-+ return __fpclassifyl (__val) == FP_ZERO;
-+# endif
-+}
-+# if __HAVE_DISTINCT_FLOAT128
-+inline int
-+iszero (_Float128 __val)
-+{
-+ return __fpclassifyf128 (__val) == FP_ZERO;
-+}
-+# endif
-+# else
- template <class __T> inline bool
- iszero (__T __val)
- {
--# ifdef __SUPPORT_SNAN__
-- return fpclassify (__val) == FP_ZERO;
--# else
- return __val == 0;
--# endif
- }
-+# endif
- } /* extern C++ */
- # endif /* __cplusplus */
- #endif /* Use IEC_60559_BFP_EXT. */
-diff --git a/math/test-math-iszero.cc b/math/test-math-iszero.cc
-index 027e972..5c07261 100644
---- a/math/test-math-iszero.cc
-+++ b/math/test-math-iszero.cc
-@@ -22,6 +22,13 @@
-
- #include <limits>
-
-+/* Support for _Float128 in std::numeric_limits is limited.
-+ Include ieee754_float128.h and use the bitfields in the union
-+ ieee854_float128.ieee_nan to build corner-case inputs. */
-+#if __HAVE_DISTINCT_FLOAT128
-+# include <ieee754_float128.h>
-+#endif
-+
- static bool errors;
-
- static void
-@@ -72,12 +79,84 @@ check_type ()
- std::numeric_limits<T>::has_denorm == std::denorm_absent);
- }
-
-+#if __HAVE_DISTINCT_FLOAT128
-+static void
-+check_float128 ()
-+{
-+ ieee854_float128 q;
-+
-+ q.d = 0.0Q;
-+ CHECK (iszero (q.d), 1);
-+ q.d = -0.0Q;
-+ CHECK (iszero (q.d), 1);
-+ q.d = 1.0Q;
-+ CHECK (iszero (q.d), 0);
-+ q.d = -1.0Q;
-+ CHECK (iszero (q.d), 0);
-+
-+ /* Normal min. */
-+ q.ieee.negative = 0;
-+ q.ieee.exponent = 0x0001;
-+ q.ieee.mantissa0 = 0x0000;
-+ q.ieee.mantissa1 = 0x00000000;
-+ q.ieee.mantissa2 = 0x00000000;
-+ q.ieee.mantissa3 = 0x00000000;
-+ CHECK (iszero (q.d), 0);
-+ q.ieee.negative = 1;
-+ CHECK (iszero (q.d), 0);
-+
-+ /* Normal max. */
-+ q.ieee.negative = 0;
-+ q.ieee.exponent = 0x7FFE;
-+ q.ieee.mantissa0 = 0xFFFF;
-+ q.ieee.mantissa1 = 0xFFFFFFFF;
-+ q.ieee.mantissa2 = 0xFFFFFFFF;
-+ q.ieee.mantissa3 = 0xFFFFFFFF;
-+ CHECK (iszero (q.d), 0);
-+ q.ieee.negative = 1;
-+ CHECK (iszero (q.d), 0);
-+
-+ /* Infinity. */
-+ q.ieee.negative = 0;
-+ q.ieee.exponent = 0x7FFF;
-+ q.ieee.mantissa0 = 0x0000;
-+ q.ieee.mantissa1 = 0x00000000;
-+ q.ieee.mantissa2 = 0x00000000;
-+ q.ieee.mantissa3 = 0x00000000;
-+ CHECK (iszero (q.d), 0);
-+
-+ /* Quiet NaN. */
-+ q.ieee_nan.quiet_nan = 1;
-+ q.ieee_nan.mantissa0 = 0x0000;
-+ CHECK (iszero (q.d), 0);
-+
-+ /* Signaling NaN. */
-+ q.ieee_nan.quiet_nan = 0;
-+ q.ieee_nan.mantissa0 = 0x4000;
-+ CHECK (iszero (q.d), 0);
-+
-+ /* Denormal min. */
-+ q.ieee.negative = 0;
-+ q.ieee.exponent = 0x0000;
-+ q.ieee.mantissa0 = 0x0000;
-+ q.ieee.mantissa1 = 0x00000000;
-+ q.ieee.mantissa2 = 0x00000000;
-+ q.ieee.mantissa3 = 0x00000001;
-+ CHECK (iszero (q.d), 0);
-+ q.ieee.negative = 1;
-+ CHECK (iszero (q.d), 0);
-+}
-+#endif
-+
- static int
- do_test (void)
- {
- check_type<float> ();
- check_type<double> ();
- check_type<long double> ();
-+#if __HAVE_DISTINCT_FLOAT128
-+ check_float128 ();
-+#endif
- return errors;
- }
-
-diff --git a/sysdeps/powerpc/powerpc64le/Makefile b/sysdeps/powerpc/powerpc64le/Makefile
-index 19adbfa..dea2290 100644
---- a/sysdeps/powerpc/powerpc64le/Makefile
-+++ b/sysdeps/powerpc/powerpc64le/Makefile
-@@ -17,7 +17,8 @@ $(foreach suf,$(all-object-suffixes),$(objpfx)test-float128%$(suf)): CFLAGS += -
- $(foreach suf,$(all-object-suffixes),$(objpfx)test-ifloat128%$(suf)): CFLAGS += -mfloat128
- CFLAGS-libm-test-support-float128.c += -mfloat128
- CFLAGS-test-math-issignaling.cc += -mfloat128
--$(objpfx)test-float128% $(objpfx)test-ifloat128%: \
-+CFLAGS-test-math-iszero.cc += -mfloat128
-+$(objpfx)test-float128% $(objpfx)test-ifloat128% $(objpfx)test-math-iszero: \
- gnulib-tests += $(f128-loader-link)
- endif
-
---
-2.9.5
-
diff --git a/toolchain/glibc/patches/2.26/0006-Let-fpclassify-use-the-builtin-when-optimizing-for-s.patch b/toolchain/glibc/patches/2.26/0006-Let-fpclassify-use-the-builtin-when-optimizing-for-s.patch
deleted file mode 100644
index 37807c459..000000000
--- a/toolchain/glibc/patches/2.26/0006-Let-fpclassify-use-the-builtin-when-optimizing-for-s.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 33f54cf4f81a51e5c8cbfb2408edd439bdee9435 Mon Sep 17 00:00:00 2001
-From: "Gabriel F. T. Gomes" <gabriel@inconstante.eti.br>
-Date: Wed, 20 Sep 2017 15:10:26 -0300
-Subject: [PATCH] Let fpclassify use the builtin when optimizing for size in
- C++ mode (bug 22146)
-
-When optimization for size is on (-Os), fpclassify does not use the
-type-generic __builtin_fpclassify builtin, instead it uses __MATH_TG.
-However, when library support for float128 is available, __MATH_TG uses
-__builtin_types_compatible_p, which is not available in C++ mode.
-
-On the other hand, libstdc++ undefines (in cmath) many macros from
-math.h, including fpclassify, so that it can provide its own functions.
-However, during its configure tests, libstdc++ just tests for the
-availability of the macros (it does not undefine them, nor does it
-provide its own functions).
-
-Finally, when libstdc++ is configured with optimization for size
-enabled, its configure tests include math.h and get the definition of
-fpclassify that uses __MATH_TG (and __builtin_types_compatible_p).
-Since libstdc++ does not undefine the macros during its configure tests,
-they fail.
-
-This patch lets fpclassify use the builtin in C++ mode, even when
-optimization for size is on. This allows the configure test in
-libstdc++ to work.
-
-Tested for powerpc64le and x86_64.
-
- [BZ #22146]
- math/math.h: Let fpclassify use the builtin in C++ mode, even
- when optimazing for size.
-
-(cherry picked from commit c5c4a626098ec884b8527356abdf2a4bb7b6bf27)
-
-[Romain rebase on glibc 2.26)
-Signed-off-by: Romain Naour <romain.naour@gmail.com>
----
- math/math.h | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/math/math.h b/math/math.h
-index 7c0fc6d..f9348ec 100644
---- a/math/math.h
-+++ b/math/math.h
-@@ -402,7 +402,13 @@ enum
-
- /* Return number of classification appropriate for X. */
- # if __GNUC_PREREQ (4,4) && !defined __SUPPORT_SNAN__ \
-- && !defined __OPTIMIZE_SIZE__
-+ && (!defined __OPTIMIZE_SIZE__ || defined __cplusplus)
-+ /* The check for __cplusplus allows the use of the builtin, even
-+ when optimization for size is on. This is provided for
-+ libstdc++, only to let its configure test work when it is built
-+ with -Os. No further use of this definition of fpclassify is
-+ expected in C++ mode, since libstdc++ provides its own version
-+ of fpclassify in cmath (which undefines fpclassify). */
- # define fpclassify(x) __builtin_fpclassify (FP_NAN, FP_INFINITE, \
- FP_NORMAL, FP_SUBNORMAL, FP_ZERO, x)
- # else
---
-2.9.5
-
diff --git a/toolchain/glibc/patches/2.38/0001-m68k-fix-__mpn_lshift-and-__mpn_rshift-for-non-68020.patch b/toolchain/glibc/patches/2.38/0001-m68k-fix-__mpn_lshift-and-__mpn_rshift-for-non-68020.patch
new file mode 100644
index 000000000..d5d8e34e9
--- /dev/null
+++ b/toolchain/glibc/patches/2.38/0001-m68k-fix-__mpn_lshift-and-__mpn_rshift-for-non-68020.patch
@@ -0,0 +1,46 @@
+From 464fd8249e8b791248cab7b0e0cd91757435fa9e Mon Sep 17 00:00:00 2001
+From: Andreas Schwab <schwab@linux-m68k.org>
+Date: Thu, 17 Aug 2023 17:15:34 +0200
+Subject: [PATCH] m68k: fix __mpn_lshift and __mpn_rshift for non-68020
+
+From revision 03f3d275d0d6 in the gmp repository.
+
+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
+---
+ sysdeps/m68k/m680x0/lshift.S | 4 ++--
+ sysdeps/m68k/m680x0/rshift.S | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/sysdeps/m68k/m680x0/lshift.S b/sysdeps/m68k/m680x0/lshift.S
+index 2aee10348e..4240738959 100644
+--- a/sysdeps/m68k/m680x0/lshift.S
++++ b/sysdeps/m68k/m680x0/lshift.S
+@@ -77,8 +77,8 @@ L(Lnormal:)
+ #else /* not mc68000 */
+ movel R(s_size),R(d0)
+ asll #2,R(d0)
+- addl R(s_size),R(s_ptr)
+- addl R(s_size),R(res_ptr)
++ addl R(d0),R(s_ptr)
++ addl R(d0),R(res_ptr)
+ #endif
+ movel MEM_PREDEC(s_ptr),R(d2)
+ movel R(d2),R(d0)
+diff --git a/sysdeps/m68k/m680x0/rshift.S b/sysdeps/m68k/m680x0/rshift.S
+index d16bca9307..d56a2b4a44 100644
+--- a/sysdeps/m68k/m680x0/rshift.S
++++ b/sysdeps/m68k/m680x0/rshift.S
+@@ -127,8 +127,8 @@ L(Lspecial:)
+ #else /* not mc68000 */
+ movel R(s_size),R(d0)
+ asll #2,R(d0)
+- addl R(s_size),R(s_ptr)
+- addl R(s_size),R(res_ptr)
++ addl R(d0),R(s_ptr)
++ addl R(d0),R(res_ptr)
+ #endif
+
+ clrl R(d0) /* initialize carry */
+--
+2.39.2
+
diff --git a/toolchain/glibc/patches/2.38/0004-ARC-Add-support-for-ARCv3-processors.patch b/toolchain/glibc/patches/2.38/0004-ARC-Add-support-for-ARCv3-processors.patch
new file mode 100644
index 000000000..cf4ca7352
--- /dev/null
+++ b/toolchain/glibc/patches/2.38/0004-ARC-Add-support-for-ARCv3-processors.patch
@@ -0,0 +1,4036 @@
+From ac6163148698545dd56471edabf97ffc23a519da Mon Sep 17 00:00:00 2001
+From: Alexey Brodkin <abrodkin@synopsys.com>
+Date: Tue, 2 Jan 2024 03:38:32 -0800
+Subject: [PATCH] ARC: Add support for ARCv3 processors
+
+Signed-off-by: Vineet Gupta <vgupta@kernel.org>
+Signed-off-by: Pavel Kozlov <pavel.kozlov@synopsys.com>
+Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+---
+ config.h.in | 6 +
+ elf/dl-runtime.c | 4 +-
+ elf/elf.h | 5 +-
+ nptl/Makefile | 5 +-
+ scripts/build-many-glibcs.py | 6 +
+ scripts/config.sub | 8 +
+ sysdeps/arc/Implies | 1 -
+ sysdeps/arc/__longjmp.S | 62 +-
+ sysdeps/arc/arc32/Implies | 1 +
+ sysdeps/arc/arc64/Implies | 1 +
+ sysdeps/arc/arc64/fpu/libm-test-ulps | 1141 +++++++++++++++++
+ sysdeps/arc/arc64/fpu/libm-test-ulps-name | 1 +
+ sysdeps/arc/{ => arc64}/nofpu/libm-test-ulps | 1 +
+ sysdeps/arc/arc64/nofpu/libm-test-ulps-name | 1 +
+ sysdeps/arc/atomic-machine.h | 41 +-
+ sysdeps/arc/bits/setjmp.h | 6 +-
+ sysdeps/arc/configure | 80 +-
+ sysdeps/arc/configure.ac | 36 +
+ sysdeps/arc/dl-machine.h | 75 +-
+ sysdeps/arc/dl-trampoline.S | 89 +-
+ sysdeps/arc/fpu/math-use-builtins-fma.h | 18 +-
+ sysdeps/arc/fpu/math-use-builtins-sqrt.h | 18 +-
+ sysdeps/arc/isa-asm-macro-32.h | 61 +
+ sysdeps/arc/isa-asm-macro-64.h | 86 ++
+ sysdeps/arc/isa-asm-macros.h | 35 +
+ sysdeps/arc/nofpu/libm-test-ulps | 1 +
+ sysdeps/arc/nptl/pthreaddef.h | 2 +-
+ sysdeps/arc/preconfigure | 18 +-
+ sysdeps/arc/setjmp.S | 55 +-
+ sysdeps/arc/sfp-machine.h | 55 +-
+ sysdeps/arc/start.S | 14 +-
+ sysdeps/arc/sysdep.h | 5 +-
+ sysdeps/unix/sysv/linux/arc/Makefile | 8 +-
+ sysdeps/unix/sysv/linux/arc/arc32/Implies | 1 +
+ .../sysv/linux/arc/{ => arc32}/arch-syscall.h | 0
+ .../sysv/linux/arc/{ => arc32}/c++-types.data | 0
+ .../linux/arc/{ => arc32}/fixup-asm-unistd.h | 0
+ .../sysv/linux/arc/{ => arc32}/ld.abilist | 0
+ .../arc/{ => arc32}/libBrokenLocale.abilist | 0
+ .../sysv/linux/arc/{ => arc32}/libanl.abilist | 0
+ .../sysv/linux/arc/{ => arc32}/libc.abilist | 0
+ .../arc/{ => arc32}/libc_malloc_debug.abilist | 0
+ .../linux/arc/{ => arc32}/libcrypt.abilist | 0
+ .../sysv/linux/arc/{ => arc32}/libdl.abilist | 0
+ .../sysv/linux/arc/{ => arc32}/libm.abilist | 0
+ .../linux/arc/{ => arc32}/libpthread.abilist | 0
+ .../linux/arc/{ => arc32}/libresolv.abilist | 0
+ .../sysv/linux/arc/{ => arc32}/librt.abilist | 0
+ .../arc/{ => arc32}/libthread_db.abilist | 0
+ .../linux/arc/{ => arc32}/libutil.abilist | 0
+ sysdeps/unix/sysv/linux/arc/arc64/Implies | 2 +
+ .../sysv/linux/arc/{ => arc64}/arch-syscall.h | 59 +-
+ .../sysv/linux/arc/{ => arc64}/c++-types.data | 48 +-
+ .../sysv/linux/arc/{ => arc64}/ld.abilist | 8 +-
+ .../arc/{ => arc64}/libBrokenLocale.abilist | 0
+ .../sysv/linux/arc/{ => arc64}/libanl.abilist | 0
+ .../sysv/linux/arc/{ => arc64}/libc.abilist | 82 +-
+ .../arc/{ => arc64}/libc_malloc_debug.abilist | 8 +-
+ .../linux/arc/{ => arc64}/libcrypt.abilist | 0
+ .../sysv/linux/arc/{ => arc64}/libdl.abilist | 0
+ .../sysv/linux/arc/{ => arc64}/libm.abilist | 0
+ .../linux/arc/{ => arc64}/libpthread.abilist | 0
+ .../linux/arc/{ => arc64}/libresolv.abilist | 4 +-
+ .../sysv/linux/arc/{ => arc64}/librt.abilist | 0
+ .../arc/{ => arc64}/libthread_db.abilist | 0
+ .../linux/arc/{ => arc64}/libutil.abilist | 0
+ sysdeps/unix/sysv/linux/arc/bits/fcntl.h | 62 +
+ .../sysv/linux/arc/bits/types/__sigset_t.h | 2 +-
+ sysdeps/unix/sysv/linux/arc/clone.S | 30 +-
+ sysdeps/unix/sysv/linux/arc/clone3.S | 14 +-
+ sysdeps/unix/sysv/linux/arc/getcontext.S | 71 +-
+ sysdeps/unix/sysv/linux/arc/setcontext.S | 88 +-
+ sysdeps/unix/sysv/linux/arc/shlib-versions | 8 +
+ sysdeps/unix/sysv/linux/arc/swapcontext.S | 129 +-
+ sysdeps/unix/sysv/linux/arc/sys/ucontext.h | 1 +
+ sysdeps/unix/sysv/linux/arc/syscall.S | 16 +-
+ sysdeps/unix/sysv/linux/arc/sysdep.h | 16 +-
+ sysdeps/unix/sysv/linux/arc/vfork.S | 4 +-
+ timezone/zic.c | 2 +-
+ 79 files changed, 2211 insertions(+), 390 deletions(-)
+ mode change 100755 => 100644 scripts/config.sub
+ create mode 100644 sysdeps/arc/arc32/Implies
+ create mode 100644 sysdeps/arc/arc64/Implies
+ create mode 100644 sysdeps/arc/arc64/fpu/libm-test-ulps
+ create mode 100644 sysdeps/arc/arc64/fpu/libm-test-ulps-name
+ copy sysdeps/arc/{ => arc64}/nofpu/libm-test-ulps (99%)
+ create mode 100644 sysdeps/arc/arc64/nofpu/libm-test-ulps-name
+ create mode 100644 sysdeps/arc/isa-asm-macro-32.h
+ create mode 100644 sysdeps/arc/isa-asm-macro-64.h
+ create mode 100644 sysdeps/arc/isa-asm-macros.h
+ create mode 100644 sysdeps/unix/sysv/linux/arc/arc32/Implies
+ copy sysdeps/unix/sysv/linux/arc/{ => arc32}/arch-syscall.h (100%)
+ copy sysdeps/unix/sysv/linux/arc/{ => arc32}/c++-types.data (100%)
+ rename sysdeps/unix/sysv/linux/arc/{ => arc32}/fixup-asm-unistd.h (100%)
+ copy sysdeps/unix/sysv/linux/arc/{ => arc32}/ld.abilist (100%)
+ copy sysdeps/unix/sysv/linux/arc/{ => arc32}/libBrokenLocale.abilist (100%)
+ copy sysdeps/unix/sysv/linux/arc/{ => arc32}/libanl.abilist (100%)
+ copy sysdeps/unix/sysv/linux/arc/{ => arc32}/libc.abilist (100%)
+ copy sysdeps/unix/sysv/linux/arc/{ => arc32}/libc_malloc_debug.abilist (100%)
+ copy sysdeps/unix/sysv/linux/arc/{ => arc32}/libcrypt.abilist (100%)
+ copy sysdeps/unix/sysv/linux/arc/{ => arc32}/libdl.abilist (100%)
+ copy sysdeps/unix/sysv/linux/arc/{ => arc32}/libm.abilist (100%)
+ copy sysdeps/unix/sysv/linux/arc/{ => arc32}/libpthread.abilist (100%)
+ copy sysdeps/unix/sysv/linux/arc/{ => arc32}/libresolv.abilist (100%)
+ copy sysdeps/unix/sysv/linux/arc/{ => arc32}/librt.abilist (100%)
+ copy sysdeps/unix/sysv/linux/arc/{ => arc32}/libthread_db.abilist (100%)
+ copy sysdeps/unix/sysv/linux/arc/{ => arc32}/libutil.abilist (100%)
+ create mode 100644 sysdeps/unix/sysv/linux/arc/arc64/Implies
+ rename sysdeps/unix/sysv/linux/arc/{ => arc64}/arch-syscall.h (89%)
+ rename sysdeps/unix/sysv/linux/arc/{ => arc64}/c++-types.data (73%)
+ rename sysdeps/unix/sysv/linux/arc/{ => arc64}/ld.abilist (54%)
+ rename sysdeps/unix/sysv/linux/arc/{ => arc64}/libBrokenLocale.abilist (100%)
+ rename sysdeps/unix/sysv/linux/arc/{ => arc64}/libanl.abilist (100%)
+ rename sysdeps/unix/sysv/linux/arc/{ => arc64}/libc.abilist (97%)
+ rename sysdeps/unix/sysv/linux/arc/{ => arc64}/libc_malloc_debug.abilist (80%)
+ rename sysdeps/unix/sysv/linux/arc/{ => arc64}/libcrypt.abilist (100%)
+ rename sysdeps/unix/sysv/linux/arc/{ => arc64}/libdl.abilist (100%)
+ rename sysdeps/unix/sysv/linux/arc/{ => arc64}/libm.abilist (100%)
+ rename sysdeps/unix/sysv/linux/arc/{ => arc64}/libpthread.abilist (100%)
+ rename sysdeps/unix/sysv/linux/arc/{ => arc64}/libresolv.abilist (95%)
+ rename sysdeps/unix/sysv/linux/arc/{ => arc64}/librt.abilist (100%)
+ rename sysdeps/unix/sysv/linux/arc/{ => arc64}/libthread_db.abilist (100%)
+ rename sysdeps/unix/sysv/linux/arc/{ => arc64}/libutil.abilist (100%)
+ create mode 100644 sysdeps/unix/sysv/linux/arc/bits/fcntl.h
+
+diff --git a/config.h.in b/config.h.in
+index 0dedc124f7..d69b4166c0 100644
+--- a/config.h.in
++++ b/config.h.in
+@@ -120,6 +120,12 @@
+ /* ARC big endian ABI */
+ #undef HAVE_ARC_BE
+
++/* ARC64:32 ABI */
++#undef HAVE_ARC32
++
++/* ARC64:64 ABI */
++#undef HAVE_ARC64
++
+ /* C-SKY ABI version. */
+ #undef CSKYABI
+
+diff --git a/elf/dl-runtime.c b/elf/dl-runtime.c
+index 32a8bfcf74..68ffdb1c24 100644
+--- a/elf/dl-runtime.c
++++ b/elf/dl-runtime.c
+@@ -42,7 +42,7 @@ _dl_fixup (
+ # ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS
+ ELF_MACHINE_RUNTIME_FIXUP_ARGS,
+ # endif
+- struct link_map *l, ElfW(Word) reloc_arg)
++ struct link_map *l, uintptr_t reloc_arg)
+ {
+ const ElfW(Sym) *const symtab
+ = (const void *) D_PTR (l, l_info[DT_SYMTAB]);
+@@ -170,7 +170,7 @@ _dl_profile_fixup (
+ #ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS
+ ELF_MACHINE_RUNTIME_FIXUP_ARGS,
+ #endif
+- struct link_map *l, ElfW(Word) reloc_arg,
++ struct link_map *l, uintptr_t reloc_arg,
+ ElfW(Addr) retaddr, void *regs, long int *framesizep)
+ {
+ void (*mcount_fct) (ElfW(Addr), ElfW(Addr)) = _dl_mcount;
+diff --git a/elf/elf.h b/elf/elf.h
+index 89fc8021e9..05cc75c631 100644
+--- a/elf/elf.h
++++ b/elf/elf.h
+@@ -358,6 +358,8 @@ typedef struct
+
+ #define EM_BPF 247 /* Linux BPF -- in-kernel virtual machine */
+ #define EM_CSKY 252 /* C-SKY */
++#define EM_ARCV3 253 /* Synopsys ARCv3 64-bit ISA */
++#define EM_ARCV3_32 255 /* Synopsys ARCv3 32-bit ISA */
+ #define EM_LOONGARCH 258 /* LoongArch */
+
+ #define EM_NUM 259
+@@ -4216,12 +4218,13 @@ enum
+ /* Processor specific values for the Shdr sh_type field. */
+ #define SHT_ARC_ATTRIBUTES (SHT_LOPROC + 1) /* ARC attributes section. */
+
+-/* ARCompact/ARCv2 specific relocs. */
++/* ARCompact/ARCv2/ARCv3 specific relocs. */
+ #define R_ARC_NONE 0x0
+ #define R_ARC_8 0x1
+ #define R_ARC_16 0x2
+ #define R_ARC_24 0x3
+ #define R_ARC_32 0x4
++#define R_ARC_64 0x5
+
+ #define R_ARC_B22_PCREL 0x6
+ #define R_ARC_H30 0x7
+diff --git a/nptl/Makefile b/nptl/Makefile
+index ffa5722e48..c8b7674c27 100644
+--- a/nptl/Makefile
++++ b/nptl/Makefile
+@@ -353,6 +353,7 @@ tests = \
+ tst-thread-exit-clobber \
+ tst-thread-setspecific \
+ tst-thread_local1 \
++ tst-eintr1 \
+ tst-tsd3 \
+ tst-tsd4 \
+ # tests
+@@ -397,10 +398,6 @@ tests-time64 := \
+ tst-cancel4_2-time64
+ # tests-time64
+
+-# This test can run into task limits because of a linux kernel bug
+-# and then cause the make process to fail too, see bug 24537.
+-xtests += tst-eintr1
+-
+ test-srcs = tst-oddstacklimit
+
+ gen-as-const-headers = unwindbuf.sym
+diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py
+index 73ffc57c86..6f53c195cd 100755
+--- a/scripts/build-many-glibcs.py
++++ b/scripts/build-many-glibcs.py
+@@ -172,6 +172,12 @@ class Context(object):
+ self.add_config(arch='arceb',
+ os_name='linux-gnu',
+ gcc_cfg=['--disable-multilib', '--with-cpu=hs38'])
++ self.add_config(arch='arc64',
++ os_name='linux-gnu',
++ gcc_cfg=['--disable-multilib'])
++ self.add_config(arch='arc64',
++ os_name='linux-gnuhf',
++ gcc_cfg=['--disable-multilib', '--with-fpu=fpud'])
+ self.add_config(arch='alpha',
+ os_name='linux-gnu')
+ self.add_config(arch='arm',
+diff --git a/scripts/config.sub b/scripts/config.sub
+old mode 100755
+new mode 100644
+index dba16e84c7..4d9a117c9c
+--- a/scripts/config.sub
++++ b/scripts/config.sub
+@@ -1170,6 +1170,14 @@ case $cpu-$vendor in
+ cpu=mipsallegrexel
+ vendor=sony
+ ;;
++ arc32*-*)
++ cpu=arc32
++ vendor=linux
++ ;;
++ arc64*-*)
++ cpu=arc64
++ vendor=linux
++ ;;
+ tile*-*)
+ basic_os=${basic_os:-linux-gnu}
+ ;;
+diff --git a/sysdeps/arc/Implies b/sysdeps/arc/Implies
+index 780c4e2467..12ca48b4c9 100644
+--- a/sysdeps/arc/Implies
++++ b/sysdeps/arc/Implies
+@@ -1,3 +1,2 @@
+-wordsize-32
+ ieee754/flt-32
+ ieee754/dbl-64
+diff --git a/sysdeps/arc/__longjmp.S b/sysdeps/arc/__longjmp.S
+index a57054bce0..920e535ffd 100644
+--- a/sysdeps/arc/__longjmp.S
++++ b/sysdeps/arc/__longjmp.S
+@@ -24,25 +24,49 @@
+
+ ENTRY (__longjmp)
+
+- LDR (blink, r0, 0)
+- LDR (sp, r0, 1)
+- LDR (fp, r0, 2)
+- LDR (gp, r0, 3)
+-
+- LDR (r13, r0, 4)
+- LDR (r14, r0, 5)
+- LDR (r15, r0, 6)
+- LDR (r16, r0, 7)
+- LDR (r17, r0, 8)
+- LDR (r18, r0, 9)
+- LDR (r19, r0, 10)
+- LDR (r20, r0, 11)
+- LDR (r21, r0, 12)
+- LDR (r22, r0, 13)
+- LDR (r23, r0, 14)
+- LDR (r24, r0, 15)
+-
+- mov.f r0, r1
++ LDR.as blink, r0, 0
++ LDR.as sp, r0, 1
++ LDR.as fp, r0, 2
++ LDR.as gp, r0, 3
++
++ LDR.as r13, r0, 4
++ LDR.as r14, r0, 5
++ LDR.as r15, r0, 6
++ LDR.as r16, r0, 7
++ LDR.as r17, r0, 8
++ LDR.as r18, r0, 9
++ LDR.as r19, r0, 10
++ LDR.as r20, r0, 11
++ LDR.as r21, r0, 12
++ LDR.as r22, r0, 13
++ LDR.as r23, r0, 14
++ LDR.as r24, r0, 15
++
++#if defined(__ARCV3__)
++ LDR.as r25, r0, 16
++ LDR.as r26, r0, 17
++#endif
++
++#if defined (__ARC_FLOAT_ABI_HARD__)
++ FLDR.as f16, r0, 18
++ FLDR.as f17, r0, 19
++ FLDR.as f18, r0, 20
++ FLDR.as f19, r0, 21
++ FLDR.as f20, r0, 22
++ FLDR.as f21, r0, 23
++ FLDR.as f22, r0, 24
++ FLDR.as f23, r0, 25
++ FLDR.as f24, r0, 26
++ FLDR.as f25, r0, 27
++ FLDR.as f26, r0, 28
++ FLDR.as f27, r0, 29
++ FLDR.as f28, r0, 30
++ FLDR.as f29, r0, 31
++ FLDR.as f30, r0, 32
++ FLDR.as f31, r0, 33
++#endif
++
++ MOVR.f r0, r1
+ j.d [blink]
+ mov.z r0, 1 /* don't return 0 to setjmp callsite from longjmp. */
+
+diff --git a/sysdeps/arc/arc32/Implies b/sysdeps/arc/arc32/Implies
+new file mode 100644
+index 0000000000..39a34c5f57
+--- /dev/null
++++ b/sysdeps/arc/arc32/Implies
+@@ -0,0 +1 @@
++wordsize-32
+diff --git a/sysdeps/arc/arc64/Implies b/sysdeps/arc/arc64/Implies
+new file mode 100644
+index 0000000000..a8cae95f9d
+--- /dev/null
++++ b/sysdeps/arc/arc64/Implies
+@@ -0,0 +1 @@
++wordsize-64
+diff --git a/sysdeps/arc/arc64/fpu/libm-test-ulps b/sysdeps/arc/arc64/fpu/libm-test-ulps
+new file mode 100644
+index 0000000000..f3b8753c4d
+--- /dev/null
++++ b/sysdeps/arc/arc64/fpu/libm-test-ulps
+@@ -0,0 +1,1141 @@
++# Begin of automatic generation
++
++# Maximal error of functions:
++Function: "acos":
++double: 1
++float: 1
++
++Function: "acos_downward":
++double: 1
++float: 1
++
++Function: "acos_towardzero":
++double: 1
++float: 1
++
++Function: "acos_upward":
++double: 1
++float: 1
++
++Function: "acosh":
++double: 2
++float: 2
++
++Function: "acosh_downward":
++double: 2
++float: 2
++
++Function: "acosh_towardzero":
++double: 2
++float: 2
++
++Function: "acosh_upward":
++double: 2
++float: 2
++
++Function: "asin":
++double: 1
++float: 1
++
++Function: "asin_downward":
++double: 1
++float: 1
++
++Function: "asin_towardzero":
++double: 1
++float: 1
++
++Function: "asin_upward":
++double: 2
++float: 1
++
++Function: "asinh":
++double: 2
++float: 2
++
++Function: "asinh_downward":
++double: 3
++float: 3
++
++Function: "asinh_towardzero":
++double: 2
++float: 2
++
++Function: "asinh_upward":
++double: 3
++float: 3
++
++Function: "atan":
++double: 1
++float: 1
++
++Function: "atan2":
++float: 1
++
++Function: "atan2_downward":
++double: 1
++float: 2
++
++Function: "atan2_towardzero":
++double: 1
++float: 2
++
++Function: "atan2_upward":
++double: 1
++float: 1
++
++Function: "atan_downward":
++double: 1
++float: 2
++
++Function: "atan_towardzero":
++double: 1
++float: 1
++
++Function: "atan_upward":
++double: 1
++float: 2
++
++Function: "atanh":
++double: 2
++float: 2
++
++Function: "atanh_downward":
++double: 3
++float: 3
++
++Function: "atanh_towardzero":
++double: 2
++float: 2
++
++Function: "atanh_upward":
++double: 3
++float: 3
++
++Function: "cabs":
++double: 1
++
++Function: "cabs_downward":
++double: 1
++
++Function: "cabs_towardzero":
++double: 1
++
++Function: "cabs_upward":
++double: 1
++float: 1
++
++Function: Real part of "cacos":
++double: 1
++float: 2
++
++Function: Imaginary part of "cacos":
++double: 2
++float: 2
++
++Function: Real part of "cacos_downward":
++double: 3
++float: 2
++
++Function: Imaginary part of "cacos_downward":
++double: 5
++float: 3
++
++Function: Real part of "cacos_towardzero":
++double: 3
++float: 2
++
++Function: Imaginary part of "cacos_towardzero":
++double: 4
++float: 2
++
++Function: Real part of "cacos_upward":
++double: 2
++float: 2
++
++Function: Imaginary part of "cacos_upward":
++double: 5
++float: 5
++
++Function: Real part of "cacosh":
++double: 2
++float: 2
++
++Function: Imaginary part of "cacosh":
++double: 1
++float: 2
++
++Function: Real part of "cacosh_downward":
++double: 4
++float: 2
++
++Function: Imaginary part of "cacosh_downward":
++double: 3
++float: 3
++
++Function: Real part of "cacosh_towardzero":
++double: 4
++float: 2
++
++Function: Imaginary part of "cacosh_towardzero":
++double: 3
++float: 2
++
++Function: Real part of "cacosh_upward":
++double: 4
++float: 3
++
++Function: Imaginary part of "cacosh_upward":
++double: 3
++float: 2
++
++Function: "carg":
++float: 1
++
++Function: "carg_downward":
++double: 1
++float: 2
++
++Function: "carg_towardzero":
++double: 1
++float: 2
++
++Function: "carg_upward":
++double: 1
++float: 1
++
++Function: Real part of "casin":
++double: 1
++float: 1
++
++Function: Imaginary part of "casin":
++double: 2
++float: 2
++
++Function: Real part of "casin_downward":
++double: 3
++float: 2
++
++Function: Imaginary part of "casin_downward":
++double: 5
++float: 3
++
++Function: Real part of "casin_towardzero":
++double: 3
++float: 1
++
++Function: Imaginary part of "casin_towardzero":
++double: 4
++float: 2
++
++Function: Real part of "casin_upward":
++double: 3
++float: 2
++
++Function: Imaginary part of "casin_upward":
++double: 5
++float: 5
++
++Function: Real part of "casinh":
++double: 2
++float: 2
++
++Function: Imaginary part of "casinh":
++double: 1
++float: 1
++
++Function: Real part of "casinh_downward":
++double: 5
++float: 3
++
++Function: Imaginary part of "casinh_downward":
++double: 3
++float: 2
++
++Function: Real part of "casinh_towardzero":
++double: 4
++float: 2
++
++Function: Imaginary part of "casinh_towardzero":
++double: 3
++float: 1
++
++Function: Real part of "casinh_upward":
++double: 5
++float: 5
++
++Function: Imaginary part of "casinh_upward":
++double: 3
++float: 2
++
++Function: Real part of "catan":
++double: 1
++float: 1
++
++Function: Imaginary part of "catan":
++double: 1
++float: 1
++
++Function: Real part of "catan_downward":
++double: 1
++float: 2
++
++Function: Imaginary part of "catan_downward":
++double: 2
++float: 2
++
++Function: Real part of "catan_towardzero":
++double: 1
++float: 2
++
++Function: Imaginary part of "catan_towardzero":
++double: 2
++float: 2
++
++Function: Real part of "catan_upward":
++double: 1
++float: 1
++
++Function: Imaginary part of "catan_upward":
++double: 2
++float: 2
++
++Function: Real part of "catanh":
++double: 1
++float: 1
++
++Function: Imaginary part of "catanh":
++double: 1
++float: 1
++
++Function: Real part of "catanh_downward":
++double: 2
++float: 2
++
++Function: Imaginary part of "catanh_downward":
++double: 1
++float: 2
++
++Function: Real part of "catanh_towardzero":
++double: 2
++float: 2
++
++Function: Imaginary part of "catanh_towardzero":
++double: 1
++float: 2
++
++Function: Real part of "catanh_upward":
++double: 4
++float: 4
++
++Function: Imaginary part of "catanh_upward":
++double: 1
++float: 1
++
++Function: "cbrt":
++double: 4
++float: 1
++
++Function: "cbrt_downward":
++double: 4
++float: 1
++
++Function: "cbrt_towardzero":
++double: 3
++float: 1
++
++Function: "cbrt_upward":
++double: 5
++float: 1
++
++Function: Real part of "ccos":
++double: 1
++float: 1
++
++Function: Imaginary part of "ccos":
++double: 1
++float: 1
++
++Function: Real part of "ccos_downward":
++double: 1
++float: 1
++
++Function: Imaginary part of "ccos_downward":
++double: 3
++float: 3
++
++Function: Real part of "ccos_towardzero":
++double: 1
++float: 2
++
++Function: Imaginary part of "ccos_towardzero":
++double: 3
++float: 3
++
++Function: Real part of "ccos_upward":
++double: 1
++float: 2
++
++Function: Imaginary part of "ccos_upward":
++double: 2
++float: 2
++
++Function: Real part of "ccosh":
++double: 1
++float: 1
++
++Function: Imaginary part of "ccosh":
++double: 1
++float: 1
++
++Function: Real part of "ccosh_downward":
++double: 2
++float: 2
++
++Function: Imaginary part of "ccosh_downward":
++double: 3
++float: 3
++
++Function: Real part of "ccosh_towardzero":
++double: 2
++float: 3
++
++Function: Imaginary part of "ccosh_towardzero":
++double: 3
++float: 3
++
++Function: Real part of "ccosh_upward":
++double: 1
++float: 2
++
++Function: Imaginary part of "ccosh_upward":
++double: 2
++float: 2
++
++Function: Real part of "cexp":
++double: 2
++float: 1
++
++Function: Imaginary part of "cexp":
++double: 1
++float: 2
++
++Function: Real part of "cexp_downward":
++double: 2
++float: 2
++
++Function: Imaginary part of "cexp_downward":
++double: 3
++float: 3
++
++Function: Real part of "cexp_towardzero":
++double: 2
++float: 2
++
++Function: Imaginary part of "cexp_towardzero":
++double: 3
++float: 3
++
++Function: Real part of "cexp_upward":
++double: 2
++float: 2
++
++Function: Imaginary part of "cexp_upward":
++double: 3
++float: 2
++
++Function: Real part of "clog":
++double: 3
++float: 3
++
++Function: Imaginary part of "clog":
++double: 1
++float: 1
++
++Function: Real part of "clog10":
++double: 3
++float: 4
++
++Function: Imaginary part of "clog10":
++double: 2
++float: 2
++
++Function: Real part of "clog10_downward":
++double: 5
++float: 5
++
++Function: Imaginary part of "clog10_downward":
++double: 2
++float: 4
++
++Function: Real part of "clog10_towardzero":
++double: 5
++float: 6
++
++Function: Imaginary part of "clog10_towardzero":
++double: 2
++float: 4
++
++Function: Real part of "clog10_upward":
++double: 6
++float: 5
++
++Function: Imaginary part of "clog10_upward":
++double: 2
++float: 4
++
++Function: Real part of "clog_downward":
++double: 4
++float: 3
++
++Function: Imaginary part of "clog_downward":
++double: 1
++float: 2
++
++Function: Real part of "clog_towardzero":
++double: 4
++float: 4
++
++Function: Imaginary part of "clog_towardzero":
++double: 1
++float: 3
++
++Function: Real part of "clog_upward":
++double: 4
++float: 3
++
++Function: Imaginary part of "clog_upward":
++double: 1
++float: 2
++
++Function: "cos":
++double: 1
++float: 1
++
++Function: "cos_downward":
++double: 1
++float: 1
++
++Function: "cos_towardzero":
++double: 1
++float: 1
++
++Function: "cos_upward":
++double: 1
++float: 1
++
++Function: "cosh":
++double: 2
++float: 2
++
++Function: "cosh_downward":
++double: 3
++float: 2
++
++Function: "cosh_towardzero":
++double: 3
++float: 2
++
++Function: "cosh_upward":
++double: 2
++float: 2
++
++Function: Real part of "cpow":
++double: 2
++float: 5
++
++Function: Imaginary part of "cpow":
++float: 2
++
++Function: Real part of "cpow_downward":
++double: 5
++float: 8
++
++Function: Imaginary part of "cpow_downward":
++double: 1
++float: 2
++
++Function: Real part of "cpow_towardzero":
++double: 5
++float: 8
++
++Function: Imaginary part of "cpow_towardzero":
++double: 1
++float: 2
++
++Function: Real part of "cpow_upward":
++double: 4
++float: 1
++
++Function: Imaginary part of "cpow_upward":
++double: 1
++float: 2
++
++Function: Real part of "csin":
++double: 1
++float: 1
++
++Function: Real part of "csin_downward":
++double: 3
++float: 3
++
++Function: Imaginary part of "csin_downward":
++double: 1
++float: 1
++
++Function: Real part of "csin_towardzero":
++double: 3
++float: 3
++
++Function: Imaginary part of "csin_towardzero":
++double: 1
++float: 1
++
++Function: Real part of "csin_upward":
++double: 2
++float: 2
++
++Function: Imaginary part of "csin_upward":
++double: 1
++float: 2
++
++Function: Real part of "csinh":
++float: 1
++
++Function: Imaginary part of "csinh":
++double: 1
++float: 1
++
++Function: Real part of "csinh_downward":
++double: 2
++float: 1
++
++Function: Imaginary part of "csinh_downward":
++double: 3
++float: 3
++
++Function: Real part of "csinh_towardzero":
++double: 2
++float: 2
++
++Function: Imaginary part of "csinh_towardzero":
++double: 3
++float: 3
++
++Function: Real part of "csinh_upward":
++double: 1
++float: 2
++
++Function: Imaginary part of "csinh_upward":
++double: 2
++float: 2
++
++Function: Real part of "csqrt":
++double: 2
++float: 2
++
++Function: Imaginary part of "csqrt":
++double: 2
++float: 2
++
++Function: Real part of "csqrt_downward":
++double: 5
++float: 4
++
++Function: Imaginary part of "csqrt_downward":
++double: 4
++float: 3
++
++Function: Real part of "csqrt_towardzero":
++double: 4
++float: 3
++
++Function: Imaginary part of "csqrt_towardzero":
++double: 4
++float: 3
++
++Function: Real part of "csqrt_upward":
++double: 5
++float: 4
++
++Function: Imaginary part of "csqrt_upward":
++double: 3
++float: 3
++
++Function: Real part of "ctan":
++double: 1
++float: 1
++
++Function: Imaginary part of "ctan":
++double: 2
++float: 2
++
++Function: Real part of "ctan_downward":
++double: 6
++float: 5
++
++Function: Imaginary part of "ctan_downward":
++double: 2
++float: 2
++
++Function: Real part of "ctan_towardzero":
++double: 5
++float: 2
++
++Function: Imaginary part of "ctan_towardzero":
++double: 2
++float: 2
++
++Function: Real part of "ctan_upward":
++double: 2
++float: 4
++
++Function: Imaginary part of "ctan_upward":
++double: 1
++float: 2
++
++Function: Real part of "ctanh":
++double: 2
++float: 2
++
++Function: Imaginary part of "ctanh":
++double: 2
++float: 2
++
++Function: Real part of "ctanh_downward":
++double: 2
++float: 2
++
++Function: Imaginary part of "ctanh_downward":
++double: 6
++float: 5
++
++Function: Real part of "ctanh_towardzero":
++double: 2
++float: 2
++
++Function: Imaginary part of "ctanh_towardzero":
++double: 5
++float: 2
++
++Function: Real part of "ctanh_upward":
++double: 1
++float: 2
++
++Function: Imaginary part of "ctanh_upward":
++double: 3
++float: 3
++
++Function: "erf":
++double: 1
++float: 1
++
++Function: "erf_downward":
++double: 1
++float: 1
++
++Function: "erf_towardzero":
++double: 1
++float: 1
++
++Function: "erf_upward":
++double: 1
++float: 1
++
++Function: "erfc":
++double: 3
++float: 3
++
++Function: "erfc_downward":
++double: 4
++float: 4
++
++Function: "erfc_towardzero":
++double: 3
++float: 3
++
++Function: "erfc_upward":
++double: 4
++float: 4
++
++Function: "exp":
++double: 1
++float: 1
++
++Function: "exp10":
++double: 2
++float: 1
++
++Function: "exp10_downward":
++double: 3
++float: 1
++
++Function: "exp10_towardzero":
++double: 3
++float: 1
++
++Function: "exp10_upward":
++double: 2
++float: 1
++
++Function: "exp2":
++double: 1
++
++Function: "exp2_downward":
++double: 1
++float: 1
++
++Function: "exp2_towardzero":
++double: 1
++float: 1
++
++Function: "exp2_upward":
++double: 1
++float: 1
++
++Function: "exp_downward":
++double: 1
++float: 1
++
++Function: "exp_towardzero":
++double: 1
++float: 1
++
++Function: "exp_upward":
++double: 1
++float: 1
++
++Function: "expm1":
++double: 1
++float: 1
++
++Function: "expm1_downward":
++double: 1
++float: 1
++
++Function: "expm1_towardzero":
++double: 1
++float: 2
++
++Function: "expm1_upward":
++double: 1
++float: 1
++
++Function: "gamma":
++double: 4
++float: 7
++
++Function: "gamma_downward":
++double: 4
++float: 4
++
++Function: "gamma_towardzero":
++double: 4
++float: 3
++
++Function: "gamma_upward":
++double: 4
++float: 5
++
++Function: "hypot":
++double: 1
++float: 1
++
++Function: "hypot_downward":
++double: 1
++float: 1
++
++Function: "hypot_towardzero":
++double: 1
++float: 1
++
++Function: "hypot_upward":
++double: 1
++float: 1
++
++Function: "j0":
++double: 4
++float: 9
++
++Function: "j0_downward":
++double: 6
++float: 8
++
++Function: "j0_towardzero":
++double: 4
++float: 9
++
++Function: "j0_upward":
++double: 4
++float: 9
++
++Function: "j1":
++double: 3
++float: 9
++
++Function: "j1_downward":
++double: 9
++float: 9
++
++Function: "j1_towardzero":
++double: 5
++float: 9
++
++Function: "j1_upward":
++double: 5
++float: 8
++
++Function: "jn":
++double: 4
++float: 4
++
++Function: "jn_downward":
++double: 4
++float: 5
++
++Function: "jn_towardzero":
++double: 4
++float: 5
++
++Function: "jn_upward":
++double: 5
++float: 5
++
++Function: "lgamma":
++double: 4
++float: 7
++
++Function: "lgamma_downward":
++double: 4
++float: 4
++
++Function: "lgamma_towardzero":
++double: 4
++float: 3
++
++Function: "lgamma_upward":
++double: 4
++float: 5
++
++Function: "log":
++double: 1
++
++Function: "log10":
++double: 2
++float: 2
++
++Function: "log10_downward":
++double: 2
++float: 3
++
++Function: "log10_towardzero":
++double: 2
++float: 2
++
++Function: "log10_upward":
++double: 2
++float: 2
++
++Function: "log1p":
++double: 1
++float: 1
++
++Function: "log1p_downward":
++double: 1
++float: 2
++
++Function: "log1p_towardzero":
++double: 2
++float: 2
++
++Function: "log1p_upward":
++double: 2
++float: 2
++
++Function: "log2":
++double: 2
++float: 1
++
++Function: "log2_downward":
++double: 1
++float: 1
++
++Function: "log2_towardzero":
++double: 1
++float: 1
++
++Function: "log2_upward":
++double: 1
++float: 1
++
++Function: "log_downward":
++double: 1
++float: 1
++
++Function: "log_towardzero":
++double: 1
++float: 1
++
++Function: "log_upward":
++double: 1
++float: 1
++
++Function: "pow":
++double: 1
++
++Function: "pow_downward":
++double: 1
++float: 1
++
++Function: "pow_towardzero":
++double: 1
++float: 1
++
++Function: "pow_upward":
++double: 1
++float: 1
++
++Function: "sin":
++double: 1
++float: 1
++
++Function: "sin_downward":
++double: 1
++float: 1
++
++Function: "sin_towardzero":
++double: 1
++float: 1
++
++Function: "sin_upward":
++double: 1
++float: 1
++
++Function: "sincos":
++double: 1
++float: 1
++
++Function: "sincos_downward":
++double: 1
++float: 1
++
++Function: "sincos_towardzero":
++double: 1
++float: 1
++
++Function: "sincos_upward":
++double: 1
++float: 1
++
++Function: "sinh":
++double: 2
++float: 2
++
++Function: "sinh_downward":
++double: 3
++float: 3
++
++Function: "sinh_towardzero":
++double: 3
++float: 2
++
++Function: "sinh_upward":
++double: 3
++float: 3
++
++Function: "tan":
++float: 1
++
++Function: "tan_downward":
++double: 1
++float: 2
++
++Function: "tan_towardzero":
++double: 1
++float: 1
++
++Function: "tan_upward":
++double: 1
++float: 1
++
++Function: "tanh":
++double: 2
++float: 2
++
++Function: "tanh_downward":
++double: 3
++float: 3
++
++Function: "tanh_towardzero":
++double: 2
++float: 2
++
++Function: "tanh_upward":
++double: 3
++float: 3
++
++Function: "tgamma":
++double: 9
++float: 8
++
++Function: "tgamma_downward":
++double: 9
++float: 7
++
++Function: "tgamma_towardzero":
++double: 9
++float: 7
++
++Function: "tgamma_upward":
++double: 8
++float: 8
++
++Function: "y0":
++double: 3
++float: 8
++
++Function: "y0_downward":
++double: 3
++float: 8
++
++Function: "y0_towardzero":
++double: 3
++float: 8
++
++Function: "y0_upward":
++double: 2
++float: 8
++
++Function: "y1":
++double: 3
++float: 9
++
++Function: "y1_downward":
++double: 6
++float: 8
++
++Function: "y1_towardzero":
++double: 3
++float: 9
++
++Function: "y1_upward":
++double: 6
++float: 9
++
++Function: "yn":
++double: 3
++float: 3
++
++Function: "yn_downward":
++double: 3
++float: 4
++
++Function: "yn_towardzero":
++double: 3
++float: 3
++
++Function: "yn_upward":
++double: 4
++float: 5
++
++# end of automatic generation
+diff --git a/sysdeps/arc/arc64/fpu/libm-test-ulps-name b/sysdeps/arc/arc64/fpu/libm-test-ulps-name
+new file mode 100644
+index 0000000000..8c4fba4f9a
+--- /dev/null
++++ b/sysdeps/arc/arc64/fpu/libm-test-ulps-name
+@@ -0,0 +1 @@
++ARC
+diff --git a/sysdeps/arc/nofpu/libm-test-ulps b/sysdeps/arc/arc64/nofpu/libm-test-ulps
+similarity index 99%
+copy from sysdeps/arc/nofpu/libm-test-ulps
+copy to sysdeps/arc/arc64/nofpu/libm-test-ulps
+index 6ac2830b25..26632ff8f2 100644
+--- a/sysdeps/arc/nofpu/libm-test-ulps
++++ b/sysdeps/arc/arc64/nofpu/libm-test-ulps
+@@ -205,6 +205,7 @@ float: 7
+
+ Function: "hypot":
+ double: 1
++float: 1
+
+ Function: "j0":
+ double: 2
+diff --git a/sysdeps/arc/arc64/nofpu/libm-test-ulps-name b/sysdeps/arc/arc64/nofpu/libm-test-ulps-name
+new file mode 100644
+index 0000000000..8a9879ebd6
+--- /dev/null
++++ b/sysdeps/arc/arc64/nofpu/libm-test-ulps-name
+@@ -0,0 +1 @@
++ARC soft-float
+diff --git a/sysdeps/arc/atomic-machine.h b/sysdeps/arc/atomic-machine.h
+index 6ac3d87dd9..f1565b317b 100644
+--- a/sysdeps/arc/atomic-machine.h
++++ b/sysdeps/arc/atomic-machine.h
+@@ -19,7 +19,23 @@
+ #ifndef _ARC_BITS_ATOMIC_H
+ #define _ARC_BITS_ATOMIC_H 1
+
+-#define __HAVE_64B_ATOMICS 0
++#include <stdint.h>
++
++typedef int32_t atomic32_t;
++typedef uint32_t uatomic32_t;
++typedef int64_t atomic64_t;
++typedef uint64_t uatomic64_t;
++
++typedef intptr_t atomicptr_t;
++typedef uintptr_t uatomicptr_t;
++typedef intmax_t atomic_max_t;
++typedef uintmax_t uatomic_max_t;
++
++# if defined(__ARC64_ARCH64__)
++# define __HAVE_64B_ATOMICS 1
++# else
++# define __HAVE_64B_ATOMICS 0
++# endif
+ #define USE_ATOMIC_COMPILER_BUILTINS 1
+
+ /* ARC does have legacy atomic EX reg, [mem] instruction but the micro-arch
+@@ -30,15 +46,16 @@
+ (abort (), 0)
+ #define __arch_compare_and_exchange_bool_16_acq(mem, newval, oldval) \
+ (abort (), 0)
+-#define __arch_compare_and_exchange_bool_64_acq(mem, newval, oldval) \
+- (abort (), 0)
++
++# if !defined(__ARC64__)
++# define __arch_compare_and_exchange_bool_64_acq(mem, newval, oldval) \
++ (abort (), 0)
++#endif
+
+ #define __arch_compare_and_exchange_val_8_int(mem, newval, oldval, model) \
+ (abort (), (__typeof (*mem)) 0)
+ #define __arch_compare_and_exchange_val_16_int(mem, newval, oldval, model) \
+ (abort (), (__typeof (*mem)) 0)
+-#define __arch_compare_and_exchange_val_64_int(mem, newval, oldval, model) \
+- (abort (), (__typeof (*mem)) 0)
+
+ #define __arch_compare_and_exchange_val_32_int(mem, newval, oldval, model) \
+ ({ \
+@@ -48,6 +65,20 @@
+ __oldval; \
+ })
+
++# if defined(__ARC64__)
++# define __arch_compare_and_exchange_val_64_int(mem, newval, oldval, model) \
++ ({ \
++ typeof (*mem) __oldval = (oldval); \
++ __atomic_compare_exchange_n (mem, (void *) &__oldval, newval, 0, \
++ model, __ATOMIC_RELAXED); \
++ __oldval; \
++ })
++# else
++/* ARCv2 has LOCKD/SCOND but not sure if gcc atomic builtins exist. */
++# define __arch_compare_and_exchange_val_64_int(mem, newval, oldval, model) \
++ (abort (), (__typeof (*mem)) 0)
++#endif
++
+ #define atomic_compare_and_exchange_val_acq(mem, new, old) \
+ __atomic_val_bysize (__arch_compare_and_exchange_val, int, \
+ mem, new, old, __ATOMIC_ACQUIRE)
+diff --git a/sysdeps/arc/bits/setjmp.h b/sysdeps/arc/bits/setjmp.h
+index d1604cde1f..2ca85a679d 100644
+--- a/sysdeps/arc/bits/setjmp.h
++++ b/sysdeps/arc/bits/setjmp.h
+@@ -20,7 +20,11 @@
+ #define _ARC_BITS_SETJMP_H 1
+
+ /* Saves r13-r25 (callee-saved), fp (frame pointer), sp (stack pointer),
+- blink (branch-n-link). */
++ blink (branch-n-link), FP regs. */
++#if defined (__ARC_FLOAT_ABI_HARD__)
++typedef long int __jmp_buf[64];
++#else
+ typedef long int __jmp_buf[32];
++#endif
+
+ #endif
+diff --git a/sysdeps/arc/configure b/sysdeps/arc/configure
+index 7b27e26490..d7b19db793 100644
+--- a/sysdeps/arc/configure
++++ b/sysdeps/arc/configure
+@@ -10,7 +10,7 @@ libc_cv_asm_line_sep='`'
+ printf "%s\n" "#define ASM_LINE_SEP $libc_cv_asm_line_sep" >>confdefs.h
+
+
+-# For big endian ABI, generate a symbol for selecting right dynamic linker
++# For arc64:64 generate a symbol for selecting right dynamic linker
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+@@ -155,6 +155,77 @@ printf "%s\n" "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for arc64" >&5
++printf %s "checking for arc64... " >&6; }
++if test ${libc_cv_arc64+y}
++then :
++ printf %s "(cached) " >&6
++else $as_nop
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++#ifdef __ARC64_ARCH64__
++ yes
++ #endif
++
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++ $EGREP "yes" >/dev/null 2>&1
++then :
++ libc_cv_arc64=yes
++else $as_nop
++ libc_cv_arc64=no
++fi
++rm -rf conftest*
++
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_arc64" >&5
++printf "%s\n" "$libc_cv_arc64" >&6; }
++if test $libc_cv_arc64 = yes; then
++ # For shlib-versions.
++ printf "%s\n" "#define HAVE_ARC64 1" >>confdefs.h
++
++ config_vars="$config_vars
++default-abi = arc64le"
++
++else
++
++# For arc64:32 generate a symbol for selecting right dynamic linker
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for arc32" >&5
++printf %s "checking for arc32... " >&6; }
++if test ${libc_cv_arc32+y}
++then :
++ printf %s "(cached) " >&6
++else $as_nop
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++#ifdef __ARC64_ARCH32__
++ yes
++ #endif
++
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++ $EGREP "yes" >/dev/null 2>&1
++then :
++ libc_cv_arc32=yes
++else $as_nop
++ libc_cv_arc32=no
++fi
++rm -rf conftest*
++
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_arc32" >&5
++printf "%s\n" "$libc_cv_arc32" >&6; }
++
++if test $libc_cv_arc32 = yes; then
++ # For shlib-versions.
++ printf "%s\n" "#define HAVE_ARC32 1" >>confdefs.h
++
++ config_vars="$config_vars
++default-abi = arc32le"
++
++else
++
++# For big endian ABI, generate a symbol for selecting right dynamic linker
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for big endian" >&5
+ printf %s "checking for big endian... " >&6; }
+ if test ${libc_cv_arc_be+y}
+@@ -189,5 +260,12 @@ default-abi = arcbe"
+ else
+ config_vars="$config_vars
+ default-abi = arcle"
++# big endian
++fi
++
++# arc64:32
++fi
++
++# arc64:64
+ fi
+
+diff --git a/sysdeps/arc/configure.ac b/sysdeps/arc/configure.ac
+index 619da4e088..4e84f17105 100644
+--- a/sysdeps/arc/configure.ac
++++ b/sysdeps/arc/configure.ac
+@@ -9,6 +9,35 @@ libc_cv_have_sdata_section=no
+ libc_cv_asm_line_sep='`'
+ AC_DEFINE_UNQUOTED(ASM_LINE_SEP, $libc_cv_asm_line_sep)
+
++# For arc64:64 generate a symbol for selecting right dynamic linker
++AC_CACHE_CHECK([for arc64],
++ [libc_cv_arc64],
++ [AC_EGREP_CPP(yes,[#ifdef __ARC64_ARCH64__
++ yes
++ #endif
++ ], libc_cv_arc64=yes, libc_cv_arc64=no)])
++if test $libc_cv_arc64 = yes; then
++ # For shlib-versions.
++ AC_DEFINE(HAVE_ARC64)
++ LIBC_CONFIG_VAR([default-abi], [arc64le])
++
++else
++
++# For arc64:32 generate a symbol for selecting right dynamic linker
++AC_CACHE_CHECK([for arc32],
++ [libc_cv_arc32],
++ [AC_EGREP_CPP(yes,[#ifdef __ARC64_ARCH32__
++ yes
++ #endif
++ ], libc_cv_arc32=yes, libc_cv_arc32=no)])
++
++if test $libc_cv_arc32 = yes; then
++ # For shlib-versions.
++ AC_DEFINE(HAVE_ARC32)
++ LIBC_CONFIG_VAR([default-abi], [arc32le])
++
++else
++
+ # For big endian ABI, generate a symbol for selecting right dynamic linker
+ AC_CACHE_CHECK([for big endian],
+ [libc_cv_arc_be],
+@@ -22,4 +51,11 @@ if test $libc_cv_arc_be = yes; then
+ LIBC_CONFIG_VAR([default-abi], [arcbe])
+ else
+ LIBC_CONFIG_VAR([default-abi], [arcle])
++# big endian
++fi
++
++# arc64:32
++fi
++
++# arc64:64
+ fi
+diff --git a/sysdeps/arc/dl-machine.h b/sysdeps/arc/dl-machine.h
+index 4dc652a449..dbb7394c27 100644
+--- a/sysdeps/arc/dl-machine.h
++++ b/sysdeps/arc/dl-machine.h
+@@ -32,18 +32,19 @@
+ #include <dl-tls.h>
+ #include <dl-static-tls.h>
+ #include <dl-machine-rel.h>
++#include <sysdep.h>
+
+ /* Dynamic Linking ABI for ARCv2 ISA.
+
+- PLT
++ .plt
+ -------------------------------- <---- DT_PLTGOT
+ | ld r11, [pcl, off-to-GOT[1] | 0
+ | | 4
+- plt0 | ld r10, [pcl, off-to-GOT[2] | 8
++ PLT0 | ld r10, [pcl, off-to-GOT[2] | 8
+ | | 12
+ | j [r10] | 16
+ --------------------------------
+- | Base address of GOT | 20
++ | Base address of .got.plt | 20
+ --------------------------------
+ | ld r12, [pcl, off-to-GOT[3] | 24
+ plt1 | |
+@@ -69,11 +70,11 @@
+ --------------
+ | [1] | Module info - setup by ld.so
+ --------------
+- | [2] | resolver entry point
++ | [2] | resolver entry point: _dl_runtime_resolve
+ --------------
+ | [3] |
+ | ... | Runtime address for function symbols
+- | [f] |
++ | [f] | Initially point to PLT0
+ --------------
+
+ For ARCompact, the PLT is 12 bytes due to short instructions
+@@ -91,6 +92,8 @@ static inline int
+ elf_machine_matches_host (const ElfW(Ehdr) *ehdr)
+ {
+ return (ehdr->e_machine == EM_ARCV2 /* ARC HS. */
++ || ehdr->e_machine == EM_ARCV3 /* ARCv3: ARC64. */
++ || ehdr->e_machine == EM_ARCV3_32 /* ARCv3: ARC32. */
+ || ehdr->e_machine == EM_ARC_COMPACT); /* ARC 700. */
+ }
+
+@@ -114,7 +117,7 @@ elf_machine_load_address (void)
+ /* For build address, below generates
+ ld r0, [pcl, _GLOBAL_OFFSET_TABLE_@pcl]. */
+ build_addr = elf_machine_dynamic ();
+- __asm__ ("add %0, pcl, _DYNAMIC@pcl \n" : "=r" (run_addr));
++ __asm__ ("ADDR %0, pcl, _DYNAMIC@pcl \n" : "=r" (run_addr));
+
+ return run_addr - build_addr;
+ }
+@@ -131,10 +134,13 @@ elf_machine_runtime_setup (struct link_map *l, struct r_scope_elem *scope[],
+
+ if (l->l_info[DT_JMPREL] && lazy)
+ {
+- /* On ARC DT_PLTGOT point to .plt whose 5th word (after the PLT header)
+- contains the address of .got. */
++ /* update .got.plt[1] and .got.plt[2].
++ DT_PLTGOT point to base of .plt and PLT0 is 3 instructions
++ for total of 20 bytes, see illustration at top.
++ The word right after contains base address of .got.plt. */
+ ElfW(Addr) *plt_base = (ElfW(Addr) *) D_PTR (l, l_info[DT_PLTGOT]);
+- ElfW(Addr) *got = (ElfW(Addr) *) (plt_base[5] + l->l_addr);
++ ElfW(Addr) *got_build = (ElfW(Addr) *) ((uintptr_t)plt_base + 20);
++ ElfW(Addr) *got = (ElfW(Addr) *) (*got_build + l->l_addr);
+
+ got[1] = (ElfW(Addr)) l; /* Identify this shared object. */
+
+@@ -152,6 +158,8 @@ elf_machine_runtime_setup (struct link_map *l, struct r_scope_elem *scope[],
+ -optionally adjusts argc for executable if exec passed as cmd
+ -calls into app main with address of finaliser. */
+
++#ifdef __ARC64_ARCH64__
++
+ #define RTLD_START asm ("\
+ .text \n\
+ .globl __start \n\
+@@ -159,25 +167,55 @@ elf_machine_runtime_setup (struct link_map *l, struct r_scope_elem *scope[],
+ __start: \n\
+ /* (1). bootstrap ld.so. */ \n\
+ bl.d _dl_start \n\
+- mov_s r0, sp /* pass ptr to aux vector tbl. */ \n\
+- mov r13, r0 /* safekeep app elf entry point. */ \n\
+- ld_s r1, [sp] /* orig argc. */ \n\
++ MOVR r0, sp /* pass ptr to aux vector tbl. */ \n\
++ MOVR r14, r0 /* safekeep app elf entry point. */ \n\
++ LDR r1, sp /* orig argc. */ \n\
+ \n\
+ /* (2). call preinit stuff. */ \n\
+- ld r0, [pcl, _rtld_local@pcl] \n\
+- add r2, sp, 4 ; argv \n\
+- add2 r3, r2, r1 \n\
+- add r3, r3, 4 ; env \n\
++ LDR r0, pcl, _rtld_local@pcl \n\
++ ADDR r2, sp, 8 ; argv \n\
++ ADD3R r3, r2, r1 \n\
++ ADDR r3, r3, 8 ; env \n\
+ bl _dl_init@plt \n\
+ \n\
+ /* (3) call app elf entry point. */ \n\
+- add r0, pcl, _dl_fini@pcl \n\
+- j [r13] \n\
++ ADDR r0, pcl, _dl_fini@pcl \n\
++ j [r14] \n\
+ \n\
+ .size __start,.-__start \n\
+ .previous \n\
+ ");
+
++#else
++
++#define RTLD_START asm ("\
++.text \n\
++.globl __start \n\
++.type __start, @function \n\
++__start: \n\
++ /* (1). bootstrap ld.so. */ \n\
++ bl.d _dl_start \n\
++ MOVR r0, sp /* pass ptr to aux vector tbl. */ \n\
++ MOVR r14, r0 /* safekeep app elf entry point. */ \n\
++ LDR r1, sp /* orig argc. */ \n\
++ \n\
++ /* (2). call preinit stuff. */ \n\
++ LDR r0, pcl, _rtld_local@pcl \n\
++ ADDR r2, sp, 4 ; argv \n\
++ ADD2R r3, r2, r1 \n\
++ ADDR r3, r3, 4 ; env \n\
++ bl _dl_init@plt \n\
++ \n\
++ /* (3) call app elf entry point. */ \n\
++ ADDR r0, pcl, _dl_fini@pcl \n\
++ j [r14] \n\
++ \n\
++ .size __start,.-__start \n\
++ .previous \n\
++");
++
++#endif
++
+ /* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry, so
+ PLT entries should not be allowed to define the value.
+ ELF_RTYPE_CLASS_NOCOPY iff TYPE should not be allowed to resolve to one
+@@ -289,6 +327,7 @@ elf_machine_rela (struct link_map *map, struct r_scope_elem *scope[],
+ break;
+
+ case R_ARC_32:
++ case R_ARC_64:
+ *reloc_addr += value + reloc->r_addend;
+ break;
+
+diff --git a/sysdeps/arc/dl-trampoline.S b/sysdeps/arc/dl-trampoline.S
+index 1b307a616f..386009d41e 100644
+--- a/sysdeps/arc/dl-trampoline.S
++++ b/sysdeps/arc/dl-trampoline.S
+@@ -31,42 +31,71 @@
+ ENTRY (_dl_runtime_resolve)
+
+ /* save args to func being resolved before entering resolver. */
+- push_s r0
+- push_s r1
+- push_s r2
+- push_s r3
+- st.a r4, [sp, -4]
+- st.a r5, [sp, -4]
+- st.a r6, [sp, -4]
+- st.a r7, [sp, -4]
+- st.a r8, [sp, -4]
+- st.a r9, [sp, -4]
+- cfi_adjust_cfa_offset (40)
+- push_s blink
+- cfi_adjust_cfa_offset (4)
++ PUSHR r0
++ PUSHR r1
++ PUSHR r2
++ PUSHR r3
++ PUSHR r4
++ PUSHR r5
++ PUSHR r6
++ PUSHR r7
++ PUSHR r8
++ PUSHR r9
++
++#if defined (__ARC_FLOAT_ABI_HARD__)
++ FPUSHR f0
++ FPUSHR f1
++ FPUSHR f2
++ FPUSHR f3
++ FPUSHR f4
++ FPUSHR f5
++ FPUSHR f6
++ FPUSHR f7
++ cfi_adjust_cfa_offset (18*REGSZ)
++#else
++ cfi_adjust_cfa_offset (10*REGSZ)
++#endif
++
++ PUSHR blink
++ cfi_adjust_cfa_offset (REGSZ)
+ cfi_rel_offset (blink, 0)
+
+- mov_s r1, r12
++ MOVR r1, r12
+ bl.d _dl_fixup
+- mov r0, r11
++ MOVR r0, r11
+
+ /* restore regs back. */
+- ld.ab blink,[sp, 4]
+- cfi_adjust_cfa_offset (-4)
++ POPR blink
++ cfi_adjust_cfa_offset (-REGSZ)
+ cfi_restore (blink)
+- ld.ab r9, [sp, 4]
+- ld.ab r8, [sp, 4]
+- ld.ab r7, [sp, 4]
+- ld.ab r6, [sp, 4]
+- ld.ab r5, [sp, 4]
+- ld.ab r4, [sp, 4]
+- pop_s r3
+- pop_s r2
+- pop_s r1
+- cfi_adjust_cfa_offset (-36)
+
+- j_s.d [r0] /* r0 has resolved function addr. */
+- pop_s r0 /* restore first arg to resolved call. */
+- cfi_adjust_cfa_offset (-4)
++#if defined (__ARC_FLOAT_ABI_HARD__)
++ FPOPR f7
++ FPOPR f6
++ FPOPR f5
++ FPOPR f4
++ FPOPR f3
++ FPOPR f2
++ FPOPR f1
++ FPOPR f0
++#endif
++ POPR r9
++ POPR r8
++ POPR r7
++ POPR r6
++ POPR r5
++ POPR r4
++ POPR r3
++ POPR r2
++ POPR r1
++#if defined (__ARC_FLOAT_ABI_HARD__)
++ cfi_adjust_cfa_offset (-17*REGSZ)
++#else
++ cfi_adjust_cfa_offset (-9*REGSZ)
++#endif
++
++ j.d [r0] /* r0 has resolved function addr. */
++ POPR r0 /* restore first arg to resolved call. */
++ cfi_adjust_cfa_offset (-REGSZ)
+ cfi_restore (r0)
+ END (_dl_runtime_resolve)
+diff --git a/sysdeps/arc/fpu/math-use-builtins-fma.h b/sysdeps/arc/fpu/math-use-builtins-fma.h
+index 2acd8113ce..59c7ed0343 100644
+--- a/sysdeps/arc/fpu/math-use-builtins-fma.h
++++ b/sysdeps/arc/fpu/math-use-builtins-fma.h
+@@ -1,13 +1,17 @@
+-#if defined __ARC_FPU_DP_FMA__
++#if defined __ARCV3__
+ # define USE_FMA_BUILTIN 1
+-#else
+-# define USE_FMA_BUILTIN 0
+-#endif
+-
+-#if defined __ARC_FPU_SP_FMA__
+ # define USE_FMAF_BUILTIN 1
+ #else
+-# define USE_FMAF_BUILTIN 0
++# if defined __ARC_FPU_DP_FMA__
++# define USE_FMA_BUILTIN 1
++# else
++# define USE_FMA_BUILTIN 0
++# endif
++# if defined __ARC_FPU_SP_FMA__
++# define USE_FMAF_BUILTIN 1
++# else
++# define USE_FMAF_BUILTIN 0
++# endif
+ #endif
+
+ #define USE_FMAL_BUILTIN 0
+diff --git a/sysdeps/arc/fpu/math-use-builtins-sqrt.h b/sysdeps/arc/fpu/math-use-builtins-sqrt.h
+index a449bc6092..40a07730ea 100644
+--- a/sysdeps/arc/fpu/math-use-builtins-sqrt.h
++++ b/sysdeps/arc/fpu/math-use-builtins-sqrt.h
+@@ -1,13 +1,17 @@
+-#if defined __ARC_FPU_DP_DIV__
++#if defined __ARCV3__
+ # define USE_SQRT_BUILTIN 1
+-#else
+-# define USE_SQRT_BUILTIN 0
+-#endif
+-
+-#if defined __ARC_FPU_SP_DIV__
+ # define USE_SQRTF_BUILTIN 1
+ #else
+-# define USE_SQRTF_BUILTIN 0
++# if defined __ARC_FPU_DP_DIV__
++# define USE_SQRT_BUILTIN 1
++# else
++# define USE_SQRT_BUILTIN 0
++# endif
++# if defined __ARC_FPU_SP_DIV__
++# define USE_SQRTF_BUILTIN 1
++# else
++# define USE_SQRTF_BUILTIN 0
++# endif
+ #endif
+
+ #define USE_SQRTL_BUILTIN 0
+diff --git a/sysdeps/arc/isa-asm-macro-32.h b/sysdeps/arc/isa-asm-macro-32.h
+new file mode 100644
+index 0000000000..98cd249059
+--- /dev/null
++++ b/sysdeps/arc/isa-asm-macro-32.h
+@@ -0,0 +1,61 @@
++# define REGSZ 4
++
++.irp aa,,.as
++.macro LDR\aa d, s, off=0
++ ld\aa \d, [\s, \off]
++.endm
++.endr
++
++.irp aa,,.as
++.macro STR\aa d, s, off=0
++ st\aa \d, [\s, \off]
++.endm
++.endr
++
++.macro PUSHR r
++ push \r
++.endm
++
++.macro POPR r
++ pop \r
++.endm
++
++.irp cc,,.f
++.macro MOVR\cc d, s
++ mov\cc \d, \s
++.endm
++.endr
++
++.irp cc,,.nz
++.macro ADDR\cc d, s, v
++ add\cc \d, \s, \v
++.endm
++.endr
++
++.macro ADD2R d, s, v
++ add2 \d, \s, \v
++.endm
++
++.macro ADD3R d, s, v
++ add3 \d, \s, \v
++.endm
++
++.macro SUBR d, s, v
++ sub \d, \s, \v
++.endm
++
++.macro ANDR d, s, v
++ and \d, \s, \v
++.endm
++
++.irp cc,,eq,hi
++.macro BRR\cc d, s, v
++ br\cc \d, \s, \v
++.endm
++.endr
++
++.irp cc,,.ne
++.macro CMPR\cc d, s
++ cmp\cc \d, \s
++.endm
++.endr
+diff --git a/sysdeps/arc/isa-asm-macro-64.h b/sysdeps/arc/isa-asm-macro-64.h
+new file mode 100644
+index 0000000000..02b1dc2c37
+--- /dev/null
++++ b/sysdeps/arc/isa-asm-macro-64.h
+@@ -0,0 +1,86 @@
++# define REGSZ 8
++
++.irp aa,,.as
++.macro LDR\aa d, s, off=0
++ ldl\aa \d, [\s, \off]
++.endm
++.endr
++
++.irp aa,,.as
++.macro STR\aa d, s, off=0
++ stl\aa \d, [\s, \off]
++.endm
++.endr
++
++.macro PUSHR r
++ pushl \r
++.endm
++
++.macro POPR r
++ popl \r
++.endm
++
++.irp cc,,.f
++.macro MOVR\cc d, s
++ movl\cc \d, \s
++.endm
++.endr
++
++.irp cc,,.nz
++.macro ADDR\cc d, s, v
++ addl\cc \d, \s, \v
++.endm
++.endr
++
++.macro ADD2R d, s, v
++ add2l \d, \s, \v
++.endm
++
++.macro ADD3R d, s, v
++ add3l \d, \s, \v
++.endm
++
++.macro SUBR d, s, v
++ subl \d, \s, \v
++.endm
++
++.macro ANDR d, s, v
++ andl \d, \s, \v
++.endm
++
++.irp cc,eq,hi
++.macro BRR\cc d, s, v
++; arc64 gas doesn't support BRHIL pseudo-instruction
++.ifeqs "\cc","hi"
++ brlo\()l \s, \d, \v
++.else
++ br\cc\()l \d, \s, \v
++.endif
++.endm
++.endr
++
++.irp cc,,.ne
++.macro CMPR\cc d, s
++ cmpl\cc \d, \s
++.endm
++.endr
++
++.irp aa,,.as,.aw,.ab
++.macro FLDR\aa d, s, off=0
++ fld64\aa \d, [\s, \off]
++.endm
++.endr
++
++.irp aa,,.as,.aw,.ab
++.macro FSTR\aa d, s, off=0
++ fst64\aa \d, [\s, \off]
++.endm
++.endr
++
++.macro FPUSHR r
++ FSTR.aw \r, sp, -REGSZ
++.endm
++
++.macro FPOPR r
++ FLDR.ab \r, sp, REGSZ
++.endm
+diff --git a/sysdeps/arc/isa-asm-macros.h b/sysdeps/arc/isa-asm-macros.h
+new file mode 100644
+index 0000000000..f9f5e4f630
+--- /dev/null
++++ b/sysdeps/arc/isa-asm-macros.h
+@@ -0,0 +1,35 @@
++/* ISA Specific Assembler macros for ARC.
++ Copyright (C) 2020 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it 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.
++
++ The GNU C Library 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
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <https://www.gnu.org/licenses/>. */
++
++#ifdef __ASSEMBLER__
++
++# ifdef __ARC64_ARCH64__
++# include <sysdeps/arc/isa-asm-macro-64.h>
++# else
++# include <sysdeps/arc/isa-asm-macro-32.h>
++# endif
++
++#else
++
++# ifdef __ARC64_ARCH64__
++asm(".include \"sysdeps/arc/isa-asm-macro-64.h\"\n");
++# else
++asm(".include \"sysdeps/arc/isa-asm-macro-32.h\"\n");
++# endif
++
++#endif
+diff --git a/sysdeps/arc/nofpu/libm-test-ulps b/sysdeps/arc/nofpu/libm-test-ulps
+index 6ac2830b25..26632ff8f2 100644
+--- a/sysdeps/arc/nofpu/libm-test-ulps
++++ b/sysdeps/arc/nofpu/libm-test-ulps
+@@ -205,6 +205,7 @@ float: 7
+
+ Function: "hypot":
+ double: 1
++float: 1
+
+ Function: "j0":
+ double: 2
+diff --git a/sysdeps/arc/nptl/pthreaddef.h b/sysdeps/arc/nptl/pthreaddef.h
+index 336eded15c..3b51e59a35 100644
+--- a/sysdeps/arc/nptl/pthreaddef.h
++++ b/sysdeps/arc/nptl/pthreaddef.h
+@@ -23,7 +23,7 @@
+ #define ARCH_MIN_GUARD_SIZE 0
+
+ /* Required stack pointer alignment at beginning. */
+-#define STACK_ALIGN 4
++#define STACK_ALIGN 8
+
+ /* Minimal stack size after allocating thread descriptor and guard size. */
+ #define MINIMAL_REST_STACK 2048
+diff --git a/sysdeps/arc/preconfigure b/sysdeps/arc/preconfigure
+index a79db0239a..eab4af0eab 100644
+--- a/sysdeps/arc/preconfigure
++++ b/sysdeps/arc/preconfigure
+@@ -1,14 +1,22 @@
+ case "$machine" in
+ arc*)
+- base_machine=arc
+- machine=arc
++ with_fp_cond=0
++ isarc64=`$CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null | grep __LP64__| wc -l`
++
++ case "$isarc64" in
++ 0)
++ base_machine=arc
++ machine=arc/arc32
++ ;;
++ 1)
++ base_machine=arc
++ machine=arc/arc64
++ ;;
++ esac
+
+ gccfloat=`$CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null | grep __ARC_FPU_| wc -l`
+ if test "$gccfloat" != "0"; then
+ with_fp_cond=1
+- else
+- with_fp_cond=0
+ fi
+ ;;
+-
+ esac
+diff --git a/sysdeps/arc/setjmp.S b/sysdeps/arc/setjmp.S
+index 9ecdb9daae..e39b526837 100644
+--- a/sysdeps/arc/setjmp.S
++++ b/sysdeps/arc/setjmp.S
+@@ -41,24 +41,47 @@ ENTRY (__sigsetjmp)
+ that will be right next to this setjmp call-site in BLINK
+ since "C" caller of this routine will do a branch-n-link. */
+
+- STR (blink, r0, 0)
+- STR (sp, r0, 1)
+- STR (fp, r0, 2)
+- STR (gp, r0, 3)
++ STR.as blink, r0, 0
++ STR.as sp, r0, 1
++ STR.as fp, r0, 2
++ STR.as gp, r0, 3
+
+- STR (r13, r0, 4)
+- STR (r14, r0, 5)
+- STR (r15, r0, 6)
+- STR (r16, r0, 7)
+- STR (r17, r0, 8)
+- STR (r18, r0, 9)
+- STR (r19, r0, 10)
+- STR (r20, r0, 11)
+- STR (r21, r0, 12)
+- STR (r22, r0, 13)
+- STR (r23, r0, 14)
+- STR (r24, r0, 15)
++ STR.as r13, r0, 4
++ STR.as r14, r0, 5
++ STR.as r15, r0, 6
++ STR.as r16, r0, 7
++ STR.as r17, r0, 8
++ STR.as r18, r0, 9
++ STR.as r19, r0, 10
++ STR.as r20, r0, 11
++ STR.as r21, r0, 12
++ STR.as r22, r0, 13
++ STR.as r23, r0, 14
++ STR.as r24, r0, 15
+
++#if defined(__ARCV3__)
++ STR.as r25, r0, 16
++ STR.as r26, r0, 17
++#endif
++
++#if defined (__ARC_FLOAT_ABI_HARD__)
++ FSTR.as f16, r0, 18
++ FSTR.as f17, r0, 19
++ FSTR.as f18, r0, 20
++ FSTR.as f19, r0, 21
++ FSTR.as f20, r0, 22
++ FSTR.as f21, r0, 23
++ FSTR.as f22, r0, 24
++ FSTR.as f23, r0, 25
++ FSTR.as f24, r0, 26
++ FSTR.as f25, r0, 27
++ FSTR.as f26, r0, 28
++ FSTR.as f27, r0, 29
++ FSTR.as f28, r0, 30
++ FSTR.as f29, r0, 31
++ FSTR.as f30, r0, 32
++ FSTR.as f31, r0, 33
++#endif
+ b __sigjmp_save
+
+ END (__sigsetjmp)
+diff --git a/sysdeps/arc/sfp-machine.h b/sysdeps/arc/sfp-machine.h
+index 0917a7ae17..4743b694a2 100644
+--- a/sysdeps/arc/sfp-machine.h
++++ b/sysdeps/arc/sfp-machine.h
+@@ -17,10 +17,12 @@
+ <https://www.gnu.org/licenses/>. */
+
+
+-#define _FP_W_TYPE_SIZE 32
+-#define _FP_W_TYPE unsigned long
+-#define _FP_WS_TYPE signed long
+-#define _FP_I_TYPE long
++#ifndef __ARC64__
++
++# define _FP_W_TYPE_SIZE 32
++# define _FP_W_TYPE unsigned long
++# define _FP_WS_TYPE signed long
++# define _FP_I_TYPE long
+
+ #define _FP_MUL_MEAT_S(R,X,Y) \
+ _FP_MUL_MEAT_1_wide(_FP_WFRACBITS_S,R,X,Y,umul_ppmm)
+@@ -67,4 +69,49 @@
+ R##_c = FP_CLS_NAN; \
+ } while (0)
+
++#else
++
++# define _FP_W_TYPE_SIZE 64
++# define _FP_W_TYPE unsigned long long
++# define _FP_WS_TYPE signed long long
++# define _FP_I_TYPE long long
++
++# define _FP_MUL_MEAT_S(R, X, Y) \
++ _FP_MUL_MEAT_1_imm (_FP_WFRACBITS_S, R, X, Y)
++# define _FP_MUL_MEAT_D(R, X, Y) \
++ _FP_MUL_MEAT_1_wide (_FP_WFRACBITS_D, R, X, Y, umul_ppmm)
++# define _FP_MUL_MEAT_Q(R, X, Y) \
++ _FP_MUL_MEAT_2_wide_3mul (_FP_WFRACBITS_Q, R, X, Y, umul_ppmm)
++
++# define _FP_MUL_MEAT_DW_S(R, X, Y) \
++ _FP_MUL_MEAT_DW_1_imm (_FP_WFRACBITS_S, R, X, Y)
++# define _FP_MUL_MEAT_DW_D(R, X, Y) \
++ _FP_MUL_MEAT_DW_1_wide (_FP_WFRACBITS_D, R, X, Y, umul_ppmm)
++# define _FP_MUL_MEAT_DW_Q(R, X, Y) \
++ _FP_MUL_MEAT_DW_2_wide_3mul (_FP_WFRACBITS_Q, R, X, Y, umul_ppmm)
++
++# define _FP_DIV_MEAT_S(R, X, Y) _FP_DIV_MEAT_1_imm (S, R, X, Y, _FP_DIV_HELP_imm)
++# define _FP_DIV_MEAT_D(R, X, Y) _FP_DIV_MEAT_1_udiv_norm (D, R, X, Y)
++# define _FP_DIV_MEAT_Q(R, X, Y) _FP_DIV_MEAT_2_udiv (Q, R, X, Y)
++
++# define _FP_NANFRAC_S _FP_QNANBIT_S
++# define _FP_NANFRAC_D _FP_QNANBIT_D
++# define _FP_NANFRAC_Q _FP_QNANBIT_Q, 0
++
++#define _FP_NANSIGN_S 0
++#define _FP_NANSIGN_D 0
++#define _FP_NANSIGN_Q 0
++
++#define _FP_KEEPNANFRACP 0
++#define _FP_QNANNEGATEDP 0
++
++#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
++ do { \
++ R##_s = _FP_NANSIGN_##fs; \
++ _FP_FRAC_SET_##wc (R, _FP_NANFRAC_##fs); \
++ R##_c = FP_CLS_NAN; \
++ } while (0)
++
++#endif
++
+ #define _FP_TININESS_AFTER_ROUNDING 1
+diff --git a/sysdeps/arc/start.S b/sysdeps/arc/start.S
+index db3bab6395..42ead9d302 100644
+--- a/sysdeps/arc/start.S
++++ b/sysdeps/arc/start.S
+@@ -57,12 +57,12 @@ ENTRY (ENTRY_POINT)
+ cfi_undefined (blink)
+
+ mov fp, 0
+- ld_s r1, [sp] /* argc. */
++ LDR r1, sp /* argc. */
+
+- mov_s r5, r0 /* rltd_fini. */
+- add_s r2, sp, 4 /* argv. */
+- and sp, sp, -8
+- mov r6, sp
++ MOVR r5, r0 /* rltd_fini. */
++ ADDR r2, sp, REGSZ /* argv. */
++ ANDR sp, sp, -2*REGSZ
++ MOVR r6, sp
+
+ /* __libc_start_main (main, argc, argv, init, fini, rtld_fini, stack_end). */
+
+@@ -70,10 +70,10 @@ ENTRY (ENTRY_POINT)
+ mov r4, 0 /* Used to be fini. */
+
+ #ifdef SHARED
+- ld r0, [pcl, @main@gotpc]
++ LDR r0, pcl, @main@gotpc
+ bl __libc_start_main@plt
+ #else
+- mov_s r0, main
++ MOVR r0, main
+ bl __libc_start_main
+ #endif
+
+diff --git a/sysdeps/arc/sysdep.h b/sysdeps/arc/sysdep.h
+index 4f024f6b73..ba6ecddbac 100644
+--- a/sysdeps/arc/sysdep.h
++++ b/sysdeps/arc/sysdep.h
+@@ -47,7 +47,6 @@
+
+ # define CALL_MCOUNT /* Do nothing for now. */
+
+-# define STR(reg, rbase, off) st reg, [rbase, off * 4]
+-# define LDR(reg, rbase, off) ld reg, [rbase, off * 4]
+-
+ #endif /* __ASSEMBLER__ */
++
++#include <sysdeps/arc/isa-asm-macros.h>
+diff --git a/sysdeps/unix/sysv/linux/arc/Makefile b/sysdeps/unix/sysv/linux/arc/Makefile
+index eca9a9fd3a..00d655bcd3 100644
+--- a/sysdeps/unix/sysv/linux/arc/Makefile
++++ b/sysdeps/unix/sysv/linux/arc/Makefile
+@@ -12,11 +12,13 @@ sysdep_headers += sys/cachectl.h
+ sysdep_routines += cacheflush
+ endif
+
+-abi-variants := arcle arcbe
++abi-variants := arcle arcbe arc32le arc64le
+
+ ifeq (,$(filter $(default-abi),$(abi-variants)))
+ $(error Unknown ABI $(default-abi), must be one of $(abi-variants))
+ endif
+
+-abi-arcle-condition := !defined __BIG_ENDIAN__
+-abi-arcbe-condition := defined __BIG_ENDIAN__
++abi-arcle-condition := !defined __ARC64__ && !defined __BIG_ENDIAN__
++abi-arcbe-condition := !defined __ARC64__ && defined __BIG_ENDIAN__
++abi-arc32le-condition := defined __ARC64_ARCH32__ && !defined __BIG_ENDIAN__
++abi-arc64le-condition := defined __ARC64_ARCH64__ && !defined __BIG_ENDIAN__
+diff --git a/sysdeps/unix/sysv/linux/arc/arc32/Implies b/sysdeps/unix/sysv/linux/arc/arc32/Implies
+new file mode 100644
+index 0000000000..9670973cfa
+--- /dev/null
++++ b/sysdeps/unix/sysv/linux/arc/arc32/Implies
+@@ -0,0 +1 @@
++unix/sysv/linux/arc
+diff --git a/sysdeps/unix/sysv/linux/arc/arch-syscall.h b/sysdeps/unix/sysv/linux/arc/arc32/arch-syscall.h
+similarity index 100%
+copy from sysdeps/unix/sysv/linux/arc/arch-syscall.h
+copy to sysdeps/unix/sysv/linux/arc/arc32/arch-syscall.h
+diff --git a/sysdeps/unix/sysv/linux/arc/c++-types.data b/sysdeps/unix/sysv/linux/arc/arc32/c++-types.data
+similarity index 100%
+copy from sysdeps/unix/sysv/linux/arc/c++-types.data
+copy to sysdeps/unix/sysv/linux/arc/arc32/c++-types.data
+diff --git a/sysdeps/unix/sysv/linux/arc/fixup-asm-unistd.h b/sysdeps/unix/sysv/linux/arc/arc32/fixup-asm-unistd.h
+similarity index 100%
+rename from sysdeps/unix/sysv/linux/arc/fixup-asm-unistd.h
+rename to sysdeps/unix/sysv/linux/arc/arc32/fixup-asm-unistd.h
+diff --git a/sysdeps/unix/sysv/linux/arc/ld.abilist b/sysdeps/unix/sysv/linux/arc/arc32/ld.abilist
+similarity index 100%
+copy from sysdeps/unix/sysv/linux/arc/ld.abilist
+copy to sysdeps/unix/sysv/linux/arc/arc32/ld.abilist
+diff --git a/sysdeps/unix/sysv/linux/arc/libBrokenLocale.abilist b/sysdeps/unix/sysv/linux/arc/arc32/libBrokenLocale.abilist
+similarity index 100%
+copy from sysdeps/unix/sysv/linux/arc/libBrokenLocale.abilist
+copy to sysdeps/unix/sysv/linux/arc/arc32/libBrokenLocale.abilist
+diff --git a/sysdeps/unix/sysv/linux/arc/libanl.abilist b/sysdeps/unix/sysv/linux/arc/arc32/libanl.abilist
+similarity index 100%
+copy from sysdeps/unix/sysv/linux/arc/libanl.abilist
+copy to sysdeps/unix/sysv/linux/arc/arc32/libanl.abilist
+diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/arc32/libc.abilist
+similarity index 100%
+copy from sysdeps/unix/sysv/linux/arc/libc.abilist
+copy to sysdeps/unix/sysv/linux/arc/arc32/libc.abilist
+diff --git a/sysdeps/unix/sysv/linux/arc/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/arc/arc32/libc_malloc_debug.abilist
+similarity index 100%
+copy from sysdeps/unix/sysv/linux/arc/libc_malloc_debug.abilist
+copy to sysdeps/unix/sysv/linux/arc/arc32/libc_malloc_debug.abilist
+diff --git a/sysdeps/unix/sysv/linux/arc/libcrypt.abilist b/sysdeps/unix/sysv/linux/arc/arc32/libcrypt.abilist
+similarity index 100%
+copy from sysdeps/unix/sysv/linux/arc/libcrypt.abilist
+copy to sysdeps/unix/sysv/linux/arc/arc32/libcrypt.abilist
+diff --git a/sysdeps/unix/sysv/linux/arc/libdl.abilist b/sysdeps/unix/sysv/linux/arc/arc32/libdl.abilist
+similarity index 100%
+copy from sysdeps/unix/sysv/linux/arc/libdl.abilist
+copy to sysdeps/unix/sysv/linux/arc/arc32/libdl.abilist
+diff --git a/sysdeps/unix/sysv/linux/arc/libm.abilist b/sysdeps/unix/sysv/linux/arc/arc32/libm.abilist
+similarity index 100%
+copy from sysdeps/unix/sysv/linux/arc/libm.abilist
+copy to sysdeps/unix/sysv/linux/arc/arc32/libm.abilist
+diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/arc32/libpthread.abilist
+similarity index 100%
+copy from sysdeps/unix/sysv/linux/arc/libpthread.abilist
+copy to sysdeps/unix/sysv/linux/arc/arc32/libpthread.abilist
+diff --git a/sysdeps/unix/sysv/linux/arc/libresolv.abilist b/sysdeps/unix/sysv/linux/arc/arc32/libresolv.abilist
+similarity index 100%
+copy from sysdeps/unix/sysv/linux/arc/libresolv.abilist
+copy to sysdeps/unix/sysv/linux/arc/arc32/libresolv.abilist
+diff --git a/sysdeps/unix/sysv/linux/arc/librt.abilist b/sysdeps/unix/sysv/linux/arc/arc32/librt.abilist
+similarity index 100%
+copy from sysdeps/unix/sysv/linux/arc/librt.abilist
+copy to sysdeps/unix/sysv/linux/arc/arc32/librt.abilist
+diff --git a/sysdeps/unix/sysv/linux/arc/libthread_db.abilist b/sysdeps/unix/sysv/linux/arc/arc32/libthread_db.abilist
+similarity index 100%
+copy from sysdeps/unix/sysv/linux/arc/libthread_db.abilist
+copy to sysdeps/unix/sysv/linux/arc/arc32/libthread_db.abilist
+diff --git a/sysdeps/unix/sysv/linux/arc/libutil.abilist b/sysdeps/unix/sysv/linux/arc/arc32/libutil.abilist
+similarity index 100%
+copy from sysdeps/unix/sysv/linux/arc/libutil.abilist
+copy to sysdeps/unix/sysv/linux/arc/arc32/libutil.abilist
+diff --git a/sysdeps/unix/sysv/linux/arc/arc64/Implies b/sysdeps/unix/sysv/linux/arc/arc64/Implies
+new file mode 100644
+index 0000000000..05abf4461a
+--- /dev/null
++++ b/sysdeps/unix/sysv/linux/arc/arc64/Implies
+@@ -0,0 +1,2 @@
++unix/sysv/linux/arc
++unix/sysv/linux/wordsize-64
+diff --git a/sysdeps/unix/sysv/linux/arc/arch-syscall.h b/sysdeps/unix/sysv/linux/arc/arc64/arch-syscall.h
+similarity index 89%
+rename from sysdeps/unix/sysv/linux/arc/arch-syscall.h
+rename to sysdeps/unix/sysv/linux/arc/arc64/arch-syscall.h
+index c1207aaa12..c73f38e567 100644
+--- a/sysdeps/unix/sysv/linux/arc/arch-syscall.h
++++ b/sysdeps/unix/sysv/linux/arc/arc64/arch-syscall.h
+@@ -15,11 +15,11 @@
+ #define __NR_capset 91
+ #define __NR_chdir 49
+ #define __NR_chroot 51
+-#define __NR_clock_adjtime64 405
+-#define __NR_clock_getres_time64 406
+-#define __NR_clock_gettime64 403
+-#define __NR_clock_nanosleep_time64 407
+-#define __NR_clock_settime64 404
++#define __NR_clock_adjtime 266
++#define __NR_clock_getres 114
++#define __NR_clock_gettime 113
++#define __NR_clock_nanosleep 115
++#define __NR_clock_settime 112
+ #define __NR_clone 220
+ #define __NR_clone3 435
+ #define __NR_close 57
+@@ -40,7 +40,7 @@
+ #define __NR_exit_group 94
+ #define __NR_faccessat 48
+ #define __NR_faccessat2 439
+-#define __NR_fadvise64_64 223
++#define __NR_fadvise64 223
+ #define __NR_fallocate 47
+ #define __NR_fanotify_init 262
+ #define __NR_fanotify_mark 263
+@@ -49,7 +49,7 @@
+ #define __NR_fchmodat 53
+ #define __NR_fchown 55
+ #define __NR_fchownat 54
+-#define __NR_fcntl64 25
++#define __NR_fcntl 25
+ #define __NR_fdatasync 83
+ #define __NR_fgetxattr 10
+ #define __NR_finit_module 273
+@@ -61,10 +61,11 @@
+ #define __NR_fsmount 432
+ #define __NR_fsopen 430
+ #define __NR_fspick 433
+-#define __NR_fstatfs64 44
++#define __NR_fstat 80
++#define __NR_fstatfs 44
+ #define __NR_fsync 82
+-#define __NR_ftruncate64 46
+-#define __NR_futex_time64 422
++#define __NR_ftruncate 46
++#define __NR_futex 98
+ #define __NR_futex_waitv 449
+ #define __NR_get_mempolicy 236
+ #define __NR_get_robust_list 100
+@@ -101,7 +102,6 @@
+ #define __NR_io_destroy 1
+ #define __NR_io_getevents 4
+ #define __NR_io_pgetevents 292
+-#define __NR_io_pgetevents_time64 416
+ #define __NR_io_setup 0
+ #define __NR_io_submit 2
+ #define __NR_io_uring_enter 426
+@@ -123,9 +123,9 @@
+ #define __NR_listen 201
+ #define __NR_listxattr 11
+ #define __NR_llistxattr 12
+-#define __NR_llseek 62
+ #define __NR_lookup_dcookie 18
+ #define __NR_lremovexattr 15
++#define __NR_lseek 62
+ #define __NR_lsetxattr 6
+ #define __NR_madvise 233
+ #define __NR_mbind 235
+@@ -138,7 +138,7 @@
+ #define __NR_mlock 228
+ #define __NR_mlock2 284
+ #define __NR_mlockall 230
+-#define __NR_mmap2 222
++#define __NR_mmap 222
+ #define __NR_mount 40
+ #define __NR_mount_setattr 442
+ #define __NR_move_mount 429
+@@ -147,8 +147,8 @@
+ #define __NR_mq_getsetattr 185
+ #define __NR_mq_notify 184
+ #define __NR_mq_open 180
+-#define __NR_mq_timedreceive_time64 419
+-#define __NR_mq_timedsend_time64 418
++#define __NR_mq_timedreceive 183
++#define __NR_mq_timedsend 182
+ #define __NR_mq_unlink 181
+ #define __NR_mremap 216
+ #define __NR_msgctl 187
+@@ -161,6 +161,7 @@
+ #define __NR_munmap 215
+ #define __NR_name_to_handle_at 264
+ #define __NR_nanosleep 101
++#define __NR_newfstatat 79
+ #define __NR_nfsservctl 42
+ #define __NR_open_by_handle_at 265
+ #define __NR_open_tree 428
+@@ -176,7 +177,7 @@
+ #define __NR_pkey_alloc 289
+ #define __NR_pkey_free 290
+ #define __NR_pkey_mprotect 288
+-#define __NR_ppoll_time64 414
++#define __NR_ppoll 73
+ #define __NR_prctl 167
+ #define __NR_pread64 67
+ #define __NR_preadv 69
+@@ -186,7 +187,7 @@
+ #define __NR_process_mrelease 448
+ #define __NR_process_vm_readv 270
+ #define __NR_process_vm_writev 271
+-#define __NR_pselect6_time64 413
++#define __NR_pselect6 72
+ #define __NR_ptrace 117
+ #define __NR_pwrite64 68
+ #define __NR_pwritev 70
+@@ -199,7 +200,7 @@
+ #define __NR_readv 65
+ #define __NR_reboot 142
+ #define __NR_recvfrom 207
+-#define __NR_recvmmsg_time64 417
++#define __NR_recvmmsg 243
+ #define __NR_recvmsg 212
+ #define __NR_remap_file_pages 234
+ #define __NR_removexattr 14
+@@ -214,7 +215,7 @@
+ #define __NR_rt_sigqueueinfo 138
+ #define __NR_rt_sigreturn 139
+ #define __NR_rt_sigsuspend 133
+-#define __NR_rt_sigtimedwait_time64 421
++#define __NR_rt_sigtimedwait 137
+ #define __NR_rt_tgsigqueueinfo 240
+ #define __NR_sched_get_priority_max 125
+ #define __NR_sched_get_priority_min 126
+@@ -222,7 +223,7 @@
+ #define __NR_sched_getattr 275
+ #define __NR_sched_getparam 121
+ #define __NR_sched_getscheduler 120
+-#define __NR_sched_rr_get_interval_time64 423
++#define __NR_sched_rr_get_interval 127
+ #define __NR_sched_setaffinity 122
+ #define __NR_sched_setattr 274
+ #define __NR_sched_setparam 118
+@@ -232,8 +233,8 @@
+ #define __NR_semctl 191
+ #define __NR_semget 190
+ #define __NR_semop 193
+-#define __NR_semtimedop_time64 420
+-#define __NR_sendfile64 71
++#define __NR_semtimedop 192
++#define __NR_sendfile 71
+ #define __NR_sendmmsg 269
+ #define __NR_sendmsg 211
+ #define __NR_sendto 206
+@@ -271,7 +272,7 @@
+ #define __NR_socket 198
+ #define __NR_socketpair 199
+ #define __NR_splice 76
+-#define __NR_statfs64 43
++#define __NR_statfs 43
+ #define __NR_statx 291
+ #define __NR_swapoff 225
+ #define __NR_swapon 224
+@@ -287,21 +288,21 @@
+ #define __NR_timer_create 107
+ #define __NR_timer_delete 111
+ #define __NR_timer_getoverrun 109
+-#define __NR_timer_gettime64 408
+-#define __NR_timer_settime64 409
++#define __NR_timer_gettime 108
++#define __NR_timer_settime 110
+ #define __NR_timerfd_create 85
+-#define __NR_timerfd_gettime64 410
+-#define __NR_timerfd_settime64 411
++#define __NR_timerfd_gettime 87
++#define __NR_timerfd_settime 86
+ #define __NR_times 153
+ #define __NR_tkill 130
+-#define __NR_truncate64 45
++#define __NR_truncate 45
+ #define __NR_umask 166
+ #define __NR_umount2 39
+ #define __NR_uname 160
+ #define __NR_unlinkat 35
+ #define __NR_unshare 97
+ #define __NR_userfaultfd 282
+-#define __NR_utimensat_time64 412
++#define __NR_utimensat 88
+ #define __NR_vhangup 58
+ #define __NR_vmsplice 75
+ #define __NR_wait4 260
+diff --git a/sysdeps/unix/sysv/linux/arc/c++-types.data b/sysdeps/unix/sysv/linux/arc/arc64/c++-types.data
+similarity index 73%
+rename from sysdeps/unix/sysv/linux/arc/c++-types.data
+rename to sysdeps/unix/sysv/linux/arc/arc64/c++-types.data
+index 0fb0143ae7..ac925ccb36 100644
+--- a/sysdeps/unix/sysv/linux/arc/c++-types.data
++++ b/sysdeps/unix/sysv/linux/arc/arc64/c++-types.data
+@@ -1,32 +1,32 @@
+-blkcnt64_t:x
+-blkcnt_t:x
++blkcnt64_t:l
++blkcnt_t:l
+ blksize_t:i
+ caddr_t:Pc
+ clockid_t:i
+ clock_t:l
+ daddr_t:i
+-dev_t:y
++dev_t:m
+ fd_mask:l
+-fsblkcnt64_t:y
+-fsblkcnt_t:y
+-fsfilcnt64_t:y
+-fsfilcnt_t:y
++fsblkcnt64_t:m
++fsblkcnt_t:m
++fsfilcnt64_t:m
++fsfilcnt_t:m
+ fsid_t:8__fsid_t
+ gid_t:j
+ id_t:j
+-ino64_t:y
+-ino_t:y
++ino64_t:m
++ino_t:m
+ int16_t:s
+ int32_t:i
+-int64_t:x
++int64_t:l
+ int8_t:a
+-intptr_t:i
++intptr_t:l
+ key_t:i
+-loff_t:x
++loff_t:l
+ mode_t:j
+ nlink_t:j
+-off64_t:x
+-off_t:x
++off64_t:l
++off_t:l
+ pid_t:i
+ pthread_attr_t:14pthread_attr_t
+ pthread_barrier_t:17pthread_barrier_t
+@@ -41,27 +41,27 @@ pthread_rwlock_t:16pthread_rwlock_t
+ pthread_rwlockattr_t:20pthread_rwlockattr_t
+ pthread_spinlock_t:i
+ pthread_t:m
+-quad_t:x
+-register_t:i
+-rlim64_t:y
+-rlim_t:y
++quad_t:l
++register_t:l
++rlim64_t:m
++rlim_t:m
+ sigset_t:10__sigset_t
+-size_t:j
++size_t:m
+ socklen_t:j
+-ssize_t:i
+-suseconds_t:x
+-time_t:x
++ssize_t:l
++suseconds_t:l
++time_t:l
+ u_char:h
+ uid_t:j
+ uint:j
+ u_int:j
+ u_int16_t:t
+ u_int32_t:j
+-u_int64_t:y
++u_int64_t:m
+ u_int8_t:h
+ ulong:m
+ u_long:m
+-u_quad_t:y
++u_quad_t:m
+ useconds_t:j
+ ushort:t
+ u_short:t
+diff --git a/sysdeps/unix/sysv/linux/arc/ld.abilist b/sysdeps/unix/sysv/linux/arc/arc64/ld.abilist
+similarity index 54%
+rename from sysdeps/unix/sysv/linux/arc/ld.abilist
+rename to sysdeps/unix/sysv/linux/arc/arc64/ld.abilist
+index 55f0c2ab9c..3a4bcb95f2 100644
+--- a/sysdeps/unix/sysv/linux/arc/ld.abilist
++++ b/sysdeps/unix/sysv/linux/arc/arc64/ld.abilist
+@@ -1,9 +1,9 @@
+-GLIBC_2.32 __libc_stack_end D 0x4
+-GLIBC_2.32 __stack_chk_guard D 0x4
++GLIBC_2.32 __libc_stack_end D 0x8
++GLIBC_2.32 __stack_chk_guard D 0x8
+ GLIBC_2.32 __tls_get_addr F
+ GLIBC_2.32 _dl_mcount F
+-GLIBC_2.32 _r_debug D 0x14
++GLIBC_2.32 _r_debug D 0x28
+ GLIBC_2.34 __rtld_version_placeholder F
+ GLIBC_2.35 __rseq_flags D 0x4
+-GLIBC_2.35 __rseq_offset D 0x4
++GLIBC_2.35 __rseq_offset D 0x8
+ GLIBC_2.35 __rseq_size D 0x4
+diff --git a/sysdeps/unix/sysv/linux/arc/libBrokenLocale.abilist b/sysdeps/unix/sysv/linux/arc/arc64/libBrokenLocale.abilist
+similarity index 100%
+rename from sysdeps/unix/sysv/linux/arc/libBrokenLocale.abilist
+rename to sysdeps/unix/sysv/linux/arc/arc64/libBrokenLocale.abilist
+diff --git a/sysdeps/unix/sysv/linux/arc/libanl.abilist b/sysdeps/unix/sysv/linux/arc/arc64/libanl.abilist
+similarity index 100%
+rename from sysdeps/unix/sysv/linux/arc/libanl.abilist
+rename to sysdeps/unix/sysv/linux/arc/arc64/libanl.abilist
+diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/arc64/libc.abilist
+similarity index 97%
+rename from sysdeps/unix/sysv/linux/arc/libc.abilist
+rename to sysdeps/unix/sysv/linux/arc/arc64/libc.abilist
+index dfe0c3f7b6..d07723e742 100644
+--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
++++ b/sysdeps/unix/sysv/linux/arc/arc64/libc.abilist
+@@ -1,7 +1,7 @@
+ GLIBC_2.32 _Exit F
+-GLIBC_2.32 _IO_2_1_stderr_ D 0x9c
+-GLIBC_2.32 _IO_2_1_stdin_ D 0x9c
+-GLIBC_2.32 _IO_2_1_stdout_ D 0x9c
++GLIBC_2.32 _IO_2_1_stderr_ D 0xe0
++GLIBC_2.32 _IO_2_1_stdin_ D 0xe0
++GLIBC_2.32 _IO_2_1_stdout_ D 0xe0
+ GLIBC_2.32 _IO_adjust_column F
+ GLIBC_2.32 _IO_adjust_wcolumn F
+ GLIBC_2.32 _IO_default_doallocate F
+@@ -27,7 +27,7 @@ GLIBC_2.32 _IO_file_doallocate F
+ GLIBC_2.32 _IO_file_finish F
+ GLIBC_2.32 _IO_file_fopen F
+ GLIBC_2.32 _IO_file_init F
+-GLIBC_2.32 _IO_file_jumps D 0x54
++GLIBC_2.32 _IO_file_jumps D 0xa8
+ GLIBC_2.32 _IO_file_open F
+ GLIBC_2.32 _IO_file_overflow F
+ GLIBC_2.32 _IO_file_read F
+@@ -67,7 +67,7 @@ GLIBC_2.32 _IO_iter_file F
+ GLIBC_2.32 _IO_iter_next F
+ GLIBC_2.32 _IO_least_wmarker F
+ GLIBC_2.32 _IO_link_in F
+-GLIBC_2.32 _IO_list_all D 0x4
++GLIBC_2.32 _IO_list_all D 0x8
+ GLIBC_2.32 _IO_list_lock F
+ GLIBC_2.32 _IO_list_resetlock F
+ GLIBC_2.32 _IO_list_unlock F
+@@ -120,7 +120,7 @@ GLIBC_2.32 _IO_wdefault_xsgetn F
+ GLIBC_2.32 _IO_wdefault_xsputn F
+ GLIBC_2.32 _IO_wdo_write F
+ GLIBC_2.32 _IO_wdoallocbuf F
+-GLIBC_2.32 _IO_wfile_jumps D 0x54
++GLIBC_2.32 _IO_wfile_jumps D 0xa8
+ GLIBC_2.32 _IO_wfile_overflow F
+ GLIBC_2.32 _IO_wfile_seekoff F
+ GLIBC_2.32 _IO_wfile_sync F
+@@ -128,9 +128,9 @@ GLIBC_2.32 _IO_wfile_underflow F
+ GLIBC_2.32 _IO_wfile_xsputn F
+ GLIBC_2.32 _IO_wmarker_delta F
+ GLIBC_2.32 _IO_wsetb F
+-GLIBC_2.32 ___brk_addr D 0x4
++GLIBC_2.32 ___brk_addr D 0x8
+ GLIBC_2.32 __adjtimex F
+-GLIBC_2.32 __after_morecore_hook D 0x4
++GLIBC_2.32 __after_morecore_hook D 0x8
+ GLIBC_2.32 __argz_count F
+ GLIBC_2.32 __argz_next F
+ GLIBC_2.32 __argz_stringify F
+@@ -155,7 +155,7 @@ GLIBC_2.32 __ctype_b_loc F
+ GLIBC_2.32 __ctype_get_mb_cur_max F
+ GLIBC_2.32 __ctype_tolower_loc F
+ GLIBC_2.32 __ctype_toupper_loc F
+-GLIBC_2.32 __curbrk D 0x4
++GLIBC_2.32 __curbrk D 0x8
+ GLIBC_2.32 __cxa_at_quick_exit F
+ GLIBC_2.32 __cxa_atexit F
+ GLIBC_2.32 __cxa_finalize F
+@@ -173,7 +173,7 @@ GLIBC_2.32 __dprintf_chk F
+ GLIBC_2.32 __dup2 F
+ GLIBC_2.32 __duplocale F
+ GLIBC_2.32 __endmntent F
+-GLIBC_2.32 __environ D 0x4
++GLIBC_2.32 __environ D 0x8
+ GLIBC_2.32 __errno_location F
+ GLIBC_2.32 __explicit_bzero_chk F
+ GLIBC_2.32 __fbufsize F
+@@ -197,7 +197,7 @@ GLIBC_2.32 __fread_chk F
+ GLIBC_2.32 __fread_unlocked_chk F
+ GLIBC_2.32 __freadable F
+ GLIBC_2.32 __freading F
+-GLIBC_2.32 __free_hook D 0x4
++GLIBC_2.32 __free_hook D 0x8
+ GLIBC_2.32 __freelocale F
+ GLIBC_2.32 __fsetlocking F
+ GLIBC_2.32 __fwprintf_chk F
+@@ -289,20 +289,20 @@ GLIBC_2.32 __longjmp_chk F
+ GLIBC_2.32 __lseek F
+ GLIBC_2.32 __lxstat F
+ GLIBC_2.32 __lxstat64 F
+-GLIBC_2.32 __malloc_hook D 0x4
++GLIBC_2.32 __malloc_hook D 0x8
+ GLIBC_2.32 __mbrlen F
+ GLIBC_2.32 __mbrtowc F
+ GLIBC_2.32 __mbsnrtowcs_chk F
+ GLIBC_2.32 __mbsrtowcs_chk F
+ GLIBC_2.32 __mbstowcs_chk F
+-GLIBC_2.32 __memalign_hook D 0x4
++GLIBC_2.32 __memalign_hook D 0x8
+ GLIBC_2.32 __memcpy_chk F
+ GLIBC_2.32 __memmove_chk F
+ GLIBC_2.32 __mempcpy F
+ GLIBC_2.32 __mempcpy_chk F
+ GLIBC_2.32 __memset_chk F
+ GLIBC_2.32 __monstartup F
+-GLIBC_2.32 __morecore D 0x4
++GLIBC_2.32 __morecore D 0x8
+ GLIBC_2.32 __mq_open_2 F
+ GLIBC_2.32 __nanosleep F
+ GLIBC_2.32 __newlocale F
+@@ -329,8 +329,8 @@ GLIBC_2.32 __pread_chk F
+ GLIBC_2.32 __printf_chk F
+ GLIBC_2.32 __printf_fp F
+ GLIBC_2.32 __profile_frequency F
+-GLIBC_2.32 __progname D 0x4
+-GLIBC_2.32 __progname_full D 0x4
++GLIBC_2.32 __progname D 0x8
++GLIBC_2.32 __progname_full D 0x8
+ GLIBC_2.32 __pthread_cleanup_routine F
+ GLIBC_2.32 __pthread_getspecific F
+ GLIBC_2.32 __pthread_key_create F
+@@ -359,12 +359,12 @@ GLIBC_2.32 __pthread_unwind_next F
+ GLIBC_2.32 __ptsname_r_chk F
+ GLIBC_2.32 __pwrite64 F
+ GLIBC_2.32 __rawmemchr F
+-GLIBC_2.32 __rcmd_errstr D 0x4
++GLIBC_2.32 __rcmd_errstr D 0x8
+ GLIBC_2.32 __read F
+ GLIBC_2.32 __read_chk F
+ GLIBC_2.32 __readlink_chk F
+ GLIBC_2.32 __readlinkat_chk F
+-GLIBC_2.32 __realloc_hook D 0x4
++GLIBC_2.32 __realloc_hook D 0x8
+ GLIBC_2.32 __realpath_chk F
+ GLIBC_2.32 __recv_chk F
+ GLIBC_2.32 __recvfrom_chk F
+@@ -452,7 +452,7 @@ GLIBC_2.32 __swprintf_chk F
+ GLIBC_2.32 __sysconf F
+ GLIBC_2.32 __syslog_chk F
+ GLIBC_2.32 __sysv_signal F
+-GLIBC_2.32 __timezone D 0x4
++GLIBC_2.32 __timezone D 0x8
+ GLIBC_2.32 __toascii_l F
+ GLIBC_2.32 __tolower_l F
+ GLIBC_2.32 __toupper_l F
+@@ -461,7 +461,7 @@ GLIBC_2.32 __towctrans_l F
+ GLIBC_2.32 __towlower_l F
+ GLIBC_2.32 __towupper_l F
+ GLIBC_2.32 __ttyname_r_chk F
+-GLIBC_2.32 __tzname D 0x8
++GLIBC_2.32 __tzname D 0x10
+ GLIBC_2.32 __uflow F
+ GLIBC_2.32 __underflow F
+ GLIBC_2.32 __uselocale F
+@@ -531,7 +531,7 @@ GLIBC_2.32 __xstat F
+ GLIBC_2.32 __xstat64 F
+ GLIBC_2.32 _dl_mcount_wrapper F
+ GLIBC_2.32 _dl_mcount_wrapper_check F
+-GLIBC_2.32 _environ D 0x4
++GLIBC_2.32 _environ D 0x8
+ GLIBC_2.32 _exit F
+ GLIBC_2.32 _flush_cache F
+ GLIBC_2.32 _flushlbf F
+@@ -540,7 +540,7 @@ GLIBC_2.32 _longjmp F
+ GLIBC_2.32 _mcleanup F
+ GLIBC_2.32 _mcount F
+ GLIBC_2.32 _nl_default_dirname D 0x12
+-GLIBC_2.32 _nl_domain_bindings D 0x4
++GLIBC_2.32 _nl_domain_bindings D 0x8
+ GLIBC_2.32 _nl_msg_cat_cntr D 0x4
+ GLIBC_2.32 _obstack_allocated_p F
+ GLIBC_2.32 _obstack_begin F
+@@ -552,8 +552,8 @@ GLIBC_2.32 _pthread_cleanup_pop F
+ GLIBC_2.32 _pthread_cleanup_pop_restore F
+ GLIBC_2.32 _pthread_cleanup_push F
+ GLIBC_2.32 _pthread_cleanup_push_defer F
+-GLIBC_2.32 _res D 0x200
+-GLIBC_2.32 _res_hconf D 0x30
++GLIBC_2.32 _res D 0x238
++GLIBC_2.32 _res_hconf D 0x48
+ GLIBC_2.32 _setjmp F
+ GLIBC_2.32 _tolower F
+ GLIBC_2.32 _toupper F
+@@ -592,9 +592,9 @@ GLIBC_2.32 argp_error F
+ GLIBC_2.32 argp_failure F
+ GLIBC_2.32 argp_help F
+ GLIBC_2.32 argp_parse F
+-GLIBC_2.32 argp_program_bug_address D 0x4
+-GLIBC_2.32 argp_program_version D 0x4
+-GLIBC_2.32 argp_program_version_hook D 0x4
++GLIBC_2.32 argp_program_bug_address D 0x8
++GLIBC_2.32 argp_program_version D 0x8
++GLIBC_2.32 argp_program_version_hook D 0x8
+ GLIBC_2.32 argp_state_help F
+ GLIBC_2.32 argp_usage F
+ GLIBC_2.32 argz_add F
+@@ -734,7 +734,7 @@ GLIBC_2.32 endttyent F
+ GLIBC_2.32 endusershell F
+ GLIBC_2.32 endutent F
+ GLIBC_2.32 endutxent F
+-GLIBC_2.32 environ D 0x4
++GLIBC_2.32 environ D 0x8
+ GLIBC_2.32 envz_add F
+ GLIBC_2.32 envz_entry F
+ GLIBC_2.32 envz_get F
+@@ -753,7 +753,7 @@ GLIBC_2.32 error F
+ GLIBC_2.32 error_at_line F
+ GLIBC_2.32 error_message_count D 0x4
+ GLIBC_2.32 error_one_per_line D 0x4
+-GLIBC_2.32 error_print_progname D 0x4
++GLIBC_2.32 error_print_progname D 0x8
+ GLIBC_2.32 errx F
+ GLIBC_2.32 ether_aton F
+ GLIBC_2.32 ether_aton_r F
+@@ -1078,7 +1078,7 @@ GLIBC_2.32 grantpt F
+ GLIBC_2.32 group_member F
+ GLIBC_2.32 gsignal F
+ GLIBC_2.32 gtty F
+-GLIBC_2.32 h_errlist D 0x14
++GLIBC_2.32 h_errlist D 0x28
+ GLIBC_2.32 h_nerr D 0x4
+ GLIBC_2.32 hasmntopt F
+ GLIBC_2.32 hcreate F
+@@ -1260,7 +1260,7 @@ GLIBC_2.32 malloc_stats F
+ GLIBC_2.32 malloc_trim F
+ GLIBC_2.32 malloc_usable_size F
+ GLIBC_2.32 mallopt F
+-GLIBC_2.32 mallwatch D 0x4
++GLIBC_2.32 mallwatch D 0x8
+ GLIBC_2.32 mblen F
+ GLIBC_2.32 mbrlen F
+ GLIBC_2.32 mbrtoc16 F
+@@ -1367,7 +1367,7 @@ GLIBC_2.32 ntohs F
+ GLIBC_2.32 ntp_adjtime F
+ GLIBC_2.32 ntp_gettime F
+ GLIBC_2.32 ntp_gettimex F
+-GLIBC_2.32 obstack_alloc_failed_handler D 0x4
++GLIBC_2.32 obstack_alloc_failed_handler D 0x8
+ GLIBC_2.32 obstack_exit_failure D 0x4
+ GLIBC_2.32 obstack_free F
+ GLIBC_2.32 obstack_printf F
+@@ -1383,7 +1383,7 @@ GLIBC_2.32 openat64 F
+ GLIBC_2.32 opendir F
+ GLIBC_2.32 openlog F
+ GLIBC_2.32 openpty F
+-GLIBC_2.32 optarg D 0x4
++GLIBC_2.32 optarg D 0x8
+ GLIBC_2.32 opterr D 0x4
+ GLIBC_2.32 optind D 0x4
+ GLIBC_2.32 optopt D 0x4
+@@ -1449,8 +1449,8 @@ GLIBC_2.32 prlimit64 F
+ GLIBC_2.32 process_vm_readv F
+ GLIBC_2.32 process_vm_writev F
+ GLIBC_2.32 profil F
+-GLIBC_2.32 program_invocation_name D 0x4
+-GLIBC_2.32 program_invocation_short_name D 0x4
++GLIBC_2.32 program_invocation_name D 0x8
++GLIBC_2.32 program_invocation_short_name D 0x8
+ GLIBC_2.32 pselect F
+ GLIBC_2.32 psiginfo F
+ GLIBC_2.32 psignal F
+@@ -1637,7 +1637,7 @@ GLIBC_2.32 re_search F
+ GLIBC_2.32 re_search_2 F
+ GLIBC_2.32 re_set_registers F
+ GLIBC_2.32 re_set_syntax F
+-GLIBC_2.32 re_syntax_options D 0x4
++GLIBC_2.32 re_syntax_options D 0x8
+ GLIBC_2.32 read F
+ GLIBC_2.32 readahead F
+ GLIBC_2.32 readdir F
+@@ -1850,9 +1850,9 @@ GLIBC_2.32 statfs64 F
+ GLIBC_2.32 statvfs F
+ GLIBC_2.32 statvfs64 F
+ GLIBC_2.32 statx F
+-GLIBC_2.32 stderr D 0x4
+-GLIBC_2.32 stdin D 0x4
+-GLIBC_2.32 stdout D 0x4
++GLIBC_2.32 stderr D 0x8
++GLIBC_2.32 stdin D 0x8
++GLIBC_2.32 stdout D 0x8
+ GLIBC_2.32 stpcpy F
+ GLIBC_2.32 stpncpy F
+ GLIBC_2.32 strcasecmp F
+@@ -1984,7 +1984,7 @@ GLIBC_2.32 timerfd_gettime F
+ GLIBC_2.32 timerfd_settime F
+ GLIBC_2.32 times F
+ GLIBC_2.32 timespec_get F
+-GLIBC_2.32 timezone D 0x4
++GLIBC_2.32 timezone D 0x8
+ GLIBC_2.32 tmpfile F
+ GLIBC_2.32 tmpfile64 F
+ GLIBC_2.32 tmpnam F
+@@ -2013,7 +2013,7 @@ GLIBC_2.32 ttyname_r F
+ GLIBC_2.32 ttyslot F
+ GLIBC_2.32 twalk F
+ GLIBC_2.32 twalk_r F
+-GLIBC_2.32 tzname D 0x8
++GLIBC_2.32 tzname D 0x10
+ GLIBC_2.32 tzset F
+ GLIBC_2.32 ualarm F
+ GLIBC_2.32 ulckpwdf F
+diff --git a/sysdeps/unix/sysv/linux/arc/libc_malloc_debug.abilist b/sysdeps/unix/sysv/linux/arc/arc64/libc_malloc_debug.abilist
+similarity index 80%
+rename from sysdeps/unix/sysv/linux/arc/libc_malloc_debug.abilist
+rename to sysdeps/unix/sysv/linux/arc/arc64/libc_malloc_debug.abilist
+index cf9f611403..c50393d8cc 100644
+--- a/sysdeps/unix/sysv/linux/arc/libc_malloc_debug.abilist
++++ b/sysdeps/unix/sysv/linux/arc/arc64/libc_malloc_debug.abilist
+@@ -1,7 +1,7 @@
+-GLIBC_2.32 __free_hook D 0x4
+-GLIBC_2.32 __malloc_hook D 0x4
+-GLIBC_2.32 __memalign_hook D 0x4
+-GLIBC_2.32 __realloc_hook D 0x4
++GLIBC_2.32 __free_hook D 0x8
++GLIBC_2.32 __malloc_hook D 0x8
++GLIBC_2.32 __memalign_hook D 0x8
++GLIBC_2.32 __realloc_hook D 0x8
+ GLIBC_2.32 aligned_alloc F
+ GLIBC_2.32 calloc F
+ GLIBC_2.32 free F
+diff --git a/sysdeps/unix/sysv/linux/arc/libcrypt.abilist b/sysdeps/unix/sysv/linux/arc/arc64/libcrypt.abilist
+similarity index 100%
+rename from sysdeps/unix/sysv/linux/arc/libcrypt.abilist
+rename to sysdeps/unix/sysv/linux/arc/arc64/libcrypt.abilist
+diff --git a/sysdeps/unix/sysv/linux/arc/libdl.abilist b/sysdeps/unix/sysv/linux/arc/arc64/libdl.abilist
+similarity index 100%
+rename from sysdeps/unix/sysv/linux/arc/libdl.abilist
+rename to sysdeps/unix/sysv/linux/arc/arc64/libdl.abilist
+diff --git a/sysdeps/unix/sysv/linux/arc/libm.abilist b/sysdeps/unix/sysv/linux/arc/arc64/libm.abilist
+similarity index 100%
+rename from sysdeps/unix/sysv/linux/arc/libm.abilist
+rename to sysdeps/unix/sysv/linux/arc/arc64/libm.abilist
+diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/arc64/libpthread.abilist
+similarity index 100%
+rename from sysdeps/unix/sysv/linux/arc/libpthread.abilist
+rename to sysdeps/unix/sysv/linux/arc/arc64/libpthread.abilist
+diff --git a/sysdeps/unix/sysv/linux/arc/libresolv.abilist b/sysdeps/unix/sysv/linux/arc/arc64/libresolv.abilist
+similarity index 95%
+rename from sysdeps/unix/sysv/linux/arc/libresolv.abilist
+rename to sysdeps/unix/sysv/linux/arc/arc64/libresolv.abilist
+index 47c5072f61..76ab1dedfb 100644
+--- a/sysdeps/unix/sysv/linux/arc/libresolv.abilist
++++ b/sysdeps/unix/sysv/linux/arc/arc64/libresolv.abilist
+@@ -10,7 +10,7 @@ GLIBC_2.32 __loc_ntoa F
+ GLIBC_2.32 __p_cdname F
+ GLIBC_2.32 __p_cdnname F
+ GLIBC_2.32 __p_class F
+-GLIBC_2.32 __p_class_syms D 0x54
++GLIBC_2.32 __p_class_syms D 0xa8
+ GLIBC_2.32 __p_fqname F
+ GLIBC_2.32 __p_fqnname F
+ GLIBC_2.32 __p_option F
+@@ -18,7 +18,7 @@ GLIBC_2.32 __p_query F
+ GLIBC_2.32 __p_rcode F
+ GLIBC_2.32 __p_time F
+ GLIBC_2.32 __p_type F
+-GLIBC_2.32 __p_type_syms D 0x228
++GLIBC_2.32 __p_type_syms D 0x450
+ GLIBC_2.32 __putlong F
+ GLIBC_2.32 __putshort F
+ GLIBC_2.32 __res_close F
+diff --git a/sysdeps/unix/sysv/linux/arc/librt.abilist b/sysdeps/unix/sysv/linux/arc/arc64/librt.abilist
+similarity index 100%
+rename from sysdeps/unix/sysv/linux/arc/librt.abilist
+rename to sysdeps/unix/sysv/linux/arc/arc64/librt.abilist
+diff --git a/sysdeps/unix/sysv/linux/arc/libthread_db.abilist b/sysdeps/unix/sysv/linux/arc/arc64/libthread_db.abilist
+similarity index 100%
+rename from sysdeps/unix/sysv/linux/arc/libthread_db.abilist
+rename to sysdeps/unix/sysv/linux/arc/arc64/libthread_db.abilist
+diff --git a/sysdeps/unix/sysv/linux/arc/libutil.abilist b/sysdeps/unix/sysv/linux/arc/arc64/libutil.abilist
+similarity index 100%
+rename from sysdeps/unix/sysv/linux/arc/libutil.abilist
+rename to sysdeps/unix/sysv/linux/arc/arc64/libutil.abilist
+diff --git a/sysdeps/unix/sysv/linux/arc/bits/fcntl.h b/sysdeps/unix/sysv/linux/arc/bits/fcntl.h
+new file mode 100644
+index 0000000000..20292fd32f
+--- /dev/null
++++ b/sysdeps/unix/sysv/linux/arc/bits/fcntl.h
+@@ -0,0 +1,62 @@
++/* O_*, F_*, FD_* bit values for Linux / ARC
++ Copyright (C) 2011-2021 Free Software Foundation, Inc.
++
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it 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.
++
++ The GNU C Library 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
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <https://www.gnu.org/licenses/>. */
++
++#ifndef _FCNTL_H
++# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
++#endif
++
++#include <bits/wordsize.h>
++
++/* In 64-bit ISA files are always with 64bit off_t and F_*LK64 are the same as
++ non-64-bit versions. It will need to be revised for 128-bit. */
++#if __WORDSIZE == 64
++# define __O_LARGEFILE 0
++
++# define F_GETLK64 5 /* Get record locking info. */
++# define F_SETLK64 6 /* Set record locking info (non-blocking). */
++# define F_SETLKW64 7 /* Set record locking info (blocking). */
++#endif
++
++struct flock
++ {
++ short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
++ short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
++#if __WORDSIZE == 64 || !defined __USE_FILE_OFFSET64
++ __off_t l_start; /* Offset where the lock begins. */
++ __off_t l_len; /* Size of the locked area; zero means until EOF. */
++#else
++ __off64_t l_start; /* Offset where the lock begins. */
++ __off64_t l_len; /* Size of the locked area; zero means until EOF. */
++#endif
++ __pid_t l_pid; /* Process holding the lock. */
++ };
++
++#ifdef __USE_LARGEFILE64
++struct flock64
++ {
++ short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
++ short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
++ __off64_t l_start; /* Offset where the lock begins. */
++ __off64_t l_len; /* Size of the locked area; zero means until EOF. */
++ __pid_t l_pid; /* Process holding the lock. */
++ };
++#endif
++
++/* Include generic Linux declarations. */
++#include <bits/fcntl-linux.h>
+diff --git a/sysdeps/unix/sysv/linux/arc/bits/types/__sigset_t.h b/sysdeps/unix/sysv/linux/arc/bits/types/__sigset_t.h
+index 795638a30b..6be69437f8 100644
+--- a/sysdeps/unix/sysv/linux/arc/bits/types/__sigset_t.h
++++ b/sysdeps/unix/sysv/linux/arc/bits/types/__sigset_t.h
+@@ -3,7 +3,7 @@
+ #define ____sigset_t_defined
+
+ /* Linux asm-generic syscall ABI expects sigset_t to hold 64 signals. */
+-#define _SIGSET_NWORDS (64 / (8 * sizeof (unsigned long int)))
++#define _SIGSET_NWORDS 2
+ typedef struct
+ {
+ unsigned long int __val[_SIGSET_NWORDS];
+diff --git a/sysdeps/unix/sysv/linux/arc/clone.S b/sysdeps/unix/sysv/linux/arc/clone.S
+index d8c7b93d1c..364fa1edde 100644
+--- a/sysdeps/unix/sysv/linux/arc/clone.S
++++ b/sysdeps/unix/sysv/linux/arc/clone.S
+@@ -31,41 +31,41 @@
+ clone syscall in kernel (ABI: CONFIG_CLONE_BACKWARDS)
+
+ int sys_clone(unsigned long int clone_flags,
+- unsigned long int newsp,
++ unsigned long int newsp,
+ int __user *parent_tidptr,
+ void *tls,
+ int __user *child_tidptr). */
+
+ ENTRY (__clone)
+- cmp r0, 0 /* @fn can't be NULL. */
+- and r1,r1,-4 /* @child_stack be 4 bytes aligned per ABI. */
+- cmp.ne r1, 0 /* @child_stack can't be NULL. */
++ CMPR r0, 0 /* @fn can't be NULL. */
++ ANDR r1, r1, -REGSZ /* @child_stack 4/8 aligned per ABI. */
++ CMPR.ne r1, 0 /* @child_stack can't be NULL. */
+ bz L (__sys_err)
+
+ /* save some of the orig args
+ r0 containing @fn will be clobbered AFTER syscall (with ret val)
+ rest are clobbered BEFORE syscall due to different arg ordering. */
+- mov r10, r0 /* @fn. */
+- mov r11, r3 /* @args. */
+- mov r12, r2 /* @clone_flags. */
+- mov r9, r5 /* @tls. */
++ MOVR r10, r0 /* @fn. */
++ MOVR r11, r3 /* @args. */
++ MOVR r12, r2 /* @clone_flags. */
++ MOVR r9, r5 /* @tls. */
+
+ /* adjust libc args for syscall. */
+
+- mov r0, r2 /* libc @flags is 1st syscall arg. */
+- mov r2, r4 /* libc @ptid. */
+- mov r3, r5 /* libc @tls. */
+- mov r4, r6 /* libc @ctid. */
++ MOVR r0, r2 /* libc @flags is 1st syscall arg. */
++ MOVR r2, r4 /* libc @ptid. */
++ MOVR r3, r5 /* libc @tls. */
++ MOVR r4, r6 /* libc @ctid. */
+ mov r8, __NR_clone
+ ARC_TRAP_INSN
+
+- cmp r0, 0 /* return code : 0 new process, !0 parent. */
++ CMPR r0, 0 /* return code : 0 new process, !0 parent. */
+ beq thread_start_clone
+ blt L (__sys_err2) /* < 0 (signed) error. */
+ j [blink] /* Parent returns. */
+
+ L (__sys_err):
+- mov r0, -EINVAL
++ MOVR r0, -EINVAL
+ L (__sys_err2):
+ /* (1) No need to make -ve kernel error code as positive errno
+ __syscall_error expects the -ve error code returned by kernel
+@@ -87,7 +87,7 @@ thread_start_clone:
+
+ /* Child jumps off to @fn with @arg as argument. */
+ jl.d [r10]
+- mov r0, r11
++ MOVR r0, r11
+
+ /* exit() with result from @fn (already in r0). */
+ mov r8, __NR_exit
+diff --git a/sysdeps/unix/sysv/linux/arc/clone3.S b/sysdeps/unix/sysv/linux/arc/clone3.S
+index 87a8272a39..7fc61524b5 100644
+--- a/sysdeps/unix/sysv/linux/arc/clone3.S
++++ b/sysdeps/unix/sysv/linux/arc/clone3.S
+@@ -37,9 +37,9 @@
+ ENTRY(__clone3)
+
+ /* Save args for the child. */
+- mov r10, r0 /* cl_args */
+- mov r11, r2 /* func */
+- mov r12, r3 /* args */
++ MOVR r10, r0 /* cl_args */
++ MOVR r11, r2 /* func */
++ MOVR r12, r3 /* args */
+
+ /* Sanity check args. */
+ breq r10, 0, L (__sys_err) /* No NULL cl_args pointer. */
+@@ -49,17 +49,17 @@ ENTRY(__clone3)
+ r8: system call number
+ r0: cl_args
+ r1: size */
+- mov r0, r10
++ MOVR r0, r10
+ mov r8, __NR_clone3
+ ARC_TRAP_INSN
+
+- cmp r0, 0
++ CMPR r0, 0
+ beq thread_start_clone3 /* Child returns. */
+ blt L (__sys_err2)
+ j [blink] /* Parent returns. */
+
+ L (__sys_err):
+- mov r0, -EINVAL
++ MOVR r0, -EINVAL
+ L (__sys_err2):
+ b __syscall_error
+ PSEUDO_END (__clone3)
+@@ -74,7 +74,7 @@ thread_start_clone3:
+
+ /* Child jumps off to @fn with @arg as argument. */
+ jl.d [r11]
+- mov r0, r12
++ MOVR r0, r12
+
+ /* exit() with result from @fn (already in r0). */
+ mov r8, __NR_exit
+diff --git a/sysdeps/unix/sysv/linux/arc/getcontext.S b/sysdeps/unix/sysv/linux/arc/getcontext.S
+index eb75c8ce02..851981b64c 100644
+--- a/sysdeps/unix/sysv/linux/arc/getcontext.S
++++ b/sysdeps/unix/sysv/linux/arc/getcontext.S
+@@ -26,39 +26,58 @@
+ ENTRY (__getcontext)
+
+ /* Callee saved registers. */
+- add r2, r0, UCONTEXT_MCONTEXT
+- STR (r13, r2, 37)
+- STR (r14, r2, 36)
+- STR (r15, r2, 35)
+- STR (r16, r2, 34)
+- STR (r17, r2, 33)
+- STR (r18, r2, 32)
+- STR (r19, r2, 31)
+- STR (r20, r2, 30)
+- STR (r21, r2, 29)
+- STR (r22, r2, 28)
+- STR (r23, r2, 27)
+- STR (r24, r2, 26)
++ ADDR r2, r0, UCONTEXT_MCONTEXT
++ STR.as r13, r2, 37
++ STR.as r14, r2, 36
++ STR.as r15, r2, 35
++ STR.as r16, r2, 34
++ STR.as r17, r2, 33
++ STR.as r18, r2, 32
++ STR.as r19, r2, 31
++ STR.as r20, r2, 30
++ STR.as r21, r2, 29
++ STR.as r22, r2, 28
++ STR.as r23, r2, 27
++ STR.as r24, r2, 26
+
+- STR (blink, r2, 7)
+- STR (fp, r2, 8)
+- STR (gp, r2, 9)
+- STR (sp, r2, 23)
++ STR.as blink, r2, 7
++ STR.as fp, r2, 8
++ STR.as gp, r2, 9
++ STR.as sp, r2, 23
++
++#if defined (__ARC_FLOAT_ABI_HARD__)
++ FSTR.as f16, r2, 51
++ FSTR.as f17, r2, 52
++ FSTR.as f18, r2, 53
++ FSTR.as f19, r2, 54
++ FSTR.as f20, r2, 55
++ FSTR.as f21, r2, 56
++ FSTR.as f22, r2, 57
++ FSTR.as f23, r2, 58
++ FSTR.as f24, r2, 59
++ FSTR.as f25, r2, 60
++ FSTR.as f26, r2, 61
++ FSTR.as f27, r2, 62
++ FSTR.as f28, r2, 63
++ FSTR.as f29, r2, 64
++ FSTR.as f30, r2, 65
++ FSTR.as f31, r2, 66
++#endif
+
+ /* Save 0 in r0 placeholder to return 0 when this @ucp activated. */
+- mov r9, 0
+- STR (r9, r2, 22)
++ mov r9, 0
++ STR.as r9, r2, 22
+
+ /* rt_sigprocmask (SIG_BLOCK, NULL, &ucp->uc_sigmask, _NSIG8). */
+- mov r3, _NSIG8
+- add r2, r0, UCONTEXT_SIGMASK
+- mov r1, 0
+- mov r0, SIG_BLOCK
+- mov r8, __NR_rt_sigprocmask
++ mov r3, _NSIG8
++ ADDR r2, r0, UCONTEXT_SIGMASK
++ mov r1, 0
++ mov r0, SIG_BLOCK
++ mov r8, __NR_rt_sigprocmask
+ ARC_TRAP_INSN
+- brhi r0, -1024, L (call_syscall_err)
++ BRRhi r0, -1024, L (call_syscall_err)
+ j.d [blink]
+- mov r0, 0 /* Success, error handled in .Lcall_syscall_err. */
++ mov r0, 0 /* Success, error handled in .Lcall_syscall_err. */
+
+ PSEUDO_END (__getcontext)
+ weak_alias (__getcontext, getcontext)
+diff --git a/sysdeps/unix/sysv/linux/arc/setcontext.S b/sysdeps/unix/sysv/linux/arc/setcontext.S
+index 12708379d2..e0b8b1a183 100644
+--- a/sysdeps/unix/sysv/linux/arc/setcontext.S
++++ b/sysdeps/unix/sysv/linux/arc/setcontext.S
+@@ -24,46 +24,74 @@
+
+ ENTRY (__setcontext)
+
+- mov r9, r0 /* Stash @ucp across syscall. */
++ MOVR r9, r0 /* Stash @ucp across syscall. */
+
+ /* rt_sigprocmask (SIG_SETMASK, &ucp->uc_sigmask, NULL, _NSIG8). */
+ mov r3, _NSIG8
+ mov r2, 0
+- add r1, r0, UCONTEXT_SIGMASK
++ ADDR r1, r0, UCONTEXT_SIGMASK
+ mov r0, SIG_SETMASK
+ mov r8, __NR_rt_sigprocmask
+ ARC_TRAP_INSN
+- brhi r0, -1024, L (call_syscall_err)
++ BRRhi r0, -1024, L (call_syscall_err)
+
+ /* Restore scratch/arg regs for makecontext case. */
+ add r9, r9, UCONTEXT_MCONTEXT
+- LDR (r0, r9, 22)
+- LDR (r1, r9, 21)
+- LDR (r2, r9, 20)
+- LDR (r3, r9, 19)
+- LDR (r4, r9, 18)
+- LDR (r5, r9, 17)
+- LDR (r6, r9, 16)
+- LDR (r7, r9, 15)
++ LDR.as r0, r9, 22
++ LDR.as r1, r9, 21
++ LDR.as r2, r9, 20
++ LDR.as r3, r9, 19
++ LDR.as r4, r9, 18
++ LDR.as r5, r9, 17
++ LDR.as r6, r9, 16
++ LDR.as r7, r9, 15
+
+ /* Restore callee saved registers. */
+- LDR (r13, r9, 37)
+- LDR (r14, r9, 36)
+- LDR (r15, r9, 35)
+- LDR (r16, r9, 34)
+- LDR (r17, r9, 33)
+- LDR (r18, r9, 32)
+- LDR (r19, r9, 31)
+- LDR (r20, r9, 30)
+- LDR (r21, r9, 29)
+- LDR (r22, r9, 28)
+- LDR (r23, r9, 27)
+- LDR (r24, r9, 26)
+-
+- LDR (blink, r9, 7)
+- LDR (fp, r9, 8)
+- LDR (gp, r9, 9)
+- LDR (sp, r9, 23)
++ LDR.as r13, r9, 37
++ LDR.as r14, r9, 36
++ LDR.as r15, r9, 35
++ LDR.as r16, r9, 34
++ LDR.as r17, r9, 33
++ LDR.as r18, r9, 32
++ LDR.as r19, r9, 31
++ LDR.as r20, r9, 30
++ LDR.as r21, r9, 29
++ LDR.as r22, r9, 28
++ LDR.as r23, r9, 27
++ LDR.as r24, r9, 26
++
++ LDR.as blink, r9, 7
++ LDR.as fp, r9, 8
++ LDR.as gp, r9, 9
++ LDR.as sp, r9, 23
++
++#if defined (__ARC_FLOAT_ABI_HARD__)
++ FLDR.as f0, r9, 43
++ FLDR.as f1, r9, 44
++ FLDR.as f2, r9, 45
++ FLDR.as f3, r9, 46
++ FLDR.as f4, r9, 47
++ FLDR.as f5, r9, 48
++ FLDR.as f6, r9, 49
++ FLDR.as f7, r9, 50
++
++ FLDR.as f16, r9, 51
++ FLDR.as f17, r9, 52
++ FLDR.as f18, r9, 53
++ FLDR.as f19, r9, 54
++ FLDR.as f20, r9, 55
++ FLDR.as f21, r9, 56
++ FLDR.as f22, r9, 57
++ FLDR.as f23, r9, 58
++ FLDR.as f24, r9, 59
++ FLDR.as f25, r9, 60
++ FLDR.as f26, r9, 61
++ FLDR.as f27, r9, 62
++ FLDR.as f28, r9, 63
++ FLDR.as f29, r9, 64
++ FLDR.as f30, r9, 66
++ FLDR.as f31, r9, 68
++#endif
+
+ j [blink]
+
+@@ -83,8 +111,8 @@ ENTRY (__startcontext)
+ jl [r14]
+
+ /* If uc_link (r15) call setcontext with that. */
+- mov r0, r15
+- breq r0, 0, 1f
++ MOVR r0, r15
++ BRReq r0, 0, 1f
+
+ bl __setcontext
+ 1:
+diff --git a/sysdeps/unix/sysv/linux/arc/shlib-versions b/sysdeps/unix/sysv/linux/arc/shlib-versions
+index 343c0a0450..92a61e53fc 100644
+--- a/sysdeps/unix/sysv/linux/arc/shlib-versions
++++ b/sysdeps/unix/sysv/linux/arc/shlib-versions
+@@ -1,7 +1,15 @@
+ DEFAULT GLIBC_2.32
+
++%ifdef HAVE_ARC32
++ld=ld-linux-arc32.so.2
++%else
++%ifdef HAVE_ARC64
++ld=ld-linux-arc64.so.2
++%else
+ %ifdef HAVE_ARC_BE
+ ld=ld-linux-arceb.so.2
+ %else
+ ld=ld-linux-arc.so.2
+ %endif
++%endif
++%endif
+diff --git a/sysdeps/unix/sysv/linux/arc/swapcontext.S b/sysdeps/unix/sysv/linux/arc/swapcontext.S
+index 76111af596..ff1741a08a 100644
+--- a/sysdeps/unix/sysv/linux/arc/swapcontext.S
++++ b/sysdeps/unix/sysv/linux/arc/swapcontext.S
+@@ -24,69 +24,88 @@ ENTRY (__swapcontext)
+
+ /* Save context into @oucp pointed to by r0. */
+
+- add r2, r0, UCONTEXT_MCONTEXT
+- STR (r13, r2, 37)
+- STR (r14, r2, 36)
+- STR (r15, r2, 35)
+- STR (r16, r2, 34)
+- STR (r17, r2, 33)
+- STR (r18, r2, 32)
+- STR (r19, r2, 31)
+- STR (r20, r2, 30)
+- STR (r21, r2, 29)
+- STR (r22, r2, 28)
+- STR (r23, r2, 27)
+- STR (r24, r2, 26)
+-
+- STR (blink, r2, 7)
+- STR (fp, r2, 8)
+- STR (gp, r2, 9)
+- STR (sp, r2, 23)
++ ADDR r2, r0, UCONTEXT_MCONTEXT
++ STR.as r13, r2, 37
++ STR.as r14, r2, 36
++ STR.as r15, r2, 35
++ STR.as r16, r2, 34
++ STR.as r17, r2, 33
++ STR.as r18, r2, 32
++ STR.as r19, r2, 31
++ STR.as r20, r2, 30
++ STR.as r21, r2, 29
++ STR.as r22, r2, 28
++ STR.as r23, r2, 27
++ STR.as r24, r2, 26
++
++ STR.as blink, r2, 7
++ STR.as fp, r2, 8
++ STR.as gp, r2, 9
++ STR.as sp, r2, 23
++
++#if defined (__ARC_FLOAT_ABI_HARD__)
++ FSTR.as f16, r2, 51
++ FSTR.as f17, r2, 52
++ FSTR.as f18, r2, 53
++ FSTR.as f19, r2, 54
++ FSTR.as f20, r2, 55
++ FSTR.as f21, r2, 56
++ FSTR.as f22, r2, 57
++ FSTR.as f23, r2, 58
++ FSTR.as f24, r2, 59
++ FSTR.as f25, r2, 60
++ FSTR.as f26, r2, 61
++ FSTR.as f27, r2, 62
++ FSTR.as f28, r2, 63
++ FSTR.as f29, r2, 64
++ FSTR.as f30, r2, 65
++ FSTR.as f31, r2, 66
++#endif
+
+ /* Save 0 in r0 placeholder to return 0 when @oucp activated. */
+- mov r9, 0
+- STR (r9, r2, 22)
++ mov r9, 0
++ STR.as r9, r2, 22
+
+ /* Load context from @ucp. */
+
+- mov r9, r1 /* Safekeep @ucp across syscall. */
++ MOVR r9, r1 /* Safekeep @ucp across syscall. */
+
+ /* rt_sigprocmask (SIG_SETMASK, &ucp->uc_sigmask, &oucp->uc_sigmask, _NSIG8) */
+- mov r3, _NSIG8
+- add r2, r0, UCONTEXT_SIGMASK
+- add r1, r1, UCONTEXT_SIGMASK
+- mov r0, SIG_SETMASK
+- mov r8, __NR_rt_sigprocmask
++ mov r3, _NSIG8
++ ADDR r2, r0, UCONTEXT_SIGMASK
++ ADDR r1, r1, UCONTEXT_SIGMASK
++ mov r0, SIG_SETMASK
++ mov r8, __NR_rt_sigprocmask
+ ARC_TRAP_INSN
+- brhi r0, -1024, L (call_syscall_err)
+-
+- add r9, r9, UCONTEXT_MCONTEXT
+- LDR (r0, r9, 22)
+- LDR (r1, r9, 21)
+- LDR (r2, r9, 20)
+- LDR (r3, r9, 19)
+- LDR (r4, r9, 18)
+- LDR (r5, r9, 17)
+- LDR (r6, r9, 16)
+- LDR (r7, r9, 15)
+-
+- LDR (r13, r9, 37)
+- LDR (r14, r9, 36)
+- LDR (r15, r9, 35)
+- LDR (r16, r9, 34)
+- LDR (r17, r9, 33)
+- LDR (r18, r9, 32)
+- LDR (r19, r9, 31)
+- LDR (r20, r9, 30)
+- LDR (r21, r9, 29)
+- LDR (r22, r9, 28)
+- LDR (r23, r9, 27)
+- LDR (r24, r9, 26)
+-
+- LDR (blink, r9, 7)
+- LDR (fp, r9, 8)
+- LDR (gp, r9, 9)
+- LDR (sp, r9, 23)
++ BRRhi r0, -1024, L (call_syscall_err)
++
++ ADDR r9, r9, UCONTEXT_MCONTEXT
++ LDR.as r0, r9, 22
++ LDR.as r1, r9, 21
++ LDR.as r2, r9, 20
++ LDR.as r3, r9, 19
++ LDR.as r4, r9, 18
++ LDR.as r5, r9, 17
++ LDR.as r6, r9, 16
++ LDR.as r7, r9, 15
++
++ LDR.as r13, r9, 37
++ LDR.as r14, r9, 36
++ LDR.as r15, r9, 35
++ LDR.as r16, r9, 34
++ LDR.as r17, r9, 33
++ LDR.as r18, r9, 32
++ LDR.as r19, r9, 31
++ LDR.as r20, r9, 30
++ LDR.as r21, r9, 29
++ LDR.as r22, r9, 28
++ LDR.as r23, r9, 27
++ LDR.as r24, r9, 26
++
++ LDR.as blink, r9, 7
++ LDR.as fp, r9, 8
++ LDR.as gp, r9, 9
++ LDR.as sp, r9, 23
+
+ j [blink]
+
+diff --git a/sysdeps/unix/sysv/linux/arc/sys/ucontext.h b/sysdeps/unix/sysv/linux/arc/sys/ucontext.h
+index 831b81a922..3a0f1d4aba 100644
+--- a/sysdeps/unix/sysv/linux/arc/sys/ucontext.h
++++ b/sysdeps/unix/sysv/linux/arc/sys/ucontext.h
+@@ -42,6 +42,7 @@ typedef struct
+ unsigned long int __efa;
+ unsigned long int __stop_pc;
+ unsigned long int __r30, __r58, __r59;
++ unsigned long int __fpr[32];
+ } mcontext_t;
+
+ /* Userlevel context. */
+diff --git a/sysdeps/unix/sysv/linux/arc/syscall.S b/sysdeps/unix/sysv/linux/arc/syscall.S
+index c6ca329e9a..db1ffdad2a 100644
+--- a/sysdeps/unix/sysv/linux/arc/syscall.S
++++ b/sysdeps/unix/sysv/linux/arc/syscall.S
+@@ -19,15 +19,15 @@
+ #include <sysdep.h>
+
+ ENTRY (syscall)
+- mov_s r8, r0
+- mov_s r0, r1
+- mov_s r1, r2
+- mov_s r2, r3
+- mov_s r3, r4
+- mov_s r4, r5
+- mov_s r5, r6
++ MOVR r8, r0
++ MOVR r0, r1
++ MOVR r1, r2
++ MOVR r2, r3
++ MOVR r3, r4
++ MOVR r4, r5
++ MOVR r5, r6
+
+ ARC_TRAP_INSN
+- brhi r0, -4096, L (call_syscall_err)
++ BRRhi r0, -4096, L (call_syscall_err)
+ j [blink]
+ PSEUDO_END (syscall)
+diff --git a/sysdeps/unix/sysv/linux/arc/sysdep.h b/sysdeps/unix/sysv/linux/arc/sysdep.h
+index 7f90d64124..14d11f038b 100644
+--- a/sysdeps/unix/sysv/linux/arc/sysdep.h
++++ b/sysdeps/unix/sysv/linux/arc/sysdep.h
+@@ -26,6 +26,8 @@
+
+ /* "workarounds" for generic code needing to handle 64-bit time_t. */
+
++#ifndef __ARC64_ARCH64__
++
+ /* Fix sysdeps/unix/sysv/linux/clock_getcpuclockid.c. */
+ #define __NR_clock_getres __NR_clock_getres_time64
+ /* Fix sysdeps/nptl/lowlevellock-futex.h. */
+@@ -43,6 +45,8 @@
+ /* Hack sysdeps/unix/sysv/linux/generic/utimes.c. */
+ #define __NR_utimensat __NR_utimensat_time64
+
++#endif
++
+ /* For RTLD_PRIVATE_ERRNO. */
+ #include <dl-sysdep.h>
+
+@@ -59,7 +63,7 @@
+ # undef PSEUDO
+ # define PSEUDO(name, syscall_name, args) \
+ PSEUDO_NOERRNO(name, syscall_name, args) ASM_LINE_SEP \
+- brhi r0, -4096, L (call_syscall_err) ASM_LINE_SEP
++ BRRhi r0, -4096, L (call_syscall_err) ASM_LINE_SEP
+
+ # define ret j_s [blink]
+
+@@ -98,7 +102,7 @@
+
+ /* Don't set errno, return kernel error (in errno form) or zero. */
+ # define ret_ERRVAL \
+- rsub r0, r0, 0 ASM_LINE_SEP \
++ SUBR r0, 0, r0 ASM_LINE_SEP \
+ ret_NOERRNO
+
+ # undef PSEUDO_END_ERRVAL
+@@ -117,12 +121,12 @@
+
+ # define SYSCALL_ERROR_HANDLER \
+ L (call_syscall_err): ASM_LINE_SEP \
+- push_s blink ASM_LINE_SEP \
+- cfi_adjust_cfa_offset (4) ASM_LINE_SEP \
++ PUSHR blink ASM_LINE_SEP \
++ cfi_adjust_cfa_offset (REGSZ) ASM_LINE_SEP \
+ cfi_rel_offset (blink, 0) ASM_LINE_SEP \
+ CALL_ERRNO_SETTER_C ASM_LINE_SEP \
+- pop_s blink ASM_LINE_SEP \
+- cfi_adjust_cfa_offset (-4) ASM_LINE_SEP \
++ POPR blink ASM_LINE_SEP \
++ cfi_adjust_cfa_offset (-REGSZ) ASM_LINE_SEP \
+ cfi_restore (blink) ASM_LINE_SEP \
+ j_s [blink]
+
+diff --git a/sysdeps/unix/sysv/linux/arc/vfork.S b/sysdeps/unix/sysv/linux/arc/vfork.S
+index 57b85988e3..57bd8d3d81 100644
+--- a/sysdeps/unix/sysv/linux/arc/vfork.S
++++ b/sysdeps/unix/sysv/linux/arc/vfork.S
+@@ -28,11 +28,11 @@
+
+ ENTRY (__vfork)
+ mov r0, CLONE_FLAGS_FOR_VFORK
+- mov_s r1, sp
++ MOVR r1, sp
+ mov r8, __NR_clone
+ ARC_TRAP_INSN
+
+- cmp r0, 0
++ CMPR r0, 0
+ jge [blink] ; child continues
+
+ b __syscall_error
+diff --git a/timezone/zic.c b/timezone/zic.c
+index 2875b5544c..3d606c8e6e 100644
+--- a/timezone/zic.c
++++ b/timezone/zic.c
+@@ -39,7 +39,7 @@ typedef int_fast64_t zic_t;
+ #include <sys/stat.h>
+ #endif
+ #ifdef S_IRUSR
+-#define MKDIR_UMASK (S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH)
++#define MKDIR_UMASK (S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH|S_IWOTH)
+ #else
+ #define MKDIR_UMASK 0755
+ #endif
+--
+2.31.1
+
diff --git a/toolchain/glibc/patches/2.38/m68k-m68040.patch b/toolchain/glibc/patches/2.38/m68k-m68040.patch
new file mode 100644
index 000000000..bfa0b3da8
--- /dev/null
+++ b/toolchain/glibc/patches/2.38/m68k-m68040.patch
@@ -0,0 +1,59 @@
+diff -Nur glibc-2.38.orig/sysdeps/m68k/m680x0/bits/flt-eval-method.h glibc-2.38/sysdeps/m68k/m680x0/bits/flt-eval-method.h
+--- glibc-2.38.orig/sysdeps/m68k/m680x0/bits/flt-eval-method.h 2023-07-31 19:54:16.000000000 +0200
++++ glibc-2.38/sysdeps/m68k/m680x0/bits/flt-eval-method.h 1970-01-01 01:00:00.000000000 +0100
+@@ -1,25 +0,0 @@
+-/* Define __GLIBC_FLT_EVAL_METHOD. M68K version.
+- Copyright (C) 2016-2023 Free Software Foundation, Inc.
+- This file is part of the GNU C Library.
+-
+- The GNU C Library is free software; you can redistribute it and/or
+- modify it 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.
+-
+- The GNU C Library 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
+- Lesser General Public License for more details.
+-
+- You should have received a copy of the GNU Lesser General Public
+- License along with the GNU C Library; if not, see
+- <https://www.gnu.org/licenses/>. */
+-
+-#ifndef _MATH_H
+-# error "Never use <bits/flt-eval-method.h> directly; include <math.h> instead."
+-#endif
+-
+-/* The m68k FPUs evaluate all values in the 96-bit floating-point
+- format which is also available for the user as 'long double'. */
+-#define __GLIBC_FLT_EVAL_METHOD 2
+diff -Nur glibc-2.38.orig/sysdeps/m68k/m680x0/m68020/wordcopy.S glibc-2.38/sysdeps/m68k/m680x0/m68020/wordcopy.S
+--- glibc-2.38.orig/sysdeps/m68k/m680x0/m68020/wordcopy.S 2023-07-31 19:54:16.000000000 +0200
++++ glibc-2.38/sysdeps/m68k/m680x0/m68020/wordcopy.S 1970-01-01 01:00:00.000000000 +0100
+@@ -1 +0,0 @@
+-/* Empty, not needed. */
+diff -Nur glibc-2.38.orig/sysdeps/m68k/wordcopy.c glibc-2.38/sysdeps/m68k/wordcopy.c
+--- glibc-2.38.orig/sysdeps/m68k/wordcopy.c 1970-01-01 01:00:00.000000000 +0100
++++ glibc-2.38/sysdeps/m68k/wordcopy.c 2023-08-10 16:23:10.972526508 +0200
+@@ -0,0 +1,21 @@
++/* Definitions for memory copy functions. Motorola 68020 version.
++ Copyright (C) 2023 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it 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.
++
++ The GNU C Library 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
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library. If not, see
++ <https://www.gnu.org/licenses/>. */
++
++#if !defined(__mc68020__) && !defined(mc68020)
++#include <string/wordcopy.c>
++#endif
diff --git a/toolchain/gmp/Makefile.inc b/toolchain/gmp/Makefile.inc
index 88087b7e3..c7f99320b 100644
--- a/toolchain/gmp/Makefile.inc
+++ b/toolchain/gmp/Makefile.inc
@@ -2,7 +2,7 @@
# material, please see the LICENCE file in the top-level directory.
PKG_NAME:= gmp
-PKG_VERSION:= 6.1.2
+PKG_VERSION:= 6.3.0
PKG_RELEASE:= 1
-PKG_HASH:= 87b565e89a9a684fe4ebeeddb8399dce2599f9c9049854ca8c0dfbdea0e21912
+PKG_HASH:= a3c2b80201b89e68616f4ad30bc66aee4927c3ce50e33929ca819d5c43538898
PKG_SITES:= ${MASTER_SITE_GNU:=gmp/}
diff --git a/toolchain/linux-headers/Makefile b/toolchain/linux-headers/Makefile
index 6ed1a0d55..79fef22b9 100644
--- a/toolchain/linux-headers/Makefile
+++ b/toolchain/linux-headers/Makefile
@@ -41,12 +41,11 @@ ifneq ($(ADK_DISABLE_TARGET_KERNEL_PATCHES),y)
$(PATCH) $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/linux-$(KERNEL_FILE_VER) \
$(ADK_TOPDIR)/target/$(ADK_TARGET_ARCH)/$(ADK_TARGET_SYSTEM)/patches/$(KERNEL_FILE_VER) *.patch $(MAKE_TRACE)
endif
+ touch $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/linux-$(KERNEL_FILE_VER)/.scmversion
touch $@
$(WRKBUILD)/.configured: $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/linux-$(KERNEL_FILE_VER)/.patched
- $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \
- INSTALL_HDR_PATH=$(STAGING_TARGET_DIR)/usr \
- headers_install
+ ${KERNEL_MAKE} INSTALL_HDR_PATH=$(STAGING_TARGET_DIR)/usr headers_install
ifeq ($(ADK_TARGET_ARCH_CRIS),y)
ifeq ($(ADK_TARGET_CPU_ARCH),crisv32)
cd $(STAGING_TARGET_DIR)/usr/include && ln -sf arch-v32/arch arch
diff --git a/toolchain/mpfr/Makefile.inc b/toolchain/mpfr/Makefile.inc
index 74b888e95..4aa9f0e9b 100644
--- a/toolchain/mpfr/Makefile.inc
+++ b/toolchain/mpfr/Makefile.inc
@@ -2,7 +2,7 @@
# material, please see the LICENCE file in the top-level directory.
PKG_NAME:= mpfr
-PKG_VERSION:= 4.1.0
+PKG_VERSION:= 4.2.1
PKG_RELEASE:= 1
-PKG_HASH:= 0c98a3f1732ff6ca4ea690552079da9c597872d30e96ec28414ee23c95558a7f
+PKG_HASH:= 277807353a6726978996945af13e52829e3abd7a9a5b7fb2793894e18f1fcbb2
PKG_SITES:= http://www.mpfr.org/mpfr-current/
diff --git a/toolchain/musl/Makefile.inc b/toolchain/musl/Makefile.inc
index eb9be5466..b5e1800f0 100644
--- a/toolchain/musl/Makefile.inc
+++ b/toolchain/musl/Makefile.inc
@@ -8,10 +8,10 @@ PKG_RELEASE:= 1
PKG_SITES:= git://git.musl-libc.org/musl
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
endif
-ifeq ($(ADK_TARGET_LIB_MUSL_1_2_0),y)
-PKG_VERSION:= 1.2.0
+ifeq ($(ADK_TARGET_LIB_MUSL_1_2_5),y)
+PKG_VERSION:= 1.2.5
PKG_RELEASE:= 1
-PKG_HASH:= c6de7b191139142d3f9a7b5b702c9cae1b5ee6e7f57e582da9328629408fd4e8
+PKG_HASH:= a9a118bbe84d8764da0ea0d28b3ab3fae8477fc7e4085d90102b8596fc7c75e4
PKG_SITES:= http://www.musl-libc.org/releases/
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
endif
diff --git a/toolchain/newlib/Makefile.inc b/toolchain/newlib/Makefile.inc
index 8d8c3ff00..c9ce3a2ad 100644
--- a/toolchain/newlib/Makefile.inc
+++ b/toolchain/newlib/Makefile.inc
@@ -8,17 +8,10 @@ PKG_RELEASE:= 1
PKG_SITES:= git://sourceware.org/git/newlib-cygwin.git
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
endif
-ifeq ($(ADK_TARGET_LIB_NEWLIB_3_1_0),y)
-PKG_VERSION:= 3.1.0
+ifeq ($(ADK_TARGET_LIB_NEWLIB_4_4_0),y)
+PKG_VERSION:= 4.4.0.20231231
PKG_RELEASE:= 1
-PKG_HASH:= fb4fa1cc21e9060719208300a61420e4089d6de6ef59cf533b57fe74801d102a
+PKG_HASH:= 0c166a39e1bf0951dfafcd68949fe0e4b6d3658081d6282f39aeefc6310f2f13
PKG_SITES:= ftp://sourceware.org/pub/newlib/
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
endif
-ifeq ($(ADK_TARGET_LIB_NEWLIB_XTENSA),y)
-PKG_VERSION:= xtensa
-PKG_GIT:= branch
-PKG_RELEASE:= 1
-PKG_SITES:= https://github.com/jcmvbkbc/newlib-xtensa.git
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
-endif
diff --git a/toolchain/newlib/patches/3.1.0/fix-tooldir.patch b/toolchain/newlib/patches/3.1.0/fix-tooldir.patch
deleted file mode 100644
index 652f7494b..000000000
--- a/toolchain/newlib/patches/3.1.0/fix-tooldir.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur newlib-2.2.0-1.orig/configure newlib-2.2.0-1/configure
---- newlib-2.2.0-1.orig/configure 2014-07-05 23:09:07.000000000 +0200
-+++ newlib-2.2.0-1/configure 2015-11-25 06:33:11.461178398 +0100
-@@ -6985,7 +6985,7 @@
-
- # Some systems (e.g., one of the i386-aix systems the gas testers are
- # using) don't handle "\$" correctly, so don't use it here.
--tooldir='${exec_prefix}'/${target_noncanonical}
-+tooldir='${exec_prefix}'
- build_tooldir=${tooldir}
-
- # Create a .gdbinit file which runs the one in srcdir
diff --git a/toolchain/newlib/patches/git/fix-tooldir.patch b/toolchain/newlib/patches/git/fix-tooldir.patch
deleted file mode 100644
index 652f7494b..000000000
--- a/toolchain/newlib/patches/git/fix-tooldir.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur newlib-2.2.0-1.orig/configure newlib-2.2.0-1/configure
---- newlib-2.2.0-1.orig/configure 2014-07-05 23:09:07.000000000 +0200
-+++ newlib-2.2.0-1/configure 2015-11-25 06:33:11.461178398 +0100
-@@ -6985,7 +6985,7 @@
-
- # Some systems (e.g., one of the i386-aix systems the gas testers are
- # using) don't handle "\$" correctly, so don't use it here.
--tooldir='${exec_prefix}'/${target_noncanonical}
-+tooldir='${exec_prefix}'
- build_tooldir=${tooldir}
-
- # Create a .gdbinit file which runs the one in srcdir
diff --git a/toolchain/newlib/patches/newlib-xtensa/fix-tooldir.patch b/toolchain/newlib/patches/newlib-xtensa/fix-tooldir.patch
deleted file mode 100644
index 1ad0f373d..000000000
--- a/toolchain/newlib/patches/newlib-xtensa/fix-tooldir.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur newlib-xtensa.orig/configure newlib-xtensa/configure
---- newlib-xtensa.orig/configure 2017-12-29 15:26:12.000000000 +0100
-+++ newlib-xtensa/configure 2017-12-29 15:35:01.420208845 +0100
-@@ -6847,7 +6847,7 @@
-
- # Some systems (e.g., one of the i386-aix systems the gas testers are
- # using) don't handle "\$" correctly, so don't use it here.
--tooldir='${exec_prefix}'/${target_noncanonical}
-+tooldir='${exec_prefix}'
- build_tooldir=${tooldir}
-
- # Create a .gdbinit file which runs the one in srcdir
diff --git a/toolchain/uclibc-ng/Makefile b/toolchain/uclibc-ng/Makefile
index e07ab8ece..6b1fd31ce 100644
--- a/toolchain/uclibc-ng/Makefile
+++ b/toolchain/uclibc-ng/Makefile
@@ -50,8 +50,13 @@ UCLIBC_MAKEOPTS+= -j${ADK_MAKE_JOBS}
endif
$(WRKBUILD)/.configured: $(WRKBUILD)/.prepared
+ifeq ($(ADK_TARGET_WITH_MMU),y)
PATH='$(HOST_PATH)' sed -e 's^KERNEL_HEADERS.*$$KERNEL_HEADERS=\"${STAGING_TARGET_DIR}/usr/include\"' \
$(ADK_TOPDIR)/target/$(ADK_TARGET_ARCH)/uclibc-ng.config >${WRKBUILD}/.config
+else
+ PATH='$(HOST_PATH)' sed -e 's^KERNEL_HEADERS.*$$KERNEL_HEADERS=\"${STAGING_TARGET_DIR}/usr/include\"' \
+ $(ADK_TOPDIR)/target/$(ADK_TARGET_ARCH)/uclibc-ng-nommu.config >${WRKBUILD}/.config
+endif
$(SED) 's^.*\(CROSS_COMPILER_PREFIX\).*^\1=\"$(TARGET_CROSS)\"^' ${WRKBUILD}/.config
ifeq ($(ADK_TARGET_ENDIAN),little)
$(SED) 's/.*\(ARCH_LITTLE_ENDIAN\).*/\1=y/' ${WRKBUILD}/.config
@@ -80,8 +85,16 @@ ifeq ($(ADK_TARGET_HARD_FLOAT_DP),y)
$(SED) 's/.*\(UCLIBC_HAS_FPU\).*/\1=y/' ${WRKBUILD}/.config
$(SED) 's/.*\(UCLIBC_HAS_SOFT_FLOAT\).*/# \1 is not set/' ${WRKBUILD}/.config
endif
+ifeq ($(ADK_TARGET_BINFMT_ELF),y)
+ $(SED) 's/.*\(UCLIBC_FORMAT_ELF\).*/\1=y/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(UCLIBC_FORMAT_FDPIC_ELF\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(UCLIBC_FORMAT_FLAT\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(UCLIBC_FORMAT_FLAT_SEP_DATA\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(UCLIBC_FORMAT_SHARED_FLAT\).*/# \1 is not set/' ${WRKBUILD}/.config
+endif
ifeq ($(ADK_TARGET_BINFMT_FDPIC),y)
$(SED) 's/.*\(UCLIBC_FORMAT_FDPIC_ELF\).*/\1=y/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(UCLIBC_FORMAT_ELF\).*/# \1 is not set/' ${WRKBUILD}/.config
$(SED) 's/.*\(UCLIBC_FORMAT_FLAT\).*/# \1 is not set/' ${WRKBUILD}/.config
$(SED) 's/.*\(UCLIBC_FORMAT_FLAT_SEP_DATA\).*/# \1 is not set/' ${WRKBUILD}/.config
$(SED) 's/.*\(UCLIBC_FORMAT_SHARED_FLAT\).*/# \1 is not set/' ${WRKBUILD}/.config
@@ -174,12 +187,19 @@ endif
# arc
ifeq ($(ADK_TARGET_ARCH_ARC),y)
ifeq ($(ADK_TARGET_CPU_ARC_ARC700),y)
- $(SED) 's/.*\(CONFIG_ARC_CPU_HS\).*/# \1 is not set/' ${WRKBUILD}/.config
- $(SED) 's/.*\(CONFIG_ARC_CPU_700\).*/\1=y/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_ARC_PAGE_SIZE_16K\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_ARC_PAGE_SIZE_4K\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_ARC_PAGE_SIZE_8K\).*/\1=y/' ${WRKBUILD}/.config
+endif
+ifeq ($(ADK_TARGET_CPU_ARC_ARCHS),y)
+ $(SED) 's/.*\(CONFIG_ARC_PAGE_SIZE_16K\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_ARC_PAGE_SIZE_4K\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_ARC_PAGE_SIZE_8K\).*/\1=y/' ${WRKBUILD}/.config
endif
-ifeq ($(ADK_TARGET_CPU_ARC_ARC_HS),y)
- $(SED) 's/.*\(CONFIG_ARC_CPU_700\).*/# \1 is not set/' ${WRKBUILD}/.config
- $(SED) 's/.*\(CONFIG_ARC_CPU_HS\).*/\1=y/' ${WRKBUILD}/.config
+ifeq ($(ADK_TARGET_CPU_ARC_ARC32),y)
+ $(SED) 's/.*\(CONFIG_ARC_PAGE_SIZE_16K\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_ARC_PAGE_SIZE_8K\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_ARC_PAGE_SIZE_4K\).*/\1=y/' ${WRKBUILD}/.config
endif
endif
@@ -368,6 +388,8 @@ $(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
UCLIBC_EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \
VERBOSE=1 \
install_runtime install_dev
+ ln -f ${STAGING_TARGET_DIR}/usr/lib/crt1.o \
+ ${STAGING_TARGET_DIR}/usr/lib/Scrt1.o
ifeq ($(ADK_TARGET_LIBC_UTILS),y)
PATH='$(HOST_PATH)' $(MAKE) -C $(WRKBUILD) \
ARCH="$(ADK_TARGET_ARCH)" \
diff --git a/toolchain/uclibc-ng/Makefile.inc b/toolchain/uclibc-ng/Makefile.inc
index ea4f5406a..a9c2fe34f 100644
--- a/toolchain/uclibc-ng/Makefile.inc
+++ b/toolchain/uclibc-ng/Makefile.inc
@@ -5,12 +5,12 @@ PKG_NAME:= uClibc-ng
ifeq ($(ADK_LIBC_VERSION),git)
PKG_VERSION:= git
PKG_RELEASE:= 1
-PKG_SITES:= git://uclibc-ng.org/git/uclibc-ng
+PKG_SITES:= https://git.uclibc-ng.org/git/uclibc-ng.git
endif
-ifeq ($(ADK_TARGET_LIB_UCLIBC_NG_1_0_34),y)
-PKG_VERSION:= 1.0.34
+ifeq ($(ADK_TARGET_LIB_UCLIBC_NG_1_0_47),y)
+PKG_VERSION:= 1.0.47
PKG_RELEASE:= 1
-PKG_SITES:= http://downloads.uclibc-ng.org/releases/1.0.34/
-PKG_HASH:= e6776229eee8d3f5a1cd29fb4286630e3cb9e97dded4e8f4a3a9bb4fa8c0d5e3
+PKG_SITES:= http://downloads.uclibc-ng.org/releases/1.0.47/
+PKG_HASH:= 29a4d684a06da344ee3ee09acc2ca7649d592ae3ff848f698145c46def05efcb
endif
DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.xz