summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml2
-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/adding-boards.txt2
-rw-r--r--docs/adding-packages-auto.txt2
-rw-r--r--docs/adding-packages-manual.txt2
-rw-r--r--docs/common-usage.txt2
-rw-r--r--docs/customize-rootfs.txt2
-rw-r--r--docs/package-reference.txt12
-rw-r--r--docs/running-openadk.txt53
-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.mk3
-rw-r--r--mk/vars.mk31
-rw-r--r--package/.template/Makefile2
-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/Makefile10
-rw-r--r--package/avahi/files/avahi.conffiles (renamed from package/avahi/files/avahi-daemon.conffiles)0
-rw-r--r--package/avahi/files/avahi.init2
-rw-r--r--package/avahi/files/avahi.postinst (renamed from package/avahi/files/avahi-daemon.postinst)0
-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/Makefile8
-rw-r--r--package/busybox/config/Config.in1062
-rw-r--r--package/busybox/config/archival/Config.in573
-rw-r--r--package/busybox/config/console-tools/Config.in219
-rw-r--r--package/busybox/config/coreutils/Config.in1277
-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.in215
-rw-r--r--package/busybox/config/init/Config.in227
-rw-r--r--package/busybox/config/klibc-utils/Config.in42
-rw-r--r--package/busybox/config/libbb/Config.in487
-rw-r--r--package/busybox/config/loginutils/Config.in422
-rw-r--r--package/busybox/config/mailutils/Config.in48
-rw-r--r--package/busybox/config/miscutils/Config.in1104
-rw-r--r--package/busybox/config/modutils/Config.in319
-rw-r--r--package/busybox/config/networking/Config.in1468
-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.in339
-rw-r--r--package/busybox/config/runit/Config.in128
-rw-r--r--package/busybox/config/selinux/Config.in103
-rw-r--r--package/busybox/config/shell/Config.in667
-rw-r--r--package/busybox/config/sysklogd/Config.in218
-rw-r--r--package/busybox/config/util-linux/Config.in1510
-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/002-find-empty.patch90
-rw-r--r--package/busybox/patches/006-od-bloat.patch214
-rw-r--r--package/busybox/patches/009-Replace-obsolete-stime-API-with-clock_settime.patch65
-rw-r--r--package/busybox/patches/009-disable-Oz.patch20
-rw-r--r--package/bzip2/Makefile19
-rw-r--r--package/bzip2/patches/patch-Makefile6
-rw-r--r--package/bzip2/patches/patch-Makefile-libbz2_so24
-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/Makefile10
-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/dhcpcd/Makefile4
-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-Makefile12
-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/flask-login/Makefile39
-rw-r--r--package/flask/Makefile39
-rw-r--r--package/flask/patches/patch-setup_py37
-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/forte/Makefile37
-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-arc/Makefile2
-rw-r--r--package/gdb-microblaze/Makefile2
-rw-r--r--package/gdb/Makefile18
-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/Makefile20
-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/config340
-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/Makefile3
-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/Makefile47
-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/libconfig/Makefile27
-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/libmodbus/Makefile27
-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/Makefile5
-rw-r--r--package/lzip/patches/patch-configure14
-rw-r--r--package/lzma/Makefile1
-rw-r--r--package/lzop/Makefile4
-rw-r--r--package/lzop/patches/patch-src_miniacc_h26
-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/mqttmpd/Makefile28
-rw-r--r--package/mqttmpd/patches/patch-Makefile32
-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/Makefile30
-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/Makefile7
-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/paho/Makefile32
-rw-r--r--package/pango/Makefile20
-rw-r--r--package/parted/Makefile6
-rw-r--r--package/parted/patches/patch-lib_config_h_in6
-rw-r--r--package/parted/patches/patch-libparted_arch_linux_c41
-rw-r--r--package/parted/patches/patch-libparted_fs_xfs_platform_defs_h6
-rw-r--r--package/parted/patches/patch-libparted_labels_Makefile_am10
-rw-r--r--package/parted/patches/patch-libparted_labels_Makefile_in57
-rw-r--r--package/parted/patches/patch-libparted_libparted_c34
-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-fpm.conf4
-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/Makefile62
-rw-r--r--package/qingy/Makefile1
-rw-r--r--package/quagga/Makefile7
-rw-r--r--package/radvd/Makefile4
-rw-r--r--package/ralink-firmware/Makefile28
-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/Makefile20
-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.lst3
-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/Makefile41
-rw-r--r--package/shairport-sync/files/shairport-sync.init28
-rw-r--r--package/shairport-sync/files/shairport-sync.postinst7
-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/Makefile31
-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/sqlalchemy/Makefile37
-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/squirrel/Makefile34
-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/swig/Makefile4
-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/toybox/Makefile6
-rw-r--r--package/toybox/patches/patch-lib_lib_h12
-rw-r--r--package/toybox/patches/patch-lib_portability_h22
-rw-r--r--package/toybox/patches/patch-scripts_make_sh8
-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/Makefile56
-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.sh96
-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/systems/synopsys-hsdk1
-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/pcduino-3b8
-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/pcduino-3b20
-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.binutils58
-rw-r--r--target/config/Config.in.compiler78
-rw-r--r--target/config/Config.in.cpu153
-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.libc39
-rw-r--r--target/config/Config.in.libs4
-rw-r--r--target/config/Config.in.qemuopts8
-rw-r--r--target/config/Config.in.rootfs20
-rw-r--r--target/config/Config.in.runtime95
-rw-r--r--target/config/Config.in.threads3
-rw-r--r--target/config/Config.in.toolchain1
-rw-r--r--target/config/Config.in.tools14
-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.kernelversion122
-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.wireless31
-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.310/arc.patch (renamed from target/linux/patches/4.19.99/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.patch26
-rw-r--r--target/linux/patches/4.19.310/darwin-file2alias.patch14
-rw-r--r--target/linux/patches/4.19.310/fec-coldfire.patch (renamed from target/linux/patches/4.19.99/fec-coldfire.patch)0
-rw-r--r--target/linux/patches/4.19.310/or1k-more-ram.patch (renamed from target/linux/patches/4.19.99/or1k-more-ram.patch)0
-rw-r--r--target/linux/patches/4.19.310/relocs.patch2698
-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.19.99/startup.patch34
-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.patch12
-rw-r--r--target/linux/patches/5.10.213/darwin-dtc.patch26
-rw-r--r--target/linux/patches/5.10.213/darwin-file2alias.patch14
-rw-r--r--target/linux/patches/5.10.213/dtc-noyaml.patch16
-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.18/or1k-more-ram.patch)0
-rw-r--r--target/linux/patches/5.10.213/relocs.patch2698
-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/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/ibm-x409
-rw-r--r--target/x86/kernel/qemu-x861
-rw-r--r--target/x86/kernel/vbox-x864
-rw-r--r--target/x86/systems/ibm-x4033
-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.inc57
-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.inc67
-rw-r--r--toolchain/gcc/patches/10.5.0/add-crtreloc.frv (renamed from toolchain/gcc/patches/8.3.0/add-crtreloc.frv)0
-rw-r--r--toolchain/gcc/patches/10.5.0/c6x-disable-multilib.patch (renamed from toolchain/gcc/patches/8.3.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.3.0/ia64-fix-libgcc.patch)0
-rw-r--r--toolchain/gcc/patches/11.4.0/nios2-softfp.patch (renamed from toolchain/gcc/patches/8.3.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.3.0/0001-xtensa-backport-fix-for-PR-target-90922.patch43
-rw-r--r--toolchain/gcc/patches/8.3.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.3.0/j2.patch)0
-rw-r--r--toolchain/gcc/patches/8.5.0/m68k-musl.patch (renamed from toolchain/gcc/patches/8.3.0/m68k-musl.patch)0
-rw-r--r--toolchain/gcc/patches/8.5.0/musl-s390x.patch (renamed from toolchain/gcc/patches/8.3.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.2.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
1672 files changed, 59798 insertions, 50604 deletions
diff --git a/.travis.yml b/.travis.yml
index 6348172e9..ed4c21bf7 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -25,9 +25,7 @@ matrix:
- env: ARCH=mips SYSTEM=mikrotik-rb532
- env: ARCH=mips64 SYSTEM=lemote-yeelong
- env: ARCH=sh SYSTEM=numato-mimasv2 ENDIAN=big
- - env: ARCH=x86 SYSTEM=ibm-x40
- env: ARCH=x86 SYSTEM=pcengines-alix
- env: ARCH=x86_64 SYSTEM=pcengines-apu
- - env: ARCH=x86_64 SYSTEM=asus-p5bvm
- env: ARCH=xtensa SYSTEM=xilinx-kintex7
script: travis_wait 120 ./scripts/travis.sh linux $ARCH $SYSTEM $ENDIAN
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/adding-boards.txt b/docs/adding-boards.txt
index df102a5e6..5f50df702 100644
--- a/docs/adding-boards.txt
+++ b/docs/adding-boards.txt
@@ -44,7 +44,7 @@ in OpenADK, you need to port it first.
The hardware capabilities are optional. (f.e. ADK_TARGET_WITH_SD), but
required when you configure the driver configuration later.
-For architectures with a choice for endianess you should depends on either
+For architectures with a choice for endianess you should depend on either
ADK_TARGET_LITTLE_ENDIAN or ADK_TARGET_BIG_ENDIAN.
If the CPU type like in this example ADK_TARGET_CPU_ARM_CORTEX_A7 is not yet available
diff --git a/docs/adding-packages-auto.txt b/docs/adding-packages-auto.txt
index b84ce0a9f..4bfb2e439 100644
--- a/docs/adding-packages-auto.txt
+++ b/docs/adding-packages-auto.txt
@@ -49,7 +49,7 @@ package buildtime dependencies (+PKG_BUILDDEP+), the package runtime
dependencies (+PKG_DEPENDS+), the package homepage (+PKG_URL+) and finally the
internet locations at which the tarball can be downloaded from (+PKG_SITES+).
Normally ${PKG_NAME}-${PKG_VERSION}.tar.gz will be downloaded. You can
-overwrite the default via the +DISTFILES+ variable. You can add more then one
+override the default via the +DISTFILES+ variable. You can add more then one
archive name in +DISTFILES+ via space separated. If you have no source archive
at all, just use the boolean variable +NO_DISTFILES+ and set it to 1.
diff --git a/docs/adding-packages-manual.txt b/docs/adding-packages-manual.txt
index 862662987..768d3cdb6 100644
--- a/docs/adding-packages-manual.txt
+++ b/docs/adding-packages-manual.txt
@@ -60,7 +60,7 @@ package buildtime dependencies (+PKG_BUILDDEP+), the package runtime
dependencies (+PKG_DEPENDS+), the package homepage (+PKG_URL+) and finally the
internet locations at which the tarball can be downloaded from (+PKG_SITES+).
Normally ${PKG_NAME}-${PKG_VERSION}.tar.gz will be downloaded. You can
-overwrite the default via the +DISTFILES+ variable. You can add more then one
+override the default via the +DISTFILES+ variable. You can add more then one
archive name in +DISTFILES+ via space separated. If you have no source archive
at all, just use the boolean variable +NO_DISTFILES+ and set it to 1.
diff --git a/docs/common-usage.txt b/docs/common-usage.txt
index b2f29f6cc..25cc22454 100644
--- a/docs/common-usage.txt
+++ b/docs/common-usage.txt
@@ -9,7 +9,7 @@ Understanding when a full rebuild is necessary
OpenADK tries to detect what part of the system should be rebuilt when the
system configuration is changed through +make menuconfig+. In some cases it
-automatically rebuilt packages, but sometimes just a warning is printed to the
+automatically rebuilds packages, but sometimes just a warning is printed to the
terminal, that a rebuild is necessary to make the changes an effect. If strange
things are happening, the autodetection might have not worked correctly, then
you should consider to rebuild everything. If you are following development you
diff --git a/docs/customize-rootfs.txt b/docs/customize-rootfs.txt
index 54846dba5..3d4f0bf7b 100644
--- a/docs/customize-rootfs.txt
+++ b/docs/customize-rootfs.txt
@@ -25,5 +25,5 @@ loss of customized configuration data.
Another option is to configure a post-build action. This is available
in +Global settings+. It must point to a script relative to the root
of your openadk working copy. It will be invoked as part of the
-+*-imageinstall+ step with $ADK_TOPDIR as first argument. You can use
++-imageinstall+ step with $ADK_TOPDIR as first argument. You can use
it e.g. to modify the +root_*+ filesystem before bundling it.
diff --git a/docs/package-reference.txt b/docs/package-reference.txt
index a57fbd033..29c4208d0 100644
--- a/docs/package-reference.txt
+++ b/docs/package-reference.txt
@@ -104,7 +104,7 @@ different steps of the configure, build and install process.
* +MAKE_ENV+ add additional variables to build step
-* +MAKE_FLAGS+ add additinal make flags to build step
+* +MAKE_FLAGS+ add additional make flags to build step
* +FAKE_FLAGS+ add additional make flags to fake install step
@@ -112,15 +112,15 @@ different steps of the configure, build and install process.
* +INSTALL_STYLE+ either manual or auto
-* +CONFIGURE_PROG+ overwrite default configure programm
+* +CONFIGURE_PROG+ override default configure program
-* +MAKE_FILE+ overwrite default Makefile
+* +MAKE_FILE+ override default Makefile
-* +ALL_TARGET+ overwrite default build target
+* +ALL_TARGET+ override default build target
-* +INSTALL_TARGET+ overwrite default install target
+* +INSTALL_TARGET+ override default install target
-The variables to add or overwrite preprocessor, compiler and linker flags:
+The variables to add or override preprocessor, compiler and linker flags:
* +TARGET_CPPFLAGS+ flags for the preprocessor
diff --git a/docs/running-openadk.txt b/docs/running-openadk.txt
index dcfd7451d..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
~~~~~~~~~~~
@@ -179,8 +179,29 @@ In both cases the default user is +root+ and the default password is
either via +passwd+ on the system or you can preconfigure a password via +make
menuconfig+ under +Runtime configuration+.
-The default shell used in OpenADK is +mksh+ from http://www.mirbsd.org/mksh/.
+The default shell used in OpenADK is +mksh+ from http://www.mirbsd.org/mksh.htm.
You can change the shell in +make menuconfig+ under +Runtime configuration+. Be
aware of the fact that the bootup process might use some +mksh+ features to
speedup the system start. When you change the shell for system +/bin/sh+ the
slower startup is used as a fallback.
+
+analyzing logs
+~~~~~~~~~~~~~~
+
+Since embedded systems usually avoid writing continously on non-volatile storage
+(to avoid waer-out of the storage device) there are no logfiles under /var/log and
+/var itself is mapped onto a RAM based filesystem.
+
+Instead the syslog daemon logs into a ciruclar memory
+buffer. The size of the memory buffer is by default 32KiB and can be changed in the
+busybox configuration.
+
+To access the content of the buffer the +logread+ utility is used to dump the buffer.
+To get a continous output of the logbuffer -f has to be added as option.
+
+---------------------
+Usage: logread [-fF]
+
+-f Output data as log grows
+-F Same as -f, but dump buffer first
+---------------------
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 a68d952bc..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}/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 9815e5ab2..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.18
+KERNEL_FILE_VER:= 5.4.272
KERNEL_RELEASE:= 1
KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
-KERNEL_HASH:= 92e9f1fd69543e9ce2a9e6eb918823b1846d2dd99246a74456263cd5ad234d89
+KERNEL_HASH:= 3599d5959a403e64be407d7f05e56cb270d6ddd154e89a596609919ab1e2e366
endif
ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_4_19),y)
-KERNEL_FILE_VER:= 4.19.99
+KERNEL_FILE_VER:= 4.19.310
KERNEL_RELEASE:= 1
KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
-KERNEL_HASH:= 8dbc21f994af9dc3468da4e934a641b457a57cf125d1a8e8f95fe488edd5b5ab
+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
new file mode 100644
index 000000000..c2e9f7a27
--- /dev/null
+++ b/mk/python3.mk
@@ -0,0 +1,3 @@
+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/.template/Makefile b/package/.template/Makefile
index 2c54be734..e753dc84e 100644
--- a/package/.template/Makefile
+++ b/package/.template/Makefile
@@ -62,7 +62,7 @@ $(eval $(call PKG_template,@UPKG@,@PKG@,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPE
#CONFIG_STYLE:= manual
# use following to add ./configure options
#CONFIGURE_ARGS+= --disable-foo
-# overwrite any configure variables
+# override any configure variables
#CONFIGURE_ENV+= ac_cv_func_setpgrp_void=yes
#BUILD_STYLE:= manual
#INSTALL_STYLE:= manual
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 c9449baea..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)/
@@ -19,7 +19,7 @@ PKG_OPTS:= dev
DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SUBPKGS:= AVAHI LIBAVAHI
-PKGSS_AVAHI:= libavahi libdaemon libexpat libintl dbus
+PKGSS_AVAHI:= libavahi libdaemon libexpat dbus
PKGSB_AVAHI:= dbus
PKGSS_LIBAVAHI:= dbus
PKGSB_LIBAVAHI:= dbus
@@ -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/files/avahi-daemon.conffiles b/package/avahi/files/avahi.conffiles
index 46379ed96..46379ed96 100644
--- a/package/avahi/files/avahi-daemon.conffiles
+++ b/package/avahi/files/avahi.conffiles
diff --git a/package/avahi/files/avahi.init b/package/avahi/files/avahi.init
index ca78aa486..bf4614ad3 100644
--- a/package/avahi/files/avahi.init
+++ b/package/avahi/files/avahi.init
@@ -1,5 +1,5 @@
#!/bin/sh
-#PKG avahi-daemon
+#PKG avahi
#INIT 75
. /etc/rc.conf
diff --git a/package/avahi/files/avahi-daemon.postinst b/package/avahi/files/avahi.postinst
index 8fe8f1e32..8fe8f1e32 100644
--- a/package/avahi/files/avahi-daemon.postinst
+++ b/package/avahi/files/avahi.postinst
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 f9a94828c..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.26.2
-PKG_RELEASE:= 2
-PKG_HASH:= da3e44913fc1a9c9b7c5337ea5292da518683cbff32be630777f565d6036af16
+PKG_VERSION:= 1.36.1
+PKG_RELEASE:= 1
+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 868f0b9ff..d5cbed6a5 100644
--- a/package/busybox/config/Config.in
+++ b/package/busybox/config/Config.in
@@ -1,485 +1,352 @@
#
# 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_INCLUDE_SUSv2
- bool "Enable obsolete features removed before SUSv3"
+config BUSYBOX_FEDORA_COMPAT
+ bool "Building for Fedora distribution"
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.)
+ This option makes some tools behave like they do on Fedora.
-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.
+ At the time of this writing (2017-08) this only affects uname:
+ normally, uname -p (processor) and uname -i (platform)
+ are shown as "unknown", but with this option uname -p
+ shows the same string as uname -m (machine type),
+ and so does uname -i unless machine type is i486/i586/i686 -
+ then uname -i shows "i386".
-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"
+config BUSYBOX_INCLUDE_SUSv2
+ bool "Enable obsolete features removed before SUSv3"
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.
+ Store usage messages in .bz2 compressed form, uncompress them
+ on-the-fly when "APPLET --help" is run.
- 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.
+ 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_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.
-
-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_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.
+ 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.
-
- 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.
+ 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:
- 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.
+ $ busybox
+ busybox: applet not found
- 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.
+ Running "busybox APPLET [ARGS...]" will still work, of course.
- 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
@@ -487,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.
+ #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
-
-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
@@ -546,299 +398,320 @@ 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.
-
-endmenu
+ Additional LDLIBS to pass to the linker with -l.
-menu 'Debugging Options'
-
-config BUSYBOX_DEBUG
- bool "Build BusyBox with extra Debugging symbols"
- 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.
-
- 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.
-
-config BUSYBOX_DEBUG_SANITIZE
- bool "Enable runtime sanitizers (ASAN/LSAN/USAN/etc...)"
+config BUSYBOX_USE_PORTABLE_CODE
+ bool "Avoid using GCC-specific code constructs"
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.
-
- If you aren't developing/testing busybox, say N here.
+ 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_UNIT_TEST
- bool "Build unit tests"
- default n
+config BUSYBOX_STACK_OPTIMIZATION_386
+ bool "Use -mpreferred-stack-boundary=2 on i386 arch"
+ default y
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.
+ 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_WERROR
- bool "Abort compilation on any warning"
- default n
+config BUSYBOX_STATIC_LIBGCC
+ bool "Use -static-libgcc"
+ default y
help
- Selecting this will add -Werror to gcc command line.
+ 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.
- Most people should answer N.
-
-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.
-
-
-config BUSYBOX_NO_DEBUG_LIB
- bool "None"
-
-config BUSYBOX_DMALLOC
- bool "Dmalloc"
-
-config BUSYBOX_EFENCE
- bool "Electric-fence"
-
-endchoice
-
-endmenu
-
-menu 'Installation Options ("make install" behavior)'
+comment 'Installation Options ("make install" behavior)'
choice
prompt "What kind of applet links to install"
- default INSTALL_APPLET_SYMLINKS
+ default BUSYBOX_INSTALL_APPLET_SYMLINKS
help
- Choose what kind of links to applets are created by "make install".
+ 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.
+ 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.
+ 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.
+ 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.
+ 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
+ default BUSYBOX_INSTALL_SH_APPLET_SYMLINK
depends on BUSYBOX_INSTALL_APPLET_SCRIPT_WRAPPERS
help
- Choose how you install /bin/sh applet link.
+ 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.
+ 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.
+ 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.
+ Install /bin/sh applet as script wrapper that calls
+ the busybox binary.
endchoice
config BUSYBOX_PREFIX
- string "BusyBox installation prefix"
+ string "Destination path for 'make install'"
default "@IDIR@"
help
- Define your directory to install BusyBox files/subdirs in.
+ Where "make install" should install busybox binary and links.
-endmenu
+comment 'Debugging Options'
+
+config BUSYBOX_DEBUG
+ bool "Build with debug information"
+ default n
+ help
+ Say Y here to compile with debug information.
+ This increases the size of the binary considerably, and
+ should only be used when doing development.
+
+ 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.
+
+ 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.
+
+ This adds -fsanitize=foo options to gcc command line.
+
+ 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 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
+ This adds -Werror to gcc command line.
+
+ Most people should answer N.
+
+config BUSYBOX_WARN_SIMPLE_MSG
+ bool "Warn about single parameter bb_xx_msg calls"
+ default n
+ help
+ This will cause warnings to be shown for any instances of
+ bb_error_msg(), bb_error_msg_and_die(), bb_perror_msg(),
+ bb_perror_msg_and_die(), bb_herror_msg() or bb_herror_msg_and_die()
+ being called with a single parameter. In these cases the equivalent
+ bb_simple_xx_msg function should be used instead.
+ Note that use of STRERROR_FMT may give false positives.
+
+ If you aren't developing busybox, say N here.
+
+choice
+ prompt "Additional debugging library"
+ 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
+ bool "None"
+
+config BUSYBOX_DMALLOC
+ bool "Dmalloc"
+
+config BUSYBOX_EFENCE
+ bool "Electric-fence"
+
+endchoice
source package/busybox/config/libbb/Config.in
@@ -850,6 +723,7 @@ source package/busybox/config/archival/Config.in
source package/busybox/config/coreutils/Config.in
source package/busybox/config/console-tools/Config.in
source package/busybox/config/debianutils/Config.in
+source package/busybox/config/klibc-utils/Config.in
source package/busybox/config/editors/Config.in
source package/busybox/config/findutils/Config.in
source package/busybox/config/init/Config.in
diff --git a/package/busybox/config/archival/Config.in b/package/busybox/config/archival/Config.in
index 8532767c2..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,452 +9,449 @@ 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
+ With this option busybox supports restoring SELinux labels
+ when extracting files from tar archives.
+config BUSYBOX_UNZIP
+ bool "unzip (26 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.
-
- The BusyBox unlzma applet is limited to decompression only.
- On an x86 system, this applet adds about 4K.
+ 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_LZMA
- bool "Provide lzma alias which supports only unpacking"
- default n
+config BUSYBOX_FEATURE_UNZIP_CDF
+ bool "Read and use Central Directory data"
+ default y
+ depends on BUSYBOX_UNZIP
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.
+ If you know that you only need to deal with simple
+ ZIP files without deleted/updated files, SFX archives etc,
+ you can reduce code size by unselecting this option.
+ To support less trivial ZIPs, say Y.
-config BUSYBOX_UNXZ
- bool "unxz"
- depends on !BUSYBOX_DISABLE_UNXZ
- default n
- help
- unxz is a unlzma successor.
+config BUSYBOX_FEATURE_UNZIP_BZIP2
+ bool "Support compression method 12 (bzip2)"
+ default y
+ depends on BUSYBOX_FEATURE_UNZIP_CDF && BUSYBOX_DESKTOP
-config BUSYBOX_XZCAT
- bool "xzcat"
- default n
- help
- Alias to "unxz -c".
+config BUSYBOX_FEATURE_UNZIP_LZMA
+ bool "Support compression method 14 (lzma)"
+ default y
+ depends on BUSYBOX_FEATURE_UNZIP_CDF && BUSYBOX_DESKTOP
-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.
+config BUSYBOX_FEATURE_UNZIP_XZ
+ bool "Support compression method 95 (xz)"
+ default y
+ depends on BUSYBOX_FEATURE_UNZIP_CDF && BUSYBOX_DESKTOP
-config BUSYBOX_UNZIP
- bool "unzip"
- depends on !BUSYBOX_DISABLE_UNZIP
+config BUSYBOX_FEATURE_LZMA_FAST
+ bool "Optimize lzma for speed"
default n
+ depends on BUSYBOX_UNLZMA || BUSYBOX_LZCAT || BUSYBOX_LZMA || BUSYBOX_FEATURE_SEAMLESS_LZMA
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.
+ This option reduces decompression time by about 25% at the cost of
+ a 1K bigger binary.
endmenu
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 bb0d2a121..00d646599 100644
--- a/package/busybox/config/coreutils/Config.in
+++ b/package/busybox/config/coreutils/Config.in
@@ -1,1016 +1,965 @@
# 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"
- 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.
-
-config BUSYBOX_DATE
- bool "date"
+config BUSYBOX_FEATURE_VERBOSE
+ bool "Support verbose options (usually -v) for various applets"
default y
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.
-
-# 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.
-
-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.
+ 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_HOSTID
- bool "hostid"
- default n
- help
- hostid prints the numeric identifier (in hexadecimal) for
- the current host.
+comment "Common options for date and touch"
-config BUSYBOX_ID
- bool "id"
+config BUSYBOX_FEATURE_TIMEZONE
+ bool "Allow timezone in dates"
default y
+ depends on BUSYBOX_DESKTOP
help
- id displays the current user and group ID names.
+ Permit the use of timezones when parsing user-provided data
+ strings, e.g. '1996-04-09 12:45:00 -0500'.
-config BUSYBOX_GROUPS
- bool "groups"
- default n
- help
- Print the group names associated with current user id.
+ This requires support for the '%z' extension to strptime() which
+ may not be available in all implementations.
-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.
-
-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.
+ 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_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
+ depends on BUSYBOX_CAT
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
- 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.
+ 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
+ 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 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
+config BUSYBOX_LINK
+ bool "link (3.2 kb)"
+ default y
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.
-
+ 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"
+ default y
+ depends on BUSYBOX_LS
config BUSYBOX_FEATURE_LS_SORTFILES
bool "Sort the file names"
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 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 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 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
- help
- print a sequence of numbers
-
-config BUSYBOX_SHA1SUM
- bool "sha1sum"
- default n
+ bool "seq (3.8 kb)"
+ default y
help
- Compute and check SHA1 message digest
-
-config BUSYBOX_SHA256SUM
- bool "sha256sum"
- default n
+ print a sequence of numbers
+config BUSYBOX_SHRED
+ bool "shred (4.9 kb)"
+ default y
help
- Compute and check SHA256 message digest
-
-config BUSYBOX_SHA512SUM
- bool "sha512sum"
- default n
+ Overwrite a file to hide its contents, and optionally delete it
+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)"
+ default n # defaults to N since we are size-paranoid tribe
+ depends on BUSYBOX_SORT
+ 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
+ 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
- tty is used to print the name of the current terminal to
- standard output.
+ 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".
-
-config BUSYBOX_UNEXPAND
- bool "unexpand"
- default n
- help
- By default, convert only leading sequences of blanks to tabs.
+ Sets the operating system name reported by uname -o. The
+ default is "GNU/Linux".
-config BUSYBOX_FEATURE_UNEXPAND_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on BUSYBOX_UNEXPAND && BUSYBOX_LONG_OPTS
+config BUSYBOX_BB_ARCH
+ bool "arch (1.1 kb)"
+ default y
help
- Support long options for the unexpand applet.
-
+ Same as uname -m.
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.
-
-comment "Common options for cp and mv"
- depends on BUSYBOX_CP || BUSYBOX_MV
+ Print users currently logged on.
-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 a9bb761b2..d4aa403a5 100644
--- a/package/busybox/config/findutils/Config.in
+++ b/package/busybox/config/findutils/Config.in
@@ -1,277 +1,318 @@
# 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"
+ default y
+ depends on BUSYBOX_FIND
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"
+ default y
+ depends on BUSYBOX_FIND
+ help
+ If this action is reached, 'find' exits.
config BUSYBOX_FEATURE_FIND_DELETE
bool "Enable -delete: delete files/dirs"
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"
+ default y
+ depends on BUSYBOX_XARGS
+
+config BUSYBOX_FEATURE_XARGS_SUPPORT_ARGS_FILE
+ bool "Enable -a FILE: use FILE instead of stdin"
+ default y
+ depends on BUSYBOX_XARGS
endmenu
diff --git a/package/busybox/config/init/Config.in b/package/busybox/config/init/Config.in
index 9e17c790c..e27e0ea86 100644
--- a/package/busybox/config/init/Config.in
+++ b/package/busybox/config/init/Config.in
@@ -1,122 +1,130 @@
# 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.
+
+config BUSYBOX_FEATURE_WAIT_FOR_INIT
+ bool "Before signaling init, make sure it is ready for it"
default y
+ depends on BUSYBOX_HALT || BUSYBOX_POWEROFF || BUSYBOX_REBOOT
help
- Stop all processes and reboot the system.
+ In rare cases, poweroff may be commanded by firmware to OS
+ even before init process exists. On Linux, this spawns
+ "/sbin/poweroff" very early. This option adds code
+ which checks that init is ready to receive poweroff
+ commands. Code size increase of ~80 bytes.
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
@@ -124,92 +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_EXTRA_QUIET
- bool "Be _extra_ quiet on boot"
+config BUSYBOX_FEATURE_INIT_QUIET
+ bool "Be quiet on boot (no 'init started:' message)"
default y
- depends on BUSYBOX_INIT
- help
- Prevent init from logging some messages to the console during boot.
+ depends on BUSYBOX_INIT || BUSYBOX_LINUXRC
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
new file mode 100644
index 000000000..f2ff057fb
--- /dev/null
+++ b/package/busybox/config/klibc-utils/Config.in
@@ -0,0 +1,42 @@
+# 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.
+#
+
+menu "klibc-utils"
+
+config BUSYBOX_MINIPS
+ bool "minips (11 kb)"
+ default n # for god's sake, just use "ps" name in your scripts
+ help
+ Alias to "ps".
+config BUSYBOX_NUKE
+ bool "nuke (2.9 kb)"
+ default n # off by default: too "accidentally destructive"
+ help
+ Alias to "rm -rf".
+config BUSYBOX_RESUME
+ bool "resume (3.2 kb)"
+ default y
+ help
+ Resume from saved "suspend-to-disk" image
+config BUSYBOX_RUN_INIT
+ bool "run-init (7.7 kb)"
+ default y
+ help
+ The run-init utility is used from initramfs to select a new
+ root device. Under initramfs, you have to use this instead of
+ pivot_root.
+
+ 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,
+ run-init 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.
+
+ util-linux has a similar tool, switch-root.
+ run-init differs by also having a "-d CAPS_TO_DROP" option.
+
+endmenu
diff --git a/package/busybox/config/libbb/Config.in b/package/busybox/config/libbb/Config.in
index 6aff24699..66c135ec6 100644
--- a/package/busybox/config/libbb/Config.in
+++ b/package/busybox/config/libbb/Config.in
@@ -1,113 +1,221 @@
# 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.
+ 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.
- 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"
+config BUSYBOX_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS
+ bool "Use the definitions of SIGRTMIN/SIGRTMAX provided by libc"
+ default y
+ depends on BUSYBOX_FEATURE_RTMINMAX
+ help
+ Some C libraries reserve a few real-time signals for internal
+ use, and adjust the values of SIGRTMIN/SIGRTMAX seen by
+ applications accordingly. Saying yes here means that a signal
+ name RTMIN+n will be interpreted according to the libc definition
+ 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.
- 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.
+config BUSYBOX_FEATURE_BUFFERS_USE_MALLOC
+ bool "Allocate with Malloc"
- "Bss" end is usually not page-aligned. There is an unused space
- in the last page. Linker marks its start with the "_end" symbol.
+config BUSYBOX_FEATURE_BUFFERS_GO_ON_STACK
+ bool "Allocate on the Stack"
- 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.
+config BUSYBOX_FEATURE_BUFFERS_GO_IN_BSS
+ bool "Allocate in the .bss section"
- If you are getting a build error like this:
- appletlib.c:(.text.main+0xd): undefined reference to '_end'
- disable this option.
-
-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.
+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 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 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 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:
+
+ $ 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
+ 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"
@@ -115,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"
@@ -134,141 +242,208 @@ 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"
+ default y
+ depends on BUSYBOX_FEATURE_EDITING
config BUSYBOX_FEATURE_EDITING_ASK_TERMINAL
bool "Query cursor position from 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.
+ With this option on, Unicode support is activated
+ only if locale-related variables have the value of the form
+ "xxxx.utf8"
- 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.
+ Otherwise, Unicode support will be always enabled and active.
- 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_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
- Support for printing infiniband addresses in
- network applets.
+ 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
+ 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 3e435a25c..5f12bbbee 100644
--- a/package/busybox/config/loginutils/Config.in
+++ b/package/busybox/config/loginutils/Config.in
@@ -1,358 +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
- Support long options for the adduser applet.
+ 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
+ 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.
+ 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:
-
- 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_SULOGIN
- bool "sulogin"
+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 (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 107a96664..82aeff339 100644
--- a/package/busybox/config/miscutils/Config.in
+++ b/package/busybox/config/miscutils/Config.in
@@ -1,247 +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_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"
+config BUSYBOX_ADJTIMEX
+ bool "adjtimex (4.7 kb)"
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"
+ 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
- The -M/-m flag enables a more sophisticated status line.
+ Print ascii table.
-config BUSYBOX_FEATURE_LESS_TRUNCATE
- bool "Enable -S"
- default y
- depends on BUSYBOX_LESS
+config BUSYBOX_BBCONFIG
+ bool "bbconfig (9.7 kb)"
+ default n
help
- The -S flag causes long lines to be truncated rather than
- wrapped.
+ The bbconfig applet will print the config file with which
+ busybox was built.
-config BUSYBOX_FEATURE_LESS_MARKS
- bool "Enable marks"
+config BUSYBOX_FEATURE_COMPRESS_BBCONFIG
+ bool "Compress bbconfig data"
default y
- depends on BUSYBOX_LESS
+ depends on BUSYBOX_BBCONFIG
help
- Marks enable positions in a file to be stored for easy reference.
+ Store bbconfig data in compressed form, uncompress them on-the-fly
+ before output.
-config BUSYBOX_FEATURE_LESS_REGEXP
- bool "Enable regular expressions"
+ 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_LESS
- help
- Enable regular expressions, allowing complex file searches.
+ 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_FEATURE_LESS_WINCH
- bool "Enable automatic resizing on window size changes"
+config BUSYBOX_DC
+ bool "dc (36 kb)"
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"
+ 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_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)"
+config BUSYBOX_FEATURE_DC_LIBM
+ bool "Enable power and exp functions (requires libm)"
default y
- depends on BUSYBOX_LESS
+ depends on BUSYBOX_DC && !BUSYBOX_BC && !BUSYBOX_FEATURE_DC_BIG
help
- This enables the ability to change command-line flags within
- less itself ('-' keyboard command).
+ Enable power and exp functions.
+ NOTE: This will require libm to be present for linking.
-config BUSYBOX_FEATURE_LESS_LINENUMS
- bool "Enable dynamic switching of line numbers"
+config BUSYBOX_FEATURE_BC_INTERACTIVE
+ bool "Interactive mode (+4kb)"
default y
- depends on BUSYBOX_FEATURE_LESS_DASHCMD
+ depends on BUSYBOX_BC || (BUSYBOX_DC && BUSYBOX_FEATURE_DC_BIG)
help
- Enables "-N" command.
+ 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_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_SETSERIAL
- bool "setserial"
- default n
- select BUSYBOX_PLATFORM_LINUX
- help
- Retrieve or set Linux serial port.
+ 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_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"
@@ -249,392 +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_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 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"
@@ -643,167 +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.
-
- 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.
+ 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.
- 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.
+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 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
- 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.
+ 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 27709277d..795b00a0d 100644
--- a/package/busybox/config/modutils/Config.in
+++ b/package/busybox/config/modutils/Config.in
@@ -1,276 +1,239 @@
# 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_).
-
- 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.
+ Build smaller (~1.5 kbytes), simplified module tools.
- NB: modules.dep.bb file format is not compatible
- with modules.dep file as created/used by standard module tools.
+ This option by itself does not enable any applets -
+ you need to select applets individually below.
- Additional module parameters can be stored in
- /etc/modules/$module_name files.
+ 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_).
- 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
+ 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.
- As of 2008-07, this code is experimental. It is 14kb smaller
- than "non-small" modutils.
+ NB: modules.dep.bb file format is not compatible
+ with modules.dep file as created/used by standard module tools.
-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.
+ Additional module parameters can be stored in
+ /etc/modules/$module_name files.
-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"
-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
+config BUSYBOX_FEATURE_CMDLINE_MODULE_OPTIONS
+ bool "Accept module options on modprobe command line"
+ default y
+ depends on BUSYBOX_INSMOD || BUSYBOX_MODPROBE
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.
+ Allow insmod and modprobe take module options from the applets'
+ command line.
-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
+config BUSYBOX_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
+ bool "Skip loading of already loaded modules"
+ default y
+ depends on BUSYBOX_MODPROBE_SMALL && (BUSYBOX_DEPMOD || BUSYBOX_INSMOD || BUSYBOX_MODPROBE)
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.
+ Check if the module is already loaded.
- 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_2_4_MODULES
+ bool "Support version 2.2/2.4 Linux kernels"
+ default n
+ depends on (BUSYBOX_INSMOD || BUSYBOX_LSMOD || BUSYBOX_MODPROBE || BUSYBOX_RMMOD) && !BUSYBOX_MODPROBE_SMALL
+ 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_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 8592e66ef..341092334 100644
--- a/package/busybox/config/networking/Config.in
+++ b/package/busybox/config/networking/Config.in
@@ -1,1147 +1,1259 @@
# 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.
+ 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
+ depends on BUSYBOX_FEATURE_IPV6
help
- ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to
- elicit an ICMP ECHO_RESPONSE from a host or gateway.
+ Use IPv4 address of network host if it has one.
-config BUSYBOX_PING6
- bool "ping6"
- default y if ADK_TARGET_WITH_NET
- depends on BUSYBOX_FEATURE_IPV6 && BUSYBOX_PING
- help
- This will give you a ping that can talk IPv6.
+ 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_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.
-
-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.
+ Support for printing infiniband addresses in network applets.
- 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"
+config BUSYBOX_FEATURE_TLS_SHA1
+ bool "In TLS code, support ciphers which use deprecated SHA1"
+ depends on BUSYBOX_TLS
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.
+ Selecting this option increases interoperability with very old
+ servers, but slightly increases code size.
+
+ Most TLS servers support SHA256 today (2018), since SHA1 is
+ 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
- Makes httpd send files using GZIP content encoding if the
- client supports it and a pre-compressed <file>.gz exists.
+ 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
+ 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
+ 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
- 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 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 y
+config BUSYBOX_FEATURE_NSLOOKUP_LONG_OPTIONS
+ bool "Enable long options"
+ 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.
-
-#config TC
-# bool "tc"
-# default y
-# help
-# show / manipulate traffic control settings
-#
-#config FEATURE_TC_INGRESS
-# def_bool n
-# depends on BUSYBOX_TC
+ slattach configures serial line as SLIP network interface.
+config BUSYBOX_SSL_CLIENT
+ bool "ssl_client (25 kb)"
+ default y
+ select BUSYBOX_TLS
+ help
+ This tool pipes data to/from a socket, TLS-encrypting it.
+config BUSYBOX_TC
+ bool "tc (8.3 kb)"
+ default y
+ help
+ 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].
-
-config BUSYBOX_TRACEROUTE
- bool "traceroute"
+ 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
- select BUSYBOX_PLATFORM_LINUX
+config BUSYBOX_TRACEROUTE
+ 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
- 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.
+ select BUSYBOX_TLS
+ help
+ 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 6da62d0ce..0c1733b9f 100644
--- a/package/busybox/config/procps/Config.in
+++ b/package/busybox/config/procps/Config.in
@@ -1,284 +1,277 @@
# 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
- help
- Show open files in the format of:
- PID <TAB> /path/to/executable <TAB> /path/to/opened/file
-
-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
+config BUSYBOX_FEATURE_FAST_TOP
+ bool "Faster /proc scanning code (+100 bytes)"
+ default n # all "fast or small" options default to small
help
- smemcap is a tool for capturing process data for smem,
- a memory usage statistic tool.
+ This option makes top and ps ~20% faster (or 20% less CPU hungry),
+ but code size is slightly bigger.
-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
- Send signals to processes by name.
+ Display processes' memory mappings.
+config BUSYBOX_POWERTOP
+ bool "powertop (9.6 kb)"
+ default y
+ help
+ 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"
+ default y
+ depends on BUSYBOX_TOP
+ help
+ Without this, top will only refresh display every 5 seconds.
+ No keyboard commands will work, only ^C to terminate.
config BUSYBOX_FEATURE_TOP_CPU_USAGE_PERCENTAGE
bool "Show CPU per-process 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 87b9b6b1d..ac1a248ac 100644
--- a/package/busybox/config/runit/Config.in
+++ b/package/busybox/config/runit/Config.in
@@ -1,96 +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
+ 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_SVLOGD
- bool "svlogd"
- default n
+config BUSYBOX_SVOK
+ bool "svok (1.5 kb)"
+ default y
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
+ svok checks whether runsv supervisor is running.
+ It is compatible with daemontools command with the same name.
+config BUSYBOX_SVLOGD
+ 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 efc17ff49..6ffa3b2b0 100644
--- a/package/busybox/config/shell/Config.in
+++ b/package/busybox/config/shell/Config.in
@@ -1,427 +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
+ 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
- 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.
+ 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.
-config BUSYBOX_MSH
- bool "msh (deprecated: aliased to hush)"
- default n
- select BUSYBOX_HUSH
- help
- msh is deprecated and will be removed, please migrate to hush.
+config BUSYBOX_HUSH_KILL
+ bool "kill builtin (supports kill %jobspec)"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
-choice
-prompt "Choose which shell is aliased to 'sh' name"
+config BUSYBOX_HUSH_WAIT
+ bool "wait builtin"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
-config BUSYBOX_SH_IS_NONE
- bool "none"
+config BUSYBOX_HUSH_COMMAND
+ bool "command builtin"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
-config BUSYBOX_SH_IS_ASH
- bool "ash"
+config BUSYBOX_HUSH_TRAP
+ bool "trap builtin"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
-config BUSYBOX_SH_IS_HUSH
- bool "hush"
+config BUSYBOX_HUSH_TYPE
+ bool "type builtin"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
-endchoice
+config BUSYBOX_HUSH_TIMES
+ bool "times builtin"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
-choice
-prompt "Choose which shell is aliased to 'bash' name"
+config BUSYBOX_HUSH_READ
+ bool "read builtin"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
-config BUSYBOX_BASH_IS_NONE
- bool "none"
+config BUSYBOX_HUSH_SET
+ bool "set builtin"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
-config BUSYBOX_BASH_IS_ASH
- bool "ash"
+config BUSYBOX_HUSH_UNSET
+ bool "unset builtin"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
-config BUSYBOX_BASH_IS_HUSH
- bool "hush"
+config BUSYBOX_HUSH_ULIMIT
+ bool "ulimit builtin"
+ default y
+ depends on BUSYBOX_SHELL_HUSH
-endchoice
+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 6df10efde..0d8b63557 100644
--- a/package/busybox/config/sysklogd/Config.in
+++ b/package/busybox/config/sysklogd/Config.in
@@ -1,63 +1,127 @@
# 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 y
+ depends on BUSYBOX_SYSLOGD
+ help
+ Supports restricted syslogd config. See docs/syslog.conf.txt
+
+config BUSYBOX_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS
+ bool "Include milliseconds in timestamps"
default n
depends on BUSYBOX_SYSLOGD
help
- Supports restricted syslogd config. See docs/syslog.conf.txt
+ Includes milliseconds (HH:MM:SS.mmm) in timestamp when
+ timestamps are added.
config BUSYBOX_FEATURE_SYSLOGD_READ_BUFFER_SIZE
int "Read buffer size in bytes"
@@ -65,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"
+ bool "Linux kernel printk buffer support"
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"
- 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 83830728b..77b2b83f1 100644
--- a/package/busybox/config/util-linux/Config.in
+++ b/package/busybox/config/util-linux/Config.in
@@ -1,624 +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
+config BUSYBOX_ACPID
+ bool "acpid (9 kb)"
+ default y
help
- Performs some ioctls with block devices.
+ 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.
-
- For more information, please see docs/mdev.txt
+ Lists labels and UUIDs of all filesystems.
-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_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
+ cal is used to display a monthly calendar.
+config BUSYBOX_CHRT
+ bool "chrt (4.7 kb)"
+ default y
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*).
-
- 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.
+ 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
+ "<#>".
- N.B. acpid relies on run-parts so have the latter installed.
+ With this option you will see:
+ # dmesg
+ Linux version 2.6.17.4 .....
+ BIOS-provided physical RAM map:
+ BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
-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
+config BUSYBOX_FDFLUSH
+ bool "fdflush (1.3 kb)"
+ default y
help
- Manage locks from shell scripts
+ 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.
-
-config BUSYBOX_MKFS_EXT2
- bool "mkfs_ext2"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ 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 y
+ select BUSYBOX_LONG_OPTS
help
- Utility to create EXT2 filesystems.
-
-config BUSYBOX_MKFS_MINIX
- bool "mkfs_minix"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ Halt new accesses and flush writes on a mounted filesystem.
+config BUSYBOX_FSTRIM
+ bool "fstrim (4.4 kb)"
+ default y
+ help
+ Discard unused blocks on a mounted filesystem.
+config BUSYBOX_GETOPT
+ bool "getopt (5.8 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.
+ 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_MINIX2
- bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
+config BUSYBOX_FEATURE_GETOPT_LONG
+ bool "Support -l LONGOPTs"
+ default y
+ depends on BUSYBOX_GETOPT && BUSYBOX_LONG_OPTS
+ help
+ Enable support for long options (option -l).
+config BUSYBOX_HEXDUMP
+ bool "hexdump (8.6 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.
+ 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_MKFS_REISER
- bool "mkfs_reiser"
- default n
- select BUSYBOX_PLATFORM_LINUX
+config BUSYBOX_HD
+ bool "hd (7.8 kb)"
+ default y
help
- Utility to create ReiserFS filesystems.
- Note: this applet needs a lot of testing and polishing.
+ hd is an alias to hexdump -C.
+config BUSYBOX_XXD
+ bool "xxd (8.9 kb)"
+ 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 (5.8 kb)"
+ default y
+ 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_MKFS_VFAT
- bool "mkfs_vfat"
- default n
- select BUSYBOX_PLATFORM_LINUX
+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
- Utility to create FAT32 filesystems.
+ 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.
-config BUSYBOX_GETOPT
- bool "getopt"
- default n
+ 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 (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.
+config BUSYBOX_IPCS
+ 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 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.
+ 'last' displays a list of the last users that logged into the system.
-config BUSYBOX_FEATURE_GETOPT_LONG
- bool "Support option -l"
- default y if LONG_OPTS
- depends on BUSYBOX_GETOPT
+config BUSYBOX_FEATURE_LAST_FANCY
+ bool "Output extra information"
+ default y
+ depends on BUSYBOX_LAST
help
- Enable support for long options (option -l).
+ 'last' displays detailed information about the last users that
+ logged into the system (mimics sysvinit last). +900 bytes.
+config BUSYBOX_LOSETUP
+ 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.
+config BUSYBOX_LSPCI
+ 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.
-config BUSYBOX_HEXDUMP
- bool "hexdump"
- default n
+ This version uses sysfs (/sys/bus/pci/devices) only.
+config BUSYBOX_LSUSB
+ bool "lsusb (4.2 kb)"
+ default y
help
- The hexdump utility is used to display binary data in a readable
- way that is comparable to the output from most hex editors.
+ lsusb is a utility for displaying information about USB buses in the
+ system and devices connected to them.
-config BUSYBOX_FEATURE_HEXDUMP_REVERSE
- bool "Support -R, reverse of 'hexdump -Cv'"
+ This version uses sysfs (/sys/bus/usb/devices) only.
+config BUSYBOX_MDEV
+ bool "mdev (17 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.
+ mdev is a mini-udev implementation for dynamically creating device
+ nodes in the /dev directory.
-config BUSYBOX_HD
- bool "hd"
- default n
+ For more information, please see docs/mdev.txt
+
+config BUSYBOX_FEATURE_MDEV_CONF
+ bool "Support /etc/mdev.conf"
+ default y
+ depends on BUSYBOX_MDEV
help
- hd is an alias to hexdump -C.
+ Add support for the mdev config file to control ownership and
+ permissions of the device nodes.
-config BUSYBOX_HWCLOCK
- bool "hwclock"
- default y if ADK_TARGET_WITH_RTC
- default n
- select BUSYBOX_PLATFORM_LINUX
+ 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
- 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.
+ Add support for renaming devices and creating symlinks.
+
+ For more information, please see docs/mdev.txt
-config BUSYBOX_FEATURE_HWCLOCK_LONG_OPTIONS
- bool "Support long options (--hctosys,...)"
+config BUSYBOX_FEATURE_MDEV_RENAME_REGEXP
+ bool "Support regular expressions substitutions when renaming device"
default y
- depends on BUSYBOX_HWCLOCK && BUSYBOX_LONG_OPTS
+ depends on BUSYBOX_FEATURE_MDEV_RENAME
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.
+ Add support for regular expressions substitutions when renaming
+ device.
-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
+config BUSYBOX_FEATURE_MDEV_EXEC
+ bool "Support command execution at device addition/removal"
+ default y
+ depends on BUSYBOX_FEATURE_MDEV_CONF
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.
+ This adds support for an optional field to /etc/mdev.conf for
+ executing commands when devices are created/removed.
- pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO
+ For more information, please see docs/mdev.txt
-config BUSYBOX_IPCRM
- bool "ipcrm"
- default n
+config BUSYBOX_FEATURE_MDEV_LOAD_FIRMWARE
+ bool "Support loading of firmware"
+ default y
+ depends on BUSYBOX_MDEV
help
- The ipcrm utility allows the removal of System V interprocess
- communication (IPC) objects and the associated data structures
- from the system.
+ Some devices need to load firmware before they can be usable.
-config BUSYBOX_IPCS
- bool "ipcs"
- default n
- select BUSYBOX_PLATFORM_LINUX
+ 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
- The ipcs utility is used to provide information on the currently
- allocated System V interprocess (IPC) objects in the system.
+ 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_LOSETUP
- bool "losetup"
- default n
- select BUSYBOX_PLATFORM_LINUX
+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
- 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.
+ 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.
-config BUSYBOX_LSPCI
- bool "lspci"
- depends on !BUSYBOX_DISABLE_LSPCI
- default n
- #select PLATFORM_LINUX
+ 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
- lspci is a utility for displaying information about PCI buses in the
- system and devices connected to them.
+ Utility to create EXT2 filesystems.
- This version uses sysfs (/sys/bus/pci/devices) only.
+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_LSUSB
- bool "lsusb"
- depends on !BUSYBOX_DISABLE_LSUSB
+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
- #select PLATFORM_LINUX
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.
+ 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"
@@ -626,534 +587,369 @@ 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)
+config BUSYBOX_MOUNTPOINT
+ bool "mountpoint (4.9 kb)"
+ default y
help
- Support mount -T (specifying an alternate fstab)
+ 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
- help
- Alias to "setarch linux64".
-
-config BUSYBOX_SWAPON
- bool "swapon"
- 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.
-
-config BUSYBOX_FEATURE_SWAPON_DISCARD
- bool "Support discard option -d"
- default n
- 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.
-
-config BUSYBOX_FEATURE_SWAPON_PRI
- bool "Support priority option -p"
+ bool "linux64 (3.3 kb)"
default y
- depends on BUSYBOX_SWAPON
help
- 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"
- 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"
+ Alias to "setarch linux64".
+config BUSYBOX_SETPRIV
+ bool "setpriv (6.6 kb)"
default y
- depends on !BUSYBOX_DISABLE_UMOUNT
- select BUSYBOX_PLATFORM_LINUX
+ select BUSYBOX_LONG_OPTS
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'.
+ Run a program with different Linux privilege settings.
+ Requires kernel >= 3.5
-config BUSYBOX_FEATURE_UMOUNT_ALL
- bool "Support option -a"
+config BUSYBOX_FEATURE_SETPRIV_DUMP
+ bool "Support dumping current privilege state"
default y
- depends on BUSYBOX_UMOUNT
+ depends on BUSYBOX_SETPRIV
help
- Support -a option to unmount all currently mounted filesystems.
+ Enables the "--dump" switch to print out the current privilege
+ state. This is helpful for diagnosing problems.
-comment "Common options for mount/umount"
- depends on BUSYBOX_MOUNT || BUSYBOX_UMOUNT
-
-config BUSYBOX_FEATURE_MOUNT_LOOP
- bool "Support loopback mounts"
+config BUSYBOX_FEATURE_SETPRIV_CAPABILITIES
+ bool "Support capabilities"
default y
- depends on BUSYBOX_MOUNT || BUSYBOX_UMOUNT
+ depends on BUSYBOX_SETPRIV
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.
+ Capabilities can be used to grant processes additional rights
+ without the necessity to always execute as the root user.
+ Enabling this option enables "--dump" to show information on
+ capabilities.
- 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"
+config BUSYBOX_FEATURE_SETPRIV_CAPABILITY_NAMES
+ bool "Support capability names"
default y
- depends on BUSYBOX_FEATURE_MOUNT_LOOP
+ depends on BUSYBOX_SETPRIV && BUSYBOX_FEATURE_SETPRIV_CAPABILITIES
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
+ Capabilities can be either referenced via a human-readble name,
+ 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
- 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"
+ setsid runs a program in a new session
+config BUSYBOX_SWAPON
+ bool "swapon (15 kb)"
default n
- depends on BUSYBOX_VOLUMEID
help
- TODO
+ 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_VOLUMEID_EXT
- bool "Ext filesystem"
+config BUSYBOX_FEATURE_SWAPON_DISCARD
+ bool "Support discard option -d"
default y
- depends on BUSYBOX_VOLUMEID
+ depends on BUSYBOX_SWAPON
help
- TODO
+ 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_VOLUMEID_BTRFS
- bool "btrfs filesystem"
+config BUSYBOX_FEATURE_SWAPON_PRI
+ bool "Support priority option -p"
default y
- depends on BUSYBOX_VOLUMEID
+ depends on BUSYBOX_SWAPON
help
- TODO
+ Enable support for setting swap device priority in swapon.
-config BUSYBOX_FEATURE_VOLUMEID_REISERFS
- bool "Reiser filesystem"
- default y
- depends on BUSYBOX_VOLUMEID
- help
- TODO
+config BUSYBOX_SWAPOFF
+ bool "swapoff (14 kb)"
+ default n
-config BUSYBOX_FEATURE_VOLUMEID_F2FS
- bool "f2fs 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
- 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"
+ 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
-
-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.
+ 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_HFS
- bool "hfs filesystem"
- default y
- depends on BUSYBOX_VOLUMEID
- help
- TODO
+ 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
-
-### config FEATURE_VOLUMEID_MINIX
-### bool "minix filesystem"
-### default y
-### depends on BUSYBOX_VOLUMEID
-### 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.
-### 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
+ This feature lets mount to try to create next /dev/loopN device
+ if it does not find a free one.
-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/002-find-empty.patch b/package/busybox/patches/002-find-empty.patch
deleted file mode 100644
index f8c1f98cf..000000000
--- a/package/busybox/patches/002-find-empty.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-diff -Nur busybox-1.17.0.orig/findutils/find.c busybox-1.17.0/findutils/find.c
---- busybox-1.17.0.orig/findutils/find.c 2010-06-24 04:40:43.000000000 +0200
-+++ busybox-1.17.0/findutils/find.c 2010-07-08 12:33:55.759015289 +0200
-@@ -133,6 +133,14 @@
- //config: help
- //config: Support the 'find -inum' option for searching by inode number.
- //config:
-+//config:config FEATURE_FIND_EMPTY
-+//config: bool "Enable -empty option matching empty files and directories"
-+//config: default y
-+//config: depends on FIND
-+//config: help
-+//config: Support the 'find -empty' option for searching empty files
-+//config: and directories.
-+//config:
- //config:config FEATURE_FIND_EXEC
- //config: bool "Enable -exec: execute commands"
- //config: default y
-@@ -270,6 +278,7 @@
- IF_FEATURE_FIND_CONTEXT(ACTS(context, security_context_t context;))
- IF_FEATURE_FIND_PAREN( ACTS(paren, action ***subexpr;))
- IF_FEATURE_FIND_PRUNE( ACTS(prune))
-+IF_FEATURE_FIND_EMPTY( ACTS(empty))
- IF_FEATURE_FIND_DELETE( ACTS(delete))
- IF_FEATURE_FIND_EXEC( ACTS(exec, char **exec_argv; unsigned *subst_count; int exec_argc;))
- IF_FEATURE_FIND_GROUP( ACTS(group, gid_t gid;))
-@@ -519,6 +528,34 @@
- return exec_actions(ap->subexpr, fileName, statbuf);
- }
- #endif
-+#if ENABLE_FEATURE_FIND_EMPTY
-+ACTF(empty)
-+{
-+ DIR *d;
-+ struct dirent *dp;
-+ bool empty = TRUE;
-+
-+ if (S_ISDIR(statbuf->st_mode)) {
-+ d = opendir(fileName);
-+ if (d == NULL)
-+ bb_simple_perror_msg(fileName);
-+ for (dp = readdir(d); dp; dp = readdir(d)) {
-+ if (dp->d_name[0] != '.' ||
-+ (dp->d_name[1] != '\0' &&
-+ (dp->d_name[1] != '.' ||
-+ dp->d_name[2] != '\0'))) {
-+ empty = FALSE;
-+ break;
-+ }
-+ }
-+ closedir(d);
-+ return(empty);
-+ } else if (S_ISREG(statbuf->st_mode))
-+ return (statbuf->st_size == 0);
-+ else
-+ return FALSE;
-+}
-+#endif
- #if ENABLE_FEATURE_FIND_SIZE
- ACTF(size)
- {
-@@ -686,6 +723,7 @@
- IF_FEATURE_FIND_PRINT0( PARM_print0 ,)
- IF_FEATURE_FIND_DEPTH( PARM_depth ,)
- IF_FEATURE_FIND_PRUNE( PARM_prune ,)
-+ IF_FEATURE_FIND_EMPTY( PARM_empty ,)
- IF_FEATURE_FIND_DELETE( PARM_delete ,)
- IF_FEATURE_FIND_EXEC( PARM_exec ,)
- IF_FEATURE_FIND_PAREN( PARM_char_brace,)
-@@ -720,6 +758,7 @@
- IF_FEATURE_FIND_PRINT0( "-print0\0" )
- IF_FEATURE_FIND_DEPTH( "-depth\0" )
- IF_FEATURE_FIND_PRUNE( "-prune\0" )
-+ IF_FEATURE_FIND_EMPTY( "-empty\0" )
- IF_FEATURE_FIND_DELETE( "-delete\0" )
- IF_FEATURE_FIND_EXEC( "-exec\0" )
- IF_FEATURE_FIND_PAREN( "(\0" )
-@@ -839,6 +878,12 @@
- (void) ALLOC_ACTION(prune);
- }
- #endif
-+#if ENABLE_FEATURE_FIND_EMPTY
-+ else if (parm == PARM_empty) {
-+ IF_FEATURE_FIND_NOT( invert_flag = 0; )
-+ (void) ALLOC_ACTION(empty);
-+ }
-+#endif
- #if ENABLE_FEATURE_FIND_DELETE
- else if (parm == PARM_delete) {
- G.need_print = 0;
diff --git a/package/busybox/patches/006-od-bloat.patch b/package/busybox/patches/006-od-bloat.patch
deleted file mode 100644
index ff501acdb..000000000
--- a/package/busybox/patches/006-od-bloat.patch
+++ /dev/null
@@ -1,214 +0,0 @@
-diff -Nur busybox-1.18.1.orig/coreutils/od.c busybox-1.18.1/coreutils/od.c
---- busybox-1.18.1.orig/coreutils/od.c 2010-12-20 01:41:26.000000000 +0100
-+++ busybox-1.18.1/coreutils/od.c 2010-12-25 23:18:48.000000000 +0100
-@@ -13,210 +13,4 @@
-
-
- #include "libbb.h"
--#if ENABLE_DESKTOP
--/* This one provides -t (busybox's own build script needs it) */
- #include "od_bloaty.c"
--#else
--
--#include "dump.h"
--
--static void
--odoffset(dumper_t *dumper, int argc, char ***argvp)
--{
-- char *num, *p;
-- int base;
-- char *end;
--
-- /*
-- * The offset syntax of od(1) was genuinely bizarre. First, if
-- * it started with a plus it had to be an offset. Otherwise, if
-- * there were at least two arguments, a number or lower-case 'x'
-- * followed by a number makes it an offset. By default it was
-- * octal; if it started with 'x' or '0x' it was hex. If it ended
-- * in a '.', it was decimal. If a 'b' or 'B' was appended, it
-- * multiplied the number by 512 or 1024 byte units. There was
-- * no way to assign a block count to a hex offset.
-- *
-- * We assumes it's a file if the offset is bad.
-- */
-- p = **argvp;
--
-- if (!p) {
-- /* hey someone is probably piping to us ... */
-- return;
-- }
--
-- if ((*p != '+')
-- && (argc < 2
-- || (!isdigit(p[0])
-- && ((p[0] != 'x') || !isxdigit(p[1])))))
-- return;
--
-- base = 0;
-- /*
-- * skip over leading '+', 'x[0-9a-fA-f]' or '0x', and
-- * set base.
-- */
-- if (p[0] == '+')
-- ++p;
-- if (p[0] == 'x' && isxdigit(p[1])) {
-- ++p;
-- base = 16;
-- } else if (p[0] == '0' && p[1] == 'x') {
-- p += 2;
-- base = 16;
-- }
--
-- /* skip over the number */
-- if (base == 16)
-- for (num = p; isxdigit(*p); ++p)
-- continue;
-- else
-- for (num = p; isdigit(*p); ++p)
-- continue;
--
-- /* check for no number */
-- if (num == p)
-- return;
--
-- /* if terminates with a '.', base is decimal */
-- if (*p == '.') {
-- if (base)
-- return;
-- base = 10;
-- }
--
-- dumper->dump_skip = strtol(num, &end, base ? base : 8);
--
-- /* if end isn't the same as p, we got a non-octal digit */
-- if (end != p)
-- dumper->dump_skip = 0;
-- else {
-- if (*p) {
-- if (*p == 'b') {
-- dumper->dump_skip *= 512;
-- ++p;
-- } else if (*p == 'B') {
-- dumper->dump_skip *= 1024;
-- ++p;
-- }
-- }
-- if (*p)
-- dumper->dump_skip = 0;
-- else {
-- ++*argvp;
-- /*
-- * If the offset uses a non-octal base, the base of
-- * the offset is changed as well. This isn't pretty,
-- * but it's easy.
-- */
--#define TYPE_OFFSET 7
-- {
-- char x_or_d;
-- if (base == 16) {
-- x_or_d = 'x';
-- goto DO_X_OR_D;
-- }
-- if (base == 10) {
-- x_or_d = 'd';
-- DO_X_OR_D:
-- dumper->fshead->nextfu->fmt[TYPE_OFFSET]
-- = dumper->fshead->nextfs->nextfu->fmt[TYPE_OFFSET]
-- = x_or_d;
-- }
-- }
-- }
-- }
--}
--
--static const char *const add_strings[] = {
-- "16/1 \"%3_u \" \"\\n\"", /* a */
-- "8/2 \" %06o \" \"\\n\"", /* B, o */
-- "16/1 \"%03o \" \"\\n\"", /* b */
-- "16/1 \"%3_c \" \"\\n\"", /* c */
-- "8/2 \" %05u \" \"\\n\"", /* d */
-- "4/4 \" %010u \" \"\\n\"", /* D */
-- "2/8 \" %21.14e \" \"\\n\"", /* e (undocumented in od), F */
-- "4/4 \" %14.7e \" \"\\n\"", /* f */
-- "4/4 \" %08x \" \"\\n\"", /* H, X */
-- "8/2 \" %04x \" \"\\n\"", /* h, x */
-- "4/4 \" %11d \" \"\\n\"", /* I, L, l */
-- "8/2 \" %6d \" \"\\n\"", /* i */
-- "4/4 \" %011o \" \"\\n\"", /* O */
--};
--
--static const char od_opts[] ALIGN1 = "aBbcDdeFfHhIiLlOoXxv";
--
--static const char od_o2si[] ALIGN1 = {
-- 0, 1, 2, 3, 5,
-- 4, 6, 6, 7, 8,
-- 9, 0xa, 0xb, 0xa, 0xa,
-- 0xb, 1, 8, 9,
--};
--
--int od_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
--int od_main(int argc, char **argv)
--{
-- int ch;
-- int first = 1;
-- char *p;
-- dumper_t *dumper = alloc_dumper();
--
-- while ((ch = getopt(argc, argv, od_opts)) > 0) {
-- if (ch == 'v') {
-- dumper->dump_vflag = ALL;
-- } else if (((p = strchr(od_opts, ch)) != NULL) && (*p != '\0')) {
-- if (first) {
-- first = 0;
-- bb_dump_add(dumper, "\"%07.7_Ao\n\"");
-- bb_dump_add(dumper, "\"%07.7_ao \"");
-- } else {
-- bb_dump_add(dumper, "\" \"");
-- }
-- bb_dump_add(dumper, add_strings[(int)od_o2si[(p - od_opts)]]);
-- } else { /* P, p, s, w, or other unhandled */
-- bb_show_usage();
-- }
-- }
-- if (!dumper->fshead) {
-- bb_dump_add(dumper, "\"%07.7_Ao\n\"");
-- bb_dump_add(dumper, "\"%07.7_ao \" 8/2 \"%06o \" \"\\n\"");
-- }
--
-- argc -= optind;
-- argv += optind;
--
-- odoffset(dumper, argc, &argv);
--
-- return bb_dump_dump(dumper, argv);
--}
--#endif /* ENABLE_DESKTOP */
--
--/*-
-- * Copyright (c) 1990 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.
-- * 3. 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.
-- */
diff --git a/package/busybox/patches/009-Replace-obsolete-stime-API-with-clock_settime.patch b/package/busybox/patches/009-Replace-obsolete-stime-API-with-clock_settime.patch
deleted file mode 100644
index 14795da41..000000000
--- a/package/busybox/patches/009-Replace-obsolete-stime-API-with-clock_settime.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-diff -Nur busybox-1.26.2.orig/coreutils/date.c busybox-1.26.2/coreutils/date.c
---- busybox-1.26.2.orig/coreutils/date.c 2016-12-10 18:46:36.000000000 +0100
-+++ busybox-1.26.2/coreutils/date.c 2020-02-04 09:55:25.126083910 +0100
-@@ -267,6 +267,9 @@
- time(&ts.tv_sec);
- #endif
- }
-+#if !ENABLE_FEATURE_DATE_NANO
-+ ts.tv_nsec = 0;
-+#endif
- localtime_r(&ts.tv_sec, &tm_time);
-
- /* If date string is given, update tm_time, and maybe set date */
-@@ -289,11 +292,12 @@
- if (date_str[0] != '@')
- tm_time.tm_isdst = -1;
- ts.tv_sec = validate_tm_time(date_str, &tm_time);
-+ ts.tv_nsec = 0;
-
- maybe_set_utc(opt);
-
- /* if setting time, set it */
-- if ((opt & OPT_SET) && stime(&ts.tv_sec) < 0) {
-+ if ((opt & OPT_SET) && clock_settime(CLOCK_REALTIME, &ts) < 0) {
- bb_perror_msg("can't set date");
- }
- }
-diff -Nur busybox-1.26.2.orig/libbb/missing_syscalls.c busybox-1.26.2/libbb/missing_syscalls.c
---- busybox-1.26.2.orig/libbb/missing_syscalls.c 2016-09-27 18:53:50.000000000 +0200
-+++ busybox-1.26.2/libbb/missing_syscalls.c 2020-02-04 09:55:58.848244715 +0100
-@@ -16,14 +16,6 @@
- return syscall(__NR_getsid, pid);
- }
-
--int stime(const time_t *t)
--{
-- struct timeval tv;
-- tv.tv_sec = *t;
-- tv.tv_usec = 0;
-- return settimeofday(&tv, NULL);
--}
--
- int sethostname(const char *name, size_t len)
- {
- return syscall(__NR_sethostname, name, len);
-diff -Nur busybox-1.26.2.orig/util-linux/rdate.c busybox-1.26.2/util-linux/rdate.c
---- busybox-1.26.2.orig/util-linux/rdate.c 2016-12-10 18:46:36.000000000 +0100
-+++ busybox-1.26.2/util-linux/rdate.c 2020-02-04 09:56:53.927774023 +0100
-@@ -79,9 +79,13 @@
- time(&current_time);
- if (current_time == remote_time)
- bb_error_msg("current time matches remote time");
-- else
-- if (stime(&remote_time) < 0)
-- bb_perror_msg_and_die("can't set time of day");
-+ else {
-+ struct timespec ts;
-+ ts.tv_sec = remote_time;
-+ ts.tv_nsec = 0;
-+ if (clock_settime(CLOCK_REALTIME, &ts) < 0)
-+ bb_perror_msg_and_die("can't set time of day");
-+ }
- }
-
- if (flags != 1) /* not lone -s */
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 7f7336e4b..723d1abcc 100644
--- a/package/bzip2/Makefile
+++ b/package/bzip2/Makefile
@@ -4,16 +4,16 @@
include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= bzip2
-PKG_VERSION:= 1.0.6
-PKG_RELEASE:= 3
-PKG_HASH:= a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd
+PKG_VERSION:= 1.0.8
+PKG_RELEASE:= 1
+PKG_HASH:= ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269
PKG_DESCR:= compression utility
PKG_SECTION:= app/archive
PKG_BUILDDEP:= bzip2-host
PKG_DEPENDS:= libbz2
HOST_BUILDDEP:= patch-host
PKG_URL:= http://www.bzip.org/
-PKG_SITES:= http://www.bzip.org/${PKG_VERSION}/
+PKG_SITES:= https://sourceware.org/pub/bzip2/
PKG_LIBNAME:= libbz2
PKG_OPTS:= dev
@@ -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/bzip2/patches/patch-Makefile b/package/bzip2/patches/patch-Makefile
index 0d15eab68..3fbb45234 100644
--- a/package/bzip2/patches/patch-Makefile
+++ b/package/bzip2/patches/patch-Makefile
@@ -1,5 +1,5 @@
---- bzip2-1.0.5.orig/Makefile 2008-02-14 13:39:18.000000000 +0100
-+++ bzip2-1.0.5/Makefile 2009-08-23 20:18:12.000000000 +0200
+--- bzip2-1.0.8.orig/Makefile 2019-07-13 19:50:05.000000000 +0200
++++ bzip2-1.0.8/Makefile 2020-04-02 00:14:59.333485383 +0200
@@ -15,16 +15,16 @@
SHELL=/bin/sh
@@ -19,7 +19,7 @@
# Where you want it installed when you do 'make install'
-PREFIX=/usr/local
-+PREFIX?=/usr
++PREFIX=/usr
OBJS= blocksort.o \
diff --git a/package/bzip2/patches/patch-Makefile-libbz2_so b/package/bzip2/patches/patch-Makefile-libbz2_so
index 148c7562a..9d901f6bc 100644
--- a/package/bzip2/patches/patch-Makefile-libbz2_so
+++ b/package/bzip2/patches/patch-Makefile-libbz2_so
@@ -1,6 +1,6 @@
---- bzip2-1.0.6.orig/Makefile-libbz2_so 2010-09-11 01:07:52.000000000 +0200
-+++ bzip2-1.0.6/Makefile-libbz2_so 2014-01-13 21:51:20.000000000 +0100
-@@ -21,10 +21,18 @@
+--- bzip2-1.0.8.orig/Makefile-libbz2_so 2019-07-13 19:50:05.000000000 +0200
++++ bzip2-1.0.8/Makefile-libbz2_so 2020-04-02 00:16:39.699887764 +0200
+@@ -21,10 +21,11 @@
# ------------------------------------------------------------------
@@ -11,23 +11,7 @@
BIGFILES=-D_FILE_OFFSET_BITS=64
-CFLAGS=-fpic -fPIC -Wall -Winline -O2 -g $(BIGFILES)
+CFLAGS?=
-+CFLAGS+=-fpic -fPIC -Wall -Winline $(BIGFILES)
-+OS=$(shell uname)
-+LDOPT=-soname
-+ifneq ($(CROSS_COMPILE),1)
-+ifeq ($(OS),Darwin)
-+LDOPT=-install_name
-+endif
-+endif
++CFLAGS+=-fpic -fPIC -Wall -Winline -g $(BIGFILES)
OBJS= blocksort.o \
huffman.o \
-@@ -35,7 +43,7 @@ OBJS= blocksort.o \
- bzlib.o
-
- all: $(OBJS)
-- $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.6 $(OBJS)
-+ $(CC) -shared -Wl,$(LDOPT) -Wl,libbz2.so.1.0 -o libbz2.so.1.0.6 $(OBJS)
- $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.6
- rm -f libbz2.so.1.0
- ln -s libbz2.so.1.0.6 libbz2.so.1.0
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 a0e2ef7e8..602ca0738 100644
--- a/package/cherrypy/Makefile
+++ b/package/cherrypy/Makefile
@@ -8,9 +8,9 @@ PKG_VERSION:= 5.1.0
PKG_RELEASE:= 1
PKG_HASH:= 5fccc9ad3bf9a1df83bbb934772f34f42571421bdd75f90f74c170b6c0ef13b1
PKG_DESCR:= python web framework
-PKG_SECTION:= net/http
-PKG_DEPENDS:= python2
-PKG_BUILDDEP:= python2
+PKG_SECTION:= dev/python
+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/dhcpcd/Makefile b/package/dhcpcd/Makefile
index de6093723..b1eefd540 100644
--- a/package/dhcpcd/Makefile
+++ b/package/dhcpcd/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= dhcpcd
-PKG_VERSION:= 6.11.5
+PKG_VERSION:= 9.1.1
PKG_RELEASE:= 1
-PKG_HASH:= 6f9674dc7e27e936cc787175404a6171618675ecfb6903ab9887b1b66a87d69e
+PKG_HASH:= bb742911be1f660db42a7323acc793b587f467c5de5b7186735c16d20204737d
PKG_DESCR:= dhcp client
PKG_SECTION:= net/dns
PKG_URL:= https://roy.marples.name/projects/dhcpcd
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 0f1135e7a..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.79
+PKG_VERSION:= 2.90
PKG_RELEASE:= 1
-PKG_HASH:= 78ad74f5ca14fd85a8bac93f764cd9d60b27579e90eabd3687ca7b030e67861f
+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 673ef73ef..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.4.4
+PKG_VERSION:= 1.7.0
PKG_RELEASE:= 1
-PKG_HASH:= 2f2c0bf4d84763595953885bdcd2159b0b85410018c8ba48cc31b3d6e443e4d8
+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
index a07d3e953..9a4553381 100644
--- a/package/dtc/patches/patch-Makefile
+++ b/package/dtc/patches/patch-Makefile
@@ -1,11 +1,11 @@
---- device-tree-compiler-b06e55c88b9b922ff7e25cd62a4709b65524f0fc.orig/Makefile 2016-04-05 12:08:43.000000000 +0200
-+++ device-tree-compiler-b06e55c88b9b922ff7e25cd62a4709b65524f0fc/Makefile 2016-04-05 12:52:14.756802700 +0200
-@@ -18,7 +18,7 @@ CONFIG_LOCALVERSION =
- CPPFLAGS = -I libfdt -I .
+--- 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 -fPIC -Werror $(WARNINGS)
-+CFLAGS = -g -Os -fPIC $(WARNINGS)
+-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/flask-login/Makefile b/package/flask-login/Makefile
new file mode 100644
index 000000000..0bc3d32ba
--- /dev/null
+++ b/package/flask-login/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
+
+# always use tab spaces as separator, no spaces
+PKG_NAME:= Flask-Login
+PKG_VERSION:= 0.5.0
+PKG_RELEASE:= 1
+PKG_HASH:= 6d33aef15b5bcead780acc339464aae8a6e28f13c90d8b1cf9de8b549d1c0b4b
+PKG_DESCR:= login management for flask
+PKG_SECTION:= dev/python
+PKG_DEPENDS:= flask
+PKG_URL:= https://pypi.org/project/Flask-Login
+PKG_SITES:= https://files.pythonhosted.org/packages/f9/01/f6c0a3a654ca125cf9cd273314c03a8bc6a47bf861765c8c1d375e15a28d/
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,FLASK_LOGIN,flask-login,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+CONFIG_STYLE:= manual
+BUILD_STYLE:= manual
+INSTALL_STYLE:= manual
+
+include $(ADK_TOPDIR)/mk/python3.mk
+
+do-build:
+ cd $(WRKBUILD); env PYTHONPATH=$(PYTHON_LIBDIR) $(PYTHON) ./setup.py build
+ $(INSTALL_DIR) $(WRKINST)/usr/lib/python$(PYTHON_VERSION)/site-packages
+ cd $(WRKBUILD); env PYTHONPATH=$(PYTHON_LIBDIR):$(WRKINST)/usr/lib/python$(PYTHON_VERSION)/site-packages $(PYTHON) ./setup.py install --prefix="$(WRKINST)/usr"
+
+do-install:
+ $(INSTALL_DIR) $(IDIR_FLASK_LOGIN)/usr/lib/python$(PYTHON_VERSION)/site-packages
+ $(CP) $(WRKINST)/usr/lib/python$(PYTHON_VERSION)/site-packages/Flask_Login* $(IDIR_FLASK_LOGIN)/usr/lib/python$(PYTHON_VERSION)/site-packages/
+ $(CP) $(WRKINST)/usr/lib/python$(PYTHON_VERSION)/site-packages/easy-install.pth $(IDIR_FLASK_LOGIN)/usr/lib/python$(PYTHON_VERSION)/site-packages/$(PKG_NAME).pth
+
+# please remove ALL above comments, before commiting
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/flask/Makefile b/package/flask/Makefile
new file mode 100644
index 000000000..073fd60b3
--- /dev/null
+++ b/package/flask/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:= Flask
+PKG_VERSION:= 1.1.1
+PKG_RELEASE:= 1
+PKG_HASH:= 13f9f196f330c7c2c5d7a5cf91af894110ca0215ac051b5844701f2bfd934d52
+PKG_DESCR:= flask python web framework
+PKG_SECTION:= dev/python
+PKG_URL:= https://pypi.org/project/Flask/
+PKG_SITES:= https://files.pythonhosted.org/packages/2e/80/3726a729de758513fd3dbc64e93098eb009c49305a97c6751de55b20b694/
+PKG_DEPENDS:= python3 python3-mod-zlib
+PKG_BUILDDEP:= python3
+
+DISTFILES:= Flask-$(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,FLASK,flask,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+CONFIG_STYLE:= manual
+BUILD_STYLE:= manual
+INSTALL_STYLE:= manual
+
+include $(ADK_TOPDIR)/mk/python3.mk
+
+do-build:
+ cd $(WRKBUILD); env PYTHONPATH=$(PYTHON_LIBDIR) $(PYTHON) ./setup.py build
+ $(INSTALL_DIR) $(WRKINST)/usr/lib/python$(PYTHON_VERSION)/site-packages
+ cd $(WRKBUILD); env PYTHONPATH=$(PYTHON_LIBDIR):$(WRKINST)/usr/lib/python$(PYTHON_VERSION)/site-packages $(PYTHON) ./setup.py install --prefix="$(WRKINST)/usr"
+
+do-install:
+ $(INSTALL_DIR) $(IDIR_FLASK)/usr/lib/python$(PYTHON_VERSION)/site-packages
+ $(CP) $(WRKINST)/usr/lib/python$(PYTHON_VERSION)/site-packages/*egg $(IDIR_FLASK)/usr/lib/python$(PYTHON_VERSION)/site-packages/
+ $(CP) $(WRKINST)/usr/lib/python$(PYTHON_VERSION)/site-packages/easy-install.pth $(IDIR_FLASK)/usr/lib/python$(PYTHON_VERSION)/site-packages/$(PKG_NAME).pth
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/flask/patches/patch-setup_py b/package/flask/patches/patch-setup_py
new file mode 100644
index 000000000..4ac6c27fb
--- /dev/null
+++ b/package/flask/patches/patch-setup_py
@@ -0,0 +1,37 @@
+--- Flask-1.1.1.orig/setup.py 2019-07-08 19:59:15.000000000 +0200
++++ Flask-1.1.1/setup.py 2020-04-11 10:54:23.217330259 +0200
+@@ -1,8 +1,32 @@
+ import io
+ import re
+
+-from setuptools import find_packages
+-from setuptools import setup
++try:
++ from setuptools import find_packages
++except ImportError:
++ import os
++ from distutils.util import convert_path
++
++ def find_packages(base_path):
++ base_path = convert_path(base_path)
++ found = []
++ for root, dirs, files in os.walk(base_path, followlinks=True):
++ dirs[:] = [d for d in dirs if d[0] != '.' and d not in ('ez_setup', '__pycache__')]
++ relpath = os.path.relpath(root, base_path)
++ parent = relpath.replace(os.sep, '.').lstrip('.')
++ if relpath != '.' and parent not in found:
++ # foo.bar package but no foo package, skip
++ continue
++ for dir in dirs:
++ if os.path.isfile(os.path.join(root, dir, '__init__.py')):
++ package = '.'.join((parent, dir)) if parent else dir
++ found.append(package)
++ return found
++
++try:
++ from setuptools import setup
++except ImportError:
++ from distutils.core import setup
+
+ with io.open("README.rst", "rt", encoding="utf8") as f:
+ readme = f.read()
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/forte/Makefile b/package/forte/Makefile
new file mode 100644
index 000000000..0b39e1ed8
--- /dev/null
+++ b/package/forte/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
+
+# always use tab spaces as separator, no spaces
+PKG_NAME:= forte
+PKG_VERSION:= 1.12.0
+PKG_RELEASE:= 1
+PKG_HASH:= 65541d5f682c386206f5fdee6a5663c19b3274ee6002b764a0314c49994c280c
+PKG_DESCR:= IEC61499 runtime
+PKG_SECTION:= libs/misc
+PKG_DEPENDS:= libmodbus
+#PKG_BUILDDEP:= add packages which need to be compiled
+PKG_URL:= https://www.eclipse.org/4diac/
+PKG_SITES:= http://ftp-stud.fht-esslingen.de/pub/Mirrors/eclipse/4diac/releases/1.12/forte/
+DISTFILES:= $(PKG_NAME)-incubation_$(PKG_VERSION).zip
+WRKDIST= $(WRKDIR)/$(PKG_NAME)-incubation_$(PKG_VERSION)
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+
+$(eval $(call PKG_template,FORTE,forte,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+CONFIG_STYLE:= cmake
+CMAKE_FLAGS:= -G "Unix Makefiles" -DFORTE_ARCHITECTURE=Posix -DFORTE_COM_ETH=ON -DFORTE_COM_FBDK=ON \
+ -DFORTE_COM_LOCAL=ON -DFORTE_TESTS=OFF -DFORTE_MODULE_CONVERT=ON \
+ -DFORTE_MODULE_IEC61131=ON -DFORTE_MODULE_UTILS=ON
+
+# please install all files and directories to the package dir
+forte-install:
+ $(INSTALL_DIR) $(IDIR_FORTE)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/forte \
+ $(IDIR_FORTE)/usr/bin
+
+# please remove ALL above comments, before commiting
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
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-arc/Makefile b/package/gdb-arc/Makefile
index 244535dff..2beb60e81 100644
--- a/package/gdb-arc/Makefile
+++ b/package/gdb-arc/Makefile
@@ -7,7 +7,7 @@ PKG_NAME:= gdb
PKG_VERSION:= arc-2018.03-release-gdb
PKG_GIT:= tag
PKG_RELEASE:= 1
-PKG_DESCR:= programm debugger
+PKG_DESCR:= program debugger
PKG_SECTION:= app/debug
PKG_DEPENDS:= libncurses zlib libexpat libthread-db
PKG_BUILDDEP:= ncurses readline expat zlib
diff --git a/package/gdb-microblaze/Makefile b/package/gdb-microblaze/Makefile
index cf1aff40d..90f8cd538 100644
--- a/package/gdb-microblaze/Makefile
+++ b/package/gdb-microblaze/Makefile
@@ -6,7 +6,7 @@ include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= gdb
PKG_VERSION:= 7.8.2
PKG_RELEASE:= 1
-PKG_DESCR:= programm debugger
+PKG_DESCR:= program debugger
PKG_SECTION:= app/debug
PKG_HASH:= 605954d5747d5f08ea4b7f48e958d1ebbf39265e18f7f36738deeabb83744485
PKG_DEPENDS:= libncurses zlib libexpat libthread-db
diff --git a/package/gdb/Makefile b/package/gdb/Makefile
index f69d139f0..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.1
+PKG_VERSION:= 14.2
PKG_RELEASE:= 1
-PKG_HASH:= 699e0ec832fdd2f21c8266171ea5bf44024bd05164fdf064e4d10cc4cf0d1737
-PKG_DESCR:= programm debugger
+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 933315523..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.1
+PKG_VERSION:= 14.2
PKG_RELEASE:= 1
-PKG_HASH:= 699e0ec832fdd2f21c8266171ea5bf44024bd05164fdf064e4d10cc4cf0d1737
-PKG_DESCR:= remote programm debugger utility
+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 1a5b0590a..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.9
+PKG_VERSION:= 1.13
PKG_RELEASE:= 1
-PKG_HASH:= ae506144fc198bd8f81f1f4ad19ce63d5a2d65e42333255977cf1dcf1479089a
+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 31196ecf7..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.26.2
+PKG_VERSION:= 1.36.1
PKG_RELEASE:= 1
-PKG_HASH:= da3e44913fc1a9c9b7c5337ea5292da518683cbff32be630777f565d6036af16
+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 05d1406ff..7e81b468e 100644
--- a/package/hush/files/config
+++ b/package/hush/files/config
@@ -1,56 +1,60 @@
#
# Automatically generated make config: don't edit
-# Busybox version: 1.26.2
-# Sun Nov 19 11:00:17 2017
+# Busybox version: 1.36.1
+# Thu Aug 31 12:09:53 2023
#
CONFIG_HAVE_DOT_CONFIG=y
#
-# Busybox Settings
+# Settings
#
# CONFIG_DESKTOP is not set
# CONFIG_EXTRA_COMPAT is not set
+# CONFIG_FEDORA_COMPAT is not set
# CONFIG_INCLUDE_SUSv2 is not set
-# CONFIG_USE_PORTABLE_CODE is not set
-CONFIG_PLATFORM_LINUX=y
+CONFIG_LONG_OPTS=y
# CONFIG_SHOW_USAGE is not set
# CONFIG_FEATURE_VERBOSE_USAGE is not set
# CONFIG_FEATURE_COMPRESS_USAGE is not set
-# CONFIG_BUSYBOX is not set
-# CONFIG_FEATURE_INSTALLER is not set
-# CONFIG_INSTALL_NO_USR is not set
+CONFIG_LFS=y
# CONFIG_PAM is not set
-# CONFIG_LONG_OPTS is not set
CONFIG_FEATURE_DEVPTS=y
-# CONFIG_FEATURE_CLEAN_UP is not set
# CONFIG_FEATURE_UTMP is not set
# CONFIG_FEATURE_WTMP is not set
# CONFIG_FEATURE_PIDFILE is not set
CONFIG_PID_FILE_PATH=""
+# CONFIG_BUSYBOX is not set
+# CONFIG_FEATURE_SHOW_SCRIPT is not set
+# CONFIG_FEATURE_INSTALLER is not set
+# CONFIG_INSTALL_NO_USR is not set
# CONFIG_FEATURE_SUID is not set
# CONFIG_FEATURE_SUID_CONFIG is not set
# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
-# CONFIG_SELINUX is not set
# CONFIG_FEATURE_PREFER_APPLETS is not set
CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
+# CONFIG_SELINUX is not set
+# CONFIG_FEATURE_CLEAN_UP is not set
+# CONFIG_FEATURE_SYSLOG_INFO is not set
# CONFIG_FEATURE_SYSLOG is not set
-# CONFIG_FEATURE_HAVE_RPC is not set
#
# 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
# CONFIG_FEATURE_SHARED_BUSYBOX is not set
-CONFIG_LFS=y
CONFIG_CROSS_COMPILER_PREFIX=""
CONFIG_SYSROOT=""
CONFIG_EXTRA_CFLAGS=""
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)
@@ -72,24 +76,33 @@ CONFIG_PREFIX="./_install"
# CONFIG_DEBUG_SANITIZE is not set
# CONFIG_UNIT_TEST is not set
# CONFIG_WERROR is not set
+# CONFIG_WARN_SIMPLE_MSG is not set
CONFIG_NO_DEBUG_LIB=y
# CONFIG_DMALLOC is not set
# CONFIG_EFENCE is not set
#
-# Busybox Library Tuning
+# Library Tuning
#
# CONFIG_FEATURE_USE_BSS_TAIL is not set
+CONFIG_FLOAT_DURATION=y
CONFIG_FEATURE_RTMINMAX=y
+CONFIG_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS=y
CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
# 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_USE_TERMIOS 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
@@ -100,6 +113,7 @@ CONFIG_FEATURE_REVERSE_SEARCH=y
CONFIG_FEATURE_TAB_COMPLETION=y
CONFIG_FEATURE_USERNAME_COMPLETION=y
CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
+CONFIG_FEATURE_EDITING_WINCH=y
# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set
# CONFIG_LOCALE_SUPPORT is not set
CONFIG_UNICODE_SUPPORT=y
@@ -112,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
@@ -145,20 +154,24 @@ CONFIG_FEATURE_HWIB=y
# CONFIG_UNLZMA is not set
# CONFIG_LZCAT is not set
# CONFIG_LZMA is not set
-# CONFIG_FEATURE_LZMA_FAST is not set
# CONFIG_UNXZ is not set
# CONFIG_XZCAT is not set
# CONFIG_XZ is not set
# CONFIG_BZIP2 is not set
+CONFIG_BZIP2_SMALL=0
+# CONFIG_FEATURE_BZIP2_DECOMPRESS is not set
# 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
# CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set
CONFIG_GZIP_FAST=0
# CONFIG_FEATURE_GZIP_LEVELS is not set
+# CONFIG_FEATURE_GZIP_DECOMPRESS is not set
# CONFIG_LZOP is not set
# CONFIG_UNLZOP is not set
# CONFIG_LZOPCAT is not set
@@ -166,36 +179,52 @@ CONFIG_GZIP_FAST=0
# CONFIG_RPM is not set
# CONFIG_RPM2CPIO is not set
# CONFIG_TAR is not set
+# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
# CONFIG_FEATURE_TAR_CREATE is not set
# CONFIG_FEATURE_TAR_AUTODETECT is not set
# CONFIG_FEATURE_TAR_FROM is not set
# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set
# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
# CONFIG_FEATURE_TAR_GNU_EXTENSIONS is not set
-# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
# CONFIG_FEATURE_TAR_TO_COMMAND is not set
# CONFIG_FEATURE_TAR_UNAME_GNAME is not set
# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set
# CONFIG_FEATURE_TAR_SELINUX is not set
# CONFIG_UNZIP is not set
+# CONFIG_FEATURE_UNZIP_CDF is not set
+# CONFIG_FEATURE_UNZIP_BZIP2 is not set
+# CONFIG_FEATURE_UNZIP_LZMA is not set
+# CONFIG_FEATURE_UNZIP_XZ is not set
+# CONFIG_FEATURE_LZMA_FAST is not set
#
# 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_CAL is not set
# CONFIG_CAT is not set
-# CONFIG_CATV is not set
+# CONFIG_FEATURE_CATN is not set
+# CONFIG_FEATURE_CATV is not set
# CONFIG_CHGRP is not set
# CONFIG_CHMOD is not set
# CONFIG_CHOWN is not set
# 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
@@ -207,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
@@ -215,16 +245,13 @@ CONFIG_GZIP_FAST=0
# CONFIG_ECHO is not set
# CONFIG_FEATURE_FANCY_ECHO is not set
# CONFIG_ENV is not set
-# CONFIG_FEATURE_ENV_LONG_OPTIONS is not set
# CONFIG_EXPAND is not set
-# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set
# CONFIG_UNEXPAND is not set
-# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set
# CONFIG_EXPR is not set
# CONFIG_EXPR_MATH_SUPPORT_64 is not set
+# CONFIG_FACTOR is not set
# CONFIG_FALSE is not set
# CONFIG_FOLD is not set
-# CONFIG_FSYNC is not set
# CONFIG_HEAD is not set
# CONFIG_FEATURE_FANCY_HEAD is not set
# CONFIG_HOSTID is not set
@@ -232,12 +259,14 @@ CONFIG_GZIP_FAST=0
# CONFIG_GROUPS is not set
# CONFIG_INSTALL is not set
# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set
+# CONFIG_LINK is not set
# CONFIG_LN is not set
# CONFIG_LOGNAME is not set
# CONFIG_LS is not set
# CONFIG_FEATURE_LS_FILETYPES is not set
# CONFIG_FEATURE_LS_FOLLOWLINKS is not set
# CONFIG_FEATURE_LS_RECURSIVE is not set
+# CONFIG_FEATURE_LS_WIDTH is not set
# CONFIG_FEATURE_LS_SORTFILES is not set
# CONFIG_FEATURE_LS_TIMESTAMPS is not set
# CONFIG_FEATURE_LS_USERNAME is not set
@@ -250,14 +279,16 @@ CONFIG_GZIP_FAST=0
# CONFIG_SHA3SUM is not set
# CONFIG_FEATURE_MD5_SHA1_SUM_CHECK is not set
# CONFIG_MKDIR is not set
-# CONFIG_FEATURE_MKDIR_LONG_OPTIONS is not set
# CONFIG_MKFIFO is not set
# CONFIG_MKNOD is not set
+# CONFIG_MKTEMP is not set
# CONFIG_MV is not set
-# CONFIG_FEATURE_MV_LONG_OPTIONS is not set
# CONFIG_NICE is not set
+# CONFIG_NL is not set
# CONFIG_NOHUP is not set
+# CONFIG_NPROC is not set
# CONFIG_OD is not set
+# CONFIG_PASTE is not set
# CONFIG_PRINTENV is not set
# CONFIG_PRINTF is not set
# CONFIG_PWD is not set
@@ -266,14 +297,14 @@ CONFIG_GZIP_FAST=0
# CONFIG_REALPATH is not set
# CONFIG_RM is not set
# CONFIG_RMDIR is not set
-# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set
# CONFIG_SEQ is not set
+# CONFIG_SHRED is not set
# CONFIG_SHUF is not set
# CONFIG_SLEEP is not set
# CONFIG_FEATURE_FANCY_SLEEP is not set
-# CONFIG_FEATURE_FLOAT_SLEEP is not set
# CONFIG_SORT is not set
# CONFIG_FEATURE_SORT_BIG is not set
+# CONFIG_FEATURE_SORT_OPTIMIZE_MEMORY is not set
# CONFIG_SPLIT is not set
# CONFIG_FEATURE_SPLIT_FANCY is not set
# CONFIG_STAT is not set
@@ -283,6 +314,7 @@ CONFIG_GZIP_FAST=0
# CONFIG_SUM is not set
# CONFIG_SYNC is not set
# CONFIG_FEATURE_SYNC_FANCY is not set
+# CONFIG_FSYNC is not set
# CONFIG_TAC is not set
# CONFIG_TAIL is not set
# CONFIG_FEATURE_FANCY_TAIL is not set
@@ -292,39 +324,35 @@ CONFIG_GZIP_FAST=0
# CONFIG_TEST1 is not set
# CONFIG_TEST2 is not set
# 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 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
# CONFIG_FEATURE_WC_LARGE is not set
# CONFIG_WHO is not set
+# CONFIG_W is not set
# CONFIG_USERS is not set
# CONFIG_WHOAMI is not set
# CONFIG_YES is not set
#
-# Common options
-#
-# CONFIG_FEATURE_VERBOSE is not set
-# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
-# CONFIG_FEATURE_AUTOWIDTH is not set
-# CONFIG_FEATURE_HUMAN_READABLE is not set
-
-#
# Console Utilities
#
# CONFIG_CHVT is not set
@@ -353,17 +381,24 @@ CONFIG_DEFAULT_SETFONT_DIR=""
#
# Debian Utilities
#
-# CONFIG_MKTEMP is not set
# CONFIG_PIPE_PROGRESS is not set
# CONFIG_RUN_PARTS is not set
# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set
# CONFIG_FEATURE_RUN_PARTS_FANCY is not set
# CONFIG_START_STOP_DAEMON is not set
-# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set
# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set
+# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set
# CONFIG_WHICH is not set
#
+# klibc-utils
+#
+# CONFIG_MINIPS is not set
+# CONFIG_NUKE is not set
+# CONFIG_RESUME is not set
+# CONFIG_RUN_INIT is not set
+
+#
# Editors
#
# CONFIG_AWK is not set
@@ -380,6 +415,7 @@ CONFIG_DEFAULT_SETFONT_DIR=""
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
@@ -393,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
#
@@ -401,13 +438,19 @@ 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
# CONFIG_FEATURE_FIND_XDEV is not set
# 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
@@ -417,7 +460,9 @@ CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=0
# CONFIG_FEATURE_FIND_PAREN is not set
# CONFIG_FEATURE_FIND_SIZE is not set
# CONFIG_FEATURE_FIND_PRUNE is not set
+# CONFIG_FEATURE_FIND_QUIT is not set
# CONFIG_FEATURE_FIND_DELETE is not set
+# CONFIG_FEATURE_FIND_EMPTY is not set
# CONFIG_FEATURE_FIND_PATH is not set
# CONFIG_FEATURE_FIND_REGEX is not set
# CONFIG_FEATURE_FIND_CONTEXT is not set
@@ -432,6 +477,8 @@ CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=0
# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set
# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set
# CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_PARALLEL is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE is not set
#
# Init Utilities
@@ -442,6 +489,7 @@ CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=0
# CONFIG_HALT is not set
# CONFIG_POWEROFF is not set
# CONFIG_REBOOT is not set
+# CONFIG_FEATURE_WAIT_FOR_INIT is not set
# CONFIG_FEATURE_CALL_TELINIT is not set
CONFIG_TELINIT_PATH=""
# CONFIG_INIT is not set
@@ -451,12 +499,10 @@ CONFIG_TELINIT_PATH=""
CONFIG_FEATURE_KILL_DELAY=0
# CONFIG_FEATURE_INIT_SCTTY is not set
# CONFIG_FEATURE_INIT_SYSLOG is not set
-# CONFIG_FEATURE_EXTRA_QUIET is not set
+# CONFIG_FEATURE_INIT_QUIET is not set
# CONFIG_FEATURE_INIT_COREDUMPS is not set
CONFIG_INIT_TERMINAL_TYPE=""
# CONFIG_FEATURE_INIT_MODIFY_CMDLINE is not set
-# CONFIG_MESG is not set
-# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set
#
# Login/Password Management Utilities
@@ -469,10 +515,8 @@ CONFIG_INIT_TERMINAL_TYPE=""
# CONFIG_ADD_SHELL is not set
# CONFIG_REMOVE_SHELL is not set
# CONFIG_ADDGROUP is not set
-# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set
# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set
# CONFIG_ADDUSER is not set
-# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
# CONFIG_FEATURE_CHECK_NAMES is not set
CONFIG_LAST_ID=0
CONFIG_FIRST_SYSTEM_ID=0
@@ -495,6 +539,7 @@ CONFIG_FEATURE_DEFAULT_PASSWD_ALGO=""
# CONFIG_SU is not set
# CONFIG_FEATURE_SU_SYSLOG is not set
# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set
+# CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY is not set
# CONFIG_SULOGIN is not set
# CONFIG_VLOCK is not set
@@ -515,8 +560,6 @@ CONFIG_FEATURE_DEFAULT_PASSWD_ALGO=""
# CONFIG_LSMOD is not set
# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
# CONFIG_MODINFO is not set
-# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set
-# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set
# CONFIG_MODPROBE is not set
# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set
# CONFIG_RMMOD is not set
@@ -524,14 +567,16 @@ CONFIG_FEATURE_DEFAULT_PASSWD_ALGO=""
#
# Options common to multiple modutils
#
+# CONFIG_FEATURE_CMDLINE_MODULE_OPTIONS is not set
+# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set
# CONFIG_FEATURE_2_4_MODULES is not set
-# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set
+# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
# CONFIG_FEATURE_MODUTILS_ALIAS is not set
# CONFIG_FEATURE_MODUTILS_SYMBOLS is not set
CONFIG_DEFAULT_MODULES_DIR=""
@@ -546,8 +591,13 @@ CONFIG_DEFAULT_DEPMOD_FILE=""
# CONFIG_BLKID is not set
# CONFIG_FEATURE_BLKID_TYPE is not set
# CONFIG_BLOCKDEV is not set
+# CONFIG_CAL is not set
+# CONFIG_CHRT is not set
# CONFIG_DMESG is not set
# CONFIG_FEATURE_DMESG_PRETTY is not set
+# CONFIG_EJECT is not set
+# CONFIG_FEATURE_EJECT_SCSI is not set
+# CONFIG_FALLOCATE is not set
# CONFIG_FATATTR is not set
# CONFIG_FBSET is not set
# CONFIG_FEATURE_FBSET_FANCY is not set
@@ -567,17 +617,20 @@ CONFIG_DEFAULT_DEPMOD_FILE=""
# CONFIG_FDFLUSH is not set
# CONFIG_FREERAMDISK is not set
# CONFIG_FSCK_MINIX is not set
+# 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 is not set
# CONFIG_HWCLOCK is not set
-# CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS is not set
# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set
+# CONFIG_IONICE is not set
# CONFIG_IPCRM is not set
# CONFIG_IPCS is not set
+# CONFIG_LAST is not set
+# CONFIG_FEATURE_LAST_FANCY is not set
# CONFIG_LOSETUP is not set
# CONFIG_LSPCI is not set
# CONFIG_LSUSB is not set
@@ -587,6 +640,9 @@ CONFIG_DEFAULT_DEPMOD_FILE=""
# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set
# CONFIG_FEATURE_MDEV_EXEC is not set
# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set
+# CONFIG_FEATURE_MDEV_DAEMON is not set
+# CONFIG_MESG is not set
+# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set
# CONFIG_MKE2FS is not set
# CONFIG_MKFS_EXT2 is not set
# CONFIG_MKFS_MINIX is not set
@@ -607,12 +663,15 @@ CONFIG_DEFAULT_DEPMOD_FILE=""
# CONFIG_FEATURE_MOUNT_FLAGS is not set
# CONFIG_FEATURE_MOUNT_FSTAB is not set
# CONFIG_FEATURE_MOUNT_OTHERTAB is not set
+# CONFIG_MOUNTPOINT is not set
+# CONFIG_NOLOGIN is not set
+# CONFIG_NOLOGIN_DEPENDENCIES is not set
# CONFIG_NSENTER is not set
-# CONFIG_FEATURE_NSENTER_LONG_OPTS is not set
# CONFIG_PIVOT_ROOT is not set
# CONFIG_RDATE is not set
# CONFIG_RDEV is not set
# CONFIG_READPROFILE is not set
+# CONFIG_RENICE is not set
# CONFIG_REV is not set
# CONFIG_RTCWAKE is not set
# CONFIG_SCRIPT is not set
@@ -620,15 +679,25 @@ CONFIG_DEFAULT_DEPMOD_FILE=""
# CONFIG_SETARCH is not set
# CONFIG_LINUX32 is not set
# CONFIG_LINUX64 is not set
+# 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
# CONFIG_FEATURE_SWAPON_PRI is not set
# CONFIG_SWAPOFF is not set
+# CONFIG_FEATURE_SWAPONOFF_LABEL is not set
# CONFIG_SWITCH_ROOT is not set
+# CONFIG_TASKSET is not set
+# CONFIG_FEATURE_TASKSET_FANCY is not set
+# CONFIG_FEATURE_TASKSET_CPULIST is not set
# CONFIG_UEVENT is not set
# CONFIG_UMOUNT is not set
# CONFIG_FEATURE_UMOUNT_ALL is not set
# CONFIG_UNSHARE is not set
+# CONFIG_WALL is not set
# CONFIG_FEATURE_MOUNT_LOOP is not set
# CONFIG_FEATURE_MOUNT_LOOP_CREATE is not set
# CONFIG_FEATURE_MTAB_SUPPORT is not set
@@ -636,6 +705,7 @@ CONFIG_DEFAULT_DEPMOD_FILE=""
# 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
@@ -643,9 +713,11 @@ CONFIG_DEFAULT_DEPMOD_FILE=""
# CONFIG_FEATURE_VOLUMEID_HFS is not set
# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set
# CONFIG_FEATURE_VOLUMEID_JFS is not set
+# CONFIG_FEATURE_VOLUMEID_LFS is not set
# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set
# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set
# CONFIG_FEATURE_VOLUMEID_LUKS is not set
+# CONFIG_FEATURE_VOLUMEID_MINIX is not set
# CONFIG_FEATURE_VOLUMEID_NILFS is not set
# CONFIG_FEATURE_VOLUMEID_NTFS is not set
# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
@@ -661,8 +733,15 @@ CONFIG_DEFAULT_DEPMOD_FILE=""
# 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 is not set
+# CONFIG_DC is not set
+# CONFIG_FEATURE_DC_BIG is not set
+# CONFIG_FEATURE_DC_LIBM is not set
+# 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
@@ -674,23 +753,19 @@ CONFIG_FEATURE_BEEP_LENGTH_MS=0
# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
-# CONFIG_CHRT is not set
# CONFIG_CONSPY is not set
# CONFIG_CROND is not set
# CONFIG_FEATURE_CROND_D is not set
# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
+# CONFIG_FEATURE_CROND_SPECIAL_TIMES is not set
CONFIG_FEATURE_CROND_DIR=""
# CONFIG_CRONTAB is not set
-# CONFIG_DC is not set
-# CONFIG_FEATURE_DC_LIBM is not set
# CONFIG_DEVFSD is not set
# CONFIG_DEVFSD_MODLOAD is not set
# CONFIG_DEVFSD_FG_NP is not set
# CONFIG_DEVFSD_VERBOSE is not set
# CONFIG_FEATURE_DEVFS is not set
# CONFIG_DEVMEM is not set
-# CONFIG_EJECT is not set
-# CONFIG_FEATURE_EJECT_SCSI is not set
# CONFIG_FBSPLASH is not set
# CONFIG_FLASH_ERASEALL is not set
# CONFIG_FLASH_LOCK is not set
@@ -703,14 +778,13 @@ 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 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 is not set
# CONFIG_INOTIFYD is not set
-# CONFIG_IONICE is not set
-# CONFIG_LAST is not set
-# CONFIG_FEATURE_LAST_FANCY is not set
# CONFIG_LESS is not set
CONFIG_FEATURE_LESS_MAXLINES=0
# CONFIG_FEATURE_LESS_BRACKETS is not set
@@ -722,27 +796,31 @@ CONFIG_FEATURE_LESS_MAXLINES=0
# CONFIG_FEATURE_LESS_ASK_TERMINAL is not set
# CONFIG_FEATURE_LESS_DASHCMD is not set
# CONFIG_FEATURE_LESS_LINENUMS is not set
+# CONFIG_FEATURE_LESS_RAW is not set
+# CONFIG_FEATURE_LESS_ENV is not set
+# 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_MOUNTPOINT is not set
+# CONFIG_MIM is not set
# CONFIG_MT is not set
# CONFIG_NANDWRITE is not set
# CONFIG_NANDDUMP is not set
+# 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_SEEDRNG is not set
+# CONFIG_SETFATTR is not set
# CONFIG_SETSERIAL is not set
-# CONFIG_SETSID is not set
# CONFIG_STRINGS is not set
-# CONFIG_TASKSET is not set
-# CONFIG_FEATURE_TASKSET_FANCY is not set
# CONFIG_TIME is not set
-# CONFIG_TIMEOUT is not set
+# CONFIG_TREE is not set
+# CONFIG_TS is not set
# CONFIG_TTYSIZE is not set
# CONFIG_UBIATTACH is not set
# CONFIG_UBIDETACH is not set
@@ -752,8 +830,8 @@ CONFIG_FEATURE_LESS_MAXLINES=0
# CONFIG_UBIUPDATEVOL is not set
# CONFIG_UBIRENAME is not set
# CONFIG_VOLNAME is not set
-# CONFIG_WALL is not set
# CONFIG_WATCHDOG is not set
+# CONFIG_FEATURE_WATCHDOG_OPEN_TWICE is not set
#
# Networking Utilities
@@ -762,6 +840,10 @@ CONFIG_FEATURE_LESS_MAXLINES=0
# 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
# CONFIG_BRCTL is not set
@@ -779,6 +861,7 @@ CONFIG_FEATURE_LESS_MAXLINES=0
# 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
@@ -790,6 +873,10 @@ CONFIG_FEATURE_LESS_MAXLINES=0
# 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
@@ -829,13 +916,14 @@ CONFIG_FEATURE_IP_ROUTE_DIR=""
# CONFIG_FEATURE_IP_NEIGH is not set
# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
# CONFIG_IPCALC is not set
-# CONFIG_FEATURE_IPCALC_FANCY is not set
# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set
+# CONFIG_FEATURE_IPCALC_FANCY is not set
# CONFIG_FAKEIDENTD is not set
# CONFIG_NAMEIF is not set
# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
# CONFIG_NBDCLIENT is not set
# CONFIG_NC is not set
+# CONFIG_NETCAT is not set
# CONFIG_NC_SERVER is not set
# CONFIG_NC_EXTRA is not set
# CONFIG_NC_110_COMPAT is not set
@@ -843,30 +931,40 @@ CONFIG_FEATURE_IP_ROUTE_DIR=""
# CONFIG_FEATURE_NETSTAT_WIDE is not set
# CONFIG_FEATURE_NETSTAT_PRG is not set
# CONFIG_NSLOOKUP is not set
+# CONFIG_FEATURE_NSLOOKUP_BIG is not set
+# CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS is not set
# CONFIG_NTPD is not set
# CONFIG_FEATURE_NTPD_SERVER is not set
# CONFIG_FEATURE_NTPD_CONF is not set
+# CONFIG_FEATURE_NTP_AUTH is not set
# CONFIG_PING is not set
# CONFIG_PING6 is not set
# CONFIG_FEATURE_FANCY_PING is not set
# CONFIG_PSCAN is not set
# CONFIG_ROUTE is not set
# CONFIG_SLATTACH is not set
+# 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
# CONFIG_FEATURE_TELNET_TTYPE is not set
# CONFIG_FEATURE_TELNET_AUTOLOGIN is not set
+# 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
+# CONFIG_FEATURE_TFTP_HPA_COMPAT is not set
# CONFIG_TFTPD is not set
# CONFIG_FEATURE_TFTP_GET is not set
# CONFIG_FEATURE_TFTP_PUT is not set
# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
-# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set
# CONFIG_TFTP_DEBUG is not set
+# CONFIG_TLS is not set
# CONFIG_TRACEROUTE is not set
# CONFIG_TRACEROUTE6 is not set
# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
@@ -875,30 +973,37 @@ CONFIG_FEATURE_IP_ROUTE_DIR=""
# CONFIG_FEATURE_TUNCTL_UG is not set
# CONFIG_VCONFIG is not set
# 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_LONG_OPTIONS is not set
# CONFIG_FEATURE_WGET_TIMEOUT is not set
+# CONFIG_FEATURE_WGET_HTTPS is not set
# CONFIG_FEATURE_WGET_OPENSSL is not set
-# CONFIG_FEATURE_WGET_SSL_HELPER is not set
# CONFIG_WHOIS is not set
# CONFIG_ZCIP is not set
-# CONFIG_UDHCPC6 is not set
# CONFIG_UDHCPD is not set
-# CONFIG_DHCPRELAY is not set
-# CONFIG_DUMPLEASES is not set
-# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set
+# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
CONFIG_DHCPD_LEASES_FILE=""
+# CONFIG_DUMPLEASES is not set
+# CONFIG_DHCPRELAY is not set
# CONFIG_UDHCPC is not set
# 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
# CONFIG_FEATURE_UDHCP_RFC3397 is not set
# CONFIG_FEATURE_UDHCP_8021Q is not set
-CONFIG_UDHCPC_DEFAULT_SCRIPT=""
-CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0
CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
#
@@ -911,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
@@ -938,18 +1045,19 @@ CONFIG_FEATURE_MIME_CHARSET=""
# CONFIG_FEATURE_PIDOF_OMIT is not set
# CONFIG_PMAP is not set
# CONFIG_POWERTOP is not set
+# CONFIG_FEATURE_POWERTOP_INTERACTIVE is not set
# CONFIG_PS is not set
# CONFIG_FEATURE_PS_WIDE is not set
# CONFIG_FEATURE_PS_LONG is not set
# CONFIG_FEATURE_PS_TIME is not set
-# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set
# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
+# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set
# CONFIG_PSTREE is not set
# CONFIG_PWDX is not set
-# CONFIG_RENICE is not set
# CONFIG_SMEMCAP is not set
# CONFIG_BB_SYSCTL is not set
# CONFIG_TOP is not set
+# CONFIG_FEATURE_TOP_INTERACTIVE is not set
# CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE is not set
# CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS is not set
# CONFIG_FEATURE_TOP_SMP_CPU is not set
@@ -959,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
@@ -975,15 +1082,14 @@ CONFIG_FEATURE_MIME_CHARSET=""
# CONFIG_SV is not set
CONFIG_SV_DEFAULT_SERVICE_DIR=""
# CONFIG_SVC is not set
+# CONFIG_SVOK is not set
# CONFIG_SVLOGD is not set
# CONFIG_CHCON is not set
-# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
# CONFIG_GETENFORCE is not set
# CONFIG_GETSEBOOL is not set
# CONFIG_LOAD_POLICY is not set
# CONFIG_MATCHPATHCON is not set
# CONFIG_RUNCON is not set
-# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
# CONFIG_SELINUXENABLED is not set
# CONFIG_SESTATUS is not set
# CONFIG_SETENFORCE is not set
@@ -1001,27 +1107,33 @@ CONFIG_SH_IS_HUSH=y
# CONFIG_BASH_IS_ASH is not set
CONFIG_BASH_IS_HUSH=y
# CONFIG_BASH_IS_NONE is not set
+# CONFIG_SHELL_ASH is not set
# CONFIG_ASH is not set
# CONFIG_ASH_OPTIMIZE_FOR_SIZE is not set
# CONFIG_ASH_INTERNAL_GLOB is not set
-# CONFIG_ASH_RANDOM_SUPPORT is not set
-# CONFIG_ASH_EXPAND_PRMT is not set
# CONFIG_ASH_BASH_COMPAT is not set
-# CONFIG_ASH_IDLE_TIMEOUT is not set
+# CONFIG_ASH_BASH_SOURCE_CURDIR is not set
+# CONFIG_ASH_BASH_NOT_FOUND_HOOK is not set
# CONFIG_ASH_JOB_CONTROL is not set
# CONFIG_ASH_ALIAS is not set
-# CONFIG_ASH_GETOPTS is not set
-# CONFIG_ASH_BUILTIN_ECHO is not set
-# CONFIG_ASH_BUILTIN_PRINTF is not set
-# CONFIG_ASH_BUILTIN_TEST is not set
+# CONFIG_ASH_RANDOM_SUPPORT is not set
+# CONFIG_ASH_EXPAND_PRMT is not set
+# CONFIG_ASH_IDLE_TIMEOUT is not set
+# CONFIG_ASH_MAIL is not set
+# CONFIG_ASH_ECHO is not set
+# CONFIG_ASH_PRINTF is not set
+# CONFIG_ASH_TEST is not set
+# CONFIG_ASH_SLEEP is not set
# CONFIG_ASH_HELP is not set
+# CONFIG_ASH_GETOPTS is not set
# CONFIG_ASH_CMDCMD is not set
-# CONFIG_ASH_MAIL is not set
# CONFIG_CTTYHACK is not set
CONFIG_HUSH=y
+CONFIG_SHELL_HUSH=y
CONFIG_HUSH_BASH_COMPAT=y
CONFIG_HUSH_BRACE_EXPANSION=y
-CONFIG_HUSH_HELP=y
+CONFIG_HUSH_BASH_SOURCE_CURDIR=y
+CONFIG_HUSH_LINENO_VAR=y
CONFIG_HUSH_INTERACTIVE=y
CONFIG_HUSH_SAVEHISTORY=y
CONFIG_HUSH_JOB=y
@@ -1032,15 +1144,40 @@ CONFIG_HUSH_CASE=y
CONFIG_HUSH_FUNCTIONS=y
CONFIG_HUSH_LOCAL=y
CONFIG_HUSH_RANDOM_SUPPORT=y
-CONFIG_HUSH_EXPORT_N=y
CONFIG_HUSH_MODE_X=y
-# CONFIG_MSH is not set
+CONFIG_HUSH_ECHO=y
+CONFIG_HUSH_PRINTF=y
+CONFIG_HUSH_TEST=y
+CONFIG_HUSH_HELP=y
+CONFIG_HUSH_EXPORT=y
+CONFIG_HUSH_EXPORT_N=y
+CONFIG_HUSH_READONLY=y
+CONFIG_HUSH_KILL=y
+CONFIG_HUSH_WAIT=y
+CONFIG_HUSH_COMMAND=y
+CONFIG_HUSH_TRAP=y
+CONFIG_HUSH_TYPE=y
+CONFIG_HUSH_TIMES=y
+CONFIG_HUSH_READ=y
+CONFIG_HUSH_SET=y
+CONFIG_HUSH_UNSET=y
+CONFIG_HUSH_ULIMIT=y
+CONFIG_HUSH_UMASK=y
+CONFIG_HUSH_GETOPTS=y
+# CONFIG_HUSH_MEMLEAK is not set
+
+#
+# Options common to all shells
+#
CONFIG_FEATURE_SH_MATH=y
CONFIG_FEATURE_SH_MATH_64=y
+CONFIG_FEATURE_SH_MATH_BASE=y
CONFIG_FEATURE_SH_EXTRA_QUIET=y
# CONFIG_FEATURE_SH_STANDALONE is not set
# CONFIG_FEATURE_SH_NOFORK is not set
+CONFIG_FEATURE_SH_READ_FRAC=y
CONFIG_FEATURE_SH_HISTFILESIZE=y
+CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS=y
#
# System Logging Utilities
@@ -1055,6 +1192,7 @@ CONFIG_FEATURE_SH_HISTFILESIZE=y
# CONFIG_FEATURE_REMOTE_LOG is not set
# CONFIG_FEATURE_SYSLOGD_DUP is not set
# CONFIG_FEATURE_SYSLOGD_CFG is not set
+# CONFIG_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS is not set
CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=0
# CONFIG_FEATURE_IPC_SYSLOG is not set
CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0
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 d189c4bad..1104b7797 100644
--- a/package/jack/Makefile
+++ b/package/jack/Makefile
@@ -9,10 +9,11 @@ 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
+PKG_OPT:= dev
include $(ADK_TOPDIR)/mk/package.mk
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
new file mode 100644
index 000000000..60ebe9b49
--- /dev/null
+++ b/package/knxd/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:= knxd
+PKG_VERSION:= 0.14.61
+PKG_RELEASE:= 1
+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/archive/refs/tags/
+
+PKG_CFLINE_KNXD:= depends on ADK_BROKEN
+
+DISTFILES:= $(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,KNXD,knxd,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+AUTOTOOL_STYLE:= bootstrap
+
+CONFIGURE_ARGS+= --disable-systemd --disable-usb
+
+knxd-install:
+ $(INSTALL_DIR) $(IDIR_KNXD)/usr/bin
+ $(INSTALL_DIR) $(IDIR_KNXD)/usr/lib
+ $(INSTALL_DIR) $(IDIR_KNXD)/usr/share
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/knxd \
+ $(IDIR_KNXD)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/knxtool \
+ $(IDIR_KNXD)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/libexec/knxd_args \
+ $(IDIR_KNXD)/usr/bin
+ $(CP) $(WRKINST)/usr/lib/libeib*.so* \
+ $(IDIR_KNXD)/usr/lib
+ $(CP) $(WRKINST)/usr/libexec/knxd/* \
+ $(IDIR_KNXD)/usr/bin
+ $(CP) $(WRKINST)/usr/share/* \
+ $(IDIR_KNXD)/usr/share
+
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
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/libconfig/Makefile b/package/libconfig/Makefile
new file mode 100644
index 000000000..4cb87e79f
--- /dev/null
+++ b/package/libconfig/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:= libconfig
+PKG_VERSION:= 1.7.2
+PKG_RELEASE:= 1
+PKG_HASH:= 7c3c7a9c73ff3302084386e96f903eb62ce06953bb1666235fac74363a16fad9
+PKG_DESCR:= configuration library
+PKG_SECTION:= libs/misc
+PKG_URL:= https://github.com/hyperrealm/libconfig
+PKG_SITES:= https://github.com/hyperrealm/libconfig/raw/master/docs/dist/
+PKG_OPTS:= dev
+
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBCONFIG,libconfig,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+libconfig-install:
+ $(INSTALL_DIR) $(IDIR_LIBCONFIG)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libconfig*.so* \
+ $(IDIR_LIBCONFIG)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
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/libmodbus/Makefile b/package/libmodbus/Makefile
new file mode 100644
index 000000000..ee8e82b55
--- /dev/null
+++ b/package/libmodbus/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:= libmodbus
+PKG_VERSION:= 3.1.6
+PKG_RELEASE:= 1
+PKG_HASH:= d7d9fa94a16edb094e5fdf5d87ae17a0dc3f3e3d687fead81835d9572cf87c16
+PKG_DESCR:= MODBUS protocol library
+PKG_SECTION:= libs/net
+PKG_URL:= http://libmodbus.org
+PKG_SITES:= https://libmodbus.org/releases/
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBMODBUS,libmodbus,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+CONFIGURE_ARGS+= --without-documentation --disable-tests
+
+libmodbus-install:
+ $(INSTALL_DIR) $(IDIR_LIBMODBUS)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libmodbus*.so* \
+ $(IDIR_LIBMODBUS)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
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 49b5e10a9..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.0.2
+PKG_VERSION:= 3.8.3
PKG_RELEASE:= 1
-PKG_HASH:= df7b172bf79b957dd27ef36dcaa1fb162562c0e8999e194aa8c1a3df2f15398e
+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 fc285e3c6..000000000
--- a/package/libressl/patches/patch-Makefile_in
+++ /dev/null
@@ -1,11 +0,0 @@
---- libressl-2.4.2.orig/Makefile.in 2016-08-01 01:08:10.000000000 +0200
-+++ libressl-2.4.2/Makefile.in 2016-08-22 18:34:29.881419200 +0200
-@@ -361,7 +361,7 @@ target_alias = @target_alias@
- top_build_prefix = @top_build_prefix@
- top_builddir = @top_builddir@
- top_srcdir = @top_srcdir@
--SUBDIRS = crypto ssl tls include apps tests man
-+SUBDIRS = crypto ssl tls include apps
- ACLOCAL_AMFLAGS = -I m4
- pkgconfigdir = $(libdir)/pkgconfig
- pkgconfig_DATA = libcrypto.pc libssl.pc libtls.pc openssl.pc
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 b2a69641e..90fa5dbab 100644
--- a/package/lzip/Makefile
+++ b/package/lzip/Makefile
@@ -4,11 +4,12 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= lzip
-PKG_VERSION:= 1.17
+PKG_VERSION:= 1.24
PKG_RELEASE:= 1
-PKG_HASH:= 9443855e0a33131233b22cdb6c62c9313a483f16cc7415efe88d4a494cea0352
+PKG_HASH:= d42659229b10e066eeb6e81eb673cdd893b672e512d26719c2d95975556ca56c
PKG_DESCR:= compression utility
PKG_SECTION:= app/archive
+PKG_NEEDS:= c++
PKG_URL:= http://www.nongnu.org/lzip/lzip.html
PKG_SITES:= http://download.savannah.gnu.org/releases/lzip/
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/lzma/Makefile b/package/lzma/Makefile
index 4b44d1035..ae77c9b5d 100644
--- a/package/lzma/Makefile
+++ b/package/lzma/Makefile
@@ -9,6 +9,7 @@ PKG_RELEASE:= 1
PKG_HASH:= 02aa57f995d15b7acb7c2496d88a39fb0124ea00bf027cc61dd24eddb5942dff
PKG_DESCR:= compression utility
PKG_SECTION:= app/archive
+PKG_NEEDS:= c++
PKG_URL:= http://tukaani.org/lzma/
PKG_SITES:= http://tukaani.org/lzma/
diff --git a/package/lzop/Makefile b/package/lzop/Makefile
index ca30eee44..b95a4aad5 100644
--- a/package/lzop/Makefile
+++ b/package/lzop/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= lzop
-PKG_VERSION:= 1.03
+PKG_VERSION:= 1.04
PKG_RELEASE:= 1
-PKG_HASH:= c1425b8c77d49f5a679d5a126c90ea6ad99585a55e335a613cae59e909dbb2c9
+PKG_HASH:= 7e72b62a8a60aff5200a047eea0773a8fb205caf7acbe1774d95147f305a2f41
PKG_DESCR:= compression utility
PKG_SECTION:= app/archive
PKG_DEPENDS:= liblzo
diff --git a/package/lzop/patches/patch-src_miniacc_h b/package/lzop/patches/patch-src_miniacc_h
deleted file mode 100644
index a21c26abc..000000000
--- a/package/lzop/patches/patch-src_miniacc_h
+++ /dev/null
@@ -1,26 +0,0 @@
---- lzop-1.03.orig/src/miniacc.h 2010-11-01 15:40:44.000000000 +0100
-+++ lzop-1.03/src/miniacc.h 2017-03-07 05:40:51.656010073 +0100
-@@ -4469,12 +4469,12 @@ ACCLIB_EXTERN(int, acc_spawnve) (int mod
- #if defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0150)
- #elif 1 && (ACC_CC_SUNPROC) && !defined(ACCCHK_CFG_PEDANTIC)
- #else
-- ACCCHK_ASSERT((1 << (8*SIZEOF_INT-1)) < 0)
-+ ACCCHK_ASSERT((int)(1u << (8*SIZEOF_INT-1)) < 0)
- #endif
- ACCCHK_ASSERT((1u << (8*SIZEOF_INT-1)) > 0)
- #if 1 && (ACC_CC_SUNPROC) && !defined(ACCCHK_CFG_PEDANTIC)
- #else
-- ACCCHK_ASSERT((1l << (8*SIZEOF_LONG-1)) < 0)
-+ ACCCHK_ASSERT((long)(1ul << (8*SIZEOF_LONG-1)) < 0)
- #endif
- ACCCHK_ASSERT((1ul << (8*SIZEOF_LONG-1)) > 0)
- #if defined(acc_int16e_t)
-@@ -4703,7 +4703,7 @@ ACCLIB_EXTERN(int, acc_spawnve) (int mod
- #elif 1 && (ACC_CC_LCC || ACC_CC_LCCWIN32) && !defined(ACCCHK_CFG_PEDANTIC)
- #elif 1 && (ACC_CC_SUNPROC) && !defined(ACCCHK_CFG_PEDANTIC)
- #elif !(ACC_BROKEN_INTEGRAL_PROMOTION) && (SIZEOF_INT > 1)
-- ACCCHK_ASSERT( (((unsigned char)128) << (int)(8*sizeof(int)-8)) < 0)
-+ ACCCHK_ASSERT( (int)((unsigned int)((unsigned char)128) << (int)(8*sizeof(int)-8)) < 0)
- #endif
- #if (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0530) && (__BORLANDC__ < 0x0560))
- # pragma option pop
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 90966321c..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.21.16
+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/mqttmpd/Makefile b/package/mqttmpd/Makefile
new file mode 100644
index 000000000..264e82307
--- /dev/null
+++ b/package/mqttmpd/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:= mqttmpd
+PKG_VERSION:= r5
+PKG_RELEASE:= 1
+PKG_GIT:= tag
+PKG_DESCR:= mqtt mpd bridge
+PKG_SECTION:= mm/audio
+PKG_DEPENDS:= mosquitto mpd
+PKG_BUILDDEP:= mosquitto
+PKG_URL:= https://github.com/kurt-vd/mqttmpd
+PKG_SITES:= https://github.com/kurt-vd/mqttmpd.git
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,MQTTMPD,mqttmpd,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+CONFIG_STYLE:= manual
+
+mqttmpd-install:
+ $(INSTALL_DIR) $(IDIR_MQTTMPD)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/mqttmpd \
+ $(IDIR_MQTTMPD)/usr/bin
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/mqttmpd/patches/patch-Makefile b/package/mqttmpd/patches/patch-Makefile
new file mode 100644
index 000000000..81036fe66
--- /dev/null
+++ b/package/mqttmpd/patches/patch-Makefile
@@ -0,0 +1,32 @@
+--- mqttmpd-r5.orig/Makefile 2020-04-22 16:34:15.000000000 +0200
++++ mqttmpd-r5/Makefile 2020-04-23 23:12:16.506689542 +0200
+@@ -1,12 +1,12 @@
+ PROGS = mqttmpd
+ default : $(PROGS)
+
+-PREFIX = /usr/local
++PREFIX = /usr
+
+-CC = gcc
+-CFLAGS = -Wall
+-CPPFLAGS= -D_GNU_SOURCE
+-LDLIBS = -lmosquitto
++#CC = gcc
++CFLAGS+= -Wall
++CPPFLAGS+= -D_GNU_SOURCE
++LDLIBS+= -lmosquitto
+ INSTOPTS= -s
+
+ VERSION := $(shell git describe --tags --always)
+@@ -15,8 +15,10 @@ VERSION := $(shell git describe --tags -
+
+ CPPFLAGS += -DVERSION=\"$(VERSION)\"
+
++all: $(PROGS)
++
+ install: $(PROGS)
+- $(foreach PROG, $(PROGS), install -vp -m 0777 $(INSTOPTS) $(PROG) $(DESTDIR)$(PREFIX)/bin/$(PROG);)
++ $(foreach PROG, $(PROGS), install -vp -D -m 0777 $(INSTOPTS) $(PROG) $(DESTDIR)$(PREFIX)/bin/$(PROG);)
+
+ clean:
+ rm -rf $(wildcard *.o) $(PROGS)
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 a3747b04f..02627aa6a 100644
--- a/package/nodejs/Makefile
+++ b/package/nodejs/Makefile
@@ -4,19 +4,17 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= nodejs
-PKG_VERSION:= 8.2.1
+PKG_VERSION:= 20.11.1
PKG_RELEASE:= 1
-PKG_HASH:= 66fe1379bc7daf9a16c6b5c45ab695bf1cdcfae9738d2989e940104d6b31973f
+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,21 +45,20 @@ 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 \
)
- $(SED) "s#<(mkpeephole_exec)#$(STAGING_HOST_DIR)/usr/bin/mkpeephole#g" $(WRKSRC)/deps/v8/src/v8.gyp
+# $(SED) "s#<(mkpeephole_exec)#$(STAGING_HOST_DIR)/usr/bin/mkpeephole#g" $(WRKSRC)/deps/v8/src/v8.gyp
nodejs-install:
$(INSTALL_DIR) $(IDIR_NODEJS)/usr/lib
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 21074c08c..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.2p1
+PKG_VERSION:= 9.7p1
PKG_RELEASE:= 1
-PKG_HASH:= 43925151e6cf6cee1450190c0e9af4dc36b41c12737619edff8bcebdff64e671
+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 593e1bfff..17f2bf2e2 100644
--- a/package/opkg/Makefile
+++ b/package/opkg/Makefile
@@ -4,13 +4,13 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= opkg
-PKG_VERSION:= 0.3.6
+PKG_VERSION:= 0.6.2
PKG_RELEASE:= 1
-PKG_HASH:= f607f0e61be8cf8a3bbd0d2dccd9ec9e9b6c21dd4307b671c600d6eeaf84d30b
+PKG_HASH:= ac73a90a2549cd04948e563d915912c78e1b8ba0f43af75c5a53fcca474adbd5
PKG_DESCR:= embedded package manager
PKG_DEPENDS:= libcurl libarchive gpgme libressl xz
PKG_BUILDDEP:= curl libarchive gpgme xz libressl
-HOST_BUILDDEP:= libarchive-host curl-host
+HOST_BUILDDEP:= libarchive-host curl-host cpio-host
PKG_NEEDS:= threads
PKG_SECTION:= sys/misc
PKG_URL:= http://git.yoctoproject.org/cgit/cgit.cgi/opkg/
@@ -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/paho/Makefile b/package/paho/Makefile
new file mode 100644
index 000000000..b72497b2f
--- /dev/null
+++ b/package/paho/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:= paho
+PKG_VERSION:= v1.3.1
+PKG_RELEASE:= 1
+PKG_GIT:= tag
+PKG_DESCR:= Eclipse Paho MQTT client library
+PKG_SECTION:= libs/misc
+PKG_BUILDDEP:= cmake-host
+PKG_URL:= https://www.eclipse.org/paho/clients/c/a
+PKG_SITES:= https://github.com/eclipse/paho.mqtt.c.git
+PKG_OPTS:= dev
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,PAHO,paho,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+
+CONFIG_STYLE:= cmake
+
+paho-install:
+ $(INSTALL_DIR) $(IDIR_PAHO)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/MQTTVersion \
+ $(IDIR_PAHO)/usr/bin
+ $(INSTALL_DIR) $(IDIR_PAHO)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libpaho*.so* \
+ $(IDIR_PAHO)/usr/lib
+
+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 41e59b96c..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.2
-PKG_RELEASE:= 3
-PKG_HASH:= 858b589c22297cacdf437f3baff6f04b333087521ab274f7ab677cb8c6bb78e4
+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/parted/patches/patch-lib_config_h_in b/package/parted/patches/patch-lib_config_h_in
index 44c07bbc6..0a83e62dc 100644
--- a/package/parted/patches/patch-lib_config_h_in
+++ b/package/parted/patches/patch-lib_config_h_in
@@ -1,6 +1,6 @@
---- parted-3.2.orig/lib/config.h.in 2014-07-28 22:02:54.000000000 -0500
-+++ parted-3.2/lib/config.h.in 2015-01-03 14:02:11.888853421 -0600
-@@ -1471,6 +1471,11 @@
+--- parted-3.3.orig/lib/config.h.in 2019-10-11 01:03:37.000000000 +0200
++++ parted-3.3/lib/config.h.in 2020-06-06 20:12:43.000000000 +0200
+@@ -1249,6 +1249,11 @@
/* Enable large inode numbers on Mac OS X 10.5. */
#undef _DARWIN_USE_64_BIT_INODE
diff --git a/package/parted/patches/patch-libparted_arch_linux_c b/package/parted/patches/patch-libparted_arch_linux_c
deleted file mode 100644
index 7a8efcf04..000000000
--- a/package/parted/patches/patch-libparted_arch_linux_c
+++ /dev/null
@@ -1,41 +0,0 @@
---- parted-3.2.orig/libparted/arch/linux.c 2014-06-15 14:15:54.000000000 -0500
-+++ parted-3.2/libparted/arch/linux.c 2015-01-03 14:10:43.244848741 -0600
-@@ -2304,6 +2304,7 @@ zasprintf (const char *format, ...)
- return r < 0 ? NULL : resultp;
- }
-
-+#ifdef ENABLE_DEVICE_MAPPER
- static char *
- dm_canonical_path (PedDevice const *dev)
- {
-@@ -2326,12 +2327,17 @@ dm_canonical_path (PedDevice const *dev)
- err:
- return NULL;
- }
-+#endif
-
- static char*
- _device_get_part_path (PedDevice const *dev, int num)
- {
-+#ifdef ENABLE_DEVICE_MAPPER
- char *devpath = (dev->type == PED_DEVICE_DM
- ? dm_canonical_path (dev) : dev->path);
-+#else
-+ char *devpath = dev->path;
-+#endif
- size_t path_len = strlen (devpath);
- char *result;
- /* Check for devfs-style /disc => /partN transformation
-@@ -2946,10 +2952,12 @@ _disk_sync_part_table (PedDisk* disk)
-
-
- if (disk->dev->type == PED_DEVICE_DM) {
-+#ifdef ENABLE_DEVICE_MAPPER
- add_partition = _dm_add_partition;
- remove_partition = _dm_remove_partition;
- resize_partition = _dm_resize_partition;
- get_partition_start_and_length = _dm_get_partition_start_and_length;
-+#endif
- } else {
- add_partition = _blkpg_add_partition;
- remove_partition = _blkpg_remove_partition;
diff --git a/package/parted/patches/patch-libparted_fs_xfs_platform_defs_h b/package/parted/patches/patch-libparted_fs_xfs_platform_defs_h
index 9d6fe232d..598f75b2e 100644
--- a/package/parted/patches/patch-libparted_fs_xfs_platform_defs_h
+++ b/package/parted/patches/patch-libparted_fs_xfs_platform_defs_h
@@ -1,6 +1,6 @@
---- parted-3.1.orig/libparted/fs/xfs/platform_defs.h 2012-01-12 17:38:40.000000000 +0100
-+++ parted-3.1/libparted/fs/xfs/platform_defs.h 2013-12-25 20:53:13.000000000 +0100
-@@ -51,7 +51,7 @@
+--- parted-3.3.orig/libparted/fs/xfs/platform_defs.h 2019-10-11 00:58:51.000000000 +0200
++++ parted-3.3/libparted/fs/xfs/platform_defs.h 2020-06-06 20:12:43.000000000 +0200
+@@ -52,7 +52,7 @@
# define constpp char * const *
#endif
diff --git a/package/parted/patches/patch-libparted_labels_Makefile_am b/package/parted/patches/patch-libparted_labels_Makefile_am
new file mode 100644
index 000000000..6c32ef071
--- /dev/null
+++ b/package/parted/patches/patch-libparted_labels_Makefile_am
@@ -0,0 +1,10 @@
+--- parted-3.3.orig/libparted/labels/Makefile.am 2019-10-11 00:58:51.000000000 +0200
++++ parted-3.3/libparted/labels/Makefile.am 2020-06-06 20:29:14.000000000 +0200
+@@ -19,7 +19,6 @@ noinst_LTLIBRARIES = liblabels.la
+ liblabels_la_SOURCES = \
+ $(S390_SRCS) \
+ aix.c \
+- atari.c \
+ bsd.c \
+ dos.c \
+ dvh.c \
diff --git a/package/parted/patches/patch-libparted_labels_Makefile_in b/package/parted/patches/patch-libparted_labels_Makefile_in
new file mode 100644
index 000000000..bfc1f1e24
--- /dev/null
+++ b/package/parted/patches/patch-libparted_labels_Makefile_in
@@ -0,0 +1,57 @@
+--- parted-3.3.orig/libparted/labels/Makefile.in 2019-10-11 01:03:39.000000000 +0200
++++ parted-3.3/libparted/labels/Makefile.in 2020-06-06 20:30:12.000000000 +0200
+@@ -206,11 +206,11 @@ LTLIBRARIES = $(noinst_LTLIBRARIES)
+ am__DEPENDENCIES_1 =
+ liblabels_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+-am__liblabels_la_SOURCES_DIST = dasd.c fdasd.c vtoc.c aix.c atari.c \
++am__liblabels_la_SOURCES_DIST = dasd.c fdasd.c vtoc.c aix.c \
+ bsd.c dos.c dvh.c dvh.h efi_crc32.c gpt.c loop.c mac.c misc.h \
+ pc98.c pt-common.h pt-tools.c pt-tools.h rdb.c sun.c
+ @COMPILE_FOR_S390_TRUE@am__objects_1 = dasd.lo fdasd.lo vtoc.lo
+-am_liblabels_la_OBJECTS = $(am__objects_1) aix.lo atari.lo bsd.lo \
++am_liblabels_la_OBJECTS = $(am__objects_1) aix.lo bsd.lo \
+ dos.lo dvh.lo efi_crc32.lo gpt.lo loop.lo mac.lo pc98.lo \
+ pt-tools.lo rdb.lo sun.lo
+ liblabels_la_OBJECTS = $(am_liblabels_la_OBJECTS)
+@@ -233,7 +233,7 @@ am__v_at_1 =
+ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib
+ depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
+ am__maybe_remake_depfiles = depfiles
+-am__depfiles_remade = ./$(DEPDIR)/aix.Plo ./$(DEPDIR)/atari.Plo \
++am__depfiles_remade = ./$(DEPDIR)/aix.Plo \
+ ./$(DEPDIR)/bsd.Plo ./$(DEPDIR)/dasd.Plo ./$(DEPDIR)/dos.Plo \
+ ./$(DEPDIR)/dvh.Plo ./$(DEPDIR)/efi_crc32.Plo \
+ ./$(DEPDIR)/fdasd.Plo ./$(DEPDIR)/gpt.Plo ./$(DEPDIR)/loop.Plo \
+@@ -1416,7 +1416,6 @@ noinst_LTLIBRARIES = liblabels.la
+ liblabels_la_SOURCES = \
+ $(S390_SRCS) \
+ aix.c \
+- atari.c \
+ bsd.c \
+ dos.c \
+ dvh.c \
+@@ -1501,7 +1500,6 @@ distclean-compile:
+ -rm -f *.tab.c
+
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aix.Plo@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atari.Plo@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bsd.Plo@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dasd.Plo@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dos.Plo@am__quote@ # am--include-marker
+@@ -1683,7 +1681,6 @@ clean-am: clean-generic clean-libtool cl
+
+ distclean: distclean-am
+ -rm -f ./$(DEPDIR)/aix.Plo
+- -rm -f ./$(DEPDIR)/atari.Plo
+ -rm -f ./$(DEPDIR)/bsd.Plo
+ -rm -f ./$(DEPDIR)/dasd.Plo
+ -rm -f ./$(DEPDIR)/dos.Plo
+@@ -1744,7 +1741,6 @@ installcheck-am:
+
+ maintainer-clean: maintainer-clean-am
+ -rm -f ./$(DEPDIR)/aix.Plo
+- -rm -f ./$(DEPDIR)/atari.Plo
+ -rm -f ./$(DEPDIR)/bsd.Plo
+ -rm -f ./$(DEPDIR)/dasd.Plo
+ -rm -f ./$(DEPDIR)/dos.Plo
diff --git a/package/parted/patches/patch-libparted_libparted_c b/package/parted/patches/patch-libparted_libparted_c
new file mode 100644
index 000000000..1c5114d0c
--- /dev/null
+++ b/package/parted/patches/patch-libparted_libparted_c
@@ -0,0 +1,34 @@
+--- parted-3.3.orig/libparted/libparted.c 2019-10-11 00:58:51.000000000 +0200
++++ parted-3.3/libparted/libparted.c 2020-06-06 20:37:57.000000000 +0200
+@@ -75,7 +75,6 @@ extern void ped_disk_pc98_init ();
+ extern void ped_disk_sun_init ();
+ extern void ped_disk_amiga_init ();
+ extern void ped_disk_dasd_init ();
+-extern void ped_disk_atari_init ();
+
+ static void
+ init_disk_types ()
+@@ -86,7 +85,6 @@ init_disk_types ()
+ #if defined __s390__ || defined __s390x__
+ ped_disk_dasd_init();
+ #endif
+- ped_disk_atari_init (); /* easy false positives, so probe others first */
+ ped_disk_sun_init ();
+ #ifdef ENABLE_PC98
+ ped_disk_pc98_init ();
+@@ -143,7 +141,6 @@ extern void ped_disk_pc98_done ();
+ extern void ped_disk_sun_done ();
+ extern void ped_disk_amiga_done ();
+ extern void ped_disk_dasd_done ();
+-extern void ped_disk_atari_done ();
+
+ static void
+ done_disk_types ()
+@@ -163,7 +160,6 @@ done_disk_types ()
+ ped_disk_bsd_done ();
+ ped_disk_amiga_done ();
+ ped_disk_aix_done ();
+- ped_disk_atari_done ();
+ }
+
+ static void _init() __attribute__ ((constructor));
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-fpm.conf b/package/php/files/php-fpm.conf
index 90b6be5ea..bf057ac93 100644
--- a/package/php/files/php-fpm.conf
+++ b/package/php/files/php-fpm.conf
@@ -359,7 +359,7 @@ chdir = /
;env[TEMP] = /tmp
; Additional php.ini defines, specific to this pool of workers. These settings
-; overwrite the values previously defined in the php.ini. The directives are the
+; override the values previously defined in the php.ini. The directives are the
; same as the PHP SAPI:
; php_value/php_flag - you can set classic ini defines which can
; be overwritten from PHP call 'ini_set'.
@@ -369,7 +369,7 @@ chdir = /
; Defining 'extension' will load the corresponding shared extension from
; extension_dir. Defining 'disable_functions' or 'disable_classes' will not
-; overwrite previously defined php.ini values, but will append the new value
+; override previously defined php.ini values, but will append the new value
; instead.
; Note: path INI options can be relative and will be expanded with the prefix
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 ef37bcf72..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.6.4
+PKG_VERSION:= 3.11.8
PKG_RELEASE:= 1
-PKG_HASH:= 159b932bf56aeaa76fd66e7420522d8c8853d486b8567c459b84fe2ed13bcaba
-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
+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.6/lib-dynload
+ ${INSTALL_DIR} $$(IDIR_$(1))/usr/lib/python3.11/lib-dynload
for m in ${2}; do \
- ${INSTALL_DATA} $(WRKINST)/usr/lib/python3.6/lib-dynload/$$$${m}*.so $$(IDIR_$(1))/usr/lib/python3.6/lib-dynload ;\
+ ${INSTALL_DATA} $(WRKINST)/usr/lib/python3.11/lib-dynload/$$$${m}*.so $$(IDIR_$(1))/usr/lib/python3.11/lib-dynload ;\
done
endef
@@ -71,47 +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.6
- ${INSTALL_DIR} ${IDIR_PYTHON3}/usr/include/python3.6m
+ ${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.6/* ${IDIR_PYTHON3}/usr/lib/python3.6
- ${CP} ${WRKINST}/usr/include/python3.6m/pyconfig.h \
- ${IDIR_PYTHON3}/usr/include/python3.6m
+ ${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.6/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/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/ralink-firmware/Makefile b/package/ralink-firmware/Makefile
new file mode 100644
index 000000000..0c8d96656
--- /dev/null
+++ b/package/ralink-firmware/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:= ralink-firmware
+PKG_VERSION:= 1.0
+PKG_RELEASE:= 1
+PKG_HASH:= afecbffbea1bd734437c12db5f24863b9d93c9583a4c0dbe61f57b120f993b87
+PKG_DESCR:= ralink wireless driver firmware
+PKG_SECTION:= sys/firmware
+PKG_SITES:= http://distfiles.openadk.org/
+
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tgz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,RALINK_FIRMWARE,ralink-firmware,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+CONFIG_STYLE:= manual
+BUILD_STYLE:= manual
+INSTALL_STYLE:= manual
+
+do-install:
+ $(INSTALL_DIR) $(IDIR_RALINK_FIRMWARE)/lib/firmware
+ ${CP} ${WRKBUILD}/*.bin ${IDIR_RALINK_FIRMWARE}/lib/firmware
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
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 2826c8cef..9971074f3 100644
--- a/package/rsync/Makefile
+++ b/package/rsync/Makefile
@@ -4,24 +4,36 @@
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/
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
+include $(ADK_TOPDIR)/mk/host.mk
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
+include $(ADK_TOPDIR)/mk/host-bottom.mk
include ${ADK_TOPDIR}/mk/pkg-bottom.mk
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 cbb722b16..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
@@ -61,6 +62,6 @@ libs/video Video Libraries
dev/lang Programming Languages
dev/perl Perl modules
dev/python Python modules
-dev/scm Souce Code Management
+dev/scm Source Code Management
dev/tools Programming Tools
dev/header Header files
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
new file mode 100644
index 000000000..75c6801f8
--- /dev/null
+++ b/package/shairport-sync/Makefile
@@ -0,0 +1,41 @@
+# 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:= shairport-sync
+PKG_VERSION:= 3.3.8
+PKG_RELEASE:= 1
+PKG_GIT:= tag
+PKG_DESCR:= airplay daemon
+PKG_SECTION:= mm/audio
+PKG_DEPENDS:= libressl libpopt libdaemon libconfig jack mosquitto libavahi
+PKG_BUILDDEP:= libressl popt libdaemon libconfig jack mosquitto avahi
+PKG_URL:= https://github.com/mikebrady/shairport-sync
+PKG_SITES:= https://github.com/mikebrady/shairport-sync.git
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,SHAIRPORT_SYNC,shairport-sync,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+AUTOTOOL_STYLE:= autoreconf
+CONFIGURE_ARGS+= --with-pkg-config \
+ --without-systemv \
+ --without-systemd \
+ --with-libdaemon \
+ --with-avahi \
+ --disable-tinysvcmdns \
+ --with-alsa \
+ --with-jack \
+ --with-mqtt-client \
+ -with-ssl=openssl
+
+shairport-sync-install:
+ $(INSTALL_DIR) $(IDIR_SHAIRPORT_SYNC)/usr/bin
+ $(INSTALL_DIR) $(IDIR_SHAIRPORT_SYNC)/etc/shairport-sync
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/shairport-sync \
+ $(IDIR_SHAIRPORT_SYNC)/usr/bin
+ $(INSTALL_DATA) $(WRKINST)/etc/* \
+ $(IDIR_SHAIRPORT_SYNC)/etc/shairport-sync/
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/shairport-sync/files/shairport-sync.init b/package/shairport-sync/files/shairport-sync.init
new file mode 100644
index 000000000..c9bcb92bf
--- /dev/null
+++ b/package/shairport-sync/files/shairport-sync.init
@@ -0,0 +1,28 @@
+#!/bin/sh
+#PKG shairport-sync
+#INIT 80
+. /etc/rc.conf
+
+case $1 in
+autostop) ;;
+autostart)
+ test x"${shairport_sync:-NO}" = x"NO" && exit 0
+ test x"$shairport_sync" = x"DAEMON" && test -x /bin/mksh && exec mksh -T- $0 start
+ exec sh $0 start
+ ;;
+start)
+ /usr/bin/shairport-sync -c /etc/shairport/shairport-sync.conf -d $shairport_sync_flags
+ ;;
+stop)
+ /usr/bin/shairport-sync -k
+ ;;
+restart)
+ sh $0 stop
+ sh $0 start
+ ;;
+*)
+ echo "Usage: $0 {start | stop | restart}"
+ exit 1
+ ;;
+esac
+exit $?
diff --git a/package/shairport-sync/files/shairport-sync.postinst b/package/shairport-sync/files/shairport-sync.postinst
new file mode 100644
index 000000000..9558f175a
--- /dev/null
+++ b/package/shairport-sync/files/shairport-sync.postinst
@@ -0,0 +1,7 @@
+#!/bin/sh
+. $IPKG_INSTROOT/etc/functions.sh
+add_rcconf shairport_sync NO
+add_rcconf shairport_sync_flags " "
+gid=$(get_next_gid)
+add_group shairport-sync $gid
+add_user shairport-sync $(get_next_uid) $gid /etc/shairport-sync
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
new file mode 100644
index 000000000..0b480a09f
--- /dev/null
+++ b/package/smartmontools/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
+
+# always use tab spaces as separator, no spaces
+PKG_NAME:= smartmontools
+PKG_VERSION:= 7.1
+PKG_RELEASE:= 1
+PKG_HASH:= 3f734d2c99deb1e4af62b25d944c6252de70ca64d766c4c7294545a2e659b846
+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/)
+
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,SMARTMONTOOLS,smartmontools,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+smartmontools-install:
+ $(INSTALL_DIR) $(IDIR_SMARTMONTOOLS)/usr/sbin
+ $(INSTALL_BIN) $(WRKINST)/usr/sbin/smartctl \
+ $(IDIR_SMARTMONTOOLS)/usr/sbin
+ $(INSTALL_BIN) $(WRKINST)/usr/sbin/smartd \
+ $(IDIR_SMARTMONTOOLS)/usr/sbin
+ $(INSTALL_BIN) $(WRKINST)/usr/sbin/update-smart-drivedb \
+ $(IDIR_SMARTMONTOOLS)/usr/sbin
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
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/sqlalchemy/Makefile b/package/sqlalchemy/Makefile
new file mode 100644
index 000000000..35b1f34a6
--- /dev/null
+++ b/package/sqlalchemy/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
+
+# always use tab spaces as separator, no spaces
+PKG_NAME:= SQLAlchemy
+PKG_VERSION:= 1.3.16
+PKG_RELEASE:= 1
+PKG_HASH:= 7224e126c00b8178dfd227bc337ba5e754b197a3867d33b9f30dc0208f773d70
+PKG_DESCR:= python database OR mapper
+PKG_SECTION:= dev/python
+PKG_URL:= https://www.sqlalchemy.org/
+PKG_SITES:= https://files.pythonhosted.org/packages/7f/4b/adfb1f03da7f50db054a5b728d32dbfae8937754cfa159efa0216a3758d1/
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,SQLALCHEMY,sqlalchemy,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+CONFIG_STYLE:= manual
+BUILD_STYLE:= manual
+INSTALL_STYLE:= manual
+
+include $(ADK_TOPDIR)/mk/python3.mk
+
+do-build:
+ cd $(WRKBUILD); env PYTHONPATH=$(PYTHON_LIBDIR) $(PYTHON) ./setup.py build
+ $(INSTALL_DIR) $(WRKINST)/usr/lib/python$(PYTHON_VERSION)/site-packages
+ cd $(WRKBUILD); env PYTHONPATH=$(PYTHON_LIBDIR):$(WRKINST)/usr/lib/python$(PYTHON_VERSION)/site-packages $(PYTHON) ./setup.py install --prefix="$(WRKINST)/usr"
+
+do-install:
+ $(INSTALL_DIR) $(IDIR_SQLALCHEMY)/usr/lib/python$(PYTHON_VERSION)/site-packages
+ $(CP) $(WRKINST)/usr/lib/python$(PYTHON_VERSION)/site-packages/*egg $(IDIR_SQLALCHEMY)/usr/lib/python$(PYTHON_VERSION)/site-packages/
+ $(CP) $(WRKINST)/usr/lib/python$(PYTHON_VERSION)/site-packages/easy-install.pth $(IDIR_SQLALCHEMY)/usr/lib/python$(PYTHON_VERSION)/site-packages/$(PKG_NAME).pth
+
+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/squirrel/Makefile b/package/squirrel/Makefile
new file mode 100644
index 000000000..0739f8f8e
--- /dev/null
+++ b/package/squirrel/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
+
+# always use tab spaces as separator, no spaces
+PKG_NAME:= squirrel
+PKG_VERSION:= 3.1
+PKG_RELEASE:= 1
+PKG_HASH:= 4845a7fb82e4740bde01b0854112e3bb92a0816ad959c5758236e73f4409d0cb
+PKG_DESCR:= the squirrel language
+PKG_SECTION:= dev/lang
+PKG_BUILDDEP:= cmake-host
+PKG_NEEDS:= c++
+PKG_URL:= squirrel-lang.org
+PKG_SITES:= $(MASTER_SITE_SOURCEFORGE:=squirrel/)
+DISTFILES:= $(PKG_NAME)_3_1_stable.tar.gz
+WRKDIST= $(WRKDIR)/$(PKG_NAME)3
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,SQUIRREL,squirrel,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+CONFIG_STYLE:= cmake
+
+squirrel-install:
+ $(INSTALL_DIR) $(IDIR_SQUIRREL)/usr/bin
+ $(INSTALL_DIR) $(IDIR_SQUIRREL)/usr/lib
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/sq \
+ $(IDIR_SQUIRREL)/usr/bin
+ $(CP) $(WRKINST)/usr/lib/libsq*.so* \
+ $(IDIR_SQUIRREL)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/strace/Makefile b/package/strace/Makefile
index d4f755ee8..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.3
+PKG_VERSION:= 6.8
PKG_RELEASE:= 1
-PKG_HASH:= 6c131198749656401fe3efd6b4b16a07ea867e8f530867ceae8930bbc937a047
+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/swig/Makefile b/package/swig/Makefile
index 79b428050..15069ec62 100644
--- a/package/swig/Makefile
+++ b/package/swig/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= swig
-PKG_VERSION:= 3.0.7
+PKG_VERSION:= 4.0.2
PKG_RELEASE:= 1
-PKG_HASH:= 06dc8816a225667ce1eee545af3caf87e1bbaa379c32838d4cea53152514348d
+PKG_HASH:= d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc
PKG_DESCR:= swig utility
PKG_SECTION:= dev/tools
PKG_URL:= http://www.swig.org/
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/toybox/Makefile b/package/toybox/Makefile
index 3a620a092..c32c3aac5 100644
--- a/package/toybox/Makefile
+++ b/package/toybox/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= toybox
-PKG_VERSION:= 0.7.1
+PKG_VERSION:= 0.8.3
PKG_RELEASE:= 1
-PKG_HASH:= 5bb3069f58faf12940d5cfde3209ac7f63210bebdd9023979b0c20cede126ea7
+PKG_HASH:= eab28fd29d19d4e61ef09704e5871940e6f35fd35a3bb1285e41f204504b5c01
PKG_DESCR:= linux tools collection
PKG_SECTION:= base/apps
PKG_URL:= http://landley.net/toybox/
@@ -24,7 +24,7 @@ XAKE_FLAGS+= CC="gcc" V=1 PREFIX="$(WRKINST)"
do-configure:
-rm $(WRKBUILD)/toys/other/swap*.c
- cd $(WRKBUILD); PATH='$(HOST_PATH)' $(MAKE) defconfig
+ cd $(WRKBUILD); CC="gcc" PATH='$(HOST_PATH)' $(MAKE) defconfig
toybox-install:
$(CP) $(WRKINST)/* $(IDIR_TOYBOX)/
diff --git a/package/toybox/patches/patch-lib_lib_h b/package/toybox/patches/patch-lib_lib_h
deleted file mode 100644
index 0697acb22..000000000
--- a/package/toybox/patches/patch-lib_lib_h
+++ /dev/null
@@ -1,12 +0,0 @@
---- toybox-0.7.1.orig/lib/lib.h 2016-06-01 00:33:23.000000000 +0200
-+++ toybox-0.7.1/lib/lib.h 2016-10-16 12:33:42.000000000 +0200
-@@ -201,7 +201,9 @@ int qstrcmp(const void *a, const void *b
- void create_uuid(char *uuid);
- char *show_uuid(char *uuid);
- char *next_printf(char *s, char **start);
-+#ifndef __APPLE__
- char *strnstr(char *line, char *str);
-+#endif
- int dev_minor(int dev);
- int dev_major(int dev);
- int dev_makedev(int major, int minor);
diff --git a/package/toybox/patches/patch-lib_portability_h b/package/toybox/patches/patch-lib_portability_h
deleted file mode 100644
index 25c24d19c..000000000
--- a/package/toybox/patches/patch-lib_portability_h
+++ /dev/null
@@ -1,22 +0,0 @@
---- toybox-0.7.1.orig/lib/portability.h 2016-06-01 00:33:23.000000000 +0200
-+++ toybox-0.7.1/lib/portability.h 2016-10-16 12:32:11.000000000 +0200
-@@ -22,7 +22,9 @@
-
- // This isn't in the spec, but it's how we determine what libc we're using.
-
-+#ifndef __APPLE__
- #include <features.h>
-+#endif
-
- // Types various replacement prototypes need
- #include <sys/types.h>
-@@ -211,7 +213,9 @@ ssize_t getline(char **lineptr, size_t *
-
- // Linux headers not listed by POSIX or LSB
- #include <sys/mount.h>
-+#ifndef __APPLE__
- #include <sys/swap.h>
-+#endif
-
- // Android is missing some headers and functions
- // "generated/config.h" is included first
diff --git a/package/toybox/patches/patch-scripts_make_sh b/package/toybox/patches/patch-scripts_make_sh
deleted file mode 100644
index dfbad59a7..000000000
--- a/package/toybox/patches/patch-scripts_make_sh
+++ /dev/null
@@ -1,8 +0,0 @@
---- toybox-0.7.1.orig/scripts/make.sh 2016-06-01 00:33:23.000000000 +0200
-+++ toybox-0.7.1/scripts/make.sh 2016-10-16 12:27:17.000000000 +0200
-@@ -1,4 +1,5 @@
- #!/bin/bash
-+set -x
-
- # Grab default values for $CFLAGS and such.
-
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 b793e8540..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:= 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
+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
@@ -37,6 +37,9 @@ ifeq ($(ADK_TARGET_SYSTEM_SOLIDRUN_IMX6),y)
CONFIG:= mx6cuboxi_defconfig
UBOOT:= u-boot.img
endif
+ifeq ($(ADK_TARGET_SYSTEM_PCDUINO_3B),y)
+CONFIG:= Linksprite_pcDuino3_defconfig
+endif
ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI),y)
CONFIG:= rpi_defconfig
endif
@@ -55,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
@@ -67,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"
@@ -75,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 )
@@ -90,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 85bd17bb2..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.4
+PKG_VERSION:= 5.6.0
PKG_RELEASE:= 1
-PKG_HASH:= b512f3b726d3b37b6dc4c8570e137b9311e7552e8ccbab4d39d47ce5f4177145
+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 0245d6e9d..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
@@ -232,8 +232,8 @@ done
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
+ printf " ---> checking if it is bash 4.x or 5.x.. "
+ 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
@@ -411,7 +423,7 @@ EOF
$MAKE --no-print-directory LDADD=-lz ADK_TOPDIR=$topdir -f Makefile.tmp >/dev/null 2>&1
X=$(echo YES | gzip | ./test 2>/dev/null)
if [ X$X != XYES ]; then
- echo Cannot compile a libz test programm.
+ echo Cannot compile a libz test program.
echo You must install the zlib development package,
echo usually called libz-dev, and the run-time library.
echo
@@ -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
@@ -521,6 +522,15 @@ else
printf "found\n"
fi
+printf " ---> checking if rsync is installed.. "
+host_build_rsync=0
+if ! which rsync >/dev/null 2>&1; then
+ printf "not found\n"
+ host_build_rsync=1
+else
+ printf "found\n"
+fi
+
host_build_tar=0
if which tar >/dev/null 2>&1; then
if ! tar --version 2>/dev/null|grep GNU >/dev/null;then
@@ -633,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
@@ -692,6 +707,9 @@ fi
if [ $host_build_patch -eq 1 ]; then
printf "\t%s\n" "select ADK_HOST_BUILD_PATCH" >> $topdir/target/config/Config.in.prereq
fi
+if [ $host_build_rsync -eq 1 ]; then
+ printf "\t%s\n" "select ADK_HOST_BUILD_RSYNC" >> $topdir/target/config/Config.in.prereq
+fi
if [ $host_build_findutils -eq 1 ]; then
printf "\t%s\n" "select ADK_HOST_BUILD_FINDUTILS" >> $topdir/target/config/Config.in.prereq
fi
@@ -720,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
@@ -781,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
@@ -877,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/systems/synopsys-hsdk b/target/arc/systems/synopsys-hsdk
index 73659d4d5..799813e0d 100644
--- a/target/arc/systems/synopsys-hsdk
+++ b/target/arc/systems/synopsys-hsdk
@@ -9,6 +9,7 @@ config ADK_TARGET_SYSTEM_SYNOPSYS_HSDK
select ADK_TARGET_WITH_BLOCK
select ADK_TARGET_WITH_SMP
select ADK_HOST_BUILD_U_BOOT
+ select ADK_TARGET_KERNEL_WITH_COMPRESSION
help
Support for Synopsys HSDK.
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/pcduino-3b b/target/arm/kernel/pcduino-3b
new file mode 100644
index 000000000..56e9cdb8f
--- /dev/null
+++ b/target/arm/kernel/pcduino-3b
@@ -0,0 +1,8 @@
+CONFIG_ARM=y
+CONFIG_ARM_PATCH_PHYS_VIRT=y
+CONFIG_MMU=y
+CONFIG_ARCH_MULTIPLATFORM=y
+CONFIG_ARCH_MULTI_V7=y
+CONFIG_ARCH_MULTI_V6_V7=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_MACH_SUN7I=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/pcduino-3b b/target/arm/systems/pcduino-3b
new file mode 100644
index 000000000..71763d2e1
--- /dev/null
+++ b/target/arm/systems/pcduino-3b
@@ -0,0 +1,20 @@
+config ADK_TARGET_SYSTEM_PCDUINO_3B
+ bool "PCduino 3b"
+ depends on ADK_TARGET_OS_LINUX
+ select ADK_TARGET_LITTLE_ENDIAN
+ select ADK_TARGET_WITH_MMU
+ select ADK_TARGET_CPU_ARM_CORTEX_A7
+ select ADK_TARGET_WITH_VGA
+ select ADK_TARGET_WITH_SERIAL
+ select ADK_TARGET_WITH_USB
+ select ADK_TARGET_WITH_INPUT
+ select ADK_TARGET_WITH_SD
+ select ADK_TARGET_WITH_NET
+ select ADK_TARGET_WITH_NETDEVICE
+ select ADK_TARGET_WITH_BLOCK
+ select ADK_TARGET_KERNEL_IMAGE
+ select ADK_PACKAGE_U_BOOT
+ help
+ PCduino 3b
+
+
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 a15952032..b93eaf31d 100644
--- a/target/config/Config.in.binutils
+++ b/target/config/Config.in.binutils
@@ -3,44 +3,56 @@
choice
prompt "Binutils version"
-default ADK_TOOLCHAIN_BINUTILS_ARC if ADK_TARGET_ARCH_ARC
+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_34
+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_34
- bool "2.34"
- depends on !ADK_TARGET_ARCH_ARC
+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_40
+ bool "2.40"
+ depends on !ADK_TARGET_ARCH_AVR32
+ depends on !ADK_TARGET_ARCH_KVX
+
+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_28
- bool "2.28"
- depends on ADK_TARGET_CPU_SH_J2
+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-2019.03-release"
+ bool "arc-2023.09"
depends on ADK_TARGET_ARCH_ARC
-config ADK_TOOLCHAIN_BINUTILS_NDS32
- bool "nds32-2.30-open"
- depends on ADK_TARGET_ARCH_NDS32
-
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 1d7d76e6a..2012acc4f 100644
--- a/target/config/Config.in.compiler
+++ b/target/config/Config.in.compiler
@@ -12,16 +12,18 @@ endchoice
choice
prompt "GCC version"
depends on ADK_BUILD_COMPILER_GCC
-default ADK_TOOLCHAIN_GCC_ARC if ADK_TARGET_ARCH_ARC
+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_CSKY
-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"
@@ -29,53 +31,87 @@ 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.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.2.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.3.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"
depends on !ADK_TARGET_ARCH_ARC
depends on !ADK_TARGET_ARCH_AVR32
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_ARCH_LOONGARCH
config ADK_TOOLCHAIN_GCC_ARC
- bool "arc-2019.03-release"
+ 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..76b4ee86a 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
@@ -1095,52 +1173,65 @@ config ADK_TARGET_CPU_PPC64_POWERPC64
# riscv
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_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
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_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
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_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
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_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
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_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
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_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
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 2fdd78db5..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_3
+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_1
- bool "9.1"
+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 7e416c2c5..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 || \
@@ -72,22 +75,24 @@ config ADK_TARGET_LIB_GLIBC
depends on (\
ADK_TARGET_ARCH_AARCH64 || \
ADK_TARGET_ARCH_ALPHA || \
+ ADK_TARGET_ARCH_ARC || \
ADK_TARGET_ARCH_ARM || \
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 || \
@@ -103,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 || \
@@ -144,38 +150,33 @@ choice
prompt "Target C library version"
depends on !ADK_TARGET_CHOOSE_ARCH
-config ADK_TARGET_LIB_UCLIBC_NG_1_0_33
- bool "1.0.33"
+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_1_24
- bool "1.1.24"
+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"
@@ -199,10 +200,10 @@ config ADK_TARGET_LIBC
config ADK_LIBC_VERSION
string
- default "1.0.33" if ADK_TARGET_LIB_UCLIBC_NG_1_0_33
- default "1.1.24" if ADK_TARGET_LIB_MUSL_1_1_24
- 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 f4feebc11..ba02fb8f9 100644
--- a/target/config/Config.in.libs
+++ b/target/config/Config.in.libs
@@ -2,7 +2,7 @@
# material, please see the LICENCE file in the top-level directory.
choice
-depends on ADK_TARGET_OS_LINUX
+depends on ADK_TARGET_OS_LINUX && !ADK_TARGET_CHOOSE_ARCH
bool "Library support"
config ADK_TARGET_USE_SHARED_LIBS_ONLY
@@ -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 c42ed28d9..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
@@ -415,6 +391,7 @@ config ADK_RUNTIME_CONSOLE_SERIAL_SPEED
default "38400" if ADK_TARGET_SYSTEM_PCENGINES_WRAP
default "38400" if ADK_TARGET_SYSTEM_ANDES_AG101P
default "38400" if ADK_TARGET_SYSTEM_HITACHI_EDOSK2674
+ default "38400" if ADK_TARGET_SYSTEM_NUMATO_MIMASV2
default "115200"
config ADK_RUNTIME_KBD_LAYOUT
@@ -500,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.
@@ -538,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 b6c740525..9433bfa89 100644
--- a/target/config/Config.in.tools
+++ b/target/config/Config.in.tools
@@ -121,6 +121,10 @@ config ADK_HOST_BUILD_PATCH
bool
default n
+config ADK_HOST_BUILD_RSYNC
+ bool
+ default n
+
config ADK_HOST_BUILD_SED
bool
default n
@@ -160,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
@@ -188,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
@@ -312,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 b67ec6612..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,69 +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_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_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.18"
- 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.99"
- 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
@@ -91,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
@@ -105,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
@@ -127,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
@@ -159,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
@@ -166,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.
@@ -174,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
@@ -182,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 553e3bb39..222efa3bb 100644
--- a/target/linux/config/Config.in.wireless
+++ b/target/linux/config/Config.in.wireless
@@ -39,6 +39,9 @@ config ADK_LINUX_KERNEL_NET_VENDOR_ATHEROS
config ADK_LINUX_KERNEL_WLAN_VENDOR_BROADCOM
bool
+config ADK_LINUX_KERNEL_WLAN_VENDOR_RALINK
+ bool
+
config ADK_LINUX_KERNEL_ATH_CARDS
bool
@@ -146,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).
@@ -272,6 +281,7 @@ config ADK_LINUX_KERNEL_P54_USB
config ADK_LINUX_KERNEL_RT2800USB
tristate "Ralink rt2800 USB driver"
+ select ADK_LINUX_KERNEL_WLAN_VENDOR_RALINK
select ADK_LINUX_KERNEL_RT2X00
select ADK_LINUX_KERNEL_RT2800USB_RT3573
select ADK_LINUX_KERNEL_RT2800USB_RT53XX
@@ -290,12 +300,23 @@ config ADK_LINUX_KERNEL_RTL8192CU
select ADK_LINUX_KERNEL_RTL_CARDS
select ADK_LINUX_KERNEL_MAC80211
select ADK_LINUX_KERNEL_FW_LOADER
- select ADK_PACKAGE_REALTEK_FIRMWARE
+ select ADK_PACKAGE_REALTEK_FIRMWARE_WIRELESS
depends on ADK_TARGET_WITH_USB \
|| ADK_TARGET_GENERIC
help
Driver for Realtek RTL8192CU USB
+config ADK_LINUX_KERNEL_R8188EU
+ tristate "Realtek RTL8188EU USB driver"
+ select ADK_LINUX_KERNEL_RTL_CARDS
+ select ADK_LINUX_KERNEL_MAC80211
+ select ADK_LINUX_KERNEL_FW_LOADER
+ select ADK_PACKAGE_REALTEK_FIRMWARE_WIRELESS
+ depends on ADK_TARGET_WITH_USB \
+ || ADK_TARGET_GENERIC
+ help
+ Driver for Realtek RTL8188EU USB
+
config ADK_LINUX_KERNEL_RT2400PCI
tristate "Ralink rt2400 PCI driver"
select ADK_LINUX_KERNEL_RT2X00
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.99/arc.patch b/target/linux/patches/4.19.310/arc.patch
index 20810ce64..20810ce64 100644
--- a/target/linux/patches/4.19.99/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.310/darwin-dtc.patch b/target/linux/patches/4.19.310/darwin-dtc.patch
new file mode 100644
index 000000000..0cdc23ab4
--- /dev/null
+++ b/target/linux/patches/4.19.310/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/4.19.310/darwin-file2alias.patch b/target/linux/patches/4.19.310/darwin-file2alias.patch
new file mode 100644
index 000000000..fdbc598a8
--- /dev/null
+++ b/target/linux/patches/4.19.310/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/4.19.99/fec-coldfire.patch b/target/linux/patches/4.19.310/fec-coldfire.patch
index 09d8ad047..09d8ad047 100644
--- a/target/linux/patches/4.19.99/fec-coldfire.patch
+++ b/target/linux/patches/4.19.310/fec-coldfire.patch
diff --git a/target/linux/patches/4.19.99/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.99/or1k-more-ram.patch
+++ b/target/linux/patches/4.19.310/or1k-more-ram.patch
diff --git a/target/linux/patches/4.19.310/relocs.patch b/target/linux/patches/4.19.310/relocs.patch
new file mode 100644
index 000000000..5bcd974c7
--- /dev/null
+++ b/target/linux/patches/4.19.310/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/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.19.99/startup.patch b/target/linux/patches/4.19.99/startup.patch
deleted file mode 100644
index dd27de856..000000000
--- a/target/linux/patches/4.19.99/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.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.10.213/arc.patch b/target/linux/patches/5.10.213/arc.patch
new file mode 100644
index 000000000..20810ce64
--- /dev/null
+++ b/target/linux/patches/5.10.213/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.10.213/darwin-dtc.patch b/target/linux/patches/5.10.213/darwin-dtc.patch
new file mode 100644
index 000000000..0cdc23ab4
--- /dev/null
+++ b/target/linux/patches/5.10.213/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.10.213/darwin-file2alias.patch b/target/linux/patches/5.10.213/darwin-file2alias.patch
new file mode 100644
index 000000000..fdbc598a8
--- /dev/null
+++ b/target/linux/patches/5.10.213/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.10.213/dtc-noyaml.patch b/target/linux/patches/5.10.213/dtc-noyaml.patch
new file mode 100644
index 000000000..759bb01f7
--- /dev/null
+++ b/target/linux/patches/5.10.213/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.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.18/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.18/or1k-more-ram.patch
+++ b/target/linux/patches/5.10.213/or1k-more-ram.patch
diff --git a/target/linux/patches/5.10.213/relocs.patch b/target/linux/patches/5.10.213/relocs.patch
new file mode 100644
index 000000000..5bcd974c7
--- /dev/null
+++ b/target/linux/patches/5.10.213/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.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/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 892b88e6e..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=qemu/virt make)
- cp $(BUILD_DIR)/opensbi/build/platform/qemu/virt/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/ibm-x40 b/target/x86/kernel/ibm-x40
deleted file mode 100644
index 9597e8fac..000000000
--- a/target/x86/kernel/ibm-x40
+++ /dev/null
@@ -1,9 +0,0 @@
-CONFIG_X86_32=y
-CONFIG_X86=y
-CONFIG_MPENTIUMM=y
-CONFIG_CPU_SUP_INTEL=y
-CONFIG_NR_CPUS=1
-CONFIG_VM86=y
-CONFIG_X86_REBOOTFIXUPS=y
-CONFIG_FIX_EARLYCON_MEM=y
-CONFIG_CMDLINE_BOOL=y
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/ibm-x40 b/target/x86/systems/ibm-x40
deleted file mode 100644
index 415e34598..000000000
--- a/target/x86/systems/ibm-x40
+++ /dev/null
@@ -1,33 +0,0 @@
-config ADK_TARGET_SYSTEM_IBM_X40
- bool "IBM X40 laptop"
- select ADK_TARGET_CPU_X86_PENTIUM_M
- select ADK_TARGET_CPU_WITH_MMX
- select ADK_TARGET_CPU_WITH_SSE
- select ADK_TARGET_CPU_WITH_SSE2
- select ADK_TARGET_CPU_WITH_MTRR
- select ADK_TARGET_WITH_VGA
- select ADK_TARGET_WITH_SERIAL
- select ADK_TARGET_WITH_CPU_FREQ
- select ADK_TARGET_WITH_USB_BOOT
- select ADK_TARGET_WITH_CARDBUS
- select ADK_TARGET_WITH_USB
- select ADK_TARGET_WITH_INPUT
- select ADK_TARGET_WITH_PATA
- select ADK_TARGET_WITH_RTC
- select ADK_TARGET_WITH_MINIPCI
- select ADK_TARGET_WITH_HDD
- select ADK_TARGET_WITH_PCI
- select ADK_TARGET_WITH_ACPI
- select ADK_TARGET_WITH_WIFI
- select ADK_TARGET_WITH_NET
- select ADK_TARGET_WITH_NETDEVICE
- select ADK_TARGET_WITH_BLOCK
- # with docking station
- select ADK_TARGET_WITH_PP
- select ADK_TARGET_WITH_ROOT_RW
- select ADK_TARGET_KERNEL_BZIMAGE
- select ADK_TARGET_KERNEL_WITH_COMPRESSION
- select ADK_PACKAGE_GRUB
- help
- System profile for IBM X40 laptop.
-
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 649937f7a..bcce2e350 100644
--- a/toolchain/binutils/Makefile.inc
+++ b/toolchain/binutils/Makefile.inc
@@ -2,39 +2,60 @@
# material, please see the LICENCE file in the top-level directory.
PKG_NAME:= binutils
-ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_34),y)
-PKG_VERSION:= 2.34
+ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_42),y)
+PKG_VERSION:= 2.42
PKG_RELEASE:= 1
-PKG_HASH:= f00b0e8803dc9bab1e2165bd568528135be734df3fabf8d0161828cd56028952
+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_ARC),y)
-PKG_VERSION:= arc-2019.03-release
-PKG_GIT:= tag
+ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_39),y)
+PKG_VERSION:= 2.39
PKG_RELEASE:= 1
-PKG_SITES:= https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb.git
+PKG_HASH:= 645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00
+PKG_SITES:= ${MASTER_SITE_GNU:=binutils/}
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_2_38),y)
+PKG_VERSION:= 2.38
PKG_RELEASE:= 1
-PKG_SITES:= https://github.com/andestech/binutils.git
+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_ARC),y)
+PKG_VERSION:= arc-2023.09
+PKG_GIT:= tag
+PKG_RELEASE:= 1
+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 4e815d5db..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_34),y)
-BINUTILS_VERSION:= 2.34
+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 3083d41c8..9c77fd831 100644
--- a/toolchain/gcc/Makefile.inc
+++ b/toolchain/gcc/Makefile.inc
@@ -2,17 +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.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.2.0
-PKG_HASH:= ea6ef08f121239da5695f76c9b33637a118dcf63e24164422231917fa61fb206
+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.3.0
-PKG_HASH:= 64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c
+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
@@ -27,11 +59,12 @@ DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
LIBSTDCXXVER:= 23
endif
ifeq ($(ADK_TOOLCHAIN_GCC_ARC),y)
-PKG_VERSION:= arc-2019.03-release
+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
@@ -41,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
@@ -57,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.3.0/add-crtreloc.frv b/toolchain/gcc/patches/10.5.0/add-crtreloc.frv
index 30de24cdc..30de24cdc 100644
--- a/toolchain/gcc/patches/8.3.0/add-crtreloc.frv
+++ b/toolchain/gcc/patches/10.5.0/add-crtreloc.frv
diff --git a/toolchain/gcc/patches/8.3.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.3.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.3.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.3.0/ia64-fix-libgcc.patch
+++ b/toolchain/gcc/patches/11.4.0/ia64-fix-libgcc.patch
diff --git a/toolchain/gcc/patches/8.3.0/nios2-softfp.patch b/toolchain/gcc/patches/11.4.0/nios2-softfp.patch
index c677c6c2f..c677c6c2f 100644
--- a/toolchain/gcc/patches/8.3.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.3.0/0001-xtensa-backport-fix-for-PR-target-90922.patch b/toolchain/gcc/patches/8.3.0/0001-xtensa-backport-fix-for-PR-target-90922.patch
deleted file mode 100644
index c961ce5d2..000000000
--- a/toolchain/gcc/patches/8.3.0/0001-xtensa-backport-fix-for-PR-target-90922.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From a592242578e573778241cae6d3928c064dcdfda4 Mon Sep 17 00:00:00 2001
-From: jcmvbkbc <jcmvbkbc@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Tue, 18 Jun 2019 22:19:12 +0000
-Subject: [PATCH] xtensa: fix for PR target/90922
-
-Stack pointer adjustment code in prologue missed a case of no
-callee-saved registers and a stack frame size bigger than 128 bytes.
-Handle that case.
-
-This fixes the following gcc tests with call0 ABI:
- gcc.c-torture/execute/stdarg-2.c
- gcc.dg/torture/pr55882.c
- gcc.dg/torture/pr57569.c
-
-gcc/
-2019-06-18 Max Filippov <jcmvbkbc@gmail.com>
-
- * config/xtensa/xtensa.c (xtensa_expand_prologue): Add stack
- pointer adjustment for the case of no callee-saved registers and
- stack frame bigger than 128 bytes.
-
-Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
----
- gcc/config/xtensa/xtensa.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
-index 19bd616d67f6..ee5612441e25 100644
---- a/gcc/config/xtensa/xtensa.c
-+++ b/gcc/config/xtensa/xtensa.c
-@@ -2862,7 +2862,8 @@ xtensa_expand_prologue (void)
- gen_rtx_SET (mem, reg));
- }
- }
-- if (total_size > 1024)
-+ if (total_size > 1024
-+ || (!callee_save_size && total_size > 128))
- {
- rtx tmp_reg = gen_rtx_REG (Pmode, A9_REG);
- emit_move_insn (tmp_reg, GEN_INT (total_size -
---
-2.11.0
-
diff --git a/toolchain/gcc/patches/8.3.0/0002-xtensa-fix-PR-target-91880.patch b/toolchain/gcc/patches/8.3.0/0002-xtensa-fix-PR-target-91880.patch
deleted file mode 100644
index e65352501..000000000
--- a/toolchain/gcc/patches/8.3.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.3.0/j2.patch b/toolchain/gcc/patches/8.5.0/j2.patch
index aafbe0ea9..aafbe0ea9 100644
--- a/toolchain/gcc/patches/8.3.0/j2.patch
+++ b/toolchain/gcc/patches/8.5.0/j2.patch
diff --git a/toolchain/gcc/patches/8.3.0/m68k-musl.patch b/toolchain/gcc/patches/8.5.0/m68k-musl.patch
index a7effec4c..a7effec4c 100644
--- a/toolchain/gcc/patches/8.3.0/m68k-musl.patch
+++ b/toolchain/gcc/patches/8.5.0/m68k-musl.patch
diff --git a/toolchain/gcc/patches/8.3.0/musl-s390x.patch b/toolchain/gcc/patches/8.5.0/musl-s390x.patch
index 1163bdbf4..1163bdbf4 100644
--- a/toolchain/gcc/patches/8.3.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.2.0/or1k.patch b/toolchain/gcc/patches/9.4.0/or1k.patch
index 8ec5ec956..8ec5ec956 100644
--- a/toolchain/gcc/patches/9.2.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 7dea3adf2..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_1),y)
-PKG_VERSION:= 9.1
+ifeq ($(ADK_TOOLCHAIN_GDB_14_2),y)
+PKG_VERSION:= 14.2
PKG_RELEASE:= 1
-PKG_HASH:= 699e0ec832fdd2f21c8266171ea5bf44024bd05164fdf064e4d10cc4cf0d1737
+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 715536cf1..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.0.1
+PKG_VERSION:= 4.2.1
PKG_RELEASE:= 1
-PKG_HASH:= 67874a60826303ee2fb6affc6dc0ddd3e749e9bfcb4c8655e3953d0458a6e16e
+PKG_HASH:= 277807353a6726978996945af13e52829e3abd7a9a5b7fb2793894e18f1fcbb2
PKG_SITES:= http://www.mpfr.org/mpfr-current/
diff --git a/toolchain/musl/Makefile.inc b/toolchain/musl/Makefile.inc
index 65a6eca3a..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_1_24),y)
-PKG_VERSION:= 1.1.24
+ifeq ($(ADK_TARGET_LIB_MUSL_1_2_5),y)
+PKG_VERSION:= 1.2.5
PKG_RELEASE:= 1
-PKG_HASH:= 1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
+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 133f44ddd..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_33),y)
-PKG_VERSION:= 1.0.33
+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.33/
-PKG_HASH:= aa7c361fddddf90b40a90e04431e607e2da21a5e8e2840a6db9ffd0c89d03e0d
+PKG_SITES:= http://downloads.uclibc-ng.org/releases/1.0.47/
+PKG_HASH:= 29a4d684a06da344ee3ee09acc2ca7649d592ae3ff848f698145c46def05efcb
endif
DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.xz